برگزیده های پرشین تولز

اجرای فایل exe و خروجی گرفتن از آن؟

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
سلام
من می خوام یک صفحه ی آپلود درست کنم که کاربر یک فایل مثلا file.ext رو ارسال کنه. (خوب اینجاش که مشکلی نداره و مهم نیست)
بعد از این که فایل آپلود شد فایل توسط یک فایل exe مثلا compile.exe اجرا بشه و فایل خروجی از آن برای دانلود لینک بشه.
مثلا شخص فایل رو آپلود کرد، عبارت compile file.ext اجرا بشه و بعد از اجرای این دستور یک فایل دیگه توسط فایل compile مثلا file.ent ساخته می شه، لینک دانلود فایل file.ent نمایش داده بشه.
نمی دونم درست تونستم منظورم رو بگم یا نه؟
شما فقط راهنمایی که می تونید بکنید اینه که بگید چه طور می تونم دستور compile file.ext رو با php اجرا کنم؟
با تشکر
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
از دستورات exec اینها استفاده کن در php.net بزن
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
تشکر
داخل دستور exec باید از چه دستوراتی استفاده کنم؟ لینوکس یا ویندوز؟
مثلا این دستور کار می کنه؟
PHP:
exec("compile file.ext")
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
فکر کنم بعضی دستورات تو لینکو س کار میکه بعضی هام اجرا میشه رو ویندوز اما اشتباه.
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
اشتباه یعنی چه جوری؟
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
سلام
من می خوام یک صفحه ی آپلود درست کنم که کاربر یک فایل مثلا file.ext رو ارسال کنه. (خوب اینجاش که مشکلی نداره و مهم نیست)
بعد از این که فایل آپلود شد فایل توسط یک فایل exe مثلا compile.exe اجرا بشه و فایل خروجی از آن برای دانلود لینک بشه.
مثلا شخص فایل رو آپلود کرد، عبارت compile file.ext اجرا بشه و بعد از اجرای این دستور یک فایل دیگه توسط فایل compile مثلا file.ent ساخته می شه، لینک دانلود فایل file.ent نمایش داده بشه.
نمی دونم درست تونستم منظورم رو بگم یا نه؟
شما فقط راهنمایی که می تونید بکنید اینه که بگید چه طور می تونم دستور compile file.ext رو با php اجرا کنم؟
با تشکر
ببین من ffmpeg.exe رو برات مثال میزنم که سایت youtube و سایت های دیگه باهاش فرمت ویدیوهایی که کاربرا آپلود میکنن رو به flv آنلاین تبدیل میکنه.

فایل ffmpeg.exe مثلا تو درایور C سرور ویندوزت هست خب!

تو Command promt ویندوز بهش چجوری دستور میدی!

کد:
c:/ffmpeg -i jaxon.mpg -lame output.flv

با تو لینوکس تو ترمنیال برای ورژن لینوکسش همینو مینویسی!

حالا تو فایل php هم به همون فرمت مینویسی دیگه!
کد:
exec("ffmpeg -i jaxon.mpg -lame output.flv")
ولی بهت خروجی نمیده که بدونی که دستور با موفقیت انجام شد یا خیر!

چه سرورت ویندوز باشه چه لینوکس

بجای jaxon.mpg آدرس فایلی که آپلود شده رو میذارن و بجای فایل output.flv هم فولدری که بعدا لینک دانلودشو به کاربر میدن!

نمیدونم اصلا متوجه شدی چی میخواستم بگم!!!
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
با تشکر فراوان
دقیقا متوجه شدم. عالی بود.

برای خروجی گرفتن از این که دستور با موفقیت اجرا شده یا نه می شه این کار رو کرد:
PHP:
if (exec("ffmpeg -i jaxon.mpg -lame output.flv"))  {
  echo "OK";
} else {
 echo "Error";
}
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
با تشکر فراوان
دقیقا متوجه شدم. عالی بود.

برای خروجی گرفتن از این که دستور با موفقیت اجرا شده یا نه می شه این کار رو کرد:
PHP:
if (exec("ffmpeg -i jaxon.mpg -lame output.flv"))  {
  echo "OK";
} else {
 echo "Error";
}
اوه منظـــــورم این نبود! منظورم جوابی بود که فایل exe میده... پس من اشتباه منظور شما رو از خروجی متوجه شدم!

مثلا وقتی دستور اشتباه به فایل exe بدید و فایل exe بهتون پیام بده دیگه اونو نمیبینید!

