• 技术文章 >后端开发 >PHP问题

    如何解决php fopen 权限不够问题

    藏色散人藏色散人2021-10-28 09:12:10原创548

    php fopen权限不够的解决办法:1、打开终端命令窗口;2、在terminal中执行命令“sudo chmod 666 testOpen.php”即可。

    本文操作环境:linux5.9.8系统、PHP7.1版、DELL G3电脑

    PHP使用fopen()函数打开文件提示权限不够问题

    PHP fopen() 函数

    函数定义和用法:fopen() 函数打开文件或者 URL。
    语法:

    fopen(filename,mode,include_path,context)

    后两个参数是可选的,我们只用了前两个参数,代码如下:

    <?php
    //打开文件流
    $myfile = fopen("newfile.txt", "w")        
    or die("Unable to open file!");
    //向文件中写入字符串
    fwrite($myfile, "Hello World");
    //关闭文件句柄
    fclose($myfile);
    ?>

    代码所实现的功能为:以写入方式打开当前路径下的一个名称为newfile.txt的文件,如果文件不存在则尝试创建之。打开文件以后,向文件中写入Hello World字符串,最后关闭文件。

    当前文件夹路径下没有newfile.txt文件,此时执行上述代码出现错误如下:

    Warning: fopen(newfile.txt): failed to open stream: 权限不够 in
    /home/yums/web/blog_for_r&d/scripts/testOpen.php on line 3
    Unable to open file!

    权限不够?Linux下最常出现的问题哈,是没有在硬盘上创建文件的权限吗?我尝试给testOpen.php赋更高的权限吧,于是我就在terminal中执行了如下命令:

    sudo chmod 666 testOpen.php

    这样PHP文件就有了创建文件的权限了吧,我再刷新页面试试,WTF,还是原来那个问题!

    Warning: fopen(newfile.txt): failed to open stream: 权限不够 in
    /home/yums/web/blog_for_r&d/scripts/testOpen.php on line 3
    Unable to open file!

    算了,我不用这个函数来创建文件了,我用gedit自己创建newfile.txt文件好了。于是我在terminal中执行了如下命令:

    gedit newfile.txt

    这样我就创建好了一个文件,再刷新,还是权限不够,我还是看一下这个newfile.txt文件到底有什么权限吧,在terminal中执行如下命令:

    ls -all

    发现用记事本创建的newfile.txt只有读权限,没有写入的权限,好吧问题出在这呢,给newfile.txt文件提升写的权限吧:

    sudo chmod 666 newfile.txt

    现在再刷新页面,没有报错了,文件中也写入了相应的字符串。

    推荐学习:《PHP视频教程

    以上就是如何解决php fopen 权限不够问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php fopen
    上一篇:php array数组怎么增加元素 下一篇:iis 2008怎么安装php
    千万级数据并发解决方案

    相关文章推荐

    • php opendir和fopen的区别是什么• php fopen()不能创建文件吗• php中fopen打开的文件怎么关闭• php中fopen函数的用法是什么
    1/1

    PHP中文网