मैं केवल यह मान सकता हूं कि आपका कोड ऑनलाइन कहीं ट्यूटोरियल से आया है? उस मामले में, अच्छी नौकरी इसे खुद से पता लगाने की कोशिश कर रही है। दूसरी ओर, यह तथ्य कि यह कोड वास्तव में कहीं ऑनलाइन प्रकाशित किया जा सकता है क्योंकि किसी फ़ाइल को अनज़िप करने का सही तरीका थोड़ा भयावह है।
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 के बाद से हटा दिया गया है ... जो कि बहुत पहले एक reeeeally था। इसका उपयोग न करें। $_GET
इसके बजाय सुपरग्लोबल का उपयोग करें ।
अंत में, एक $_GET
चर के माध्यम से स्क्रिप्ट के लिए जो भी इनपुट पास किया गया है उसे स्वीकार करने के बारे में बहुत सावधान रहें ।
हमेशा SANITIZE USER INPUT।
अपडेट करें
आपकी टिप्पणी के अनुसार, ज़िप फ़ाइल को उसी निर्देशिका में निकालने का सबसे अच्छा तरीका जिसमें यह रहता है कि फ़ाइल के लिए कठिन रास्ता निर्धारित किया जाए और इसे विशेष रूप से उस स्थान पर निकाला जाए। तो, आप कर सकते हैं:
// 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";
}