포장을 풀 때 tar 아카이브가 손상되어 포장을 풀 때 날이 오류를 제공합니다 "The tar archive is corrupt"
아카이브가 2GB 이하 크다. 아카이브의 크기가 2GB보다 작 으면 모든 것이 잘 작동합니다.내가 <code>php</code> (및 <code>ajax</code>)를 사용하여 <code>tar</code> 아카이브를 만들려고 해요
function download_files() {
set_time_limit(0);
ob_start();
$filename = "download.tar";
$path = "temp/$filename";
$files = '';
foreach($_GET['dfile'] as $file){
$files .= "$file ";
}
$cd_dir = FCPATH.'uploads';
system("cd $cd_dir && tar -cf $path $files");
header("Content-Transfer-Encoding: Binary");
header("Content-Length: ".filesize(FCPATH."uploads/$path"));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'"');
ob_end_flush();
readfile(FCPATH."uploads/$path");
unlink(FCPATH."uploads/$path");
}
내가 ob_*
기능을 제거하려하고 쓸모가 없었습니다 :
여기 내 코드입니다.
도움주세요 :) 미리 감사드립니다.
'타르 -cf $ 경로 $ 파일 "을 시도하려고 헤더에 문제가 보인다 '...이 시스템 문제가 될 것으로 보인다 –
_ "ob_ * 함수를 제거하려고 시도했지만 쓸모가 없었습니다."- 실제 출력이없고 헤더 만 설정된 경우 출력 버퍼링이 필요 없으며 단지 불필요합니다./그 문제에 관해서는, 그 중 하나를 시도하고 열어 보았습니까? rupt> 2GB 파일을 텍스트 또는 16 진수 편집기에서 검사하여 (PHP 또는 명령 줄 tar 호출에서) 오류 메시지가 포함되어 있는지 확인하십시오. – CBroe
나는 그것을 시도하고 오류 메시지가 없습니다 – mihaela