2014-09-05 1 views
2

일부 이미지 파일의 ZIP 보관 파일을 만들려고합니다. 이 파일 디렉터리는 $valid이라는 배열에 추가했습니다. 그러나ZIP 보관 파일을 만들지 못했지만 오류 메시지가 나타나지 않습니다.

$zip = new ZipArchive(); 
$zip_name = "ptx_speakers.zip"; 

$zip->open($zip_name, ZipArchive::CREATE); 

foreach ($valid as $zip_item) { 
    $zip->addFile($zip_item); 
} 

$zip->close(); 

: 이것은 이러한 물리적 인 모든 파일을 ZIP 아카이브를 만들 작동하기 위해 노력하고있어 내 코드입니다

"uploads/1845_45678_862_speaker.jpg" 

:이 배열의 각 항목은 문자열과 같이이다 ,이 작동하지 않습니다. 오류보고 기능이 켜져 있어도 빈 화면이 나타납니다. 이후에 다음 코드를 시도했지만 아무 것도 여기에 표시되지 않았습니다.

if (!file_exists($zip_name)) { 
    "No file." 
} 

누구든지 내 코드에서 치명적인 결함을 볼 수 있습니까? 원한다면 더 많은 것을 붙여 넣을 수 있습니다 (초기 배열을 만드는 방법처럼).

+0

'ZipArchive'에 대한 정보를 게시 할 수 있습니까? 또한 로그 파일을 확인 했습니까? – Machavity

+0

'ZipArchive()'는 PHP 클래스로 작성되었습니다 : http://uk1.php.net/manual/en/class.ziparchive.php, 로그 파일에 접근 할 수 없습니다 ... :( – mpdc

답변

1

믿거 나 말거나, 내 문제는 내 스크립트가 아니라 내 파일/폴더 사용 권한에 있습니다. 처음에 파일을 업로드 할 수있는 권한이 있었기 때문에이 파일로 쓸 수 있다고 가정했지만 아니요, 사용 권한을 757으로 업데이트해야만 스크립트가 처음으로 매력을 나타 냈습니다.

+1

Still ZIP 파일을 작성할 수 있는지 확인하지 않기 때문에 코드에 결함이 있습니다. [1nflktd] (http://stackoverflow.com/a/25688423/2629998)의 코드를 사용했다면 권한 문제에 대해 알려주는 오류가있었습니다. –

3

누구든지 내 코드에서 치명적인 결함을 볼 수 있습니까?

예.

$zip->open($zip_name, ZipArchive::CREATE); 

이 작동하지 않으며 오류를 확인하지 않습니다. 모든 것이 잘 작동하는 경우

$res

그렇지 않으면, 그것은 these values 중 하나가 등, 사실, 그리고 foreach는로 이동합니다,

$res = $zip->open($zip_name, ZipArchive::CREATE); 
if($res){ 
    foreach ($valid as $zip_item) { 
     $zip->addFile($zip_item); 
    } 
    $zip->close(); 
} else { 
    echo "Error creating zip file: " . $res; 
} 

과 같이해야한다. 그것을 확인하면 무엇이 잘못되었는지 보게 될 것입니다. 코드에서

, 당신은

$zip->addFile($zip_item); 

을하고 있지만, zip 파일은 몇 가지 오류가 발생합니다 무엇을 만들어지지 않습니다.

관련 문제