Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Masalah Move_uploaded_file() Tidak Berfungsi dalam PHP?

Bagaimana untuk Menyelesaikan Masalah Move_uploaded_file() Tidak Berfungsi dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-10-18 14:18:03673semak imbas

How to Troubleshoot a Non-Functioning Move_uploaded_file() in PHP?

Menyelesaikan masalah Fungsi Move_uploaded_file()

Apabila memuat naik fail melalui aplikasi web, adalah penting untuk memastikan bahawa fungsi move_uploaded_file() beroperasi dengan sempurna. Walau bagaimanapun, pengguna mungkin menghadapi keadaan di mana ia kelihatan tidak berfungsi seperti yang diharapkan.

Dalam artikel ini, kami akan menyelidiki masalah move_uploaded_file() tidak berfungsi dan menyediakan penyelesaian untuk menanganinya.

Tinjauan Keseluruhan Masalah

Pengguna telah melaksanakan skrip PHP yang menggunakan fungsi move_uploaded_file() untuk mengendalikan muat naik fail. Walau bagaimanapun, walaupun mereplikasi kod yang disediakan dalam tutorial, fungsi itu gagal berfungsi dengan betul.

Analisis Kod

Kod HTML untuk borang dan skrip muat naik nampaknya betul. Ia termasuk atribut yang diperlukan untuk input fail dan menyerahkan data ke skrip upload_file.php.

Dalam upload_file.php, skrip dengan betul mengekstrak maklumat tentang fail yang dimuat naik, termasuk namanya, lokasi sementara, saiz dan kod ralat. Walau bagaimanapun, fungsi move_uploaded_file() tidak digunakan dengan betul, menyebabkan kegagalan.

Penyelesaian

Untuk menyelesaikan isu ini, dua langkah adalah penting:

  1. Dayakan Pelaporan Ralat PHP:
    Ini membolehkan PHP memaparkan mesej ralat terperinci, yang boleh membantu dalam mengenal pasti punca masalah.
  2. Semak Kod Ralat:
    Pembolehubah $_FILES'image' mengandungi kod ralat yang menunjukkan sebab kegagalan. Kod ralat biasa termasuk:

    • UPLOAD_ERR_OK: Tiada ralat
    • UPLOAD_ERR_INI_SIZE: Saiz fail melebihi maksimum yang dibenarkan oleh pelayan
    • UPLOAD_ERR_FORM_SIZE: Saiz fail melebihi maksimum yang dibenarkan mengikut saiz fail borang
    • UPLOAD_ERR_NO_FILE: Tiada fail dimuat naik
    • UPLOAD_ERR_PARTIAL: Fail hanya dimuat naik sebahagiannya

Kod Pembetulan Akhir

Setelah menangani isu ini, kod yang diperbetulkan kelihatan seperti ini:

<code class="php">
<?php
$move = __DIR__.'/../../uploads/';
echo $_FILES["file"]['name']."<br>";
echo $_FILES["file"]['tmp_name']."<br>";
echo $_FILES["file"]['size']."<br>";
echo $_FILES['file']['error']."<br>";
move_uploaded_file($_FILES['file']['tmp_name'], $move);
?>
</code>
Dalam kod yang dikemas kini ini, nama fail sementara (tmp_name) digunakan dan bukannya nama fail asal (nama), yang memastikan bahawa fail dialihkan dengan betul ke lokasi yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Move_uploaded_file() Tidak Berfungsi 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