怎么我的.php fopen()方法不工作?

怎么我的.php fopen()方法不工作。 它说它无法find该文件? 任何帮助是极大的赞赏:

#!/usr/local/bin/php <?php $strLessonDescription = fopen("c:\\exercise5\\content\\lesson5.txt", "r") or die ("Error - lesson5.txt cannot be opened"); $arrLessonVocabulary = fopen("c:\\lovej2ee\\exercise5\\content\\vocabulary5.txt", "r") or die ("Error - lesson5.txt cannot be opened"); ?> 

猜测你在窗口给定的path格式:你为什么不指定驱动程序的信? 例如:

  "c:\\dir\\dir\\thing.txt" 

"\\dir"开始,在“当前驱动器”上给出一个绝对path,无论它发生在运行PHP代码的上下文中。 如果您想要一个正常的相对path,请删除第一个\\

如果你想要一个UNCpath,那将是:

 "\\\\host\\share\\dir\\..." 

(如果你是一个unixtypes的平台,那么斜杠是错误的,但是相对与绝对path仍然存在。)

[你的两条路是可疑的不一致的。 但不知道这是否是有意的。]

我同意Mat,你可能希望更明确你的文件path的意图。 此外,我进一步build议,可能希望确保文件存在,然后再尝试打开它。 你可以用file_exists()来做到这一点:

 $filename = '\exercise5\content\lesson5.txt'; if (file_exists($filename)) { //Your code here } else { //error gracefully } 

如果你可以用更多的信息更新你的原始问题,你收到的帮助可能会更加激烈。

编辑:根据您更新的问题(这完全是一个不同的问题),事实上,您试图读取的文件实际上是通过远程请求,而不是本地文件,显着改变了事情。 根据fread()手册页 ,您需要以不同的方式读取文件。 另外,只需使用file_get_contents() 。