>

PHP로 zip 파일을 추출하는 데 문제가 있습니다
웹에서 많은 공유 스크립트를 시도합니다 하지만 여전히 작동하지 않습니다.
내가 시도하는 마지막 스크립트는 다음 스크립트입니다 :

<?php
$zip = new ZipArchive;
$res = $zip->open('data.zip');
if ($res === TRUE) {
  $zip->extractTo('/extract/');
  $zip->close();
  echo 'woot!';
} else {
  echo 'doh!';
}
?>

스크립트가 실행될 때 항상 else 조건을 얻습니다. 나는 data.zip 를 교체하려고했습니다.  그리고 /extract/  경로 http://localhost/basedata/data.zip 를 완료하는 경로  그리고 http://localhost/basedata/extract/  그러나 나는 여전히 else 조건을 가지고 있습니다. 누구든지 나를 도울 수 있습니까?

내 스크립트와 zip 파일이 있습니다. http://www.mediafire.com/?c49c3xdxjlm58ey


  • 답변 # 1

    어떤 에러 코드가 열려 있는지 (http://www.php.net/manual/en/ziparchive.open.php) 확인하면 도움이 될 것입니다.

    오류 코드는 다음과 같습니다.

       ZIPARCHIVE::ER_EXISTS -10
        ZIPARCHIVE::ER_INCONS - 21
        ZIPARCHIVE::ER_INVAL - 18
        ZIPARCHIVE::ER_MEMORY - 14
        ZIPARCHIVE::ER_NOENT - 9
        ZIPARCHIVE::ER_NOZIP - 19
        ZIPARCHIVE::ER_OPEN - 11
        ZIPARCHIVE::ER_READ - 5
        ZIPARCHIVE::ER_SEEK - 4
    
    

  • 답변 # 2

    ZipArchive는 URL이 아닌 파일 경로를 사용합니다.

    예를 들어, 웹 서버의 문서 루트가 /srv/www 인 경우 /srv/www/basedata/data.zip 를 지정하십시오.  (또는 파일이 서버의 로컬 파일 시스템에있는 곳),not http://localhost/basedata/data.zip .

    .ZIP 파일이 원격 컴퓨터에있는 경우 압축을 풀기 전에 먼저 다운로드하도록 스크립트를 변경하십시오. 그렇지 않은 경우도 있습니다.

    또한, PHP 스크립트다음으로 실행되는사용자에게는 Zip 파일에 대한 읽기 권한과 추출 된 파일의 대상에 대한 쓰기 권한이 있어야합니다.

  • 답변 # 3

    와이즈 비즈  (ziparchive) 잘못

    $zip
    
    

    괄호가 없습니다

    <?php
    $zip = new ZipArchive;
    
    
    <?php $zip = new ZipArchive(); if ($zip->open('data.zip')) {

  • 이전 jquery를 사용하여 PHP 파일에 대한 onclick Ajax 호출을 수행하는 방법은 무엇입니까?
  • 다음 angularjs와 부트 스트랩 자바 스크립트