本文整理汇总了PHP中Attachments::validate方法的典型用法代码示例。如果您正苦于以下问题:PHP Attachments::validate方法的具体用法?PHP Attachments::validate怎么用?PHP Attachments::validate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Attachments
的用法示例。
在下文中一共展示了Attachments::validate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionUpload
public function actionUpload()
{
$uptype = zmf::filterInput($_GET['type'], 't', 1);
$logid = zmf::filterInput($_GET['id']);
//所属对象
$reImgsize = zmf::filterInput($_GET['imgsize']);
//返回图片的尺寸
$fileholder = zmf::filterInput($_GET['fileholder'], 't', 1);
//上传控件的ID
//将ads替换为flash
if (!isset($uptype) or !in_array($uptype, array('siteinfo', 'post'))) {
$this->jsonOutPut(0, '请设置上传所属类型' . $uptype);
}
if (Yii::app()->request->getParam('PHPSESSID')) {
Yii::app()->session->close();
$res = Yii::app()->session->setSessionID(Yii::app()->request->getParam('PHPSESSID'));
Yii::app()->session->open();
}
if (Yii::app()->user->isGuest) {
$this->jsonOutPut(0, Yii::t('default', 'loginfirst'));
}
if (!$fileholder) {
$fileholder = 'filedata';
}
if (!isset($_FILES[$fileholder]) || !is_uploaded_file($_FILES[$fileholder]["tmp_name"]) || $_FILES[$fileholder]["error"] != 0) {
$this->jsonOutPut(0, '无效上传,请重试');
}
$model = new Attachments();
$img = CUploadedFile::getInstanceByName($fileholder);
$ext = $img->getExtensionName();
$size = $img->getSize();
if ($size > zmf::config('imgMaxSize')) {
$this->jsonOutPut(0, '上传文件最大尺寸为:' . tools::formatBytes(zmf::config('imgMaxSize')));
}
$upExt = zmf::config("imgAllowTypes");
if (!preg_match('/^(' . str_replace('*.', '|', str_replace(';', '', $upExt)) . ')$/i', $ext)) {
$this->jsonOutPut(0, '上传文件扩展名必需为:' . $upExt);
}
$sizeinfo = getimagesize($_FILES[$fileholder]["tmp_name"]);
if ($sizeinfo['0'] < zmf::config('imgMinWidth') or $sizeinfo[1] < zmf::config('imgMinHeight')) {
$this->jsonOutPut(0, "要求上传的图片尺寸,宽不能不小于" . zmf::config('imgMinWidth') . "px,高不能小于" . zmf::config('imgMinHeight') . "px.");
}
$ctime = zmf::now();
$dirs = zmf::uploadDirs($ctime, 'app', $uptype, null, true);
$fileName = uniqid() . '.' . $ext;
$origin = $dirs['origin'];
unset($dirs['origin']);
$uploadedFiles = array();
$uploadedFiles[] = array('from' => $origin . $fileName, 'to' => zmf::ftpPath($ctime, $uptype, 'origin') . $fileName);
if (move_uploaded_file($_FILES[$fileholder]["tmp_name"], $origin . $fileName)) {
$data = array();
$status = Posts::STATUS_PASSED;
$data['uid'] = Yii::app()->user->id;
$data['logid'] = $logid;
$data['filePath'] = $fileName;
$data['fileDesc'] = $fileName;
$data['classify'] = $uptype;
$data['covered'] = '0';
$data['cTime'] = time();
$data['status'] = $status;
$data['width'] = $sizeinfo[0];
$data['height'] = $sizeinfo[1];
$data['size'] = $size;
$model->attributes = $data;
if ($model->validate()) {
if ($model->save()) {
$image = Yii::app()->image->load($origin . $fileName);
$_quality = zmf::config('imgQuality');
$quality = isset($quality) ? $quality : 100;
foreach ($dirs as $dk => $_dir) {
if ($dk < 600) {
$image->smart_resize($dk, $dk * 0.75)->quality($quality);
} else {
$image->resize($dk, $dk)->quality($quality);
}
$image->save($_dir . $fileName);
$_todir = zmf::ftpPath($ctime, $uptype, $dk);
$uploadedFiles[] = array('id' => $model->id, 'from' => $_dir . $fileName, 'to' => $_todir . $fileName);
}
$imgsize = $reImgsize > 0 ? $reImgsize : 170;
$returnimg = zmf::uploadDirs($ctime, 'site', $uptype, $imgsize) . $fileName;
$outPutData = array('status' => 1, 'attachid' => $model->id, 'imgsrc' => $returnimg);
$json = CJSON::encode($outPutData);
echo $json;
} else {
$this->jsonOutPut(0, '写入数据库错误');
}
} else {
$this->jsonOutPut(0, '数据验证错误');
}
}
}
示例2: addPostImg
public function addPostImg()
{
$logid = zmf::filterInput($_GET['id']);
$uptype = zmf::filterInput($_GET['imgtype'], 't', 1);
if (!$uptype) {
$this->jsonOutPut(0, '不允许的分类');
}
if (!$logid) {
$logid = 0;
}
$ctime = time();
$dirs = zmf::upDirs($ctime, 'app', $uptype);
$origin = $dirs['origin'] . '/';
unset($dirs['origin']);
zmf::createUploadDir($origin);
$img = CUploadedFile::getInstanceByName('filedata');
if ($img->getHasError()) {
$this->jsonOutPut(0, '上传有误,请重试');
}
$ext = $img->getExtensionName();
$upExt = zmf::config("imgAllowTypes");
if (!preg_match('/^(' . str_replace('*.', '|', str_replace(';', '', $upExt)) . ')$/i', $ext)) {
$this->jsonOutPut(0, '上传文件扩展名必需为:' . $upExt);
}
$size = $img->getSize();
if ($size > zmf::config('imgMaxSize')) {
$this->jsonOutPut(0, '上传文件最大尺寸为:' . tools::formatBytes(zmf::config('imgMaxSize')));
}
$_imgInfo = getimagesize($_FILES["filedata"]["tmp_name"]);
if ($_imgInfo['0'] < zmf::config('imgMinWidth') or $_imgInfo[1] < zmf::config('imgMinHeight')) {
$this->jsonOutPut(0, "宽不能小于" . zmf::config('imgMinWidth') . "px<br/>高不能小于" . zmf::config('imgMinHeight') . "px");
}
$fileName = uniqid() . '.' . $ext;
// $_extra=self::getUpExtraUrl($ctime);
// $filePath=$_extra.'/'.$fileName;
if (move_uploaded_file($_FILES["filedata"]["tmp_name"], $origin . $fileName)) {
$uid = Yii::app()->user->id;
$uid = 1;
$data['uid'] = $uid;
$data['logid'] = $logid;
$data['filePath'] = $fileName;
$data['fileDesc'] = $fileName;
$data['classify'] = $uptype;
$data['covered'] = '0';
$data['cTime'] = $ctime;
$data['status'] = Posts::STATUS_DELED;
$model = new Attachments();
$model->attributes = $data;
if ($model->validate()) {
if (!$model->save()) {
$this->jsonOutPut(0, '写入数据库出错');
} else {
$attachid = $model->id;
}
} else {
$this->jsonOutPut(0, '数据验证错误');
}
$image = Yii::app()->image->load($origin . $fileName);
$_quality = zmf::config('imgQuality');
$quality = isset($quality) ? $quality : 100;
foreach ($dirs as $dk => $_dir) {
zmf::createUploadDir($_dir);
if ($_imgInfo[0] < $dk && $_imgInfo[1] < $dk) {
$image->resize($_imgInfo[0], $_imgInfo[1])->quality($quality);
} else {
$image->smart_resize($dk, ceil($dk * 0.75))->quality($quality);
}
$image->save($_dir . '/' . $fileName, false);
}
$_dir = zmf::upDirs($ctime, 'site', $uptype, '600');
$returnimg = $_dir . '/' . $fileName;
$data = array('imgsrc' => $returnimg, 'attachid' => $attachid);
$this->jsonOutPut(1, $data);
}
}