Muat naik Fail Menggunakan PHP
Memuat naik fail ke folder tertentu ialah tugas biasa dalam banyak aplikasi web. Soalan ini meneroka blok kod PHP mudah yang bertujuan untuk mencapai tugas ini.
$folder = "upload/"; if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'])) { if (move_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'], $folder . $HTTP_POST_FILES['filename']['name'])) { echo "File uploaded"; } else { echo "File not moved to destination folder. Check permissions"; }; } else {s echo "File is not uploaded"; };
Walau bagaimanapun, selepas pelaksanaan, ralat berlaku:
Notice: Undefined variable: HTTP_POST_FILES in C:\wamp\www\sdg\import\ips.php on line 3
Penyelesaian:
Ralat disebabkan oleh penggunaan pembolehubah yang ditamatkan $HTTP_POST_FILES. Sebaliknya, gunakan $_FILES:
$folder = "upload/"; if (is_uploaded_file($_FILES['filename']['tmp_name'])) { if (move_uploaded_file($_FILES['filename']['tmp_name'], $folder . $_FILES['filename']['name'])) { echo "File uploaded"; } else { echo "File not moved to destination folder. Check permissions"; }; } else {s echo "File is not uploaded"; };
Kod PHP Dipertingkat:
Kod PHP dipertingkat berikut menawarkan ciri yang dipertingkatkan, termasuk pemeriksaan jenis dan pengesahan saiz fail:
$target_dir = "upload/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); $allowedTypes = ['jpg', 'png']; if (isset($_POST["submit"])) { // Check file type if (!in_array($imageFileType, $allowedTypes)) { $msg = "Type is not allowed"; } // Check if file exists elseif (file_exists($target_file)) { $msg = "Sorry, file already exists."; } // Check file size elseif ($_FILES["fileToUpload"]["size"] > 5000000) { $msg = "Sorry, your file is too large."; } // Move file elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded."; } } ?>
HTML Kod:
<form action="upload.php" method="post">
Kod yang dipertingkatkan ini memastikan bahawa hanya jenis fail yang dibenarkan dimuat naik, menghalang nama fail pendua dan mengehadkan saiz fail untuk mengelak daripada membebankan pelayan anda.
Atas ialah kandungan terperinci Bagaimana untuk Memuat Naik Fail dengan betul dalam PHP dan Mengendalikan Ralat Berpotensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!