Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memuat naik imej melalui PHP

Bagaimana untuk memuat naik imej melalui PHP

PHPz
PHPzasal
2023-04-04 10:40:311496semak imbas

Dalam pembangunan laman web, muat naik imej adalah keperluan biasa. Antaranya, adalah amalan biasa menggunakan PHP untuk memuat naik imej. Artikel ini akan memperkenalkan cara memuat naik imej melalui PHP.

1. Kerja penyediaan

Sebelum bermula, kita perlu menyediakan beberapa kerja:

(1) Pelayan web (contohnya: Apache, NGINX, dll.)

(2) Pasang PHP (keperluan versi 5.2 ke atas)

(3) Tetapkan saiz fail yang dibenarkan (ubah suai dalam fail konfigurasi php.ini)

(4) Borang HTML, digunakan untuk pengguna memuat naik fail

Di sini kami mengambil pelayan Apache dan PHP 5.5 sebagai contoh Operasi pelayan HTTP dan versi PHP lain adalah serupa.

2. Tulis borang HTML

Sebarang operasi muat naik mesti mempunyai entri muat naik Di sini kita perlu menulis borang HTML terlebih dahulu dan menyerahkannya kepada pelayan menggunakan kaedah POST.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>PHP图片上传</title>
</head>
<body>
    <form action="upload.php" enctype="multipart/form-data" method="POST">
        请选择上传的文件:<br>
        <input type="file" name="file"><br><br>
        <input type="submit" value="上传"><br>
    </form>
</body>
</html>

Antaranya, atribut tindakan dalam borang menghala ke fail PHP yang akan kita tulis seterusnya, atribut enctype mesti ditetapkan kepada "multipart/form-data", dan atribut kaedah ialah POST.

3. Tulis kod PHP

Selepas borang HTML menerima fail yang dimuat naik oleh pengguna, data akan dihantar ke pelayan Kami perlu menerima fail dan parameter yang dimuat naik melalui PHP bahagian pelayan. Di bawah ialah kod PHP mudah yang boleh menerima imej yang dimuat naik dan menyimpannya ke pelayan.

<?php
  header("Content-Type:text/html;charset=utf-8");

  $file = $_FILES[&#39;file&#39;];

  // 获取文件名
  $filename = $file[&#39;name&#39;];

  // 上传文件目录
  $upload_dir = &#39;uploads/&#39;;

  // 不存在该目录则创建
  if(!file_exists($upload_dir)) {
    mkdir($upload_dir);
  }

  // 把临时文件剪切到指定目录
  move_uploaded_file($file[&#39;tmp_name&#39;], $upload_dir.$filename)

  // 输出上传结果
  echo "上传成功!";
?>

Dalam kod ini, mula-mula dapatkan fail yang dimuat naik $_FILES ialah pembolehubah yang dipratakrifkan oleh PHP Nilai nama fail ialah nilai nama teg input yang kami masukkan. dapatkan nama fail yang dimuat naik, kemudian tentukan direktori muat naik, dan tentukan sama ada direktori itu wujud, buatnya Akhirnya, potong fail sumber ke direktori sasaran dan keluarkan rentetan yang menunjukkan bahawa muat naik itu berjaya .

Perlu diambil perhatian bahawa sebelum melaksanakan kaedah move_uploaded_file, kita perlu terlebih dahulu menentukan sama ada nilai medan 'error' dalam pembolehubah global $file ialah UPLOAD_ERR_OK Apabila nilai ini 0, ia bermakna ada tiada ralat dalam muat naik, jika tidak ia bermakna tiada ralat dalam muat naik Terdapat ralat. Kami juga boleh menambah beberapa syarat muat naik pada kod, seperti jenis fail muat naik, saiz fail muat naik, dsb., yang boleh dilaksanakan mengikut keperluan sebenar.

4. Jalankan

untuk menyimpan kod di atas sebagai fail upload.php dan letakkan dalam direktori yang sama dengan kod borang HTML. Kemudian anda boleh menguji muat naik imej. Mulakan perkhidmatan Apache, buka penyemak imbas dan masukkan alamat http://localhost/upload.html, pilih imej untuk dimuat naik, anda akan melihat mesej muat naik yang berjaya secara setempat, dan lihat imej yang kami muat naik dalam direktori muat naik.

Di atas adalah langkah asas untuk memuat naik imej PHP Sangat mudah untuk memuat naik imej Anda hanya memerlukan pengetahuan asas HTML + PHP untuk melaksanakan fungsi ini dengan cepat. Sudah tentu, dalam senario aplikasi sebenar, kita juga perlu mempertimbangkan keselamatan, kebolehpercayaan, dsb., dan memberi lebih perhatian dan ujian.

Atas ialah kandungan terperinci Bagaimana untuk memuat naik imej melalui PHP. 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