Rumah > Artikel > pembangunan bahagian belakang > Muat naik berbilang imej dalam PHP
editor php Yuzai akan memperkenalkan anda cara memuat naik berbilang imej dalam PHP. Dalam pembangunan laman web, selalunya perlu untuk melaksanakan fungsi memuat naik imej secara berkelompok Untuk meningkatkan pengalaman dan kecekapan pengguna, memuat naik berbilang imej adalah keperluan biasa. PHP menyediakan pelbagai fungsi dan teknologi untuk melaksanakan fungsi ini, termasuk menggunakan borang, memproses fail yang dimuat naik, memproses berbilang fail dalam satu gelung, dsb. Melalui panduan artikel ini, anda akan belajar cara memuat naik berbilang imej dalam PHP dengan mudah untuk menambahkan lebih banyak elemen interaktif dan kreatif pada tapak web anda.
Untuk membolehkan ini, kami perlu menentukan tindakan borang dalam fail atau bahagian HTML kami bergantung pada cara anda menstrukturkan pangkalan kod anda, dan kemudian menggunakan fungsi terbina dalam untuk mengendalikan tindakan tersebut.
Dalam artikel ini, kami akan mempelajaricara memuat naik berbilang imej dalam PHP, yang memberikan kita konteks untuk menentukan fail yang diperlukan daripada input borang, memproses semua fail yang dipilih pengguna dan memuat naik atau berpindah ke lokasi yang dikehendaki.
$_FILES
Apabila pengguna memasukkan sebarang input ke dalam borang HTML, kami menggunakan kaedah POST untuk menghantar sebarang input (dari teks ke fail) ke bahagian pelayan tempat aplikasi PHP kami berada.
<fORM method='post' action='' enctype='multipart/form-data'>
Bahagian enctype='multipart/form-data'
menentukan kaedah pengekodan data borang, yang diperlukan apabila kami menggunakan muat naik fail dalam borang.
Untuk muat naik fail, kami perlu memasukkan jenis fail dan nyatakan nama (boleh nama yang anda tentukan) untuk fail tersebut.
<input type="file" name="file" id="file">
Untuk muat naik berbilang fail, kami masih memerlukan fail jenis input, tetapi kini nama yang dinyatakan berbeza fail[]
dan atribut tambahan file[]
和添加的属性 multiple。 添加 []
multiple
[]
menunjukkan bahawa medan input boleh mengendalikan berbilang fail.
<input type="file" name="files[]" multiple/>
$_FILES
Di sisi pelayan, pembolehubah global ialah array bersekutu yang mengandungi fail yang dimuat naik melalui kaedah Http POST, membolehkan kami mengendalikan fail dengan sewajarnya. <?php $_FILES["files"]
Sekarang setelah kami memahami asasnya, kami perlu memuat naik berbilang fail. Mari buat borang PHP untuk memuat naik berbilang imej.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Multiple Image Upload</title> </head> <body> <form method="post" enctype="multipart/form-data" name="formUploadFile"> <label>Select image(s) to upload:</label> <input type="file" name="files[]" multiple="multiple" /> <input type="submit" value="Upload File" name="imgSubmit" /> </form> <?php if (isset($_POST["imgSubmit"])) { $Muat naik berbilang imej dalam PHPs = []; $uploadedFiles = []; $extension = array("jpeg", "jpg", "png"); $UploadFolder = "images"; $counter = 0; foreach ($_FILES["files"]["tmp_name"] as $key => $tmp_name) { $temp = $_FILES["files"]["tmp_name"][$key]; $name = $_FILES["files"]["name"][$key]; if (empty($temp)) { break; } $counter++; $UploadOk = true; $ext = pathinfo($name, PATHINFO_EXTENSION); if (in_array($ext, $extension) == false) { $UploadOk = false; array_push($Muat naik berbilang imej dalam PHPs, $name . " isn't an image."); } if ($UploadOk == true) { move_uploaded_file($temp, $UploadFolder . "/" . $name); array_push($uploadedFiles, $name); } } if ($counter > 0) { if (count($Muat naik berbilang imej dalam PHPs) > 0) { echo "<b>Errors:</b>"; echo "<br/><ul>"; foreach ($Muat naik berbilang imej dalam PHPs as $Muat naik berbilang imej dalam PHP) { echo "<li>" . $Muat naik berbilang imej dalam PHP . "</li>"; } echo "</ul><br/>"; } if (count($uploadedFiles) > 0) { echo "<b>Uploaded Files:</b>"; echo "<br/><ul>"; foreach ($uploadedFiles as $fileName) { echo "<li>" . $fileName . "</li>"; } echo "</ul><br/>"; echo count($uploadedFiles) . " iamge(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; } } ?> </body> </html>
$_POST[]
变量是否使用 isset()
Semak tetapan fungsi , mulakan pembolehubah penting dan tetapkan sambungan yang diperlukan untuk muat naik fail.
if (isset($_POST["imgSubmit"])) { $Muat naik berbilang imej dalam PHPs = []; $uploadedFiles = []; $extension = array("jpeg", "jpg", "png"); $UploadFolder = "images";
$_FILES[]
变量处理过的多个图像,然后使用 pathinfo()
检查扩展名,如果为真,我们将图像移动到指定文件夹 $UploadFolder 使用 move_uploaded_file()
Selepas itu kami menggelung melalui berbilang imej yang telah diproses melalui pembolehubah $_FILES[]
dan kemudian gunakan pathinfo()
untuk menyemak sambungan dan jika benar kami memindahkan imej itu Pergi ke folder yang ditentukan $UploadFolder menggunakan fungsi move_uploaded_file()
dan tolak nama imej ke pembolehubah $uploadedFiles.
foreach ($_FILES["files"]["tmp_name"] as $key => $tmp_name) { $temp = $_FILES["files"]["tmp_name"][$key]; $name = $_FILES["files"]["name"][$key]; if (empty($temp)) { break; } $counter++; $UploadOk = true; $ext = pathinfo($name, PATHINFO_EXTENSION); if (in_array($ext, $extension) == false) { $UploadOk = false; array_push($Muat naik berbilang imej dalam PHPs, $name . " isn't an image."); } if ($UploadOk == true) { move_uploaded_file($temp, $UploadFolder . "/" . $name); array_push($uploadedFiles, $name); } }
Akhir sekali, kami menunjukkan ralat sedia ada dan fail yang dimuat naik.
if ($counter > 0) { if (count($Muat naik berbilang imej dalam PHPs) > 0) { echo "<b>Errors:</b>"; echo "<br/><ul>"; foreach ($Muat naik berbilang imej dalam PHPs as $Muat naik berbilang imej dalam PHP) { echo "<li>" . $Muat naik berbilang imej dalam PHP . "</li>"; } echo "</ul><br/>"; } if (count($uploadedFiles) > 0) { echo "<b>Uploaded Files:</b>"; echo "<br/><ul>"; foreach ($uploadedFiles as $fileName) { echo "<li>" . $fileName . "</li>"; } echo "</ul><br/>"; echo count($uploadedFiles) . " image(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; }
Fail PHP disampaikan kepada penyemak imbas.
Pilih imej dan muat naik imej.
Kemudian, fail yang dimuat naik dipaparkan.
Gambar yang dimuat naik:
Jika fail yang anda pilih bukan imej, ralat akan muncul.
🎜🎜Atas ialah kandungan terperinci Muat naik berbilang imej dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!