Output Langsung dengan PHP Menggunakan popen() dan passthru()
Fungsi shell_exec() PHP membolehkan anda melaksanakan arahan dan menangkapnya keluaran. Walau bagaimanapun, memaparkan output secara langsung semasa pelaksanaan perintah tidak boleh dilakukan dengan shell_exec() atau fungsi terbina dalam lain seperti system(), exec(), atau passthru().
Untuk output langsung, pertimbangkan untuk menggunakan popen( ) sebaliknya. Ia membuka paip kepada proses dan membolehkan anda membaca atau menulis input/outputnya seolah-olah ia adalah fail.
Passthru() untuk Output Segera:
Jika anda perlu memaparkan output terus kepada pengguna tanpa menunggu arahan selesai, anda boleh gunakan passthru():
echo '<pre class="brush:php;toolbar:false">'; passthru($cmd); echo '';
Popen() untuk Output Masa Nyata:
Untuk memaparkan output secara langsung semasa arahan dijalankan, gunakan popen() dan a gelung while:
while (@ ob_end_flush()); // end output buffers $proc = popen($cmd, 'r'); echo '<pre class="brush:php;toolbar:false">'; while (!feof($proc)) { echo fread($proc, 4096); @ flush(); } echo '';
Kod ini membuka paip kepada arahan, membaca outputnya dalam ketulan dan memaparkannya pada fly.
Maklumat Berguna:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Output Langsung daripada Perintah Shell PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!