Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memuat naik gambar dalam php

Bagaimana untuk memuat naik gambar dalam php

PHPz
PHPzasal
2023-04-19 09:17:054845semak imbas

Dengan pembangunan berterusan dan popularisasi Internet, gambar memainkan peranan yang semakin penting di Internet, dan dalam pembangunan laman web, memuat naik gambar juga merupakan operasi yang sangat biasa. Sebagai bahasa bahagian pelayan yang berkuasa, PHP sangat baik dalam memuat naik imej. Jadi, bagaimana untuk memuat naik imej dalam PHP? Mari perkenalkan secara terperinci di bawah.

1. Kod hujung hadapan

Untuk memuat naik imej pada halaman hujung hadapan, anda perlu menggunakan kawalan yang atribut jenisnya ialah fail dalam teg input. Kod tersebut adalah seperti berikut:

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>

Antaranya, atribut tindakan teg borang menunjuk kepada upload.php, pengendali untuk memuat naik imej, atribut kaedah menentukan kaedah penyerahan borang sebagai pos dan atribut enctype menetapkan kaedah pengekodan borang.

Atribut jenis dalam teg input ialah fail, dan atribut nama menentukan nama fail yang dimuat naik.

Atribut hantar dalam teg input ialah butang hantar dalam borang.

Perlu diambil perhatian bahawa atribut enctype dalam teg borang mesti ditetapkan kepada "data berbilang bahagian/bentuk", jika tidak, fail tidak boleh dimuat naik.

2. Kod back-end

Untuk melaksanakan fungsi memuat naik imej dalam PHP, anda perlu mendapatkan fail yang dimuat naik melalui pembolehubah terbina dalam PHP $_FILES. Kodnya adalah seperti berikut:

<?php
    // 判断是否有文件上传
    if(empty($_FILES[&#39;file&#39;][&#39;name&#39;])) {
        echo "请选择要上传的文件";
        exit;
    }

    // 打印上传的文件信息
    echo "文件名:" . $_FILES[&#39;file&#39;][&#39;name&#39;] . "<br>";
    echo "文件大小:" . $_FILES['file']['size'] . "<br>";
    echo "文件类型:" . $_FILES['file']['type'] . "<br>";

    // 上传文件的目录
    $upload_dir = "uploads/";
    // 上传文件的全名
    $upload_file = $upload_dir . $_FILES['file']['name'];

    // 将上传的文件从临时目录移动到指定目录
    if(move_uploaded_file($_FILES['file']['tmp_name'], $upload_file)) {
        echo "文件上传成功";
    } else {
        echo "文件上传失败";
    }
?>

Baris 1-3 adalah untuk menentukan sama ada terdapat fail yang dimuat naik, dan jika tidak, keluarkan mesej gesaan.

Barisan 5-7 mencetak maklumat fail yang dimuat naik, termasuk nama fail, saiz fail dan jenis fail.

Baris 9-10 adalah untuk menetapkan direktori untuk memuat naik fail dan nama penuh fail yang dimuat naik.

Baris 12-16 mengalihkan fail yang dimuat naik dari direktori sementara ke direktori yang ditentukan melalui fungsi move_uploaded_file. Fungsi move_uploaded_file mempunyai dua parameter Parameter pertama ialah lokasi fail yang dimuat naik dalam direktori sementara, dan parameter kedua ialah lokasi fail yang dimuat naik dalam direktori storan. Mengembalikan benar jika langkah itu berjaya, palsu sebaliknya.

3. Kod lengkap

Kod bahagian hadapan:

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>

Kod bahagian belakang:

<?php
    // 判断是否有文件上传
    if(empty($_FILES[&#39;file&#39;][&#39;name&#39;])) {
        echo "请选择要上传的文件";
        exit;
    }

    // 打印上传的文件信息
    echo "文件名:" . $_FILES[&#39;file&#39;][&#39;name&#39;] . "<br>";
    echo "文件大小:" . $_FILES['file']['size'] . "<br>";
    echo "文件类型:" . $_FILES['file']['type'] . "<br>";

    // 上传文件的目录
    $upload_dir = "uploads/";
    // 上传文件的全名
    $upload_file = $upload_dir . $_FILES['file']['name'];

    // 将上传的文件从临时目录移动到指定目录
    if(move_uploaded_file($_FILES['file']['tmp_name'], $upload_file)) {
        echo "文件上传成功";
    } else {
        echo "文件上传失败";
    }
?>

4 >

Apabila melaksanakan fungsi memuat naik gambar, anda perlu memberi perhatian kepada beberapa isu keselamatan. Memuat naik fail boleh menyebabkan masalah seperti suntikan kod dan menimpa fail, jadi beberapa pemprosesan keselamatan diperlukan. Berikut ialah beberapa langkah keselamatan biasa:

    Sahkan fail yang dimuat naik, sahkan jenis fail, saiz, dsb., untuk mengelakkan fail haram daripada dimuat naik.
  1. Namakan semula fail yang dimuat naik untuk mengelakkan fail yang dimuat naik daripada mempunyai nama yang sama dengan fail sedia ada, menyebabkan fail itu ditimpa.
  2. Simpan fail yang dimuat naik dalam direktori yang tidak boleh diakses Web untuk menghalang akses berniat jahat.
Ringkasnya, pengoptimuman dan peningkatan berterusan diperlukan semasa proses pembangunan, dan keselamatan diletakkan pada kedudukan penting untuk memastikan kebolehpercayaan kod.

Ringkasan:

Kaedah memuat naik imej dalam PHP agak mudah Anda hanya perlu menggunakan teg input jenis fail dalam HTML, kemudian dapatkan fail yang dimuat naik melalui pembolehubah $_FILES, dan akhirnya simpan fail dari direktori sementara Hanya alihkannya ke direktori yang ditentukan. Untuk memastikan keselamatan, fail yang dimuat naik perlu disahkan, dinamakan semula dan tetapan keselamatan direktori storan dsb. Memuat naik gambar adalah operasi biasa dalam pembangunan laman web, dan ia digunakan secara meluas terutamanya dalam laman web seperti rangkaian sosial dan platform e-dagang.

Atas ialah kandungan terperinci Bagaimana untuk memuat naik gambar dalam 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