Ich kann nur annehmen, dass Ihr Code aus einem Online-Tutorial stammt. In diesem Fall gute Arbeit, um es selbst herauszufinden. Andererseits ist die Tatsache, dass dieser Code tatsächlich irgendwo online veröffentlicht werden könnte, um eine Datei korrekt zu entpacken, etwas beängstigend.
PHP verfügt über integrierte Erweiterungen für den Umgang mit komprimierten Dateien. Hierfür sollten keine system
Anrufe erforderlich sein . ZipArchive
docs ist eine Option.
$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
$zip->extractTo('/myzips/extract_path/');
$zip->close();
echo 'woot!';
} else {
echo 'doh!';
}
Wie andere kommentiert haben, $HTTP_GET_VARS
ist es seit Version 4.1 veraltet ... was vor sehr langer Zeit war. Benutze es nicht. Verwenden $_GET
Sie stattdessen das Superglobale.
Seien Sie schließlich sehr vorsichtig, wenn Sie akzeptieren, welche Eingaben über eine $_GET
Variable an ein Skript übergeben werden .
BENUTZEN SIE DEN BENUTZEREINGANG IMMER.
AKTUALISIEREN
Gemäß Ihrem Kommentar können Sie die Zip-Datei am besten in dasselbe Verzeichnis extrahieren, in dem sie sich befindet, indem Sie den festen Pfad zur Datei bestimmen und sie speziell an diesen Speicherort extrahieren. Sie könnten also Folgendes tun:
// assuming file.zip is in the same directory as the executing script.
$file = 'file.zip';
// get the absolute path to $file
$path = pathinfo(realpath($file), PATHINFO_DIRNAME);
$zip = new ZipArchive;
$res = $zip->open($file);
if ($res === TRUE) {
// extract it to the path we determined above
$zip->extractTo($path);
$zip->close();
echo "WOOT! $file extracted to $path";
} else {
echo "Doh! I couldn't open $file";
}