Saya hanya dapat menganggap kode Anda berasal dari tutorial di suatu tempat online? Dalam hal itu, pekerjaan yang baik berusaha mencari tahu sendiri. Di sisi lain, fakta bahwa kode ini sebenarnya dapat dipublikasikan secara online di suatu tempat karena cara yang benar untuk meng-unzip file agak menakutkan.
PHP memiliki ekstensi bawaan untuk menangani file terkompresi. Seharusnya tidak perlu menggunakan system
panggilan untuk ini. ZipArchive
docs adalah salah satu opsi.
$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
$zip->extractTo('/myzips/extract_path/');
$zip->close();
echo 'woot!';
} else {
echo 'doh!';
}
Juga, seperti komentar orang lain, $HTTP_GET_VARS
sudah tidak digunakan lagi sejak versi 4.1 ... yang sudah lama sekali. Jangan gunakan itu. Gunakan $_GET
superglobal sebagai gantinya.
Akhirnya, berhati-hatilah dalam menerima input apa pun yang diteruskan ke skrip melalui $_GET
variabel.
SELALU MENG Sanitasi INPUT PENGGUNA.
MEMPERBARUI
Sesuai komentar Anda, cara terbaik untuk mengekstrak file zip ke direktori yang sama di mana ia berada adalah untuk menentukan jalur keras ke file dan mengekstraknya secara khusus ke lokasi itu. Jadi, Anda bisa melakukan:
// 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";
}