Pengaturcara baru sering menghadapi sekatan jalan apabila cuba menyahzip fail menggunakan PHP. Walaupun arahan "system('unzip File.zip')" berkesan menyahzip fail, kesukaran timbul apabila cuba menghantar nama fail secara dinamik melalui URL. Untuk menyelesaikan isu ini, pendekatan yang lebih komprehensif diperlukan.
PHP menawarkan sambungan terbina dalam yang teguh untuk mengendalikan fail mampat. Daripada menggunakan panggilan sistem, pengaturcara boleh memanfaatkan sambungan ZipArchive. Pendekatan ini menyediakan penyelesaian yang sangat unggul, seperti yang ditunjukkan di bawah:
$zip = new ZipArchive; $res = $zip->open('file.zip'); if ($res === TRUE) { $zip->extractTo('/myzips/extract_path/'); $zip->close(); echo 'woot!'; } else { echo 'doh!'; }
Adalah penting untuk menekankan kepentingan membersihkan input pengguna sebelum pemprosesan. Sentiasa pastikan bahawa data yang dilalui melalui $_GET atau pembolehubah lain disahkan untuk mengelakkan pencerobohan berniat jahat.
Untuk mengekstrak fail zip ke dalam direktori yang sama di mana ia berada, manfaatkan pendekatan berikut:
$file = 'file.zip'; $path = pathinfo(realpath($file), PATHINFO_DIRNAME); $zip = new ZipArchive; $res = $zip->open($file); if ($res === TRUE) { $zip->extractTo($path); $zip->close(); echo "WOOT! $file extracted to $path"; } else { echo "Doh! I couldn't open $file"; }
Dengan menerima amalan terbaik ini, anda boleh menyahzip fail dengan berkesan dan selamat dengan PHP, meningkatkan kecekapan dan kestabilan skrip anda.
Atas ialah kandungan terperinci Bagaimana untuk Membongkar Fail dengan Selamat dan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!