谁一开始就是大神?

PHP 第44页

PHP

表单错误提示信息不现实[2.0]

BraveStone阅读(86)

表单验证会提示错误信息 我新创一个表单做添加用户的 当用户名输入框获取焦点没输入内容再获取其他输入框的焦点时,应该用户名的框会提示错误信息,我这没提示
QQ图片20160928154913.png

QQ图片20160928154928.png

QQ图片20160928154933.png

QQ图片20160928154939.png

是的,是因为你把布局文件禁止了。布局文件里的beginBody那些方法以及AppAsset里引入的YII.js都和 ActiveForm 的前端验证有关。
给你的class = "form-group" 再添加一个"require"类咯,
当你使用<?= $form->field($model, 'password')->passwordInput() ?>之后,就会生成
所以你不必要自己再写那么一大堆,

help!!怎么向loyout模板中传值啊[2.0]

richtom阅读(94)

比如说:我想将数据库中查询到的model传递给layout模板去展示,该怎样做啊,求大虾斥教…

不太明白你的layout模板,不是layout/main.php才是公共布局文件吗?我之前做的就是在main.php做的model查询后,循环显示,只是不知道这样符不符合规范之类的
return $this->render(‘layout’,[‘model’=>$model]);
按照你上面的说法,可以写一个父类,里面重写beforeaction,设置Yii::$app->params[‘model’] = XXX;然后在所有控制器 继承这个父类,layout中直接用Yii::$app->params[‘model’]就可以取出来了。
控制器文件
视图文件
widget
在layout中输出$this->context试试
http://stackoverflow.com/questions/28038912/how-to-pass-param-from-controller-to-layout-in-yii2
看看巴 有解答
考虑考虑自己写个组件啊,widget。很方便。
同求,同求教

为什么response的headers属性不能修改Content-Type,想输出图片[2.0]

Cleverelephant阅读(99)

但是它永远是 text/html; charset=UTF-8

输出图片,可以这样:
当然路径存在之类的判断你自己要做好,如果确定图片格式是jpeg,那么可以写死mime
应该是可以的吧
如果最后是通过yii框架默认的return渲染视图输出的,就是html头,因为header会覆盖。你尝试不用return,用echo
浏览器在跨域的时候会先发出一个preflight,如果改了header。然后服务器不允许改content-type
//统一response返回json格式
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
我是想统一返回json的,百度到你的问题,我这边解决了,顺便给你一些建议

yii2公共变量在哪里设置?[2.0]

Lvysea阅读(109)

yii2高级版公共变量在哪里设置?

方式挺多的,看你习惯吧,你可以在params.php或者params-local.php配置文件中,注意当然如果在这配置文件中配置,就得注意它的加载顺序,yii2按以下的顺序读取配置:
1、common/config/params.php
2、common/config/params-local.php
3、frontend/config/params.php
4、frontend/config/params-local.php
所以,如果你的公共变量前后台都公用,那你可以配置到common/config/params.php或common/config/params-local.php,如果是前台用的到那配置到frontend/config/params.php或frontend/config/params-local.php,后台用的到那配置到backend/config/params.php或backend/config/params-local.php中。
读取则是: echo Yii::$app->params[‘adminEmail’]; 表示读取配置文件中配置的adminEmail这个变量,按照上面的顺序读取,后面的配置文件会覆盖掉前面的配置文件定义的值。如果所有配置都读取不到,返回null。
还有,我个人的习惯是自己定义个常量类,然后定义静态的属性,使用的时候通过 “类::$属性” 来读取。
怎么用还是很灵活的,没有特别的要求。就看你的使用习惯

GridView::widget显示出来的图片太大[2.0]

FionaCherry阅读(88)

[
    'attribute'=>'img',
    'format' => ['raw',],
    'value' => function($model){
        return Html::img($model->img);
    }
],

我想要让它变小一点,就修改成了

[
    'attribute'=>'img',
    'format' =>[
        'image',
        [
            'height' =>50,
            'width' => 100
        ]
    ],
    'value' => function($model) {
        return Html::img($model->img);
    }
],

可是图片不显示了,怎么回事?

参数不正确

yii2.0图片上传[2.0]

lionsuper阅读(96)

5.png
“微博图片”和“微信二维码”要做成选择图片上传的那种怎么实现啊?

图片上传,一般数据库直接存放图片的地址。yii2中,可以利用一些封装好的组件对图片进行处理。参考:http://t.cn/RVOUrZm

求助,yii2加载ckeditor抛出InvalidParameter异常。[2.0]

dmCherry阅读(116)

在加载kartik\detail\DetailView时,开启ckeditor后,出现下面异常:

