>

다음 PHP 파일은 ZIP 파일을 생성하고 정상적으로 작동합니다.

<?php
$zip = new ZipArchive();
$ZIP_name = "./path/Prefix_" .$date . ".zip";
if ($zip->open($ZIP_name, ZipArchive::CREATE)!==TRUE) {
    exit("There is a ZIP Error");
} 
if ($zip->open($ZIP_name, ZipArchive::CREATE)==TRUE) {
    echo "ZIP File can be created" . "<br>";
} 
foreach($list as $element) {
    $path_and_filename = "../path_to_somewhere/product_" 
                       . $element 
                       . ".csv";
    $zip->addFile($path_and_filename, basename($path_and_filename));
}
echo "numfiles: " . $zip->numFiles . "\n";  // number of element files
echo "status:" . $zip->status . "\n";       // Status "0" = okay
$zip->close();
?>

작은 결점이있다 : 위의 foreach-loop는 모든 요소가 알파벳 순서로 정렬 된 배열에서 요소를 검색합니다. ZIP 파일 생성 후 ZIP 내의 파일 순서가 다르며 파일 크기가 다를 수 있습니다.

나중에 PHP로 ZIP 내에서 CSV 파일을 정렬하는 방법이 있습니까? PHP로 ZIP을 처음 만들었으므로 설명서에서 도움이되는 것을 찾지 못했습니다.


  • 답변 # 1

    그렇게 할 수 없습니다. 파일 시스템이 아닌 프로그램에서 파일 목록을 정렬하는 것이 좋습니다 (-;

관련 자료

  • 이전 java - 어설 션을 사용합니까?
  • 다음 php - 라 라벨 - 편집 할 때 파일 업로드 링크가 표시되지 않습니다