مثلا فایل exe در جواب اجرای دستوری که بهش دادید میگه این فرمت از فایل قابل قبول نیست یا مثلا اطلاعات دریافتی اشتباه هست!
اینا رو تو Command promt و ترمینال لینوکس میشه دید ولی php دیگه نمیتونه نتیجه رو هم نشون بده!!!
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
نوشته ای از متالیک
سلام
من می خوام یک صفحه ی آپلود درست کنم که کاربر یک فایل مثلا file.ext رو ارسال کنه. (خوب اینجاش که مشکلی نداره و مهم نیست)
بعد از این که فایل آپلود شد فایل توسط یک فایل exe مثلا compile.exe اجرا بشه و فایل خروجی از آن برای دانلود لینک بشه.
مثلا شخص فایل رو آپلود کرد، عبارت compile file.ext اجرا بشه و بعد از اجرای این دستور یک فایل دیگه توسط فایل compile مثلا file.ent ساخته می شه، لینک دانلود فایل file.ent نمایش داده بشه.
نمی دونم درست تونستم منظورم رو بگم یا نه؟
شما فقط راهنمایی که می تونید بکنید اینه که بگید چه طور می تونم دستور compile file.ext رو با php اجرا کنم؟
با تشکر

من یه کم احساس میکنم لقمه رو دارید دور سرتون می جرخونید یا اینکه من متوجه منظورتون نشدم؟
برای تولید لینک دانلود چرا باید این همه درد سر بکشید؟
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
من یه کم احساس میکنم لقمه رو دارید دور سرتون می جرخونید یا اینکه من متوجه منظورتون نشدم؟
برای تولید لینک دانلود چرا باید این همه درد سر بکشید؟
منظورش این بود که فرضـــــا کــــــــــاربر a میاد توی سایت و یک فایل با فرمت mp3 آپلود میکنه روی سایت!

یک برنامه مبدل روی سایت این فایل به فرمت .mp4 یا ogg مثلا تبدیل میکنه!

و لینک دانلود فایل جدیدی که ساخته شده به کاربر داده میشه!



( یه عملیاتی روی فایل انجام میشه و اونو تغییراتی میده )!
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
اوه منظـــــورم این نبود! منظورم جوابی بود که فایل exe میده... پس من اشتباه منظور شما رو از خروجی متوجه شدم!

مثلا وقتی دستور اشتباه به فایل exe بدید و فایل exe بهتون پیام بده دیگه اونو نمیبینید!

مثلا فایل exe در جواب اجرای دستوری که بهش دادید میگه این فرمت از فایل قابل قبول نیست یا مثلا اطلاعات دریافتی اشتباه هست!
اینا رو تو Command promt و ترمینال لینوکس میشه دید ولی php دیگه نمیتونه نتیجه رو هم نشون بده!!!

منم می دونم منظور شما اون نبود! بله خوب مسلمه فایل exe که پیام نمی ده. فقط برای این که مطمئن بشم دستور با php اجرا شده می تونم یه if بزارم ولی این که حتما convert انجام بشه یا نه فکر نمی کنم بشه کاری کرد.

من یه کم احساس میکنم لقمه رو دارید دور سرتون می جرخونید یا اینکه من متوجه منظورتون نشدم؟
برای تولید لینک دانلود چرا باید این همه درد سر بکشید؟

آقا حسین عزیز تولید لینک که کاری نداره! مهم تولید فایل جدیده، فایل که درست شد راحت می شه لینک داد.

منظورش این بود که فرضـــــا کــــــــــاربر a میاد توی سایت و یک فایل با فرمت mp3 آپلود میکنه روی سایت!

یک برنامه مبدل روی سایت این فایل به فرمت .mp4 یا ogg مثلا تبدیل میکنه!

و لینک دانلود فایل جدیدی که ساخته شده به کاربر داده میشه!



( یه عملیاتی روی فایل انجام میشه و اونو تغییراتی میده )!

دقیقا منظور من هم همین بود!

+================+

یک سوال دیگه؟
فرضا من فایل convert.exe رو آپلود کردم. (مثلا اینجا: /home/www/files/convert.exe که لینکش می شه این: http://www.mydomain.com/files/convert) حالا چه کار کنم دیگران نتونند این فایل رو دانلود کنند؟
چون اگه آدرسش رویدا کنند راحت دانلود می کنند. من می خوام فایل در دسترس دیگران نباشه و فقط سرور بتونه ازش استفاده کنه؟
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
کسی نمی دونه!!؟
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
کسی نمی دونه!!؟
من دیروز میخواستم بنویسم گفتم شاید منظورت این نباشه! خب شما میتونی پرمیشن Read رو برای کاربرای معمولی ببندی! همونجایی هست که مینویسی 777 و اینا... تیک خواندن رو برای یوزر بردار

یا اینکه کار بهتر اینکه! اصلا تو فولدر htdocs نذاریش!!! بیرون از این فولدر بذاریدش!
 
بالا