У меня есть почтовый файл с именем filename.zip
, Я использовал FileZilla, чтобы загрузить его в /home/protected
каталог на моем сайте, размещенный на NearlyFreeSpeech.net.
Недавно, когда я попытался загрузить zip-файл и открыть его, запустив unzip filename.zip
в терминале я сталкиваюсь с этой ошибкой:
Archive: filename.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of filename.zip or
filename.zip.zip, and cannot find filename.zip.ZIP, period.
До прошлой недели или около того я мог скачать файл с моего сайта и разархивировать его без проблем.
Я могу разархивировать файл перед копированием на мой сайт.
Я не могу разархивировать копию файла, который я загружаю позже.
Вот PHP, который обрабатывает загрузку.
$file = "path/to/file";
if(file_exists($file)){
$handle = fopen($file, "r");
header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: '.filesize($file));
ob_clean();
flush();
readfile($file);
fclose($handle);
} else {
echo('File does not exist');
}
Почему я больше не могу правильно разархивировать загруженные мной zip-файлы?
Задача ещё не решена.
Других решений пока нет …