Invalid Parameter – yii\base\InvalidParamException
Trying to copy a directory to itself or a subdirectory.

看了下,问题可能出在下面的第2条:

BaseFileHelper::copyDirectory('/Users/qijiaona/var/www/intel/backend/web/assets', '/Users/qijiaona/var/www/intel/backend/web/assets/da31e3d5');

关闭ckeditor插件后就可以正常运行了。
求解决。

1. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/helpers/BaseFileHelper.php at line 260
2. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetManager.php at line 542 – yii\helpers\BaseFileHelper::copyDirectory('/Users/qijiaona/var/www/intel/ba...', '/Users/qijiaona/var/www/intel/ba...', ['dirMode' => 509, 'fileMode' => null, 'beforeCopy' => Closure])
3. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetManager.php at line 458 – yii\web\AssetManager::publishDirectory('/Users/qijiaona/var/www/intel/ba...', [])
4. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetBundle.php at line 183 – yii\web\AssetManager::publish('assets', [])
5. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetManager.php at line 266 – yii\web\AssetBundle::publish(yii\web\AssetManager)
6. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetManager.php at line 237 – yii\web\AssetManager::loadBundle('dosamigos\ckeditor\CKEditorWidge...', [], true)
7. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/View.php at line 284 – yii\web\AssetManager::getBundle('dosamigos\ckeditor\CKEditorWidge...')
8. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/AssetBundle.php at line 123 – yii\web\View::registerAssetBundle('dosamigos\ckeditor\CKEditorWidge...')
9. in /Users/qijiaona/var/www/intel/vendor/2amigos/yii2-ckeditor-widget/src/CKEditor.php at line 57 – yii\web\AssetBundle::register(yii\web\View)
10. in /Users/qijiaona/var/www/intel/vendor/2amigos/yii2-ckeditor-widget/src/CKEditor.php at line 44 – dosamigos\ckeditor\CKEditor::registerPlugin()
11. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Widget.php at line 102 – dosamigos\ckeditor\CKEditor::run()
12. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/widgets/ActiveField.php at line 703 – yii\base\Widget::widget(['preset' => 'full', 'clientOptions' => ['allowedContent' => true, 'extraPlugins' => 'lineheight,uploadimage', 'line_height' => '1;1.2;1.5;2;2.5;3', 'imageUploadUrl' => '/accelerator/upload'], 'model' => common\models\Accelerator, 'attribute' => 'acc_desc_long', ...])
13. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 873 – yii\widgets\ActiveField::widget('\dosamigos\ckeditor\CKEditor', ['preset' => 'full', 'clientOptions' => ['allowedContent' => true, 'extraPlugins' => 'lineheight,uploadimage', 'line_height' => '1;1.2;1.5;2;2.5;3', 'imageUploadUrl' => '/accelerator/upload']])
14. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 785 – kartik\detail\DetailView::renderFormAttribute(['attribute' => 'acc_desc_long', 'format' => 'raw', 'type' => 'widget', 'widgetOptions' => ['class' => '\dosamigos\ckeditor\CKEditor', 'preset' => 'full', 'clientOptions' => ['allowedContent' => true, 'extraPlugins' => 'lineheight,uploadimage', 'line_height' => '1;1.2;1.5;2;2.5;3', 'imageUploadUrl' => '/accelerator/upload']], ...])
15. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 745 – kartik\detail\DetailView::renderAttributeItem(['attribute' => 'acc_desc_long', 'format' => 'raw', 'type' => 'widget', 'widgetOptions' => ['class' => '\dosamigos\ckeditor\CKEditor', 'preset' => 'full', 'clientOptions' => ['allowedContent' => true, 'extraPlugins' => 'lineheight,uploadimage', 'line_height' => '1;1.2;1.5;2;2.5;3', 'imageUploadUrl' => '/accelerator/upload']], ...])
16. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 718 – kartik\detail\DetailView::renderAttributeRow(['attribute' => 'acc_desc_long', 'format' => 'raw', 'type' => 'widget', 'widgetOptions' => ['class' => '\dosamigos\ckeditor\CKEditor', 'preset' => 'full', 'clientOptions' => ['allowedContent' => true, 'extraPlugins' => 'lineheight,uploadimage', 'line_height' => '1;1.2;1.5;2;2.5;3', 'imageUploadUrl' => '/accelerator/upload']], ...])
17. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 611 – kartik\detail\DetailView::renderDetailView()
18. in /Users/qijiaona/var/www/intel/vendor/kartik-v/yii2-detail-view/DetailView.php at line 548 – kartik\detail\DetailView::runWidget()
19. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Widget.php at line 102 – kartik\detail\DetailView::run()
20. in /Users/qijiaona/var/www/intel/backend/views/accelerator/view.php at line 176 – yii\base\Widget::widget(['model' => common\models\Accelerator, 'mode' => 'view', 'formOptions' => ['options' => ['enctype' => 'multipart/form-data']], 'panel' => ['heading' => '众创空间详情', 'type' => 'primary'], ...])
21. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/View.php at line 326require('/Users/qijiaona/var/www/intel/ba...')
22. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/View.php at line 248 – yii\base\View::renderPhpFile('/Users/qijiaona/var/www/intel/ba...', ['model' => common\models\Accelerator, 'dataProvider' => yii\data\ActiveDataProvider, 'dpMentor' => yii\data\ActiveDataProvider, 'dpInvestor' => yii\data\ActiveDataProvider, ...])
23. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/View.php at line 150 – yii\base\View::renderFile('/Users/qijiaona/var/www/intel/ba...', ['model' => common\models\Accelerator, 'dataProvider' => yii\data\ActiveDataProvider, 'dpMentor' => yii\data\ActiveDataProvider, 'dpInvestor' => yii\data\ActiveDataProvider, ...], backend\controllers\AcceleratorController)
24. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Controller.php at line 378 – yii\base\View::render('view', ['model' => common\models\Accelerator, 'dataProvider' => yii\data\ActiveDataProvider, 'dpMentor' => yii\data\ActiveDataProvider, 'dpInvestor' => yii\data\ActiveDataProvider, ...], backend\controllers\AcceleratorController)
25. in /Users/qijiaona/var/www/intel/backend/controllers/AcceleratorController.php at line 189 – yii\base\Controller::render('view', ['model' => common\models\Accelerator, 'dataProvider' => yii\data\ActiveDataProvider, 'dpMentor' => yii\data\ActiveDataProvider, 'dpInvestor' => yii\data\ActiveDataProvider, ...])
26. backend\controllers\AcceleratorController::actionView('58')
27. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array([backend\controllers\AcceleratorController, 'actionView'], ['58'])
28. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Controller.php at line 154 – yii\base\InlineAction::runWithParams(['r' => 'accelerator/view', 'id' => '58'])
29. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Module.php at line 454 – yii\base\Controller::runAction('view', ['r' => 'accelerator/view', 'id' => '58'])
30. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/web/Application.php at line 100 – yii\base\Module::runAction('accelerator/view', ['r' => 'accelerator/view', 'id' => '58'])
31. in /Users/qijiaona/var/www/intel/vendor/yiisoft/yii2/base/Application.php at line 375 – yii\web\Application::handleRequest(yii\web\Request)
32. in /Users/qijiaona/var/www/intel/backend/web/index.php at line 18 – yii\base\Application::run()

