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
