0

我必须使用 php 自动化一个过程,在该过程中我必须在文件中附加内容。该文件没有指定任何特定权限,但文件夹“abc”具有只读权限,因此当我尝试附加文件时,fopen() 会提示权限被拒绝。

但我可以手动编辑文件,也可以从命令提示符处编辑。所以我尝试了以下方法:

当我尝试 echo exec("echo Testing>>\\xx.xx.xx\C$\abc\test.txt"); 在我的脚本中,它不起作用。

如果在 cmd 上运行相同的命令 echo Testing>>\xx.xx.xx\C$\abc\test.txt 它可以工作。

我什至尝试过 psexec:- echo exec('C:/psexec \xx.xx.xx cmd /c \"echo Testing>>C:\abc\test.txt\"'); 当我再次在 cmd 上运行 C:/psexec \xx.xx.xx cmd /c "echo Testing>>C:\abc\test.txt" 时,它工作正常。

我做错了与 exec() 有什么关系吗?或者有没有其他方法可以编辑文件,因为我不应该更改文件夹权限,但仍然可以使过程自动化。

4

2 回答 2

0

我假设您使用的是 Windows。在 Debian Linux 上,我会告诉您在适当的目录中授予用户 www-data 写入权限。

您可能需要授予本地 IIS 工作人员帐户对该目录的写入权限。本地 IIS 工作人员帐户的名称可能类似于 IUSR_[SERVERNAME]。

于 2012-10-19T17:58:53.553 回答
0

出于安全原因,一些虚拟主机决定删除函数 exec。

查看您的 php 信息并检查您的是否已禁用。

于 2012-10-19T18:05:27.537 回答