当我使用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
?
答案 0 :(得分:0)
PHP fopen
手册建议在这种情况下使用ftp
包装器而不是http://
或https://
,并且大多数情况下主机会禁用这些包装器。
因此,
$filetoread
变量应指向ftp
或http
的{{1}}地址,如下面的代码所示。
https
因此,
用户名和密码应为用户名&amp;密码$filetoread = fopen("ftp://user:password@www.abc.com/directory/file.php", "r");
从此以后,
示范可以如下:
ftp address