如何使用file_get_contents()加载远程文件?

时间:2012-05-09 15:28:40

标签: php file-get-contents file-put-contents

现在有点抓我的头。
我试图从远程网址获取文件。我可以保存本地文件中的内容,但不能从远程保存。

这有效:

file_put_contents(
    'file1.xml',
    file_get_contents('file2.xml')
);

这不是:

file_put_contents(
    'file1.xml',
    file_get_contents('http://www.domain.com/xmlapi/search.aspx?query=places&lid=38')
);

奇怪的是,我的其他脚本在第一次尝试时工作正常,但现在没有人会访问远程网址 我最近开始在Heart Internet上托管我的新php文件。我在其他服务器上有类似的脚本,完全没有问题。

这是我得到的错误:

  

警告:file_get_contents()[function.file-get-contents]:php_network_getaddresses:getaddrinfo failed:第5行的/home/sites/mydomain/myfile.php中未知名称或服务

     

警告:file_get_contents(http://www.domain.com/xmlapi/search.aspx?query=places&lid=38)[function.file-get-contents]:无法打开流:php_network_getaddresses:getaddrinfo failed:/ home / sites / mydomain / public_html / myfile中未知的名称或服务。 php在第5行

allow_url_fopen设置为On

不同的域名

2 个答案:

答案 0 :(得分:4)

检查php设置......

可能是由于安全问题......“allow_url_fopen = On”

http://www.php.net/manual/en/function.file-get-contents.php

答案 1 :(得分:0)

  

警告:file_get_contents()[function.file-get-contents]:php_network_getaddresses:getaddrinfo failed:第5行的/home/sites/mydomain/myfile.php中未知名称或服务

这表示您使用的网址不正确,或者您的服务器上未正确设置DNS。