通过PHP写入文件
问题描述:
我的Windows服务器中有一个Fetch.exe
,在运行Fetch.exe
的命令提示符下返回控制台中的一些文本输出。通过PHP写入文件
我想包装Fetch.exe
在PHP中的exec
,并产生result.txt
:
exec("Fetch/Fetch.exe > C:/inetpub/testaddbbacom/test/result.txt");
试验表明,result.txt
已经确实产生,但是,它是空的。
然后,我在同一文件夹创建了一个简单try.bat
:
类似地,会产生空白result.txt
。
相比之下,exec("echo 123 > C:/inetpub/testaddbbacom/test/result.txt")
工作正常。
有谁知道错在哪里?
更新1:这里是文件夹Fetch
的权限,用户拥有所有权限:
答
如果你的路径字符串去用双引号必须转义反斜杠,如果你不使用单引号。你可以重写exec调用:exec('C:\ inetpu \ testaddbbacom \ Fetch \ Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt')或exec('C:/ inetpu/testaddbbacom/Fetch/Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt') - @jlgsoftware
“Fetch.exe”的输出可能会根据执行它的用户或执行PHP的用户没有权限执行它。 –
请参阅我的更新...用户拥有所有权限... – SoftTimur
是您的php脚本进入testaddbbacom目录吗? – jlgsoftware