搜索
首页php框架YIIyii2 怎么上传图片
yii2 怎么上传图片Dec 07, 2019 pm 04:20 PM
yii2上传图片

yii2 怎么上传图片

第一步:搭建上传类基础工作,具体请看: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();
$(&#39;<div>&#39;).appendTo($(&#39;body&#39;)).attr({"class":"onedialog",&#39;id&#39;:"oneupload"});
$(&#39;<iframe>&#39;).appendTo($(&#39;#oneupload&#39;)).attr({"src":"?r=upload","class":"oneiframe"})
});
    var v=$(&#39;#product-picurl&#39;).val();
if(v){
$(&#39;<img>&#39;).attr({"src":v,"style":"height:50px"}).insertAfter($(&#39;#product-picurl&#39;));
}
});

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

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

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, &#39;file&#39;);
            if ($model->file && $model->validate()) {
                //$model->file->saveAs(&#39;uploads/&#39; . $model->file->baseName . &#39;.&#39; .$model->
                file->extension); 
                $fileName=&#39;uploads/&#39; . date("YmdHis") . &#39;.&#39; . $model->file->extension;
                $model->file->saveAs($fileName);
            }
            echo "<script src=&#39;assets/upload.js&#39;></script>;";
            echo "<script>";
            echo "var oneinput=parent.document.getElementById(&#39;product-picurl&#39;);";
            echo "parent.document.getElementById(&#39;product-picurl&#39;).value=&#39;".$fileName."&#39;;";
            echo "var oneupload = parent.document.getElementById(&#39;oneupload&#39;);";
            echo "var img = document.createElement(&#39;img&#39;);";
            echo "img.setAttribute(&#39;style&#39;, &#39;height:50px&#39;);";
            echo "img.src =&#39;".$fileName."&#39;;";
            echo "insertAfter(img,oneinput);";
            echo "oneupload.parentNode.removeChild(oneupload)";
            echo "</script>";
        }
        return $this->render(&#39;upload&#39;, [&#39;model&#39; => $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 [
            [[&#39;file&#39;], &#39;file&#39;],
        ];
    }
}
?>

upload.php

<?php
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin([&#39;options&#39; => [&#39;enctype&#39; => &#39;multipart/form-data&#39;]]) ?>
<?= $form->field($model, &#39;file&#39;)->fileInput() ?>
<button>Submit</button>
<?php ActiveForm::end() ?>

PHP中文网,有大量免费的Yii入门教程,欢迎大家学习!

以上是yii2 怎么上传图片的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
yii框架时间戳怎么设置教程yii框架时间戳怎么设置教程Mar 06, 2025 pm 02:18 PM

该教程展示了YII框架的时间戳管理。 IT使用TimestampBehavior详细介绍自动创建的_AT和UPDATED_AT更新,提供自定义选项并将其与手动更新,数据库触发器进行比较和自定义BE

在云本地环境中使用YII的最佳实践是什么?在云本地环境中使用YII的最佳实践是什么?Mar 18, 2025 pm 04:39 PM

本文讨论了在云本地环境中部署YII应用程序的最佳实践,并通过集装,编排和安全措施专注于可扩展性,可靠性和效率。

yii和laravel框架比较 yii和laravel框架有什么区别yii和laravel框架比较 yii和laravel框架有什么区别Mar 06, 2025 pm 02:17 PM

本文比较了PHP框架YII和Laravel。 YII优先考虑速度和结构,而Laravel则强调开发人员的经验和灵活性。 尽管两者都处理大型应用程序,但YII提供了出色的原始性能,而LA

yii框架怎么样 yii框架是什么yii框架怎么样 yii框架是什么Mar 06, 2025 pm 02:20 PM

本文介绍了YII,这是一个高性能的PHP框架,非常适合大规模Web应用程序。 它强调了Yii的速度,安全性和健壮的体系结构(MVC),强调了其优势比Laravel,Symfony和Cod等其他框架的优势

yii框架的优缺点 yii框架的优点及原理一览yii框架的优缺点 yii框架的优点及原理一览Mar 06, 2025 pm 02:22 PM

本文分析了YII框架的优势和劣势。 它突出了Yii的高性能,稳健的安全性,快速的开发能力和可扩展性,但也指出了较小的PR的学习曲线和潜在的复杂性

yii框架和tp框架那个比较好 yii框架和tp框架的区别yii框架和tp框架那个比较好 yii框架和tp框架的区别Mar 06, 2025 pm 02:21 PM

本文比较了YII和ThinkPHP(TP)框架。 选择取决于项目规模和开发人员的经验。 Yii,健壮而成熟,适合大型,复杂的项目,需要高性能。 TP,更简单,更快地开发,更好

yii怎么调用公共函数 yii公共函数怎么调用教程yii怎么调用公共函数 yii公共函数怎么调用教程Mar 06, 2025 pm 02:23 PM

本文详细介绍了如何在YII应用程序中调用和组织共同功能。 它主张将功能封装在类中,理想情况下,在专用的应用程序/助手目录中,以提高可重复性和可维护性。 不同的方法

在无服务器体系结构中使用YII的关键注意事项是什么?在无服务器体系结构中使用YII的关键注意事项是什么?Mar 18, 2025 pm 04:33 PM

本文讨论了在无服务器体系结构中使用YII的关键注意事项,专注于无状态,冷启动,功能大小,数据库交互,安全性和监视。它还涵盖优化策略和潜在的综合

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境