2

次の構造を持つ project.zip という zip ファイルがあります。

project.zip  
  \project  
    \file.pdf  

file.pdf を削除する必要があります。次のコードを試しましたが、エラーが発生します。
ありがとう

$zip = new ZipArchive(); 

    $zip_name = 'path\to\project.zip';

    $zip->open( $zip_name );

    $zip->deleteName( 'project\file.pdf' ); 

    $zip->close();

また、先頭にバックスラッシュを付けてみましたが、成功しませんでした。

$zip->deleteName( 'prject\file.pdf' );

4

2 に答える 2

2

奇妙ですが、次のようにファイル名に zip ファイルのベース名を含める必要があるようです。

$zip->deleteName( 'project/project/file.pdf' );

次のようにして、ファイル名の値が zip でどのように見えるかを確認してください。

for ($i = 0; $i < $zip->numFiles; $i++) {
    $filename = $zip->getNameIndex($i);
    echo $filename . "<br>";
}

また、完了したらジッパーを閉じることを忘れないでください

$zip->close();
于 2013-06-26T23:29:41.160 に答える
1

スラッシュを使用します:

$zip->deleteName( 'project/file.pdf' ); 
于 2013-06-26T21:38:54.227 に答える