📜  php中文件上传的基本代码(1)

📅  最后修改于: 2023-12-03 15:18:33.505000             🧑  作者: Mango

PHP中文件上传的基本代码

在Web应用程序中,文件上传是一项很常见的操作。PHP提供了相应的函数和语法,方便开发者实现文件上传。本文将介绍PHP中文件上传的基本代码。

1. 表单代码

首先,我们需要在HTML表单中添加文件上传字段。下面是一个最简单的表单代码:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="Upload">
</form>

该表单中包含一个文件上传字段和一个提交按钮。值得注意的是,表单的enctype属性必须设置为“multipart/form-data”,否则文件上传操作无法执行。

2. 上传代码

接下来,我们需要编写PHP代码处理文件上传。下面是一个最简单的上传代码:

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], $target_file);
echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded.";
?>

该上传代码将上传目录设置为“uploads/”,并将文件名定义为原始文件名。接着,使用move_uploaded_file()函数将临时文件移动到上传目录中。最后,在网页上显示上传成功的消息。

3. 完整代码

下面是一个完整的文件上传代码:

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// 检查文件类型
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// 检查文件大小
if ($_FILES["file"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

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

该代码增加了两个验证步骤:

  • 检查文件类型,只允许上传JPG、JPEG、PNG和GIF格式的文件;
  • 检查文件大小,只允许上传小于500KB的文件。

如果文件类型或大小不符合要求,将输出错误消息。同时,如果文件上传成功,将输出上传成功的消息。

以上就是PHP中文件上传的基本代码。开发者可以基于此代码进行进一步开发,增加安全认证、图片压缩等功能。