在PHP
中,只需要通过几行代码,就能完成上传单个和多个文件的处理。
PHP
文件上传功能允许上传二进制和文本文件。 此外,您可以通过PHP
身份验证和文件操作功能完全控制要上传的文件。
1 PHP $_FILES
PHP全局$_FILES
包含文件的所有信息。 在$_FILES
全局变量的帮助下,我们可以得到文件名,文件类型,文件大小,临时文件名和与文件相关的错误。
这里,我们假设文件名是filename
。请参考下表 -
变量名称 | 描述 |
---|---|
$_FILES['filename']['name'] | 返回文件名称 |
$_FILES['filename']['type'] | 返回文件的MIME类型 |
$_FILES['filename']['size'] | 返回文件的大小(以字节为单位) |
$_FILES['filename']['tmp_name'] | 返回存储在服务器上的文件的临时文件名。 |
$_FILES['filename']['error'] | 返回与此文件相关联的错误代码。 |
2 move_uploaded_file()函数
move_uploaded_file()
函数将上传的文件移动到新位置。 move_uploaded_file()
函数在内部检查文件是否通过POST
请求上传。 如果文件是通过POST
请求上传的,它将移动文件。
语法
bool move_uploaded_file ( string $filename , string $destination )
3 代码案例
index.html
:
<html>
<meta charset="utf-8">
<form action="uploader.php" method="post" enctype="multipart/form-data">
选择上传的文件:
<input type="file" name="fileToUpload"/>
<input type="submit" value="Upload Image" name="submit"/>
</form>
</html>
uploader.php
:
<?php
$target_path = "/data/www/localhost/file_upload/resources/";
$target_path = $target_path.basename( $_FILES['fileToUpload']['name']);
// var_dump($target_path);
// var_dump($_FILES['fileToUpload']);
// var_dump($_FILES['fileToUpload']['tmp_name']);
if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_path)) {
echo "File uploaded successfully!";
} else{
echo "Sorry, file not uploaded, please try again!";
}
在浏览器输入网址:http://localhost/file_upload/
然后点击【选择文件】上传文件,最后点击【Upload Image】调用PHP方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0abyIxLT-1654867929593)(https://jums.club/images/article2/微信截图_20220402154759.png)]
最后,到服务器对应的地址查看,发现多了一个文件,php上传文文件就是这么简单。
Reference
- https://www.yiibai.com/php/php-file-upload.html
写在最后
欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。我的博客