2014-12-13 65 views
-2

我已經使用並嘗試了下面的代碼來從FTP服務器獲取xml文件,實際上,該xml文件被壓縮爲accommodation.xml.zip。 所以在PHP使用curl獲取壓縮的XML文件(accommodation.xml.zip)PHP

$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); 

使用curl()我無法得到該XML文件通過使用此代碼,我有以下錯誤: ////////////// //////////// 嚴重性:警告

消息:gzdecode():數據錯誤

文件名:控制器/ cron.php

行號:438 // ///////////////////////

但是,當我嘗試在瀏覽器中使用ftp url時,該zip文件已經下載。

任何人都可以幫助我使用curl()沒有錯誤的XML文件?

回答

1

gzdecode()不解壓縮文件。它解碼不同但名字相似的文件,稱爲gzip或gz文件。這就是爲什麼該功能報告data error。您需要使用PHP Zip Functions來從zip中提取並讀取XML文件。 您可以使用PHP Zip函數here的使用示例。

+0

我想打印zip文件中的xml內容,你能告訴我從FTP服務器提取和顯示xml文件的確切功能嗎 – user3184378 2014-12-13 11:54:31