首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fopen()不工作

fopen()不工作
EN

Stack Overflow用户
提问于 2011-09-06 16:39:25
回答 5查看 39.5K关注 0票数 4

我想从一个大约3-4MB的文本文件中读取一个简单的字符串,但是fopen()失败了(调用了die()中的“can‘t open file”)。代码如下:

代码语言:javascript
复制
clearstatcache();
$fh = fopen("/my/path/to/file.txt", "r") or die("can't open file");
$sql = fread($fh,filesize("/my/path/to/file.txt"));
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-06 16:41:27

你有没有先检查过文件是否存在?

代码语言:javascript
复制
if (!file_exists("/my/path/to/file.txt") { 
    die('File does not exist');
}

clearstatcache();

$fh = fopen("/my/path/to/file.txt", "r") or die("can't open file");
$sql = fread($fh,filesize("/my/path/to/file.txt"));
票数 4
EN

Stack Overflow用户

发布于 2011-09-06 16:46:45

您必须在代码中添加下面这一行

代码语言:javascript
复制
error_reporting(E_ALL);

并在所有代码中始终保留这一行

还有这一行

代码语言:javascript
复制
ini_set('display_errors',1);

并且只在开发服务器上保留这一行。

在生产环境中,应将其更改为

代码语言:javascript
复制
ini_set('display_errors',0);
ini_set('log_errors',1);

通过这样做,在阅读现在显而易见的错误消息时,您将不需要Stackoverflow的帮助。

票数 4
EN

Stack Overflow用户

发布于 2011-09-06 16:45:10

尝试在芯片中输出系统错误或尝试使用try…接住。在开发时也会打开php错误。在打开文件之前,还要检查文件是否可读。

最常见的问题是:文件不存在(或者只是提供了不正确的路径?),没有足够的权限读取此文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7317114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档