Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Pilih dan Muat Naik Berbilang fail dengan HTML dan PHP, menggunakan HTTP POST

Cara Pilih dan Muat Naik Berbilang fail dengan HTML dan PHP, menggunakan HTTP POST

王林
王林asal
2024-08-28 10:39:19450semak imbas

How to Select and Upload Multiple files with HTML and PHP, using HTTP POST

HTML dan PHP biasanya digunakan bersama untuk mencipta aplikasi web dinamik. Apabila ia datang untuk menyerahkan data daripada borang HTML kepada skrip PHP, kaedah standard adalah menggunakan kaedah HTTP POST.

HTML (Bahasa Penanda Hiperteks)

HTML ialah bahasa penanda standard yang digunakan untuk menstruktur kandungan halaman web. Ia menyediakan satu set teg yang mentakrifkan struktur dan persembahan elemen pada halaman web. HTML bertanggungjawab terutamanya untuk mencipta antara muka pengguna aplikasi web. Ia mentakrifkan elemen seperti borang, medan input, butang dan banyak lagi.

PHP (Prapemproses Hiperteks)

PHP ialah bahasa skrip sebelah pelayan yang direka untuk pembangunan web. Ia membolehkan anda membuat halaman web dinamik dengan membenamkan kod PHP dalam HTML. PHP dilaksanakan pada bahagian pelayan, menghasilkan kandungan HTML yang kemudiannya dihantar ke penyemak imbas pelanggan. Ia menyediakan ciri berkuasa untuk pemprosesan data, sambungan pangkalan data, pengendalian fail dan banyak lagi. PHP biasanya digunakan untuk mengendalikan penyerahan borang, memproses data, dan berinteraksi dengan pangkalan data.

Siaran HTTP (Protokol Pemindahan Hiperteks - POST)

HTTP POST adalah salah satu kaedah yang digunakan untuk menghantar data dari klien (pelayar) ke pelayan. Apabila borang HTML diserahkan menggunakan kaedah POST, data borang dihantar sebagai sebahagian daripada badan permintaan HTTP. Ini sesuai untuk menghantar data yang sensitif atau banyak, kerana data tidak dilampirkan pada URL seperti kaedah GET. Skrip sebelah pelayan (cth., ditulis dalam PHP) menerima data POST dan boleh melakukan tindakan berdasarkan nilai yang diserahkan.

Apabila bekerja bersama, borang HTML digunakan untuk mengumpul input pengguna, skrip PHP memproses dan mengendalikan data borang yang diserahkan, dan HTTP POST memudahkan pemindahan data tersebut daripada klien ke pelayan.

Untuk memilih dan memuat naik berbilang fail dengan HTML dan PHP menggunakan HTTP POST, anda boleh mengikuti langkah berikut:

Borang HTML

Buat borang HTML yang membolehkan pengguna memilih berbilang fail untuk dimuat naik. Gunakan elemen dengan atribut berbilang untuk membolehkan pemilihan fail berbilang. Tetapkan atribut enctype borang kepada "multipart/form-data" untuk mengendalikan muat naik fail.

<form action="upload.php" method="POST" enctype="multipart/form-data">
   <input type="file" name="files[]" multiple>
   <input type="submit" value="Upload">
</form>

Fail PHP (muat naik.php)

Buat fail PHP (cth., upload.php) untuk mengendalikan proses muat naik fail. Dalam fail ini, anda akan mengakses fail yang dimuat naik menggunakan $_FILES superglobal.

<?php
   if (isset($_FILES['files'])) {
      $errors = [];
      $uploadedFiles = [];
      $uploadPath = 'uploads/'; // Specify the directory to store the uploaded files
      $fileNames = $_FILES['files']['name'];
      $fileSizes = $_FILES['files']['size'];
      $fileTmps = $_FILES['files']['tmp_name'];
      $fileTypes = $_FILES['files']['type'];
      foreach ($fileNames as $key => $name) {
         $fileSize = $fileSizes[$key];
         $fileTmp = $fileTmps[$key];
         $fileType = $fileTypes[$key];
         // Validate and process each uploaded file
         // Add your validation logic here
      // Generate a unique filename to avoid conflicts
         $fileName = uniqid() . '_' . $name;
         // Move the uploaded file to the specified directory
         $destination = $uploadPath . $fileName;
         if (move_uploaded_file($fileTmp, $destination)) {
            $uploadedFiles[] = $destination;
         } else {
            $errors[] = "Failed to upload {$name}";
         }
      }
      if (!empty($errors)) {
         // Handle errors encountered during the upload process
         foreach ($errors as $error) {
            echo $error . "<br>";
         }
      }
      if (!empty($uploadedFiles)) {
         // File upload succeeded
         // Perform further operations or display success message
         foreach ($uploadedFiles as $file) {
            echo "File uploaded: " . $file . "<br>";
         }
      }
   }
?>

Dalam fail upload.php:

Akses fail yang dimuat naik menggunakan $_FILES['fail'], di mana 'fail' sepadan dengan atribut nama input fail.

Lelar melalui setiap fail yang dimuat naik menggunakan gelung.

Sahkan dan proses setiap fail mengikut keperluan. Tambahkan logik pengesahan anda sendiri berdasarkan jenis fail, saiz, dsb.

Jana nama fail yang unik untuk mengelakkan konflik. Dalam contoh ini, uniqid() digunakan untuk menjana pengecam unik.

Alihkan setiap fail yang dimuat naik ke direktori yang dikehendaki menggunakan move_uploaded_file(). Tentukan laluan destinasi untuk setiap fail.

Kendalikan sebarang ralat yang dihadapi semasa proses muat naik dan paparkannya.

Jika muat naik berjaya, operasi selanjutnya boleh dilakukan atau mesej kejayaan boleh dipaparkan.

Muat naik Direktori

Buat direktori (cth., muat naik/) dalam direktori yang sama dengan fail PHP untuk menyimpan fail yang dimuat naik. Pastikan direktori mempunyai kebenaran menulis yang betul supaya PHP boleh mengalihkan fail yang dimuat naik ke lokasi ini.

bash

- projek/

- muat naik.php

- muat naik/

Ingat untuk mengesahkan dan membersihkan fail yang dimuat naik untuk memastikan keselamatan permohonan anda. Anda boleh melakukan semakan tambahan seperti pengesahan jenis fail, had saiz dan sebarang keperluan lain yang khusus untuk kes penggunaan anda.

Nota: Kod yang disediakan adalah contoh asas untuk menggambarkan proses muat naik fail. Ia sentiasa disyorkan untuk melaksanakan langkah keselamatan tambahan dan menyesuaikan kod mengikut keperluan khusus anda.

Kesimpulan

Dengan mengikut langkah di atas, anda boleh membuat borang HTML yang membenarkan pemilihan fail berbilang. Selepas penyerahan borang, skrip PHP menerima fail melalui $_FILES, memprosesnya dan mengalihkannya ke lokasi yang dikehendaki.

Ingat untuk mengendalikan kemungkinan ralat, seperti had saiz fail atau sekatan jenis fail, dan laksanakan pengesahan dan langkah keselamatan yang sesuai untuk melindungi daripada muat naik berniat jahat.

Dengan langkah ini, anda boleh membolehkan pengguna memilih dan memuat naik berbilang fail menggunakan HTML dan PHP melalui HTTP POST.

Atas ialah kandungan terperinci Cara Pilih dan Muat Naik Berbilang fail dengan HTML dan PHP, menggunakan HTTP POST. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn