PDA

View Full Version : حرفه ای: با php چطوری میشه یک فایل exe رو اجرا کرد ؟



elimiz
دوشنبه 17 بهمن 1390, 22:55 عصر
سلام دوستان
ایا میشه با php یک فایل اگزه رو اجرا کرد ؟
با جاوا اسکریپت چطور ؟
ممنون میشم راهنمایی کنید

mbf5923
دوشنبه 17 بهمن 1390, 23:07 عصر
با دستور execute

echo exec('C:\\xampp\\htdocs\\sample\\Setup.exe');
البته توی سرور ویندوزی

ravand
سه شنبه 18 بهمن 1390, 09:58 صبح
ببخشيد يادمه يكي از دوستان يه برنامه اي رو بهم معرفي كرد كه ميشد برنامه هاي php رو به برنامه هاي تحت ويندوز تبديل كرد. مثلا يه برنامه اي رو با php مي نوشتي كاريش ميكرد كه اون برنامه توي ويندوز هم اجرا بشه و كار كنه مثل بقيه ي برنامه هاي ويندوز. آيا شما اطلاع داريد؟

Net So
سه شنبه 18 بهمن 1390, 10:05 صبح
شما از GTK میتونید استفاده کنید. البته Bind QT هم براش وجو داره.
ولی اگر به Visual Studio عادت دارید از افزونه Phalanger تو VS استفاده کنید و با vs و به زبان PHP برنامه تحت ویندوز بنویسید.

ravand
سه شنبه 18 بهمن 1390, 10:12 صبح
خيلي ممنون
الان من رفتم توي اين آدرس :http://gtk.php.net/download.php
به نظر شما كدومش رو دانلود كنم؟
يه سوال ديگه:
اگه من به اين صورت برنامه بنويسيم و كدهام تحت ويندوز كار كنه آيا بازم ميشه سورس كدها رو به راحتي گرفت؟
مثلا من با php يه برنامه اي مي نويسم بعد تحت ويندوزش ميكنم ، يه نفر راحت ميتونه كدهاش رو بگيره و براي خودش استفاده كنه؟
متشكرم

ravand
سه شنبه 18 بهمن 1390, 10:23 صبح
با دستور execute

echo exec('C:\\xampp\\htdocs\\sample\\Setup.exe');
البته توی سرور ویندوزی

ببخشيد من روش شما رو امتحان كردم و فقط مدتي ماوس فعال ميشه ولي فايل اجرا نميشه:

<?php
echo exec('F:\\wamp\\wamp\\www\\PDFCreator-1_2_3_setup.exe');
?>

mbf5923
سه شنبه 18 بهمن 1390, 12:40 عصر
دوست خوبم این برای اجرای نرم افزار ها نیست
مثلا شما میخواید یک نرم افرار Command Prompt رو اجرا کنید و یک مقدار بهش ارسال و نتیجه رو بگیرید،اونجا از این روش استفاده میشه

ravand
سه شنبه 18 بهمن 1390, 15:19 عصر
دوست خوبم این برای اجرای نرم افزار ها نیست
مثلا شما میخواید یک نرم افرار Command Prompt رو اجرا کنید و یک مقدار بهش ارسال و نتیجه رو بگیرید،اونجا از این روش استفاده میشه

ميشه يه مثال بزني؟

mbf5923
سه شنبه 18 بهمن 1390, 20:10 عصر
مثالی که توی نت از این روش زده میشه پینگ کردن یک آی پی با CMD و نمایش نتیجه در PHP هستش

ravand
سه شنبه 18 بهمن 1390, 21:06 عصر
مثالی که توی نت از این روش زده میشه پینگ کردن یک آی پی با CMD و نمایش نتیجه در PHP هستش
چجوري ميشه اين كار رو كرد؟ ميشه اون مثال رو بذاريد؟
متشكرم

mbf5923
سه شنبه 18 بهمن 1390, 21:11 عصر
مثلا این جالبه:

<?php
$computername = "www.google.com";
$ip = gethostbyname($computername);
exec("ping ".$ip." -n 1 -w 90 && exit", $output);
print_r($output);
?>

mbf5923
سه شنبه 18 بهمن 1390, 21:14 عصر
توی php.net خیلی مثال گذاشتن:
http://php.net/manual/en/function.exec.php