ps: 我看到之前有人也遇到过类似的问题,比如sgmengfault上的这个yii2 Trying to copy a directory to itself or a subdirectory,还有yiichina上的这个创建表单报错 ,但这两个帖子都与我遇到的情况不同,求解决。

我的AppAsset类配置

    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];

应该改成这样:
修改yii2-ckeditor-widget文件夹下面的CKEditorWidgetAsset.php文件
修改

Yii2怎么执行原生SQL语句(添加数据)[2.0]

JadeLion阅读(100)

数据是一个大量的数组,我需要拼接 SQL 一起添加到数据库

INSERT INTO `erm_course` ('course_name','course_type_id','course_time') VALUES ('1','1','5'), ('1','1','7'), ('1','1','7'), ('1','1','7'), ('1','1','7');

要执行这条 SQL 语句

生成.csv的代码

Hazelyak阅读(105)

看到别人写了段生成.csv的代码中有这么一句 $filename = fopen(‘php://output’, ‘w’);fputcsv($file, array(‘All’,’–‘,’–‘,111)); 不明白php://output是什么意思?

php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式 写入到输出缓冲区。官网手册
fopen的第一个参数应该是要打开的文件名或者url

正则匹配的一点问题,快帮我匹配一下[2.0]

youthfans阅读(91)

$str = "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36"

怎么能匹配到这中间的Nexus 6 呀,

以Android开头,以Build结尾?

啊。怎么匹配呀,正则这儿实在是太弱了。

不一定要写正则啊,截取字符串也可以
如果是安卓客户端的请求,这个信息头基本上都是这些格式,
Dalvik/1.6.0 (Linux; U; Android 4.3; vivo X3L Build/JLS36C)
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S7500 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML
, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; Android
5.1.1; vivo X7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
个人认为Build才是查找的关键,可以这么做
没关注过这个信息头,单从这一个字串来说,没法确定。
至少得知道可能会有哪几种情况会出现才能有答案。
你是要检查一个字符串里是否有Nexus 6吗?

登录

找回密码

注册