PHP上传文件通常涉及到HTML表单、PHP脚本和服务器配置。用户通过HTML表单选择文件并提交,PHP脚本处理上传的文件,并将其保存到服务器上。
UPLOAD_ERR_OK (0):没有错误发生,文件上传成功。UPLOAD_ERR_INI_SIZE (1):上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。UPLOAD_ERR_FORM_SIZE (2):上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。UPLOAD_ERR_PARTIAL (3):文件只有部分被上传。UPLOAD_ERR_NO_FILE (4):没有文件被上传。UPLOAD_ERR_NO_TMP_DIR (6):找不到临时文件夹。UPLOAD_ERR_CANT_WRITE (7):文件写入失败。UPLOAD_ERR_EXTENSION (8):被PHP扩展阻止了上传。UPLOAD_ERR_INI_SIZE 和 UPLOAD_ERR_FORM_SIZEphp.ini 文件中的 upload_max_filesize 和 post_max_size 设置,确保它们足够大。MAX_FILE_SIZE 属性。MAX_FILE_SIZE 属性。MAX_FILE_SIZE 属性。UPLOAD_ERR_NO_TMP_DIRUPLOAD_ERR_CANT_WRITEUPLOAD_ERR_EXTENSIONdisable_functions 和 open_basedir 设置,确保没有禁用文件上传相关的函数或限制了上传目录。disable_functions 和 open_basedir 设置,确保没有禁用文件上传相关的函数或限制了上传目录。<?php
if ($_FILES["fileToUpload"]["error"] > 0) {
echo "Error: " . $_FILES["fileToUpload"]["error"] . "<br>";
} else {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file " . htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>