分页: 1 / 1

关于fopen()函数不能创建文件问题

发表于 : 2015-12-26 0:05
haohao330
php代码如下:
<?php
if (file_exists("fileReadOnly.txt"))
{
$fh=fopen("fileReadOnly.txt", "w");
}
else
{
die("!!!!The file does not exit.");
}
?>
1.php文件权限: -rwxrwxrwx 1 root root 142 12月 25 23:47 1.php 。 文件路径:[email protected]:/var/www/html/phptest$ (其中phptest文件夹只有1.php一个文件)

我把所有的文件权限全部改为777
drwxrwxrwx 2 root root 4096 12月 25 23:57 phptest
drwxrwxrwx 6 root root 4096 11月 30 14:51 html
drwxrwxrwx 3 root root 4096 11月 15 23:56 www
drwxrwxrwx 14 root root 4096 11月 14 18:36 var
在浏览器运行文件,输出的结果是:!!!!The file does not exit. 证明文件还什能够运行,可是我回到phptest文件夹里面查看,没有发现fileReadOnly.txt文件创建。
请问这是什么原因,该如何解决?

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-26 0:18
astolia
十有八九是路径问题。你这种写法就只会在进程的当前路径下面找。自己用echo getcwd()看看当前路径是什么

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-26 10:28
haohao330
astolia 写了:十有八九是路径问题。你这种写法就只会在进程的当前路径下面找。自己用echo getcwd()看看当前路径是什么
使用getcwd()函数得到的结果是:/var/www/html/phptest
因此我把文件的路径给改成:<?php
if (file_exists("/var/www/html/phptest/fileReadOnly.txt"))
{
$fh=fopen("/var/www/html/phptest/fileReadOnly.txt", "w");
}
else
{
die("!!!!The file does not exit.");
}
?> 结果还是不能创建。

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-26 15:15
rosynirvana
为何不检查一下fopen的返回值呢

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-27 20:39
astolia
你这段代码本身就只能打开已经存在的文件啊。你仔细看看,是当文件存在时才去用fopen,否则直接die了。根本就不会去创建文件

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-28 12:16
haohao330
rosynirvana 写了:为何不检查一下fopen的返回值呢

$fh=fopen("fileReadOnly.txt", "rb"); 我只是想在这个文件夹里面创建fileReadOnly.txt这个文件,现在没有创建。证明fopen()函数失效啦。

Re: 关于fopen()函数不能创建文件问题

发表于 : 2015-12-29 8:04
YeLee
http://php.net/manual/en/function.fopen.php
我先贴个链接,详见mode一节。 :Smile