小編給大家分享一下yii2如何上傳圖片,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)把每個網(wǎng)站當(dāng)做一個產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
第一步:搭建上傳類基礎(chǔ)工作,具體請看:http://www.yiichina.com/tutorial/328
第二步:建站一個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如何上傳圖片”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享文章:yii2如何上傳圖片
網(wǎng)頁路徑:http://www.yijiale78.com/article46/joojhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站制作、軟件開發(fā)、微信小程序、虛擬主機(jī)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)