簡體   English   中英

將文件添加到zip存檔的特定文件夾中

[英]Adding a file to a specific folder of zip archive

我有一個包含這種結構的zip存檔(Open Document Spread Sheet - ods):

Configurations2   | File Folder
META-INF          | File Folder
Pictures          | File Folder
Thumbnails        | File Folder
meta.xml          | XML Document
mimetype          | File
settings.xml      | XML Document
styles.xml        | XML Document

我現在要做的是在zip存檔中添加兩個文件

  1. 一個名為`content.xml`的文件到.ods結構的根目錄
  2. 另一個名為`image.png`的文件到./Puctures文件夾

將文件添加到zip存檔的根目錄不是問題

// `$zipfile` contains the sructure as desribed above
// `$content_xml` contains a xml string
// `$image` contains the `image.png`
$zip = new ZipArchive();
$zip->open($zipfile, ZIPARCHIVE::CREATE);
$zip->addFromString('content.xml',$content_xml);
$zip->close();

如何將$image添加到./Pictures 任何幫助將不勝感激!

我不使用PHP,但你不能簡單地添加完整路徑的文件,如下所示

$zipFile->addFile($folder . $f, $subfolder . $f);

編輯:

剛檢查過......工作得很好。 假設ZIP包含代碼工作后的icons文件夾(如果沒有,添加一個addEmtpyDir('icons') ):

<?php

$zip = new ZipArchive();
$zip->open('./test.odt', ZIPARCHIVE::CREATE);
$zip->addFile('./favicon.ico', 'icons/fav.ico');
$zip->close();

?>

暫無
暫無

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

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