ravand
سه شنبه 18 بهمن 1390, 21:17 عصر
داداش شما طوري حرف زدي كه من فكر كردم الان با اين دستور ميتوني برنامه ي cmd ويندوز رو اجرا كني نميدونستم ميخواي اين كار ساده رو انجام بدي. خوب من اينو ميدونستم ولي فكر ميكردم منظور شما اينه كه مثلا يه فايل با پسوند exe رو توي ويندوز اجرا ميكني و مثل اين مي مونه كه روي يه برنامه در ويندوز دابل كليك كردي و اجراش كردي. كاري كه شما كردي به شكل ساده يعني به روش زير هم ميشه انجام داد:

<?php
$site='google.com';
System("ping $site");
?>

mbf5923
سه شنبه 18 بهمن 1390, 21:23 عصر
:قهقهه: نه دوست عزیز
البته ناگفته نمانید که فایل EXE واقعا اجرا میشه اما نه هر اپلیکیشنی اونایی که حالت کنسولی دارن که این خودش همچین کم کاری نیست
در هر صورت اگه منظورم رو بد بیان کردنم معذرت میخوام

ravand
سه شنبه 18 بهمن 1390, 21:23 عصر
البته اين را هم بگم كه php چون زبان تحت سرور هست قابليت اين رو نداره كه يه برنامه اي رو توي ويندوز اجرا كنه . شايد بشه از جاوا اسكريپت كه سمت كلاينت هست استفاده كرد ولي از php نميشه اين توقع رو داشت.

mbf5923
سه شنبه 18 بهمن 1390, 21:28 عصر
اما برای سرورهای ویندوزی اگه فایل موردنظر کنار اسکزیپت و روی هاست باشه شاید بشه اجراش کرد
شاید اپلیکیشن های بزرگتر رو هم با یه ترفند بشه اجرا کرد به این ترتیب که ما یه اپلیکیشن کنسولی ساده رو با PHP فراخوانی کنیم و اون اپلیکیشن یک اپلیکیشن درگه رو باز کنه!

ravand
سه شنبه 18 بهمن 1390, 21:40 عصر
اما برای سرورهای ویندوزی اگه فایل موردنظر کنار اسکزیپت و روی هاست باشه شاید بشه اجراش کرد
اين حرف شما منطقي هست.
شايدم اگه php رو تحت ويندوز اجرا كرديم بشه اين كار رو كرد.

elimiz
سه شنبه 18 بهمن 1390, 22:43 عصر
با جاوا اسکریپت میشه یک فایل اجرایی رو اجرا کرد و در روی کامپیوتر ذخیره کرد. اما روی فایرفاکس کار نمیکنه و فقط در اینترنت اکسپلورر کار میکنه
من میخوام یک صفحه php داشته باشم و در کنارش (در هاستم) یک فایل اجرایی. که وقتی سایت لود میشه فایل در سیستم بازدید کننده اجرا بشه
همچین چیزی میسه ؟
با چه زبانی و چطوری ؟
نیاز دارم

mbf5923
چهارشنبه 19 بهمن 1390, 09:15 صبح
نه دوست من این کار شدنی نیست
طبق تحقیقات بنده:
در هاست ویندوزی میشه یک فایل اجرایی رو از کنار اسکریپت ران کرد ولی فقط یک کاربر قادر به انجام این کاره و کاربر بعدی با فایل ران شده روبرو میشه در ضمن نرم افزار روی سیستم کاربر اجرا نمیشه بلکه روی سروری که سایت شما درونش هست اجرا میشه

ravand
چهارشنبه 19 بهمن 1390, 09:33 صبح
يه چيزي يادم امد.
الان اگه به برخي سايت ها دقت كنيد وقتي واردش ميشيد اگه فلش پليير نصب نداشته باشيد بهتون اخطار ميده و آدرسي در اختيارتون ميذاره كه با كليك روي اون وارد صفحه ي ديگري ميشيد كه اين برنامه هست و ميشه دانلودش كرد.
ولي از اين موضوع كه بگذريم من چند سال پيش يادمه وارد سايت 4shared كه شدم بهم پيام داد و گفت شما فلش پليير نصب نداريد آيا ميخواهيد نصب كنيد؟ منم بله رو زدم خودش يه فايلي اجرا شد و برنامه ي فلش پليير نصب شد. بدون اينكه بهم بگه برو توي يه آدرس ديگه و دانلود كن و نصب كن.

MMSHFE
چهارشنبه 19 بهمن 1390, 09:33 صبح
بنا به مسائل امنیتی، چنین امکانی در زبانهای سمت سرور وجود نداره وگرنه خیلی راحت میشد یک ویروس رو روی کامپیوتر کلاینت اجرا کنید! موفق باشید.