本文目錄一覽:
如何用PHP運行批處理文件或者結束服務器進程
可以用system()、exec()、passthru()
string
system
(
string
command
[,
int
return_var]
)
string
exec
(
string
command
[,
array
output
[,
int
return_var]]
)
void
passthru
(
string
command
[,
int
return_var]
)
沒錯啊,比如你要在用戶訪問1.php的時候執行服務器上的
c:\a.bat
你可以在1.php裡面這麼寫
?php
exec(“c:\\a.bat”);
?
關於一個php exec函數的問題 bat文件能運行 但是接下來的字符串打印不出來
exec(‘c:/aaa/bbb.bat’);
exec就等於你直接在cmd敲命令回車,你在cmd敲一下start
c:/aaa/bbb.bat
你會發現再彈出一個cmd窗口,這應該就是一直加載中的原因了
exec也可以把執行的結果全部返回到$output函數里(數組),$status是執行的狀態
0為成功
1為失敗
$a
=
exec(“dir”,$out,$status);
print_r($a);
print_r($out);
print_r($status);
php exec 無法執行bat文件。
你應該先去下個php探針,傳到自己的空間,執行探針看看有哪些disable_functions。或者執行phpinfo()也可以。exec這種函數,大部分空間都是禁止的,沒得改。換個不禁的空間吧。怎麼知道禁不禁?下個php探針,傳到自己的空間,……
————————
試試這個
?php
$str=shell_exec(‘dir/d’);
echo ‘pre’;
echo $str;
?
原創文章,作者:VJHP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145116.html