lập trình viên:ZipArchive PHP chỉ thêm tập tin mà không thư từ toàn bộ con đường
Ghét hỏi câu hỏi này, vì nó là, I belive trả lời đúng hai lần:
Vì vậy, pr biểu tượng là: khi giải nén tập tin 'download.zip' đã tải xuống, sau khi giải nén, nó chứa tất cả các thư mục từ đường dẫn, thậm chí khó khăn tôi đã chỉ định tệp cục bộ trong hàm addFile. Tôi muốn tệp zip không chứa bất kỳ thư mục con nào, chỉ là các tệp.
$zipname = str_replace(' ', '_', $obj['Name']) . '.zip';
$zip = new ZipArchive();
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
// $file looks like this: webroot/uploadify/files/file.jpg
$zip->addFile($file, pathinfo($file, PATHINFO_BASENAME));
}
$zip->close();
header('Content-Description: File Transfer');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-type: application/zip");
header("Content-Disposition: attachment; filename=" . $zipname);
header("Pragma: no-cache");
header("Expires: 0");
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
Có ai có thể xem vấn đề với mã này là gì?
Thông tin thêm:
I, OFC, sử dụng con đường tương đối so với webroot, nhưng hệ thống phân cấp thư mục trong thư mục giải nén sau: trích nộp -> 'my_file.zip' là C-> xampp -> htdocs-> my_cakephp_web_app-> cấp ứng dụng> webroot-> file mà không phải là chính xác những gì tôi muốn đạt được :)
PHP 5.4.4
Windows XP, XAMPP
EDIT
Đã thử sử dụng thư viện http://www.phpconcept.net/pclzip/ và gặp sự cố tương tự. Cũng trên PC của tôi (win7) mã này hoạt động tốt.
Điều này sẽ trả lời một câu hỏi: Có bất kỳ cài đặt nào tôi phải đáp ứng mà tôi không biết?
không giúp đỡ, vẫn hoạt động theo cùng một cách .. –
Nếu bạn đã có thời gian, hãy xem câu trả lời của tôi và cho tôi biết lý do tại sao nó hoạt động :) –