1. 程式人生 > >yii2圖片上傳

yii2圖片上傳

<?php
/**
 * Created by PhpStorm.
 * User: 鵬鵬
 * Date: 2016/12/6
 * Time: 11:09
 */
namespace frontend\controllers;
use Yii;
use frontend\models\UploadForm;
use yii\web\UploadedFile;
class UploadController extends \yii\web\Controller
{
public function actionUpload()
    {
     //例項化model
      $model = new 
UploadForm(); //接值 if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance($model, 'file'); //驗證   if ($model->file && $model->validate()) { $fileName = date("Ymd H:i:s").$model->file->baseName . "." .$model->file->extension; //圖片的路徑  
$dir = 'uploads'."/". $fileName; //儲存   $model->file->saveAs($dir); //$model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension); } } return $this->render('upload', ['model' => $model]); } } model層uploadfrom.php
<?php
/**
 * Created by PhpStorm.
 * User: 鵬鵬
 * Date: 2016/12/6
 * Time: 11:06
 */
namespace frontend\models;
use yii\base\Model;
use yii\web\UploadedFile;
/**
 * UploadForm is the model behind the upload form.
 */
class UploadForm extends Model
{
/**
     * @var UploadedFile file attribute
     */
public $file;
/**
     * @return array the validation rules.
     */
public function rules()
    {
return [
            [['file'],'file']
        ];
    }
}


view裡面upload.php


<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?><?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?><?= $form->field($model,'file')->fileInput() ?><button>提交</button>

<?php ActiveForm::end() ?><?= Html::img('@web/uploads/1.jpg', ['alt' => 'My logo']) ?>