php上传多个文件源码 (如何使用PHP上传多个文件?)
PHP是一种广泛用于开发Web应用程序的编程语言。其中,上传多个文件是Web应用程序中必不可少的功能之一。上传多个文件可以实现如图片分享、文件共享等功能,让网站变得更具有交互性。下面将给大家介绍如何使用PHP上传多个文件。
首先,在HTML文件中,需要设置一个表单,让用户可以选择需要上传的文件。以下是一个示例HTML表单:
“`html
“`
其中,name属性为“files[]”表示可以选择多个文件。在表单中设置enctype属性为“multipart/form-data”可以实现上传多个文件的功能。
接下来,创建上传文件的PHP脚本。以下是一个示例的upload.php文件代码:
“`php
<?php
$targetdir = “uploads/”;//上传文件的目录
if (!fileexists($targetdir)){
mkdir($targetdir, 0777, true);//如果目录不存在,则创建目录
}
foreach($FILES[‘files’][‘name’] as $key=>$val){//遍历上传的每个文件
$targetfile = $targetdir . basename($FILES[“files”][“name”][$key]);//获取上传文件的路径
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetfile,PATHINFOEXTENSION));
if(isset($_POST["submit"])){//检查是否有文件被上传
$check = getimagesize($_FILES["files"]["tmp_name"][$key]);//检验文件是否为图片格式
if($check !== false) {
echo "文件是一个图片 - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "文件不是一个图片。";
$uploadOk = 0;
}
}
if (file_exists($target_file)) {//检查文件是否已经存在
echo "对不起,文件已经存在。";
$uploadOk = 0;
}
if ($_FILES["files"]["size"][$key] > 5000000) {//检查文件大小
echo "对不起,文件太大。";
$uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {//检查文件格式
echo "对不起,只能上传JPG, JPEG, PNG 或 GIF格式的图片。";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "对不起,文件无法上传。";
} else {//如果文件满足要求,上传文件
if (move_uploaded_file($_FILES["files"]["tmp_name"][$key], $target_file)) {
echo "文件". basename( $_FILES["files"]["name"][$key]). "已经被上传。";
} else {
echo "上传文件时发生了错误。";
}
}
}
?>
“`
上述代码中,首先设置了上传目录。如果目录不存在,则在上传时创建目录。然后,使用foreach循环遍历上传的每个文件。在遍历时,代码检查每个文件是否满足上传的要求,例如检查文件大小、文件格式、文件是否已经存在等。如果文件满足上传要求,则调用moveuploadedfile()函数将文件移动到目标目录。最后,给用户提示上传是否成功。
总之,使用PHP上传多个文件非常实用,可以实现许多有趣的功能。通过设置HTML表单和PHP上传文件脚本,我们可以快速、方便地实现上传多个文件的功能。