জিপ ফাইলগুলো PHP-এর gzread ফাংশন ব্যবহার করে আনজিপ বা ডিকম্প্রেস করা যায়। নিচে এর কোড উদাহরণ দেওয়া হলো:
উদাহরণ
$file_name = 'name_of/.dump.gz'; $buffer_size = 4096; // নির্দিষ্ট সময়ে পড়তে হবে বাইট সংখ্যা, এখানে ৪KB $out_file_name = str_replace('.gz', '', $file_name); $file = gzopen($file_name, 'rb'); // বাইনারি মোডে ফাইল খোলা $out_file = fopen($out_file_name, 'wb'); // ইনপুট ফাইলের শেষ না হওয়া পর্যন্ত পুনরাবৃত্তি while (!gzeof($file)) { fwrite($out_file, gzread($file, $buffer_size)); // বাফার-সাইজ বাইট পড়া। } fclose($out_file); // কাজ শেষ হলে ফাইলগুলো বন্ধ gzclose($file);আউটপুট
এটি নিচের ফলাফলটি উত্পন্ন করবে:
The uncompressed data which is extracted by unzipping the zipped file.
জিপ ফাইলের পাথ 'file_name' নামে ভেরিয়েবলে সংরক্ষিত। একবারে পড়তে হবে বাইট সংখ্যা ফিক্স করা হয়েছে এবং 'buffer_size' নামে ভেরিয়েবলে অ্যাসাইন করা হয়েছে। আউটপুট ফাইলে .gz এক্সটেনশন থাকবে না, তাই আউটপুট ফাইলনেম 'out_file_name' নামে ভেরিয়েবলে সংরক্ষিত।
'out_file_name' রাইট বাইনারি মোডে খোলা হয়েছে এক্সট্র্যাক্ট করা জিপ ফাইল থেকে পড়া কন্টেন্টে অ্যাপেন্ড করার জন্য। 'file_name' রিড মোডে খোলা হয়েছে, এবং কন্টেন্ট 'gzread' ফাংশন ব্যবহার করে পড়া হয়েছে এবং এক্সট্র্যাক্ট করা কন্টেন্ট 'out_file'-এ লেখা হয়েছে। একটি while লুপ চলে যাতে ফাইল শেষ পর্যন্ত কন্টেন্ট পড়া যায়।