yii上传图片
来源:互联网 发布:2017网络流行语有哪些 编辑:程序博客网 时间:2024/06/10 04:37
首先在model里面设置rule
array('img_path','file','types'=>'jpg,gif,png','maxSize'=>1024 * 1024 * 1,'tooLarge'=>'上传文件超过 1MB,无法上传。','allowEmpty'=>true,),//图片是否为必填项可以ture和false
先来view层的from的代码
<?php echo $form->labelEx($model,'img_path'); ?>
<?php echo CHtml::activeFileField($model,'img_path'); ?> //显示上传图片的按钮和框
<?php if(!$model->isNewRecord){?>//如果为编辑的话,显示图片
<?php if($model->img_path){?>
<?php echo CHtml::image(Yii::app()->request->baseUrl.'/'.$model->img_path,'图片的说明',array('width'=>'20%')); ?>//显示图片
<?php }?>
<input type="hidden" name="img_path2" id="hiddenField" value="<?php echo $model->img_path;?>"/>//存在依旧要获得原来的图片路径,否则会出现信息丢失
<?php }?>
<?php echo $form->error($model,'img_path'); ?>
下面为control层
$model->img_path=CUploadedFile::getInstance($model,'img_path');//获得上传的图片
if($model->img_path)
{
$basedir = dirname(yii::app()->basePath);//确定根目录
$uploaddir= $basedir.'/uploads/links/'; //确定要存的目录
$newimg = time().'_'.rand(1, 9999).'.'.$model->img_path->extensionName;//根据时间戳重命名文件名,extensionName是获取文件的扩展名
$uploadfile = $uploaddir.$newimg;
$filedir='uploads/links/'.$newimg;
$model->img_path->saveAs($uploadfile);//在服务器上的的路径保存
$model->img_path = $filedir;//要存入的数据库的路径
}
else
{
$model->img_path = $_POST['img_path2'];//这个是当编辑以后获得的img_path2的路径
}
下面是view的显示代码
array(
'header'=>'图片',
'type'=>'raw',
'value'=>'CHtml::link(CHtml::image(Yii::app()->request->baseUrl."/".$data->img_path,"图片的说明",array("width"=>"200px","height"=>"200px")))', //在这设置显示的图片的大小
),
),
- yii 图片上传
- yii上传图片
- YII 上传一个图片
- yii上传图片
- yii图片上传教程
- Yii多图片上传
- yii框架图片上传
- Yii框架图片上传
- yii 上传图片
- yii上传图片、yii上传文件、yii控件activeFileField使用
- yii上传图片、yii上传文件、yii控件activeFileField使用
- yii上传图片、yii上传文件、yii控件activeFileField使用
- yii上传图片、yii上传文件、yii控件activeFileField使用
- yii上传图片、yii上传文件、yii控件activeFileField使用
- yii上传图片、yii上传文件、yii控件activeFileField使用
- YII 用AJAX上传图片
- yii中上传图片总结
- yii 上传多个图片
- header(\'Cache-control:private\')学习笔记(转载)
- 面向对象的基础理解
- 文件操作函数小结
- php 内置数组排序函数
- php 数组循环读出的两种方式
- yii上传图片
- linux下系统调用之fork()和vfork()探索
- C#网络编程(基本概念和操作) - Part.1
- 经典SQL语句大全
- 本地管理的表空间--数据字典管理的表空间
- Java发邮件出现java.lang.ArrayStoreException
- 关键词查找,正向匹配和for循环比较
- error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value '
- 如何去完成一个SAP notes的实现