最近我使用thinkphp完成了一个基本流程:
1、上传图片
2、保存图片到文件目录
3、保存文件名字在数据库
4、显示图片
代码相对简陋,但是是使用thinkphp3.2的较完整过程
代码如下:
IndexController
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this->display();
}
public function upload(){
$upload = new \Think\Upload();
$upload->maxSize = 1024*1024;
$upload->exts = array('jpg','gif','png');
$upload->savePath = './img/';
$upload->replace = true;
$upload->autoSub = false;
$name = $upload->saveName = 'time';
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
$this->display('Index/index');
}else{
foreach ($info as $file) {
$str = $file['savePath'].$file['savename'];
//echo $str;
}
$upload = M('upload');
$data['url'] = $str;
$upload->add($data);
$this->assign('img',$str);
$this->display('Index/photo');
}
}
}
index.html
<!DOCTYPE html>
<html>
<head>
<title>
图片上传
</title>
</head>
<body>
<div align="center">
<form action="__URL__/upload" enctype="multipart/form-data" method="post" >
<input type="file" name="photo" />
<input type="submit" value="提交" ></form>
</div>
</body>
</html>
photo.html
<!DOCTYPE html>
<html>
<head>
<title>显示已上传图片</title>
</head>
<body>
<img src="__ROOT__/Uploads/img/{$img}" width="200" height="300" align="center">
</body>
</html>