Apabila membangunkan aplikasi web menggunakan Laravel, anda selalunya perlu memuat naik fail. Walau bagaimanapun, kadangkala memuat naik fail gagal, menjadikan proses pembangunan sukar. Artikel ini akan memperkenalkan beberapa sebab dan penyelesaian biasa untuk kegagalan muat naik fail.
Dalam fail php.ini, terdapat beberapa konfigurasi yang berkaitan dengan muat naik fail, seperti upload_max_filesize
dan post_max_size
. Jika saiz fail yang dimuat naik melebihi apa yang dibenarkan oleh konfigurasi ini, muat naik fail akan gagal. Untuk menyelesaikan masalah ini, anda boleh mengubah suai konfigurasi yang sepadan dalam fail php.ini dan meningkatkannya kepada dalam julat saiz fail yang dimuat naik. Ingat untuk memulakan semula Apache atau pelayan web lain selepas membuat perubahan, jika tidak, perubahan tidak akan berkuat kuasa.
Apabila menggunakan borang untuk memuat naik fail, ingat untuk menetapkan atribut enctype
borang kepada "multipart/form-data"
. Jika tidak ditetapkan, muat naik fail juga akan gagal. Dalam Laravel, anda boleh menetapkan atribut form
borang melalui enctype
fungsi pembantu enjin templat Blade:
{!! Form::open(['url' => '/upload', 'method' => 'POST', 'files' => true, 'enctype' => 'multipart/form-data']) !!} // 表单元素 {!! Form::close() !!}
Perhatikan bahawa 'files' => true
juga perlu ditetapkan di sini, menunjukkan bahawa borang termasuk muat naik fail.
Apabila memuat naik fail, Laravel akan menyimpan fail ke folder destinasi yang ditentukan. Jika direktori tidak mempunyai kebenaran menulis, muat naik fail akan gagal. Untuk menyelesaikan masalah ini, anda boleh menetapkan kebenaran yang betul untuk folder sasaran melalui arahan berikut:
chmod -R 777 /path/to/upload/folder
Ambil perhatian bahawa folder sasaran diberikan 777 kebenaran, yang bermaksud bahawa semua pengguna boleh membaca dan menulisnya, di sana mungkin risiko keselamatan, sila tetapkan kebenaran yang munasabah mengikut situasi sebenar.
Sesetengah pelayan web akan mengehadkan muat naik fail Contohnya, Nginx mengehadkan saiz fail muat naik kepada 1MB secara lalai. Untuk menyelesaikan masalah ini, anda boleh melaraskan had saiz fail muat naik dengan mengubah suai client_max_body_size
dalam fail konfigurasi Nginx:
client_max_body_size 20M;
Perhatikan bahawa had saiz fail muat naik ditetapkan kepada 20MB, yang boleh dilaraskan mengikut keperluan.
Sesetengah pelayan aplikasi web akan melakukan semakan keselamatan pada fail yang dimuat naik Jika mereka fikir fail yang dimuat naik itu mungkin berniat jahat, muat naik akan melakukannya gagal. Untuk menyelesaikan masalah ini, anda boleh menganalisis sebab kegagalan muat naik berdasarkan log pelayan dan mencari kemungkinan faktor berbahaya dalam fail yang dimuat naik, seperti virus, kod haram, Trojan, dsb.
Ringkasan
Terdapat banyak sebab kegagalan muat naik fail, dan tidak semua situasi boleh diselesaikan dengan kaedah di atas. Semasa proses pembangunan, anda boleh mencari punca kegagalan muat naik fail dengan merekodkan log dan nyahpepijat, dan mengambil penyelesaian yang sepadan mengikut situasi yang berbeza. Jika anda menghadapi masalah lain dengan kegagalan muat naik fail, sila tinggalkan mesej di ruang komen dan mari kita bincangkannya bersama!
Atas ialah kandungan terperinci muat naik fail laravel gagal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!