建立上传文件表单,并选择文件上传到站点的指定路径下。
时间: 2023-07-16 19:17:26 浏览: 91
实现文件上传的方式有多种,下面介绍一种比较简单的HTML表单上传文件的方法。
1. 首先创建一个HTML表单,其中包含一个文件上传输入框和一个提交按钮:
```
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
```
其中,`action`属性指定了表单提交的URL,即将文件上传到后端处理的脚本,`enctype`属性指定了表单数据的编码方式,必须设置为`multipart/form-data`,`input`标签的`name`属性用于在后端处理脚本中获取上传的文件。
2. 创建后端处理脚本`upload.php`,用于接收并处理上传的文件。在该脚本中,通过`$_FILES`超全局变量来获取上传的文件信息,然后将文件移动到指定路径下。示例代码如下:
```
<?php
$target_dir = "uploads/"; // 指定上传文件的保存路径
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 获取上传文件的文件名和路径
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // 获取上传文件的扩展名
// 检查文件是否已经存在
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// 检查文件大小是否符合要求
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// 检查文件格式是否符合要求
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// 检查上传是否成功
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// 如果一切都符合要求,则将文件移动到指定路径
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
```
其中,`$target_dir`变量指定了上传文件保存的目录,`$target_file`变量获取了上传文件的完整路径,`$uploadOk`变量用于标记上传是否成功,`$imageFileType`变量获取了上传文件的扩展名,通过`file_exists()`函数检查文件是否已经存在,通过`$_FILES["fileToUpload"]["size"]`获取上传文件的大小,通过`$imageFileType`变量检查文件类型是否符合要求。如果上传成功,则通过`move_uploaded_file()`函数将文件移动到指定路径下。
注意:在使用`move_uploaded_file()`函数之前,必须先通过`is_uploaded_file()`函数判断上传的文件是否合法。
3. 在指定的路径下创建`uploads`文件夹,用于保存上传的文件。
以上就是简单的文件上传的实现方法。
阅读全文