2014-09-26 4 views
1

apache 서버에서 PHP를 사용하여 zip 파일의 압축을 풀고 싶습니다. 하지만 이것에 오류가있어. 이것은 내 코드입니다.아파치 서버에서 PHP를 사용하여 zip 파일의 압축을 풉니 다.

$enviornment = "zip -P test -r /var/www/test/test.zip /var/www/test/output/"; 

    exec($enviornment, $output, $return); 
    echo "<pre>"; 
    print_r($output); 

이것은 오류 메시지입니다.

[0] => zip I/O error: Permission denied 
    [1] => zip error: Could not create output file (/var/www/test/test.zip) 

이미/var/www/test/output/폴더에 올바른 권한을 지정합니다.

+0

모든 폴더가 적절한 쓰기 권한이 있는지 확인 PHP http://php.net/manual/en/intro.zip.php 대신 압축 해제, 또는 우편 확장하려고합니다. –

+0

질문을 업데이트하고'/ var/www/test'에서 권한을'ls' 열거 할 수 있습니까? – Debflav

+0

나는 당신을 얻지 못했습니다 –

답변

0

당신은 우편을 사용하려고하지만, 대신 압축을 풉니 다 사용할 필요가 - 무슨 일을하는 이의/var/www /에서 테스트/출력에서 ​​ 아카이브를 만드는 자세한 내용은/확인 man 페이지입니다 :

아카이브가 신규 또는 기존 우편 아카이브이고 INPATH 선택적으로 와일드 카드를 포함 디렉토리 나 파일 경로입니다

기본 명령의 형식은

  zip options archive inpath inpath ... 

입니다. 기존 zip 아카이브의 이름이 으로 주어지면 zip은 zip 아카이브의 이름이 같은 (아카이브에 저장된 상대 이름과 일치) 또는 새 이름의 항목을 동일하게 바꿉니다.

  zip -r foo.zip foo 

    or more concisely 

      zip -r foo foo 

푸/FILE1을 대체합니다 : foo.zip 푸/FILE1 및 foo는/파일 2, 및 존재하고 포함 된 경우 예를 들어, 디렉토리 foo는이 파일을 다음 foo는/파일 1과 foo는/파일 3를 포함 foo.zip에 추가하고 foo/file3을 foo.zip에 추가하십시오. 이 후 foo.zip은 foo/file1, foo/file2 및 foo/file3을 포함하며 foo/file2는 이전과 동일합니다.

관련 문제