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

软件和网站开发以及相关技术探讨
回复
haohao330
帖子: 26
注册时间: 2012-11-01 11:15
系统: ubuntu

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

#1

帖子 haohao330 » 2015-12-26 0:05

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 。 文件路径:yuesha@yuesha:/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文件创建。
请问这是什么原因,该如何解决?
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

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

#2

帖子 astolia » 2015-12-26 0:18

十有八九是路径问题。你这种写法就只会在进程的当前路径下面找。自己用echo getcwd()看看当前路径是什么
haohao330
帖子: 26
注册时间: 2012-11-01 11:15
系统: ubuntu

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

#3

帖子 haohao330 » 2015-12-26 10:28

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.");
}
?> 结果还是不能创建。
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

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

#4

帖子 rosynirvana » 2015-12-26 15:15

为何不检查一下fopen的返回值呢
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

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

#5

帖子 astolia » 2015-12-27 20:39

你这段代码本身就只能打开已经存在的文件啊。你仔细看看,是当文件存在时才去用fopen,否则直接die了。根本就不会去创建文件
haohao330
帖子: 26
注册时间: 2012-11-01 11:15
系统: ubuntu

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

#6

帖子 haohao330 » 2015-12-28 12:16

rosynirvana 写了:为何不检查一下fopen的返回值呢

$fh=fopen("fileReadOnly.txt", "rb"); 我只是想在这个文件夹里面创建fileReadOnly.txt这个文件,现在没有创建。证明fopen()函数失效啦。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

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

#7

帖子 YeLee » 2015-12-29 8:04

http://php.net/manual/en/function.fopen.php
我先贴个链接,详见mode一节。 :Smile
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复