在Thinkphp提供了文件上传类,下面利用此类,实现图片上传:
1,将图片保存到不同文件夹下。
2,并在数据库中保存图片的URL,以便可以直接通过保存的URL,将图片显示在前端页面上。
前端表单获取的:
这里分为了5个不同相册,分别存放在不同的文件夹下
PHP代码如下:
public function pictureUpload(){
if (isset($_FILES['file'])) {
import("ORG.Net.UploadFile");
$upload=new UploadFile();
$upload->maxsize=3145728; //设置上传文件大小
$upload->allowExts=explode(',',"jpg,gif,jpeg,png");//设置上传文件类型
$Class=I('class');
switch ($Class){
case 1:
$upload->savePath="./Public/picture/leader/";
$savaPathd='__PUBLIC__/picture/leader/';
break;
case 2:
$upload->savePath="./Public/picture/jobs/";
$savaPathd='__PUBLIC__/picture/jobs/';
break;
case 3:
$upload->savePath="./Public/picture/Scenery/";
$savaPathd='__PUBLIC__/picture/Scenery/';
break;
case 4:
$upload->savePath="./Public/picture/Practice/";
$savaPathd='__PUBLIC__/picture/Practice/';
break;
case 5:
$upload->savePath="./Public/picture/index/";
$savaPathd='__PUBLIC__/picture/index/';
break;
}
if(!$upload->upload()){
$this->error($upload->getErrorMsg()); //捕获上传异常
}
else{
//取得成功上传文件信息
$info= $upload->getUploadFileInfo();
$Imagepath=$savaPathd.$info[0]['savename'];
$data = array(
'Title' => I('photoTitle'),
'ClsID' => $Class ,
'IsTop' => I('isTop'),
'PicUrl' => $Imagepath,
);
$id = M('photo')->data($data)->add();
if ($id > 0) {
echo '<script>alert("保存成功");location.href="./photoManage.html"</script>';
} else {
echo '<script>alert("保存失败");location.href="./photoManage.html"</script>';
}
}
}
}