社区
基础编程
帖子详情
fopen的问题,无法理解,在本地就是不能打开文件
victorzk
2007-11-15 04:26:58
$handle = fopen("/home/rasmus/file.txt", "w");
if(!handle){
print "yes";
}else{
print "no";
}
系统是linux系统,查看php参数,php版本4.3.9,allow_url_open为打开on
但是不管怎样总是无法打印“no”,总是打印yes,请问这是为什么呢?是什么原因呢?
...全文
371
14
打赏
收藏
fopen的问题,无法理解,在本地就是不能打开文件
$handle = fopen("/home/rasmus/file.txt", "w"); if(!handle){ print "yes"; }else{ print "no"; } 系统是linux系统,查看php参数,php版本4.3.9,allow_url_open为打开on 但是不管怎样总是无法打印“no”,总是打印yes,请问这是为什么呢?是什么原因呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
victorzk
2007-11-19
打赏
举报
回复
改成相对路径也不行,提示failed to open stream: Permission denied。。。。
哭了,一个星期没有解决这个问题了,我快崩溃了
有理想的草根
2007-11-19
打赏
举报
回复
chmod("/home/rasmus/file.txt", 0755);
加入这句话后,再读下这个文件试试返回的是什么?如果返回的是true则说明该用户可以访问,否则该文件,该用户不能被访问。
这句话,在读入之前处理。
试下吧。
wgt20
2007-11-19
打赏
举报
回复
第七行!handle=>!$handle
phpknows
2007-11-17
打赏
举报
回复
你用ROOT改过HOME的属性么?WEB服务器的用户和HOME属于一个组么?
建议用相对路径比较好。
phpknows
2007-11-16
打赏
举报
回复
$handle = fopen( "/home/rasmus/file.txt ", "w ");
if($handle){
print "yes ";
echo is_file('/home/rasmus/file.txt') ? 'yes':'no';
}else{
print "no ";
}
逸学堂
2007-11-16
打赏
举报
回复
使用sudo执行,或者在root用户执行
victorzk
2007-11-16
打赏
举报
回复
错误提示是:
Notice: Undefined variable: handle in /project/redirect.php online 3
Warning: fopen(/home/rasmus/file.txt): faailed to open stream: Permission denide in /project/redirect.php on line 3
Notice : Undefined variable: handle in /project/redirect.php on line 7
yes
redirect.php就是我写的php文件第3行是$handle = fopen( "/home/rasmus/file.txt ", "w ");
第7行是if(!handle){
我服了啊,文件夹权限都已经打开了啊?急死了!
victorzk
2007-11-16
打赏
举报
回复
我用root用户执行还是不行啊??为什么呢?是不是还有其他说法啊?
逸学堂
2007-11-15
打赏
举报
回复
在tmp中创建试试
把display_error开关打开,查看一下具体错误吧。
安你的操作,对应手册应该没有问题的。
open() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。
如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。
注意: 所支持的协议列表见附录 N, 支持的协议/封装协议列表。某些协议(也被称为 wrappers)支持 context 和/或 php.ini 选项。参见相应的页面哪些选项可以被设定(例如 php.ini 中用于 http wrapper 的 user_agent 值)。
注意: 对 context 的支持是 PHP 5.0.0 添加的。有关 context 的说明见Streams。
注意: 自 PHP 4.3.2 起,对所有区别二进制和文本模式的平台默认模式都被设为二进制模式。如果在升级后脚本碰到问题,尝试暂时使用 't' 标记,直到所有的脚本都照以下所说的改为更具移植性以后。
mode 参数指定了所要求到该流的访问类型。可以是以下:
victorzk
2007-11-15
打赏
举报
回复
对啊,我就是想不存在就创建,问题是不创建啊,w,w+,x,x+都试验了,都不行啊
duanjianbo26
2007-11-15
打赏
举报
回复
你打开方式是"W",如果不存在它会自己创建一个file.txt
victorzk
2007-11-15
打赏
举报
回复
回复逸学堂,我照你的去做了,但还是不好使啊,还是打印yes 啊
wisword
2007-11-15
打赏
举报
回复
if(!handle){
==》
if(!$handle){
逸学堂
2007-11-15
打赏
举报
回复
需要在php.ini中的open_basedir配置
把/home/rasmus/目录加到open_basedir后面就可以了
fopen
c++
打开文件
本文详细介绍了
fopen
函数的使用方法,包括其参数、返回值、常见模式字符串等,并提供了两个程序示例帮助
理解
如何在实际操作中应用此函数。
2、文件的打开与关闭(
fopen
与fclose)
本文介绍了C语言中如何打开和关闭文件,重点讲解了
fopen
()和fclose()函数的使用。
fopen
()用于
打开文件
,允许指定文件的读写权限和类型。fclose()用于关闭文件,释放相关资源。文中还提供了实例演示,帮助
理解
这两个函数的用法。
C语言
打开文件
详解
本文详细介绍了C语言中文件操作的基础知识,包括如何使用
fopen
()函数
打开文件
,
理解
文件打开方式,判断文件是否打开成功,以及如何正确关闭文件。通过实例演示了如何逐行读取文本文件。
文件的打开(
fopen
函数)
本文详细介绍了
fopen
函数的使用方法及参数设置,包括文件指针的定义、文件打开模式等。并提供了多种示例帮助
理解
如何正确使用此函数。
fopen
打开文件
方式
本文详细解释了
fopen
函数中各种模式参数的意义及使用场景,包括只读、读写、追加等模式,并提供了如何检查文件是否存在的方法。
基础编程
21,889
社区成员
140,333
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章