我有一个写在一个文件中的 unix 命令,我需要 PHP 来读取它并执行它。需要从文件中读取它的原因是因为将命令符号直接放入脚本时会弄乱脚本。到目前为止,我有这个:
<?php
$command = readfile("http://localhost/command.txt");
echo shell_exec($command);
?>
运行此程序后,我得到的只是文本文件的值,并且命令未执行。有没有办法做到这一点?
谢谢你的帮助
我有一个写在一个文件中的 unix 命令,我需要 PHP 来读取它并执行它。需要从文件中读取它的原因是因为将命令符号直接放入脚本时会弄乱脚本。到目前为止,我有这个:
<?php
$command = readfile("http://localhost/command.txt");
echo shell_exec($command);
?>
运行此程序后,我得到的只是文本文件的值,并且命令未执行。有没有办法做到这一点?
谢谢你的帮助
该readfile()
功能不会像您认为的那样做。它将文件的内容输出到浏览器,并返回读取的字节数。
相反,你想要file_get_contents()
:
$command = file_get_contents('http://localhost/command.txt');
echo shell_exec($command);
但是有一个问题:你为什么要从网站上提取命令文件?为什么不是本地文件系统?
您不只是使用popen有什么特别的原因吗?
我认为您使用这种方法使问题过于复杂。尝试将字符串直接放入您的 php 脚本中,并显示问题所在。