PHP将变量写入txt文件

时间:2013-09-27 08:55:56

标签: php fopen fwrite

我正在尝试从查询字符串中获取变量并将其写入文本文件。 我试过这样的:

<?php
$content=( $_GET['var'] );
echo $content;
$file = fopen("etlLOG.txt","w+");
echo fwrite($file,$content);
fclose($file);
?> 

我收到以下错误:

警告:fopen(etlLOG.txt)[function.fopen]:无法打开流:第8行的E:\ Users \ george \ listener.php中的权限被拒绝

警告:fwrite():提供的参数不是第9行E:\ Users \ george \ listener.php中的有效流资源

警告:fclose():提供的参数不是第10行E:\ Users \ george \ listener.php中的有效流资源

5 个答案:

答案 0 :(得分:2)

您可能需要以管理员身份更改权限。在Mac上打开终端,然后打开etlLOG.txt所在的目录。然后输入:

sudo chmod 777 etlLOG.txt

系统可能会提示您输入密码。此外,它可能是不允许完全访问的目录。

<强> PHP

chmod :尝试将指定文件的模式更改为模式中给定的模式。

chmod

答案 1 :(得分:1)

好吧,Web服务器似乎无法访问该文件。所以使用ftp fopen提供了正确的凭据和路径,最后我设法访问并编辑了文件

答案 2 :(得分:0)

如果您在Windows上运行WAMP

1)以管理员身份登录

2)安装wamp

3)从microsoft下载subinacl.exe:

4)授予常规用户帐户管理WAMP服务的权限:(subinacl.exe位于C:\ Program Files(x86)\ Windows资源工具包\ Tools)

subinacl / SERVICE \ MachineName \ wampapache /GRANT=domainname.com\username=F subinacl / SERVICE \ MachineName \ wampmysql /GRANT=domainname.com\username=F

5)注销并以用户身份重新登录。他们现在应该能够启动WAMP任务栏应用程序并控制WAMP服务。

答案 3 :(得分:0)

我的猜测是PHP正在尝试在'C:\ WINDOWS'创建文件,因此解决方案不是在那里设置权限。

我建议您使用特定位置,例如:在与php脚本相同的位置创建一个文件夹并使用它来创建文件:

$filePath =  dirname(_FILE_) . "/temp_vars/etILOG.txt";
$file = fopen($filePath ,"w+");

亲切的问候,

答案 4 :(得分:0)

您正在运行的代码正在尝试在与PHP脚本相同的文件夹中创建etlLOG.txt。您需要在E:\ Users \ george文件夹中为您的IUSER_帐户授予完全权限。

如果您不知道如何浏览以下链接

http://technet.microsoft.com/en-us/library/bb727008.aspx

http://www.wikihow.com/Change-File-Permissions-on-Windows-7

How to set 777 permission on a particular folder?