前言:
在这段时间开始学习php发现很多地方要用到上传图片这个功能于是把写成工具类在这里分享出来
ps:
1、因为我这里设置的服务器是localhost:88大家可以根据自己的需要进行修改。
2、文件上传也是在/static/file项目的这个位置来进行存储图片。
3、我这里写的msg是一个提示页,由于源码毕竟多就不放上来了,大家可以自行把msg方法改成自己想要的提示方式
/**
* 图片上传
* 传入参数:
* $file 图片数组
* 返回参数:
* false|$imgUrl 访问的服务器图片地址
*/
function imgUpload($file){
// 检查上传文件是否合法
if(!is_uploaded_file($file['tmp_name'])){
msg(2,'请上传符合规范的图像');
exit;
}
$type = $file['type'];
//检查上传的文件类型是否符合要求
if(!in_array($type,array("image/png","image/gif","image/jpeg"))){
msg(2,'请上传png,gif,jpg的图像');
exit;
}
// 上传目录
$uploadPath = './static/file/';
// 上传目录访问url
$uploadUrl = '/static/file/';
// 上传文件夹
$fileDir = date('Y/md',$_SERVER['REQUEST_TIME']).'/';
// 检查上传目录是否存在
if(!is_dir($uploadPath.$fileDir)){
mkdir($uploadPath.$fileDir,0755,true);//递归创建目录
}
// 拿到文件扩展名并进行小写处理
$ext = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
$img = uniqid().mt_rand(1000,9999).'.'.$ext;
$imgPath = $uploadPath.$fileDir.$img;//物理地址
$imgUrl = 'http://localhost:88/mall/'.$uploadUrl.$fileDir.$img;//URL地址
// 操作失败 查看上传目录权限
if(!move_uploaded_file($file['tmp_name'],$imgPath)){
msg(2,'服务器繁忙,请稍后再试');
exit;
}
return $imgUrl;
}
调用方法:
// 获取上传文件
$file = $_FILES['file'];
//对方法进行调用
// 图片网站地址
$pic = imgUpload($file);
这样整体就实现了从网页上上传的图片到把图片上传到服务器的步骤拉?。