【问题标题】:feof(): 3 is not a valid stream resource infeof(): 3 不是有效的流资源
【发布时间】:2013-07-12 09:42:30
【问题描述】:

在我的桌面上安装了 Windows 8 并重新安装了 aptana 和 xampp 后,我不知何故无法使用 !feof($handle)。我想获取存储在我的 $symb arra 中的 nasdaq 符号。这是一个示例,我的错误:

$symb = array();
$url = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download";
$handle = fopen("$url","r");
while( !feof($handle) ){
    $line = fgetcsv($handle, 1024);
    if($line!="Symbol" && isset($line[0]) && $line[0] != null   ){
        $symb[] = trim($line[0]);
    }
    fclose($handle);
}

还有我的错误:

警告:feof(): 3 在第 61 行的 C:\xampp\htdocs\demos\screener\candleScreener.php 中不是有效的流资源

警告:fgetcsv(): 3 is not a valid stream resource in C:\xampp\htdocs\demos\screener\candleScreener.php on line 62

警告:fclose(): 3 在第 66 行的 C:\xampp\htdocs\demos\screener\candleScreener.php 中不是有效的流资源 .......

是否有我必须更改 php.ini 文件的设置或者它可能是什么? 谢谢。

    .....
$url = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download";
$handle = fopen("$url","r");
$txt = fread( $handle, 8 );
print_r($txt);
    .....

打印出来: “符号”

所以我的 fopen() 很好 ....

【问题讨论】:

  • 是的,安装 XAMPP 会中断feof

标签: php


【解决方案1】:

重新安装和fopen() 是红鲱鱼。在读取文件之前,您正在关闭 while 循环内的文件句柄。

while( !feof($handle) ){
    $line = fgetcsv($handle, 1024);
    if($line!="Symbol" && isset($line[0]) && $line[0] != null   ){
        $symb[] = trim($line[0]);
    }
    // fclose($handle); // Move this outside the while loop
}
fclose($handle); // Moved this outside the while loop

【讨论】:

    【解决方案2】:

    我的代码中遇到了同样的问题。我在代码中有一个额外的文件关闭功能。换句话说,我试图第二次写入文件并且它没有打开使用。我在我的程序顶部编写了这个代码:

    $newFile = $local_directory . $tenant.'-'.$namespace.'_Stats.xml';
    $newDoc = fopen($newFile, "w");
    fwrite($newDoc, $urlStats);
    fwrite($newDoc, $response);
    fclose($newDoc);
    

    后来我有:

    fwrite($newDoc, $response);
    fclose($newDoc);
    

    在编写更多内容之前检查以确保文件已打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多