Nyahzip Fail dengan PHP
Artikel ini memberikan penjelasan terperinci tentang cara menyahzip fail menggunakan PHP dengan berkesan. Walaupun pendekatan awal yang menggunakan fungsi sistem dengan perintah unzip mungkin kelihatan mudah, kami membentangkan penyelesaian yang lebih mantap dan selamat menggunakan sambungan terbina dalam PHP.
Sambungan Terbina dalam
PHP menawarkan sambungan asli seperti ZipArchive untuk mengendalikan fail termampat. Sambungan ini memastikan keselamatan dan mengelakkan keperluan untuk panggilan sistem luaran.
Contoh penggunaan:
$zip = new ZipArchive; $res = $zip->open('file.zip'); if ($res === TRUE) { $zip->extractTo('/myzips/extract_path/'); $zip->close(); echo 'Extraction successful!'; } else { echo 'Extraction failed!'; }
DAPATKAN Keselamatan Pembolehubah
Apabila menerima input melalui $_GET pembolehubah, adalah penting untuk mengutamakan keselamatan. $HTTP_GET_VARS yang telah ditamatkan hendaklah digantikan dengan $_GET superglobal. Selain itu, adalah penting untuk membersihkan input pengguna untuk mengelakkan kemungkinan pelanggaran keselamatan.
Pengeluaran Direktori
Untuk mengekstrak fail zip ke dalam direktori semasanya, tentukan laluan mutlak dan berikan ia sebagai sasaran pengekstrakan:
// Assumes 'file.zip' resides in the same directory as the script. $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 "Extraction complete: $file extracted to $path"; } else { echo "Extraction error: Failed to open $file"; }
Pendekatan ini memastikan bahawa fail yang diekstrak diletakkan di lokasi yang betul tanpa menjejaskan keselamatan atau bergantung pada panggilan sistem yang berpotensi tidak selamat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahzip Fail dalam PHP Dengan Selamat Menggunakan Sambungan Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!