Maison  >  Article  >  développement back-end  >  PHP使用fopen函数打开文件提示权限不够问题

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

WBOY
WBOYoriginal
2016-07-29 09:00:382755parcourir

PHP fopen() 函数

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

fopen(filename,mode,include_path,context)

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

<code><span><span><?php </span><span>//打开文件流</span><span>$myfile</span> = fopen(<span>"newfile.txt"</span>, <span>"w"</span>)
        <span>or</span><span>die</span>(<span>"Unable to open file!"</span>);

<span>//向文件中写入字符串</span>
fwrite(<span>$myfile</span>, <span>"Hello World"</span>);

<span>//关闭文件句柄</span>
fclose(<span>$myfile</span>);
<span>?></span></span></span></code>

代码所实现的功能为:以写入方式打开当前路径下的一个名称为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中执行了如下命令:

<code><span>sudo</span> chmod <span>666</span> testOpen.php</code>

这样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中执行了如下命令:

<code>gedit newfile<span>.txt</span></code>

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

<code>ls -<span>all</span></code>

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

<code><span>sudo</span> chmod <span>666</span> newfile.txt</code>

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

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP使用fopen函数打开文件提示权限不够问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn