首页后端开发PHPyii2上传图片的操作步骤是什么

yii2上传图片的操作步骤是什么

时间2024-03-25 06:56:03发布访客分类PHP浏览1487
导读:这篇文章给大家分享的是“yii2上传图片的操作步骤是什么”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“yii2上传图片的操作步骤是什么”吧。...
这篇文章给大家分享的是“yii2上传图片的操作步骤是什么”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“yii2上传图片的操作步骤是什么”吧。


 


  

第一步: 搭建上传类基础工作

第二步:建站一个product表,字段id,name,picurl.

第三步:生GII生成PRODUCT 模型,类,视图。

第四步:

main.css 放在frontend\web\css

.onedialog{
    position:absolute;
     left: 300px;
     top: 500px;
     z-index: 10;
     width: 700px;
     height: 400px;
    border-radius:5px;
    box-shadow:5px 2px 6px #000;
 border: 2px solid #666}

.oneiframe{
     width: 100%;
 height: 100% }

main.js 放在 frontend\web\assets

$(function(){

 $('#product-picurl').click(function(){
    
 $('#oneupload').remove();
    
 $('div>
').appendTo($('body')).attr({
"class":"onedialog",'id':"oneupload"}
    );
    
 $('iframe>
').appendTo($('#oneupload')).attr({
"src":"?r=upload","class":"oneiframe"}
)
 }
    );
    
  var v=$('#product-picurl').val();

 if(v){
    
 $('img>
').attr({
"src":v,"style":"height:50px"}
    ).insertAfter($('#product-picurl'));

 }

}
    );

然后在frontend\assets\AppAsset.php中注册这两个文件

class AppAsset extends AssetBundle
{
    
  public $basePath = '@webroot';
    
  public $baseUrl = '@web';
    
  public $css = [
    'css/site.css',
    'css/main.css',
  ];
    
  public $js = [
    'assets/main.js'
  ];
    
  public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
  ];

}
    

UploadController.php

?PHP
namespace frontend\controllers;
    

use Yii;
    
use yii\web\Controller;
    
use app\models\UploadForm;
    
use yii\web\UploadedFile;


class UploadController extends Controller
{

  public function actionIndex()
  {
    
    $model = new UploadForm();
    

    if (Yii::$app->
    request->
isPost) {
    
      $model->
    file = UploadedFile::getInstance($model, 'file');
    

      if ($model->
    file &
    &
     $model->
validate()) {
    
        //$model->
    file->
    saveAs('uploads/' . $model->
    file->
    baseName . '.' . $model->
    file->
    extension);
          
        $fileName='uploads/' . date("YmdHis") . '.' . $model->
    file->
    extension;
    
        $model->
    file->
    saveAs($fileName);

      }
    
      echo "script src='assets/upload.js'>
    /script>
    ;
    ";
    
      echo "script>
    ";
    
      echo "var oneinput=parent.document.getElementById('product-picurl');
    ";
    
      echo "parent.document.getElementById('product-picurl').value='".$fileName."';
    ";
    
      echo "var oneupload = parent.document.getElementById('oneupload');
    ";
    
      echo "var img = document.createElement('img');
    ";
    
      echo "img.setAttribute('style', 'height:50px');
    ";
    
      echo "img.src ='".$fileName."';
    ";
    
      echo "insertAfter(img,oneinput);
    ";
    
      echo "oneupload.parentNode.removeChild(oneupload)";
    
      echo "/script>
    ";

    }
    

    return $this->
    render('upload', ['model' =>
     $model]);

  }

}
    
?>
    

UploadForm.php

?PHP
namespace app\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'],
    ];

  }

}
    
?>
    

upload.php

?php
use yii\widgets\ActiveForm;
    
?>
    

?php $form = ActiveForm::begin(['options' =>
     ['enctype' =>
     'multipart/form-data']]) ?>
    

?= $form->
    field($model, 'file')->
    fileInput() ?>
    

button>
    Submit/button>
    

?php ActiveForm::end() ?>
    

以上就是关于“yii2上传图片的操作步骤是什么”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上传图片

若转载请注明出处: yii2上传图片的操作步骤是什么
本文地址: https://pptw.com/jishu/652613.html
Laravel中间件实现原理及实例分析 解释Elasticsearch中属性常用的一些单词

游客 回复需填写必要信息