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教程有兴趣的朋友有所帮助。