Yii多图片上传 [ 未指定版本 ]
//在_form.php代码
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'product-form',
'enableAjaxValidation'=>false,
'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
<!--js代码-->
<script>
//多图片上传
$(function()
{
var j=1;
$('#add_file').click(function()
{
$('#add_file').before("<div class='upimg'><input type='file' name='imageFile"+j+"'></div>");
j++;
})
});
//多图片删除
$(function(){
$('.a_de').click(function(){
var the_a=$(this);
var ima_id=$(this).children(':input').val();
$.post("<?php echo $this->createUrl('Product/deleteIma')?>","ima_id="+ima_id+"",function(a){
if(a==1){
the_a.parent().remove();
}
})
})
})
</script>
<!--js代码-->
<!--上传图片开始 -->
<div class="row pos" id="img">
<?php echo $form->labelEx($model,'images'); ?>
<input type="file" name="imageFile"/>
<a href="javascript:viod()" id="add_file">上传多张图片</a>
</div>
<div>
<?php
if($model->id!=null){
$image= Proimg::model()->findAll("pid=:pid",array(":pid"=>$model->id));
if($image==null){
echo "<p style='color:red'>暂无图片</p>";
}else{
echo "<br>";
$url=explode("/",Yii::app()->baseUrl);
foreach ($image as $ima)
{
echo "<div class='ima'><img src='".Yii::app()->request->baseUrl.$ima->url."' height='48' width='72'><br>";
echo "<a class='a_de' href='javascript:viod(0)'>删除<input type='hidden' value='".$ima->id."'></a>";
echo "</div>";
}
}
}
?>
</div>
<!--上传图片结束-->
//在控制器ProductController.php代码
上传图片:
public function actionCreate()
{
$model=new Product;
if(isset($_POST['Product']))
{
$model->attributes=$_POST['Product'];
if($model->save()){
<!-- 上传图片函数
if($_FILES['imageFile']['name']!=null)
{
$model->setImageInformation($_FILES);
}
-->
}
}
$this->render('create',array(
'model'=>$model,
));
}
删除图片:
public function actionDeleteIma()
{
$ima_id=$_POST['ima_id'];
$image_info=Proimg::model()->findByPk($ima_id);
$img_url= "..".Yii::app()->request->baseUrl.$image_info['url'];
if(file_exists($img_url)){
unlink($img_url);
}
$a=$image_info->delete();
echo $a;
}
//在models文件下product.php里代码
//图片函数
public function setImageInformation($image){
foreach($image as $file){
$name=$file['name'];
$arr=explode('.',$name);
$ext=$arr[count($arr)-1];
$root = "..".Yii::app()->request->baseUrl;//echo dirname(__FILE__)
$path="/img/proimg/".date("YmdHis").mt_rand(1,9999).".".$ext;
move_uploaded_file($file['tmp_name'],$root.$path);
<!--写入数据库 按自己的需求更改
$db = Yii::app()->db;
$db->createCommand()->insert('{{proimg}}', array(
'pid' => $this->id,
'url'=>$path,
'createtime'=>date('Y-m-d H:i:s'),
));
-->
}
}
咔咔咔 北京
注册时间:2013-08-04
最后登录:2020-05-27
在线时长:26小时37分
最后登录:2020-05-27
在线时长:26小时37分
- 粉丝35
- 金钱535
- 威望165
- 积分2445
共 3 条评论
学习中,我试试!~
就是这编辑器有点不给力 -> 全都翻译成 --> 了 有点影响正常阅读,看起来是一篇不错的文章
yii2多图上传我觉得yii2组件之多图上传插件FileInput的详细使用写得很赞!