Rumah rangka kerja php ThinkPHP Bagaimana untuk memuat naik gambar dalam thinkphp

Bagaimana untuk memuat naik gambar dalam thinkphp

May 29, 2023 am 11:06 AM
thinkphp

Langkah 1: Konfigurasikan parameter yang diperlukan

Dalam fail konfigurasi config.php, anda perlu terlebih dahulu menetapkan laluan muat naik fail, hadkan saiz imej dan fail jenis, dsb. parameter. Konfigurasi khusus adalah seperti berikut:

return [
    'upload_path' => './uploads/', //上传文件路径
    'img_max_size' => 2 * 1024 * 1024, //最大上传图片大小
    'img_allow_types' => 'jpg,png,gif,jpeg', //允许上传的文件类型
];
Salin selepas log masuk

Langkah 2: Tulis kod muat naik imej

Dalam ThinkPHP, kita boleh melaksanakan fungsi muat naik imej dengan menggunakan kelas muat naik. Mula-mula import kelas muat naik:

use think\facade\Request;
use think\facade\Filesystem;

class ImageUpload
{
    public function upload()
    {
        $img_file = Request::file('img'); //获取上传的图片文件
        $img_path = config('upload_path'); //获取上传路径
        $max_size = config('img_max_size'); //获取最大文件尺寸
        $allow_types = config('img_allow_types'); //获取允许上传的类型

        //判断上传文件是否有效、大小是否符合、类型是否正确
        if (!$img_file->isValid()) {
            return ['code' => 1, 'msg' => '上传图片无效'];
        }

        if ($img_file->getSize() > $max_size) {
            return ['code' => 2, 'msg' => '上传图片大小超过限制'];
        }

        if (!in_array($img_file->extension(), explode(',', $allow_types))) {
            return ['code' => 3, 'msg' => '上传图片类型不支持'];
        }

        //上传文件
        $file_info = $img_file->move($img_path);
        if ($file_info === false) {
            return ['code' => 4, 'msg' => '上传图片失败,请重试'];
        }

        //返回上传成功信息
        $file_name = $file_info->getSaveName();
        $file_url = Filesystem::getDiskConfig('public', ['url' => '/'])->getVisibility()->url($img_path . $file_name);
        return ['code' => 0, 'msg' => '上传图片成功', 'url' => $file_url];
    }
}
Salin selepas log masuk

Langkah 3: Panggil kod muat naik imej

Seterusnya, kami boleh memanggil kod muat naik imej dalam pengawal dan dapatkan Hasil muat naik :

public function uploadImage()
{
    $result = (new ImageUpload())->upload();
    echo json_encode($result);
}
Salin selepas log masuk

Akhir sekali, kita hanya perlu menggunakan ajax di halaman hadapan untuk memuat naik fail imej ke pelayan:

<form id="image-form" action="/uploadImage" method="post" enctype="multipart/form-data">
    <input type="file" id="img-file" name="img" accept="image/*">
    <button type="submit">上传</button>
</form>

<script>
$(document).on(&#39;submit&#39;, &#39;#image-form&#39;, function (event) {
    event.preventDefault(); 
    var formData = new FormData(document.getElementById(&#39;image-form&#39;));
    $.ajax({
        url: &#39;/uploadImage&#39;,
        type: &#39;post&#39;,
        data: formData,
        contentType: false,
        processData: false,
        dataType: &#39;json&#39;,
        success: function (res) {
            //处理上传结果
        },
        error: function (xhr, textStatus, errorThrown) {
            console.log(errorThrown);
        }
    });
});
</script>
Salin selepas log masuk

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Nov 22, 2023 pm 12:01 PM

"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

Bagaimanakah prestasi thinkphp? Bagaimanakah prestasi thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Nov 22, 2023 pm 05:18 PM

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Dengan pembangunan berterusan Internet, kepentingan API (Antara Muka Pengaturcaraan Aplikasi) telah menjadi semakin menonjol. API ialah jambatan untuk komunikasi antara aplikasi yang berbeza Ia boleh merealisasikan perkongsian data, panggilan fungsi dan operasi lain, dan menyediakan pembangun kaedah pembangunan yang agak mudah dan pantas. Sebagai rangka kerja pembangunan PHP yang sangat baik, rangka kerja ThinkPHP adalah cekap, berskala dan mudah digunakan.

See all articles