微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 fopen 与 HTTP 身份验证背后的文件一起使用

如何解决将 fopen 与 HTTP 身份验证背后的文件一起使用

我正在整理我的错误日志。当我使用 fopen 检索 HTTP 身份验证后的文件但失败时,我收到错误消息:

fopen: Failed to open stream: No such file or directory

在使用 fopen 之前是否可以进行检查以查看是否会失败?

这是一个示例 URL:http://12345:12345@datatransfer.cj.com/datatransfer/files/products.zip

解决方法

我通过检查文件头进行身份验证来做到这一点:

$file_headers = get_headers($url);
if (!$file_headers) return "No headers found";
else if (strpos($file_headers[0],'401 Unauthorized') > -1) return "Authorization required";        
else if (strpos($file_headers[0],'404 Not Found') > -1) return "404 Not Found";
else {
    // now safe to use fopen...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。