2016-08-07 21 views
-1

Ich habe eine Datei mit Touch-Variable in PHP erstellt.So legen Sie den Standardtyp als ZIP oder RAR fest

Wie kann ich den Standardtyp als ZIP oder RAR eine Datei NICHT Ordner (PHP Zip-Ordner erstellt und setzt Datei drin, aber ich will ZIP oder RAR Datei machen)?

touch(filename); 

aber die Funktion kann nicht "TYPE" in Parameter übernehmen.

Antwort

0

Die Funktion touch wurde nicht explizit zum Erstellen von Dateien entwickelt, sie wurde entwickelt, um den Zeitstempel einer Datei zu aktualisieren. Als Nebeneffekt der Aktualisierung des Zeitstempels wird die Datei erstellt, wenn die Datei nicht bereits vorhanden ist.

Wenn Sie mit zip-Archiven alles machen wollen, verwenden Sie am besten PHP ZipArchive Klasse.

$zip = new ZipArchive; 
if ($zip->open('test.zip', ZipArchive::CREATE|ZipArchive::OVERWRITE) === TRUE) { 
    $zip->addFile('verylargetextfile.txt', 'whatItWillBeCalledInTheZip.txt'); 
    $zip->close(); 
    echo 'Zip archive Created!' . PHP_EOL; 
} else { 
    echo 'Could not create Zip Archive!' . PHP_EOL; 
} 

ZipArchive::addFile erlaubt es eine Datei in der obersten Ebene des Zip-Archiv zu setzen, so dass sie nicht in einem Ordner eingeschlossen werden, d.h .:

$ touch verylargetextfile.txt 
$ php -fziptest.php 
Zip archive Created! 
$ unzip test.zip    # Will create whatItWillBeCalledInTheZip.txt in the working directory 

here für weitere Informationen.