1
我正在嘗試編寫一些使用curl從遠程服務器下載zip文件並將其解壓縮到wordpress主題目錄中的php(新的php)。通過PHP解壓縮失敗報告19結果,從我發現表明沒有zip文件。但是,當我檢查目錄時,zip文件就在那裏。如果我解壓縮它,我會得到一個zip.cpgz文件。我不確定這是否與我的代碼有關,或者它是服務器發送文件的方式。這是我的代碼。謝謝。從curl下載zip文件導致解壓後的cpgz文件
$dirpath = dirname(__FILE__);
$themepath = substr($dirpath, 0, strrpos($dirpath, 'wp-content') + 10)."/themes/";
//make call to api to get site information
$pagedata = file_get_contents("https://ourwebsite/downloadzip.php?industryid=$industry");
$jsondata = json_decode($pagedata);
$fileToWrite = $themepath.basename($jsondata->zip_file_url);
$zipfile = curl_init();
curl_setopt($zipfile, CURLOPT_URL, $jsondata->zip_file_url);
curl_setopt($zipfile, CURLOPT_HEADER, 1);
curl_setopt($zipfile, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($zipfile, CURLOPT_BINARYTRANSFER, 1);
$file = curl_exec($zipfile);
if ($file == FALSE){
echo "FAILED";
}else{
$fileData = fopen($fileToWrite,"wb");
fputs($fileData,$file);
}
curl_close($zipfile);
if (file_exists($fileToWrite)){
$zip = new ZipArchive;
$res = $zip->open($fileToWrite);
if ($res === TRUE)
{
$zip->extractTo($themepath);
$zip->close();
echo 'Theme file has been extracted.';
}
else
{
echo 'There was a problem opening the theme zip file: '.$res;
}
}
else{
echo("There was an error downloading, writing or accessing the theme file.");
}
感謝。我修改了我的代碼以更接近地匹配您的代碼,但我不確定導致問題的實際問題是什麼。你能回答嗎?再次感謝! –
它可能是您存儲文件或文件權限的臨時位置。 –
您對代碼進行了一些評論,但本質上這只是傾銷代碼,沒有解釋錯誤或解決方法。 – kontur