PHP -. PHP içinde bir cmd dosyasını çalıştırın ve sonuçları görüntülemek için gerekir

4 Cevap php

Ben bir php komut dosyası içinde bir. Cmd toplu iş dosyasını çalıştırmak gerekir.

PHP bir tarayıcı içinde bir kimliği doğrulanmış oturum üzerinden erişilebilir olacak.

Ben sunucu masaüstünden. Cmd dosyasını çalıştırdığınızda, bu cmd.exeye bazı çıktı dışarı tükürür.

Ben geri php sayfası rota bu çıkışı istiyorum.

Bu yapılabilir mi?

4 Cevap

Evet yapılabilir. Sen kullanabilirsiniz

exec("mycommand.cmd", &$outputArray);

ve dizinin içeriği yazdırmak:

echo implode("\n", $outputArray);

look here for more info

Ben görev bu tür için popen kullanmayı tercih. Özellikle uzun soluklu çıktı line-by-line getirebilir ve tarayıcıya göndermek için, komutları, yani zaman aşımı daha az şansı var. İşte bir örnek:

$p = popen('script.cmd', 'r');
if ($p)
{
    while (!feof($p))
        echo gets($p);    // get output line-by-line
    pclose($p);
}

Bir komutu başlatmak ve bir dize olarak çıktı almak için, shell_exec , or the backticks operator kullanabilirsiniz.

Eğer bu komutu parametreleri geçmek istiyorsanız, komutu çağırmadan önce onları kaçmak için escapeshellargs kullanarak tasavvur edilmelidir; ve escapeshellcmd çok ^ ^ bakmak olabilir

Php popen () işlevini kullanın