PHP中Yii1.0中文件上传

要上传文件,首先需要在php.ini文件中配置post_max_size和upload_max_filesize.

具体做法如下:

1.首先有一个表单域:

   <form action=”<?php echo $this->createUrl(‘Goods/test’); ?>”       method=”post”                                                                                                         enctype=”multipart/form-data”>
       <input type=”file” name=”img” id=””/>
       <input type=”submit” value=”upload”/>
   </form>
2.在Goods控制器下的test方法中如下写:
public function actionTest(){
//单利类,接收表单的图片,并根据图片生成对象
       $img=CUploadedFile::getInstanceByName('img'2.zae);
if(is_object($img)&&get_class($img)==='CUploadedFile'){
$fname=time().'_'.rand(0,1111).'.'.$img->extensionName;
//生成图片名字和目录
$data=date('Y-m-d');
$dir='./UploadPic/'.$data.'/';
if(!is_dir($dir)){
 mkdir($dir,0777);//linux下
$url=$dir.$fname;//图片上传位置
$img->saveAs($url);//上传
}else{
$url=$dir.$fname;//图片上传位置
$img->saveAs($url);//上传
}
    }
}
若要无刷新上传,可以提交到隐藏域中。
<iframe width=”500″ height=”100″ name=”upimg” style=”display:none”></iframe>
指定跳转的地方:
<form target=”upimg” action=”<?php echo $this->createUrl(‘Goods/ajaxupload’); ?>”              method=”post” enctype=”multipart/form-data” >
    选择图片:<input type=”file” name=”img”/>
    <input type=”submit” value=”确定”/>
</form>
批量上传:
<form action="<?php echo $this->createUrl('Goods/tests'); ?>" method="post" 
enctype="multipart/form-data">
      <input type="file" name="img[]" id=""/>
        <input type="file" name="img[]" id=""/>
        <input type="file" name="img[]" id=""/>
       <input type="file" name="img[]" id=""/>
       <input type="file" name="img[]" id=""/>
        <input type="submit" value="upload"/>
   </form>

接收时候:

public function actionTests(){
//多文件上传
set_time_limit(0);//默认30s断开,防止没有上传完
$img=CUploadedFile::getInstancesByName('img');
foreach($img as $file){
if(is_object($file)&&get_class($file)==='CUploadedFile'){
$fname=time().'_'.rand(0,9111).'.'.$file->extensionName;
//生成图片名字和目录
$data=date('Y-m-d');
$dir='./UploadPic/'.$data.'/';
if(!is_dir($dir)){
                mkdir($dir,0777);//linux下
$url=$dir.$fname;//图片上传位置
$file->saveAs($url);//上传
}else{
$url=$dir.$fname;//图片上传位置
$file->saveAs($url);//上传
}     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值