6.pathinfo可以获取上传文件的扩展名
了解完以上知识点,下面我们开始具体php代码的编写,具体分为两种方式和具体的步骤,如下,
a.单文件的上传
//1.先判断表单是否合法提交
if (isset($_POST['token'])&&$_POST['token']=='upload') {
print_r($_FILES);
echo '<br>';
//2.判断上传是否有错误
if ($_FILES['uploadFile']['error']!=0) {
echo '上传文件发生错误';
die();
}
//3.上传文件是否超过2m,文件是不是图片,
if ($_FILES['uploadFile']['size']>1024*1024*2) {
echo '上传文件大于2m';
die();
}
//4.上传文件是不是图片,
$arr= array('image/jpeg','image/png', 'image/gif');
$type=$_FILES['uploadFile']['type'];
if (!in_array($type,$arr)) {
echo '上传文件不是图片';
die();
}
//5.重命名文件到upload目录中,并重新改名,
$ext=pathinfo($_FILES['uploadFile']['name'],PATHINFO_EXTENSION);
$tmp_url=$_FILES['uploadFile']['tmp_name'];
$move_url='./upload/'.uniqid().'.'.$ext;
move_uploaded_file($tmp_url,$move_url);
echo "移动成功";
b.多文件上传 1.先将网站前端页面传过来的三维数组转二维
$arrs=$_FILES['uploadFile'];
foreach ($arrs['name'] as $key => $name) {
if ($name!='') {
$ext1=pathinfo($name,PATHINFO_EXTENSION);
$tmp_url1=$arrs['tmp_name'][$key];
$move_url1='./upload/'.uniqid().'.'.$ext1;
move_uploaded_file($tmp_url1,$move_url1);
echo "移动成功";
}
}
}else{
echo "非法提交";
}