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

Bagaimana untuk memuat naik gambar dalam php

Apr 19, 2023 am 09:17 AM

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>
Salin selepas log masuk
Salin selepas log masuk

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 "文件上传失败";
    }
?>
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk

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 "文件上传失败";
    }
?>
Salin selepas log masuk
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Apakah tujuan penyataan yang disediakan dalam PHP? Apakah tujuan penyataan yang disediakan dalam PHP? Mar 20, 2025 pm 04:47 PM

Kenyataan yang disediakan dalam PHP meningkatkan keselamatan pangkalan data dan kecekapan dengan mencegah suntikan SQL dan meningkatkan prestasi pertanyaan melalui kompilasi dan penggunaan semula.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

See all articles