Home > Yii > Mit Yii eine Datei hochladen

Mit Yii eine Datei hochladen

// protected/models/UploadForm.php
class UploadForm extends CFormModel {
    public $image;
 
    public function rules() {
        return array(
            array('image', 'file', 'types' => 'jpg, gif, png'),
        );
    }
}
// protected/controllers/SiteController.php
public function actionUpload() {
    $form = new UploadForm;
    if (isset($_POST['UploadForm'])) {
        if ($form->validate()) {
            $form->image = CUploadedFile::getInstance($form, 'image');
            $file= dirname(Yii::app()->request->scriptFile) . DIRECTORY_SEPARATOR . $form->image->name;
            $form->image->saveAs($file);
        }
    }
    $this->render('upload', array('form'=>$form));
}
<!--protected/views/site/upload.php-->
<div class="yiiForm">
<?php echo CHtml::form('', 'post', array('enctype'=>'multipart/form-data')); ?>
 
<?php echo CHtml::errorSummary($form); ?>
 
<div class="simple">
<?php echo CHtml::activeLabel($form,'image'); ?>
<?php echo CHtml::activeFileField($form, 'image'); ?>
<br/>
<?php echo CHtml::submitButton('Upload'); ?>
</div>
 
<?php echo CHtml::endForm(); ?>
 
</div>

Verwandte Artikel:

  1. Yii Message Translation
  2. Erste Schritte mit Yii Teil 2
  3. Einfache Seiten
  4. Yiiframework Events
  5. Models aus Modulen verwenden
  6. Ein Modul als Admin Backend
  7. yiic shell
  8. Widgets
  9. Ajax Updates
  10. Yii Module
  11. Erste Schritte mit Yii
  12. Parameterized Named Scopes
  13. Webservice mit Yii
  14. Smart URLs mit Yii
  15. yiiframework – Guidelines for good schema design
Author: Categories: Yii Tags:
  1. admin
    27. November 2009, 12:02 | #1

    ein ‘allowEmpty’ => true in den rules macht die Sache optional, zusätzlich hier schauen: http://www.yiiframework.com/doc/cookbook/2/

  2. pisscea
    23. April 2010, 11:42 | #2

    i can’t u tutorial,, please help me
    // file controller
    $model=new form;
    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);
    if(isset($_POST['form']))
    {
    $model->attributes=$_POST['form'];
    if($model->validate()) {
    $model->image = CUploadedFile::getInstance($model, ‘image’);
    $file = dirname(Yii::app()->request->scriptFile).’./uploads/product’.$model->image;
    $model->image->saveAs($file);
    }

  1. Bisher keine Trackbacks