【问题标题】:Reading a text file in localhost (WAMP server) using PHP使用 PHP 在 localhost(WAMP 服务器)中读取文本文件
【发布时间】:2014-08-02 13:48:21
【问题描述】:

我的问题很简单,我想我在路径的某处误用了斜线。

我想读取一个本地文件,文件的路径存储在由 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

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

有人可以给我一些提示以使其正常工作吗?谢谢!!

【问题讨论】:

  • 你检查过文本文件是否存在吗?我知道这很愚蠢,但有时就这么简单。 /project/database/article/article1.txt 似乎是正确的路径
  • 好吧,我尝试了路径C:\wamp\www\project\database\article\article1.txt,php 代码显示article1.txt。但是当我尝试路径 /project/database/article/article1.txt 时它不显示
  • 你试过/wamp/www/project/database/article/article1.txt/www/project/database/article/article1.txt吗?
  • AFAIK 您不能使用前导斜杠作为 Windows 绝对路径。您必须从驱动器号开始绝对路径 (C:\..)。如果您希望您的代码可移植到另一台服务器,我建议存储来自 Web 根目录的相对路径(如 /project/database/article/article1.txt),然后当您尝试 fopen 时,使用 PHP 常量或函数告诉它在哪里看(例如fopen($path_to_webroot . $relative_path_to_file)。看$_SERVER['DOCUMENT_ROOT']real_path()__FILE__stackoverflow.com/questions/1954992/…

标签: php mysql database wamp


【解决方案1】:

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

echo dir(__FILE__)

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

【讨论】:

    【解决方案2】:

    解决这个问题的方法是在日志中查看它试图读取的位置

    “fopen 无法打开流” 文件名

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

    希望对你有帮助!

    编码愉快!!!

    【讨论】:

      【解决方案3】:

      文件打开流打开相对于当前工作目录的文件,因此存储相对于正在执行的 PHP 文件的文件位置。在任何其他情况下,您始终可以通过将路径添加到您的 / 文件来更改它。 例如,如果我的文件在 /var 我的脚本在 /var/www/index.php 上运行 在这种情况下,我可以简单地添加“../”以从 /var 读取文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        相关资源
        最近更新 更多