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

Patricia Arquette
Lepaskan: 2024-10-18 14:18:03
asal
671 orang telah melayarinya

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

sumber: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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!