2011-04-11 6 views
3

fopen() wrapper을 사용하여 ZIP 파일을 만드는 방법은 무엇입니까? 내가 가진 전부이기 때문에 ...fopen() 래퍼로 ZIP 파일 만들기

<?php 

if(class_exists('ZipArchive')){ 
    echo 'Class ZipArchive exists, generating file...' . PHP_EOL; 

    $fp = fopen('zip://' . dirname(__FILE__) . '/test.zip', 'w'); 
    if($fp){ 
     fwrite($fp, 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.'); 
     fclose($fp); 
     echo 'Done' . PHP_EOL; 
    }else{ 
     echo 'Could not open file' . PHP_EOL; 
    } 
}else{ 
    echo 'Class Zip is not available' . PHP_EOL; 
} 

: 이것은 분명히 하지 방법입니다

Class ZipArchive exists, generating file... 

Warning: fopen(zip://C:\tmp/test.zip) [http://es.php.net/function.fopen]: failed to open stream: operation failed in C:\tmp\test.php on line 6 
Could not open file 
+0

왜 'ZipArchive' 클래스를 사용하지 않는 이유가 있습니까? 'c : \ tmp' 파일이 존재하고 사용자에게 쓸 수 있습니까? – KingCrunch

+0

@KingCrunch - 매개 변수로 파일 포인터를 허용하는 타사 코드에 $ fp를 제공하려고합니다. 코드는 fopen() 호출에서'zip : //'부분을 제거하면 권한이 정상적으로 작동하므로 예상대로 작동합니다. –

+0

http://www.php.net/manual/en/function.ziparchive-getstream.php 을 pecl에서 설치해야합니다. – Fivell

답변

1

내가 마지막으로 zip: 래퍼 쓰기를 지원하는 주장이 문서 오류 및 reported it as such 것을 가정한다. 버그 보고서가 받아 들여지고 수정되었습니다.