FilePointer拒绝打开

时间:2011-11-16 03:41:58

标签: php file-io

我正在尝试使用文本文件创建一个下拉列表,其中逐行列出了单独的国家/地区。

问题在于,无论出于何种原因,我的文件都拒绝打开。

以下是代码:

<?php
$path = realpath(dirname(__FILE__));
require_once('upload.controller.php');
$filePath = $path.'/../includes/_notes/countries.txt';
$handle = fopen($filePath, "r");


?>
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="../includes/css/adsmanager.css" />
        <script type="text/javascript" src="../includes/js/.."></script>
    </head>
    <body>
        <!--<form method="post" action="upload.controller.php">-->
            <!--<select>
                <script type="text/javascript" src="includes/js/countries.js" /></script> -->
                <?php

                    if ($handle) {

                        while(($buffer = fgets($file)) != false) {
                            var_dump($buffer);
                        }

                        if (!feof($handle)) {
                            die("failed to open file"); 
                        }
                    }
                    fclose($handle);
                ?>
            <!--</select>
        </form>-->
    </body>
</html>

连同我的输出:

string(66) "/var/www/patention/modules/upload/../includes/_notes/countries.txt" failed to open file

我做错了吗?我从直接列出的例子中拿走了 PHP Manual。与this一起。

1 个答案:

答案 0 :(得分:1)

您的文件路径对我来说似乎不对:

"/var/www/patention/modules/upload/../includes/_notes/countries.txt"

..用于相关目录。

如果countries.txt位于includes/_notes/内且includes位于.php脚本所在的父目录中,请将路径更改为

../includes/_notes/countries.txt

简而言之,请勿将$path追加到$filePath

修改

在这一行:

while(($buffer = fgets($file)) != false)

更改为

while(($buffer = fgets($handle)) != false)