【问题标题】:PHP Write a variable to a txt filePHP 将变量写入 txt 文件
【发布时间】:2013-10-03 12:14:56
【问题描述】:

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

<?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 中的有效流资源

【问题讨论】:

    标签: php fopen fwrite


    【解决方案1】:

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

    sudo chmod 777 etlLOG.txt
    

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

    PHP

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

    chmod

    【讨论】:

    • 777 可能有点矫枉过正,我建议644664。无论如何+1 ;)
    • 如果文件不存在呢? fopen with +w 应该创建它,所以他可能不得不更改目录权限/而不是
    • 好吧,我不是管理员,我无法更改任何权限
    【解决方案2】:

    看来网络服务器无权访问该文件。所以使用 ftp fopen 提供了正确的凭据和路径,最后我确实设法访问和编辑了文件

    【讨论】:

      【解决方案3】:

      如果你在 Windows 上运行 WAMP

      1) 以管理员身份登录

      2) 安装 wamp

      3) 从微软下载 subinacl.exe:

      4) 授予普通用户帐户管理 WAMP 服务的权限:(subinacl.exe 位于 C:\Program Files (x86)\Windows Resource Kits\Tools)

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

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

      【讨论】:

        【解决方案4】:

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

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

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

        亲切的问候,

        【讨论】:

          【解决方案5】:

          您正在运行的代码正在尝试在与您的 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?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-11-29
            • 1970-01-01
            • 1970-01-01
            • 2015-02-27
            • 2016-05-14
            • 2018-01-05
            相关资源
            最近更新 更多