PHP将文件内容从url写入本地文件

问题描述:

我正在尝试从网站获取xml文件并将其放入本地空xml文件(myxml.xml)中。我的代码是返回一个空文件。PHP将文件内容从url写入本地文件

我们的目标是从http://website.com/theirxml.xml中获取xml文件内容并将其放入myxml.xml

要注意,我这样做的唯一原因是因为我的主机网站上的xml格式不正确,所以我需要在我自己的本地版本上更改它。因此,我需要的是从文件中获取字符串。

<?php 
$myfile = fopen("myxml.xml", "w") or die("Unable to open file!"); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://website.com/theirxml.xml"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
fwrite($myfile, $output); 
fclose($myfile); 
?> 
+1

而你的问题是? –

+0

我没有得到任何回应,也没有错误陈述。 –

+1

无论你的方式或@ colbuton的方式(我更喜欢)使用'error_reporting(E_ALL); ini_set('display_errors','1');' – AbraCadaver

很简单:

file_put_contents('myxml.xml', file_get_contents('http://website.com/theirxml.xml'); 

THX到陈以桐为这个技巧:你需要在你的php.ini激活allow_url_fopen

+0

你的方式唯一的问题是,我得到一个'拒绝连接'错误。 –

+0

@JasonChen你检查了你的phpinfo以确保'allow_url_fopen'被启用? – *404

您可以使用“simplexml_load_file”函数从XML中获取数据。

$url="http://website.com/theirxml.xml"; 
$xml = simplexml_load_file($url); 
file_put_contents('myxml.xml',$xml);