yii2上传图片的操作步骤是什么
导读:这篇文章给大家分享的是“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