使用PHP在localhost(WAMP服务器)中读取文本文件

时间:2014-08-02 13:48:21

标签: php mysql database wamp

我的问题非常简单,我想我在路径的某个地方滥用了斜杠。

我想读取本地文件,该文件的路径存储在由phpMyAdmin管理的数据库中。我用来读取文件的代码如下:

<?php
    $f = fopen($row['Article'], "r");
    while(!feof($f)){
       echo fgets($f) . "<br/>";
    }
    fclose($f);
?>    

我最初存储在数据库中的路径是:C:\wamp\www\project\database\article\article1.txt

它运作得很好。问题在于,我正在使用WAMP服务器,这意味着我不必存储文件的绝对路径,因此我将路径存储到我的数据库中:

\project\database\article\article1.txt

但它根本不起作用!它显示的错误是“fopen无法打开流”。

此错误表示php代码无法读取我在DB中存储的路径。所以我尝试了几种方法,例如:

\localhost\project\database\article\article1.txt
/project/database/article/article1.txt
/localhost/project/database/article/article1.txt

但它们都不起作用。显示相同的错误!

有人可以给我一些提示吗?谢谢!!

3 个答案:

答案 0 :(得分:1)

你的php文件在哪里?你可以追加

echo dir(__FILE__)

进入你的php块。我认为错误的初始路径(cwd)存在问题。

答案 1 :(得分:0)

解决此问题的方法是查看尝试从

中读取的日志

&#34; fopen无法打开流&#34; 文件名

读取文件名并更改代码以转到您想要的文件。

希望它有所帮助!

快乐编码!!!

答案 2 :(得分:0)

文件打开流打开相对于当前工作目录的文件,因此存储相对于正在执行的PHP文件的文件位置。在任何其他情况下,您始终可以通过预先指向您/文件的路径来更改它。 例如,如果我的文件在/ var中 我的脚本在/var/www/index.php上运行 我可以简单地在这种情况下前置&#34; ../"从/ var

读取文件