Home  >  Article  >  Backend Development  >  Summary of usage of Yii framework to upload images, Yii framework to upload images_PHP tutorial

Summary of usage of Yii framework to upload images, Yii framework to upload images_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:55:091037browse

A summary of the usage of Yii framework to upload images, yii framework to upload images

This article describes the usage of Yii framework to upload images. Share it with everyone for your reference, the details are as follows:

Yii provides CUploadedFile to upload files, such as images or documents.

Official introduction to this class:

CUploadedFile represents the information for an uploaded file.
Call getInstance to retrieve the instance of an uploaded file, and then use saveAs to save it on the server. You may also query other information about the file, including name, tempName, type, size and error.
public properties

Property Type Description Defined By
error integer Returns an error code describing the status of this file uploading. CUploadedFile
extensionName string the file extension name for name. CUploadedFile
hasError boolean whether there is an error with the uploaded file. CUploadedFile
name string the original name of the file being uploaded CUploadedFile
size integer the actual size of the uploaded file in bytes CUploadedFile
tempName string the path of the uploaded file on the server. CUploadedFile
type string the MIME-type of the uploaded file (such as "image/gif"). CUploadedFile
To upload files, three levels of MVC are used.

1. At the model level M, set a field as the file attribute in the rules method.

array('url',
    'file',  //定义为file类型
    'allowEmpty'=>true,
    'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx',  //上传文件的类型
    'maxSize'=>1024*1024*10,  //上传大小限制,注意不是php.ini中的上传文件大小
    'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
),

2. View layer View, here you need to use CHtml::activeFileField to generate a button for selecting files. Note that files are uploaded, so the enctype should be set to: multupart/form-data

<&#63;php $form=$this->beginWidget('CActiveForm', array(
<span style="white-space:pre"> </span>'id'=>'link-form',
<span style="white-space:pre"> </span>'enableAjaxValidation'=>false,
<span style="white-space:pre"> </span>'htmlOptions' => array('enctype'=>'multipart/form-data'),
)); &#63;>

<div class="row">
    <&#63;php echo $form->labelEx($model,'url'); &#63;>
    <&#63;php echo CHtml::activeFileField($model,'url'); &#63;>
    <&#63;php echo $form->error($model,'url'); &#63;>
</div>

3. Control layer C

$model=new Link;
if(isset($_POST['Link']))
{
  $model->attributes=$_POST['Link'];
  if(empty($_POST['Link']['name'])){
    $model->name = $model->url;
  }
  $file = CUploadedFile::getInstance($model,'url');
  //获得一个CUploadedFile的实例
  if(is_object($file)&&get_class($file) === 'CUploadedFile'){
  // 判断实例化是否成功
    $model->url = './assets/upfile/file_'.time().'_'.rand(0,9999).'.'.$file->extensionName;  //定义文件保存的名称
  }else{
    $model->url = './assets/upfile/noPic.jpg';
    // 若果失败则应该是什么图片
  }
  if($model->save()){
    if(is_object($file)&&get_class($file) === 'CUploadedFile'){
      $file->saveAs($model->url); // 上传图片
    }
    $this->redirect(array('view','id'=>$model->lid));
  }
}

Readers who are interested in more Yii-related content can check out the special topics on this site: "Introduction to Yii Framework and Summary of Common Techniques", "Summary of Excellent PHP Development Framework", "Basic Tutorial for Getting Started with Smarty Templates", "php Date and Time" Usage Summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation introductory tutorial" and "php common database operation skills summary"

I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.

Articles you may be interested in:

  • Summary of the use of filters in PHP's Yii framework
  • Advanced use of Views in PHP's Yii framework
  • Detailed explanation of the Controller controller in PHP's Yii framework
  • YII dynamic model (dynamic table name) support analysis
  • Yii database cache instance analysis
  • Yii enables fragment caching
  • Detailed explanation of attribute injection and method injection of component behavior in PHP's Yii framework
  • Detailed explanation of the method of using behavioral Behaviors in PHP's Yii framework
  • In-depth explanation of PHP's Properties in Yii framework
  • Interpretation of request and response processing flow in PHP's Yii framework
  • YII Framework filter usage analysis

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1117090.htmlTechArticleA summary of the usage of Yii framework to upload pictures, the yii framework to upload pictures. This article describes the usage of Yii framework to upload pictures. Share it with everyone for your reference, the details are as follows: Yii provides CUploade...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn