簡體   English   中英

來自文件的PHP zip

[英]PHP zip from file

嘗試從kml文件創建kmz文件。 該腳本上周工作正常,但不知何故停止了工作。 我正在嘗試通過創建一個包含.kml文件的.zip文件來解決此問題。

過程如下:1.創建Kml文件2.添加.zip文件3.根據名稱將kml文件添加到zip 4.保存.zip

問題是,當我打開目錄時,.zip包含的內容看起來像.kml文件的文件結構,而不僅僅是文件。

例如,如果.kml位於c:/ foldera / folderb內部。 壓縮文件應包含c:/ foldera / folderb / kml。

$zip = new ZipArchive();
$zip_name = $_SERVER['DOCUMENT_ROOT'] .'/assets/kml'. "/r".$r.".zip";
$filename = $_SERVER['DOCUMENT_ROOT'] .'/assets/kml'. "/r".$r.".kml";
$zip->open($zip_name, ZIPARCHIVE::CREATE);
$zip->addFile($filename);
$zip->close();
unlink($_SERVER['DOCUMENT_ROOT'] .'/assets/kml'. "/r".$r.".kml");

由於某些原因,您有兩個addfile:

$zip->addFile($filename, ltrim($filename, '/'));
$zip->addFile($filename);

嘗試用以下內容替換這兩行:

 $zip->addFile($filename, basename($filename));

basename()只返回文件名,去掉路徑- http://www.php.net/manual/en/function.basename.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM