所需的用户名和&解密[function.fopen]的密码:无法打开流:HTTP请求失败

时间:2014-05-08 21:03:02

标签: php apache http

当我使用PHP文件系统函数fopen以下列方式从远程服务器读取文件时:

<?php $filetoread = fopen ('https://www.abc.com/directory/file.php', 'r')  ?>

我收到错误

 [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized.....

在阅读了几篇帖子https://stackoverflow.com/a/3335437和PHP手册http://www.php.net/manual/en/function.fopen.php之后,我了解了它的解决方案,但由于信息不足,我无法正确理解。

例如,在以下决议中

http://user:password@www.domain.com/somefile.php,应该添加用户名和/或密码的内容和方式?这些是用户名&amp; ftp服务器的密码?在这种情况下,适用于https://fsockopen()的解决方案是否优于fopen

1 个答案:

答案 0 :(得分:0)

PHP fopen手册建议在这种情况下使用ftp包装器而不是http://https://,并且大多数情况下主机会禁用这些包装器。

因此,

$filetoread变量应指向ftphttp的{​​{1}}地址,如下面的代码所示。

https

因此,

用户名和密码应为用户名&amp;密码$filetoread = fopen("ftp://user:password@www.abc.com/directory/file.php", "r");

从此以后,

示范可以如下:

ftp address