2016-08-09 8 views
3

Ich möchte .tar.gz-Datei in den bestimmten Ordner extrahieren. Ich habe cURL verwendet, um die .tar.gz-Datei von MailChimp Batch-Vorgang herunterzuladen. Ich habe unten Code verwendet, um TAR-Datei zu extrahieren.PharData extractTo Methode extrahieren .tar.gz auf Linux-Umgebung

$phar = new \PharData('upload/test.tar.gz'); 
    $phar->extractTo('upload/',null, true); 

Es arbeitet an Windows-Umgebung. Aber auf Linux (Ubuntu), habe ich einen Fehler unter dem Fehler, wenn ich über Code laufen muss.

Ich habe bereits Standard-Apache-Benutzer und Gruppenberechtigung für Upload-Ordner festgelegt.

sudo chown -R www-data:www-data upload/ 

PHP Version: 5.6.24

Ich habe Probe tar.gz-Datei anhängen: http://www.simbanic.com/_projects/test/05c902076e.tar.gz

+1

ich genau das gleiche Problem mit: versuchen, die tar.gz-Datei aus dem API 3.0 Batch-Betrieb MailChimp zurück zu extrahieren. Hast du jemals eine Lösung gefunden? – Stace

Antwort

3

ich das gleiche Problem mit MailChimp Stapelantwort Archiv hatte. dumme Lösung, aber es funktioniert ...

$p = new PharData($tarGzArchive, RecursiveDirectoryIterator::SKIP_DOTS); 
$p->convertToData(Phar::ZIP); 

$zip = new ZipArchive; 
$res = $zip->open($createdZipArchive); 
if ($res === TRUE) { 
    $zip->extractTo($destinationPath); 
    $zip->close(); 
} 
+0

Funktioniert perfekt! Mit einem weiteren Schritt: Dekomprimieren Sie zunächst tar.gz und befolgen Sie die in dieser Lösung genannten Schritte. –

+0

Es funktioniert perfekt. Danke ... Du bist Elvis! –

+0

Es funktioniert perfekt für mich! Vielen Dank! –

Verwandte Themen