Я можу лише припустити, що ваш код прийшов з підручника десь в Інтернеті? У такому випадку гарну роботу намагаються розібратися самі. З іншого боку, факт, що цей код насправді може бути опублікований десь в Інтернеті як правильний спосіб розпакування файлу, є дещо лякаючим.
PHP має вбудовані розширення для роботи зі стислими файлами. Для цього не потрібно використовувати system
дзвінки. ZipArchive
Документи - це один варіант.
$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
$zip->extractTo('/myzips/extract_path/');
$zip->close();
echo 'woot!';
} else {
echo 'doh!';
}
Також, як коментували інші, $HTTP_GET_VARS
вона була застаріла з версії 4.1 ..., що було дуже давно. Не використовуйте його. Використовуйте $_GET
замість суперглобалу.
Нарешті, будьте дуже обережні щодо прийняття будь-якого входу, переданого до сценарію через $_GET
змінну.
ВЖЕ САНІТІЗУЙТЕ ВСТУП КОРИСТУВАЧА.
ОНОВЛЕННЯ
Згідно з вашим коментарем, найкращий спосіб витягнути zip-файл у той самий каталог, в якому він перебуває, - це визначити важкий шлях до файлу та витягнути його спеціально до цього місця. Отже, ви можете зробити:
// 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";
}