php单文件上传和多文件上传
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php单文件上传和多文件上传相关的知识,希望对你有一定的参考价值。
php上传文件步骤
1.判断文件是否是表单提交
2.判断是否有选择文件
3.判断文件存储路径是否存在
4.判断文件类型是否符合
5.判断错误类型
6.判断是否存在临时文件
7.判断是否上传成功
要求上传的文件是word 和 ppt类型
单文件上传代码:
<?
print_r($_FILES);
extract($_FILES["f1"]);
//判断是否为表单上传
if(!isset($_POST["sub"])){
exit("请通过表单上传");
}
//判断是否有文件上传
if(empty($name)){
exit("请选中文件");
}
//判断文件夹是否存在
$dir="f:/file/upload/";
if(!is_dir($dir)){
mkdir($dir,0777,true);
}
//判断文件是否符合要求
$arr=array("doc","docx","xls","xlsx","ppt","pptx");
$type=substr(strrchr($name,"."),1);
if(!in_array($type,$arr)){
exit("文件类型不符");
}
//判断错误信息
switch($error){
case 1:
echo "超出服务器设置的大小";
break;
case 2:
echo "超出隐藏域设置的大小";
break;
case 3:
echo "部分文件上传";
break;
case 4:
echo "没有文件上传";
break;
case 6:
echo "临时文件夹不存在";
break;
case 7:
echo "写入文件夹出错";
break;
}
//判断临时文件是否存在
if(!is_uploaded_file($tmp_name)){
exit("临时文件不存在");
}
//判断文件是否上传成功
$path=$dir.rand(1000,9000).".".$type;
if(!move_uploaded_file($tmp_name,$path)){
exit("文件上传失败");
}else{
echo "文件上传成功";
}?>
多文件上传:
<?
print_r($_FILES);
extract($_FILES["fi"]);//判断文件是否表单提交
if(!isset($_POST["sub"])){
exit("请用表单提交");
}
//判断是否有文件上传
if(empty($name)){
exit("请选择文件");
}
//判断上传路径是否存在
$dir="f:/file/upload/";
if(!is_dir($dir)){
mkdir($dir,0777,true);
}
for($i=0;$i<count($name);$i++){
//判断文件类型是否符合
$arr=array("doc","docx","xls","xlsx","ppt","pptx");
$type=substr(strrchr($name[$i],"."),1);
if(!in_array($type,$arr)){
echo "第{$i}个文件类型不符合";
continue;
}
switch($error[$i]){
case 1:
echo "第{$i}个文件超出服务器设置的大小";
continue;
case 2:
echo "第{$i}个文件超出隐藏域设置的大小";
continue;
case 3:
echo "第{$i}个文件部分文件上传";
continue;
case 4:
echo "第{$i}个文件没有文件上传";
continue;
case 6:
echo "第{$i}个文件临时文件不存在";
continue;
case 7:
echo "第{$i}个文件写入文件夹出错";continue;
}
//判断临时文件是否存在
if(!is_uploaded_file($tmp_name[$i])){
echo "临时文件不存在";
continue;
}
//判断是否上传成功
$path=$dir.rand(1000,9000).".".$type;
if(!move_uploaded_file($tmp_name[$i],$path)){
echo "第{$i}个文件上传失败";
continue;
}else{
echo "上传成功";
}}
?>
以上是关于php单文件上传和多文件上传的主要内容,如果未能解决你的问题,请参考以下文章