THinkPHP上の画像アップロードクラスの使用について
ThinkPHPが提供する公式の例では、画像クラスをアップロードするコードが非常に良いので、ここではどのように使用するかを分析します.
インスタンスコードは次のとおりです.
インスタンスコードは次のとおりです.
<?php
class IndexAction extends Action {
public function index() {
$Photo = M('Photo');
$list = $Photo->order('create_time desc')->limit(2)->findAll();
$this->assign('list', $list);
$this->display();
}
public function upload() {
if (!empty($_FILES)) {
//
$this->_upload();
//$this->forward();
}
}
//
protected function _upload() {
import("@.ORG.UploadFile");
$upload = new UploadFile();
//
$upload->maxSize = 3292200;
//
$upload->allowExts = explode(',', 'jpg,gif,png,jpeg');
//
$upload->savePath = '/tp/Examples/File/Tpl/default/Public/Uploads/';
// ,
$upload->thumb = true;
//
$upload->imageClassPath = '@.ORG.Image';
//
$upload->thumbPrefix = 'm_,s_'; // 2
//
$upload->thumbMaxWidth = '400,100';
//
$upload->thumbMaxHeight = '400,100';
//
$upload->saveRule = uniqid;
//
$upload->thumbRemoveOrigin = true;
if (!$upload->upload()) {
//
$this->error($upload->getErrorMsg());
} else {
//
$uploadList = $upload->getUploadFileInfo();
import("@.ORG.Image");
// m_ , Image::water(' ',' ')
Image::water($uploadList[0]['savepath'].'m_'.$uploadList[0]['savename'], '/tp/Examples/File/Tpl/default/Public/Images/logo2.png');
$_POST['image'] = $uploadList[0]['savename'];
}
$model = M('Photo');
//
$data['image'] = $_POST['image'];
$data['create_time'] = time();
$list = $model->add($data);
if ($list !== false) {
$this->success(' !');
} else {
$this->error(' !');
}
}
}
?>