【发布时间】:2012-10-19 17:47:33
【问题描述】:
我必须使用 php 自动化一个过程,我必须在文件中附加内容。 该文件没有指定任何特定权限,但文件夹“abc”具有只读权限,因此当我尝试附加文件时,fopen() 会提示权限被拒绝。
但我可以手动编辑文件,也可以从命令提示符处编辑。所以我尝试了以下方法:
当我尝试 echo exec("echo 测试>>\\xx.xx.x.x\C$\abc\test.txt"); 在我的脚本中,它不起作用。
如果相同的命令 echo 测试>>\xx.xx.x.x\C$\abc\test.txt 在cmd上运行它可以工作。
我什至尝试过 psexec:- echo exec('C:/psexec \xx.xx.x.x cmd /c \"echo 测试>>C:\abc\test.txt\"'); 当我再次跑步时 C:/psexec \xx.xx.x.x cmd /c "回声测试>>C:\abc\test.txt" 在 cmd 上运行正常。
我做错了与 exec() 有什么关系吗? 或者有没有其他方法可以编辑文件,因为我不应该更改文件夹权限,但仍然可以使过程自动化。
【问题讨论】:
-
您的应用是否需要写入权限,您无法完成此操作。使用
exec试图解决这个问题是一个糟糕的主意(抱歉)。 -
PHP 以与您的用户不同的权限作为不同的用户运行。因此,您不太可能绕过文件权限。
标签: php exec file-permissions psexec