Rumah >pembangunan bahagian belakang >tutorial php >Mengapa muat naik fail PHP saya gagal, dan bagaimana saya boleh membetulkan ralat biasa?

Mengapa muat naik fail PHP saya gagal, dan bagaimana saya boleh membetulkan ralat biasa?

Susan Sarandon
Susan Sarandonasal
2024-12-25 18:59:17925semak imbas

Why is my PHP file upload failing, and how can I fix common errors?

Memuat Naik Fail dalam PHP: Menyelesaikan Masalah Ralat Biasa

Dalam PHP, memuat naik fail boleh menjadi tugas yang mudah. Walau bagaimanapun, ralat tertentu mungkin timbul, seperti yang ditemui dalam coretan kod yang diberikan:

if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name']))  {

Ralat ini menunjukkan bahawa pembolehubah $HTTP_POST_FILES tidak ditentukan, yang berlaku kerana ia telah ditamatkan sejak PHP 4.1.0 . Untuk menyelesaikan isu ini, kita mesti menggunakan tatasusunan $_FILES, yang telah menggantikan $HTTP_POST_FILES.

Kod Betul:

if (is_uploaded_file($_FILES['filename']['tmp_name']))  {

Selain itu, mari sediakan yang lebih cekap dan pendekatan moden untuk memuat naik fail dalam PHP:

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". basename($_FILES["fileToUpload"]["name"])." has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

Dalam ini kod:

  • $_FILES["fileToUpload"] mewakili fail yang dimuat naik melalui borang HTML.
  • nama asas mengekstrak nama fail daripada laluan fail.
  • move_uploaded_file mengalihkan fail yang dimuat naik ke lokasi sasaran yang ditentukan.

Kod ini mengendalikan fail muat naik dengan lebih selamat dan termasuk pengendalian ralat yang betul. Ia juga mematuhi amalan terbaik dan menyediakan penyelesaian yang lebih komprehensif daripada kod asal.

Atas ialah kandungan terperinci Mengapa muat naik fail PHP saya gagal, dan bagaimana saya boleh membetulkan ralat biasa?. 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