我试图通过exec()函数从php运行xcopy命令: 以下是我的代码
$execute = ('xcopy "\\\\192.1.1.52\\xcopy_folder\\testfile.txt" "c:\\xcopy_folder\\"',$output);
exec($execute,$output);
echo $output."<br />";
echo $execute;
它显示0文件与执行的命令一起复制,然后我将命令复制并粘贴到cmd提示符,它将文件复制到我的目标文件夹,任何人都可以请求帮助,谢谢!
我尝试了以下内容:
而不是使用计算机名称,我尝试了IP地址(做同样的事情 - php不起作用但使用DOS提示符),仍显示0文件被复制。
而不是使用计算机名称和IP地址,我将驱动器(G :)映射到该文件夹并使用驱动器符号(它也不能与exec一起工作,但在DOS提示符下工作正常) - 相同的结果如上所述。
计算机包含源文件位于海外(慢速连接),我试图复制同一网络中的文件(我的电脑旁边),如果我使用IP无关紧要地址或计算机名称就像魅力一样。
请帮助:(
答案 0 :(得分:0)
大多数情况下,如果命令在命令提示符下工作,而不是从PHP的exec()(或shell_exec()命令),则是由于以下原因之一:
1)权限问题。您具有从命令行执行命令的用户运行命令所需的权限。但是,运行PHP的用户没有必要的权限。
2)环境问题。从命令行执行命令的用户环境中定义环境变量(例如路径)。但是,此环境变量不是在PHP运行的用户环境中设置的。
答案 1 :(得分:0)
试试这个下面的
$execute = ('xcopy "\\\\192.1.1.52\\xcopy_folder\\testfile.txt" "c:\\xcopy_folder\\"');
exec($execute,$output);
print_r ($output)."<br />";
echo $execute;
如果它不起作用,请检查