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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)