繁体   English   中英

在PHP中检查文件句柄类型

[英]Checking file handle type in PHP

我正在使用fopen从URL打开提要(.txt文件),但有时找不到提要。 我希望fopen在发生这种情况时返回FALSE,因此我可以处理该错误。 但是,如果在目标URL上未找到供稿,则会将我重定向到网站上的另一个页面,通知我未找到指定的文件。 结果是,我的$ handle指向错误的文件,而fopen返回TRUE(因为它找到了-某些东西-尽管是错误的东西),从而破坏了我对错误处理的尝试。

如何验证fopen的文件正确? 谢谢。

if ($handle = fopen($feed, "r")) {
   //fopen returned true, do stuff
} else {
   //fopen returned false, quit
   die("Fail.");
}

您可以使http包装器忽略重定向,如下所示:

$opts = array(
    'http' => array('method' => 'GET',
                    'max_redirects' => '0')
);

$context = stream_context_create($opts);
$handle = fopen($feed, 'r', false, $context);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM