当我使用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,应该添加什么和如何添加用户名和/或密码?这些是ftp服务器的用户名和密码吗?在这种情况下,解决方案是否也适用于https://,或者fsockopen()比fopen更好?
发布于 2014-05-09 16:20:28
PHP手册建议在这种情况下使用ftp包装器,而不是http://或https://,而且大多数情况下,这些包装器被主机禁用。
因此,
$filetoread变量应该指向ftp地址,而不是http或https,如下代码所示。
$filetoread = fopen("ftp://user:password@www.abc.com/directory/file.php", "r");因此,
用户名和密码应为ftp address的用户名和密码
从此以后,
演示可以如下所示:
$filetoread = fopen("ftp://your ftp username here : your ftp password here@www.abc.com/directory/file.php", "r");https://stackoverflow.com/questions/23552496
复制相似问题