에 의해 생성 된 Windows 탐색기에서 열 수 없습니다 zip 파일은 Windows가 폴더를 열 수 없습니다 "은 수 있습니까 PHP 우편 아카이브에 의해 생성되는 내 zip 파일을 열려고 할 때 PHP 우편 아카이브
보여주는 경고가있다. 압축 된 (압축 된) 폴더 'filename'이 (가) 유효하지 않습니다. " Windows 탐색기에서 여는 중 오류가 발생했습니다.
하지만 7-zip으로 파일을 열 수 있습니다. 어떤 이유로 Windows 탐색기에서 zip 파일을 열 수 있는지 확인해야합니다. zip 파일을 생성 할 때 문제가 있습니까? 도와주세요! 당신이 우편에 추가 할 파일, 당신은 파일 경로를 포함해야하므로 같은 디렉토리에 PHP 스크립트가 없다면
$zip->addFile($file,$file);
:
function create_a_zip($files = array(),$dest = '',$root_folder,$overwrite = false) {
if(file_exists($dest) && !$overwrite) {
return false;
}
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($dest,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $valid_file) {
if(is_dir($valid_file) === true){
foreach(glob($valid_file . '/*') as $file){
$zip->addFile($file, $root_folder . $file);
}
}else if (is_file($valid_file) === true){
$zip->addFile($valid_file, $root_folder . $valid_file);
}
}
$zip->close();
return file_exists($dest);
}
else
{
return false;
}
}
제안 해 주셔서 감사합니다. 그러나 알파벳, 숫자, 점 (.) 및 밑줄 (_) 만 사용합니다. 따라서 경로에 공백이 없습니다. – Ywis
영어 이외의 문자는 어떻게됩니까? – Flot2011
추적 코드를 마친 후 마침내 경로 이름이 문제가 아님을 알게되었습니다. 서버에 생성 된 zip 파일은 ** correct **입니다 (Windows의 내장 Zip 유틸리티로 열 수 있음). 다운로드 zip 파일은 ** 잘못된 **입니다! 파일 전송시 문제가 있습니까? 나는 그들의 파일 크기를 비교했다, 그들은 똑같다. ...... 어쨌든, 당신의 친절한 도움에 여전히 감사해야한다! – Ywis