如何用fopen()打开http文件?

时间:2015-03-17 11:58:38

标签: php http http-headers fopen fwrite

我需要打开一个http外部xml文件,然后替换一些文本并将文件保存在我的网站托管中。

Somethinkg是这样的:

<?php

$xml_external_path = 'http://someplace.com/external_file.xml';
$xml_external = fopen($xml_external_path, "w+");


//here the code to replace text

$xml_local_path = 'http://www.misite.com/local_file.xml';
$xml_local = fopen($xml_sw_path, "w+");

fwrite($xml_local, $xml_external);

fclose($xml_external);
fclose($xml_local);
?>

问题是我收到了这条消息:

  

警告:fopen(http://someplace.com/external_file.xml):无法打开   stream:HTTP包装器不支持...

的可写连接      

警告:fopen(http://someplace.com/local_file.xml):无法打开   stream:HTTP包装器不支持...

的可写连接

这两个文件都是可写的。

1 个答案:

答案 0 :(得分:0)

你不想写信给地址。只需将+w替换为r

$xml_external_path = 'http://someplace.com/external_file.xml';
$xml_external = fopen($xml_external_path, "r");
....

查看those示例。

您也可以使用file-get-contents功能。

file_get_contents("http://someplace.com/external_file.xml");