我已经使用并试过以下代码从FTP服务器获取xml文件,实际上xml文件被压缩为accommodation.xml.zip。 因此,我无法使用php
中的curl()获取该xml文件$url_method = "ftp://ftp.example.com/accommodation.xml.zip";
$username = "test";
$pwd = "test";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$pwd");
$xmlcontent = gzdecode ( curl_exec($ch) );
curl_close($ch);
print_r($xmlcontent);
使用此代码,我有以下错误: ////////////////////////// 严重性:警告
消息:gzdecode():数据错误
文件名:controllers / cron.php
行号:438 /////////////////////////
但是当我尝试在浏览器中使用ftp url时,该zip文件已经下载。
任何人都可以帮助我使用curl()获取xml文件而不会出错吗?
答案 0 :(得分:1)
gzdecode()
无法解压缩文件。它解码了不同但名称相似的文件,称为gzip或gz文件。这就是函数报告data error
。
您必须使用PHP Zip Functions来提取和读取zip中的XML文件。 您可以找到PHP Zip函数here的使用示例。