2016-09-09 2 views
0

문제가 있습니다.폴더에서 zip 파일을 만드는 방법 - ph

인터넷을 검색하여 해결책을 찾았지만 아무 문제가 없습니다. 폴더에서 파일을 가져 와서 zip 아카이브로 던질 스크립트를 만들려고합니다. 하지만 작동하지 않습니다 ..

다른 경로를 시도했지만 그게 나 혼자서 나왔습니다.

다음은 나에게 따라되는 현재의 코드는 가장 쉽고 workbut 그렇게하지 않습니다한다 ..

은 당신이 나를 도와 드릴까요?

function archivebackup(){ 
    $zip = new ZipArchive; 
    if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){ 

     foreach (new DirectoryIterator('Mails/') as $fileInfo) { 
      $fileName = $fileInfo->getFilename(); 
      // echo $fileName ."<br>"; 
      $zip->addFile($fileName); 
     } 

     $zip->close(); 
    } 
} 
+2

어떤 오류 메시지는 점점 :

는 다음합니까? 어떤 방법으로 작동하지 않습니까? –

+0

첫 번째 질문과 분명한 질문입니다. PHP에서 Zip 지원을 사용할 수 있습니까? – apokryfos

+0

오류가 없습니다. 스크립트는 아카이브에 아무 것도 추가하지 않습니다. 그리고 프로그램이 파일의 이름을 검색한다는 것을 알고 있습니다. – Mafika

답변

1

당신이 당신의 현재 작업 디렉토리에있는 파일을 포함하지 않는 및 getFilename()은 경로없이 파일 이름을 반환 보인다.

function archivebackup(){ 
    $zip = new ZipArchive; 
    if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){ 

     foreach (new DirectoryIterator('Mails/') as $fileInfo) { 
      if (in_array($fileInfo->getFilename(), [ ".", ".." ]) { continue; } 
      $fileName = $fileInfo->getPathname(); 
      $zip->addFile($fileName); 
     } 

     $zip->close(); 
    } 
} 
+0

감사합니다 :) – Mafika

관련 문제