第一步:建立上傳類別基礎工作,具體請看: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 alt="yii2 怎麼上傳圖片" >').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() ?>
PHP中文網,有大量免費的Yii入門教學,歡迎大家學習!
以上是yii2 怎麼上傳圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

該教程展示了YII框架的時間戳管理。 IT使用TimestampBehavior詳細介紹自動創建的_AT和UPDATED_AT更新,提供自定義選項並將其與手動更新,數據庫觸發器進行比較和自定義BE

本文討論了在雲本地環境中部署YII應用程序的最佳實踐,並通過集裝,編排和安全措施專注於可擴展性,可靠性和效率。

本文比較了PHP框架YII和Laravel。 YII優先考慮速度和結構,而Laravel則強調開發人員的經驗和靈活性。 儘管兩者都處理大型應用程序,但YII提供了出色的原始性能,而LA

本文介紹了YII,這是一個高性能的PHP框架,非常適合大規模Web應用程序。 它強調了Yii的速度,安全性和健壯的體系結構(MVC),強調了其優勢比Laravel,Symfony和Cod等其他框架的優勢

本文分析了YII框架的優勢和劣勢。 它突出了Yii的高性能,穩健的安全性,快速的開發能力和可擴展性,但也指出了較小的PR的學習曲線和潛在的複雜性

本文比較了YII和ThinkPHP(TP)框架。 選擇取決於項目規模和開發人員的經驗。 Yii,健壯而成熟,適合大型,複雜的項目,需要高性能。 TP,更簡單,更快地開發,更好

本文詳細介紹瞭如何在YII應用程序中調用和組織共同功能。 它主張將功能封裝在類中,理想情況下,在專用的應用程序/助手目錄中,以提高可重複性和可維護性。 不同的方法

本文討論了在無服務器體系結構中使用YII的關鍵注意事項,專注於無狀態,冷啟動,功能大小,數據庫交互,安全性和監視。它還涵蓋優化策略和潛在的綜合


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),