php fopen函数报错failed to open stream 未能打开流

2024-12-19 01:46:57
推荐回答(3个)
回答1:

fopen报错有以下几种情况:

  1. 要打开的文件不存在

  2. 要打开的文件无权限访问(常见于Linux系统)

  3. 打开的模式选择了x+或x,其中x+以读写方式打开,x以写入方式打开,这两种模式会创建一个新的文件,如果文件已经存在,则会打开失败,函数返回false并抛出warning级别的错误

解决方法:

  1. 选择合适的打开模式,对于文件不存在即报错的模式,需要注意打开的文件一定要存在

  2. 为文件设置正确的权限

  3. 打开文件前判断是否存在,根据实际需求删除旧文件或更改文件名 

回答2:

$fp=fopen("../moban/content.html","r");

里面的地址,你最好用绝对地址。
define('_ROOT', str_replace("\\", '/', dirname(__FILE__)));
你写一个这句话,然后_ROOT就是当前文件的地址了。你把这个地址放在你路径前。
$fp=fopen(_ROOT."/../moban/content.html","r");
后面路径都要改。

回答3:

你有权限么?确认一下