Laravel 实战开发知乎:发布问题
zyzplzyz

群主请问5.2版本的用sendcloud 模板
$data = ['url' => route('send email',['token',$user->confirmation_token]),

             'name'=>$user->name
            ];

不能这样写??
我邮箱得到的URL是这样的
请激活你的账号 http://demo.dev/email/send/token?61SlyKJirHKGFbyjVDZL60dOiw0HLDX5XsUL2453
我的routes是这样写的 Route::get('email/send/{token}',['as'=>'send email','uses'=>'EmailController@send']);
请问哪里错了

JellyBool

这样的吧:

$data = ['url' => route('send email',[$user->confirmation_token]),

             'name'=>$user->name
            ];
zyzplzyz

谢谢,群主了,我想问下,这个在文档中我怎么找不到呢??

Aaron-wlh

请问 用编辑器上传图片的时候出现ueditor.all.js:24515 POST http://dev.zhihu.com/ueditor/server?action=upload-image&_token=V8sGa1iMUbCVeo2v8co4nXRIInr9Nrz01MsQbHoi 500 (Internal Server Error)错误,我的public文件夹里并没有'/uploads/image/{yyyy}/{mm}/{dd}/目录 这要怎么解决呢?

JellyBool

基本上就是 没配置路由吧。

话说你看了视频了么?

ljw8229263

這個問題我也遇到了
這個和配置路由 沒有 關係 具體問題是 rand 這個函數 的問題

ErrorException in StorageManager.php line 217:
rand() expects parameter 2 to be integer, float given

這個函數 在 window 系統下的 最大值 不能 超過 32768 個範圍
修改方法
需要修改vendor/overtrue/laravel-ueditor/src/StorageManager.php中217行
$randNum = rand(1, 10000000000).rand(1, 10000000000);
修改為
$randNum = rand(1, 10000).rand(1, 10000);
就好了

JellyBool

我擦,真这么坑?去提个 issue 看看

reswqa

上传图片和视频都显示上传失败是怎么回事呀

reswqa

已经解决了 是没开启php_fileinfo 扩展

hard88

麻烦问一下,我的上传图片一直失败

JellyBool

具体是什么错误啊,你这样说谁也看不出来啊

hard88

显示红色提示信息上传失败和本地保存成功或者是选择完图片,又跳出选择图片的窗口,两个情况都出现了。谢谢

JellyBool

你看看 chrome dev-tool 有什么报错没?

hard88

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
ueditor.all.js:24515 POST http://localhost:8000/ueditor/server?action=upload-image&_token=DCOg4kfunug43Hgo0nhrvmraonGi8pTH8msKEBQ3 500 (Internal Server Error)
(anonymous) @ ueditor.all.js:24515
ueditor.all.js:24515 POST http://localhost:8000/ueditor/server?action=upload-image&_token=DCOg4kfunug43Hgo0nhrvmraonGi8pTH8msKEBQ3 500 (Internal Server Error)

JellyBool

感觉是服务器的重写规则没有配置好,你用的是 apache 还是什么?

hard88

apache

hard88

跟php_fileinfo 扩展没有关系?我不太了解,看楼上这个问题,顺便再问一下,麻烦了

JellyBool

你确定一下 php_fileinfo 有没有开启呗。你可以在 chrome dev-tool 看到具体的错误的啊。

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
ueditor.all.js:24515 POST http://localhost:8000/ueditor/server?action=upload-image&_token=DCOg4kfunug43Hgo0nhrvmraonGi8pTH8msKEBQ3 500 (Internal Server Error)
(anonymous) @ ueditor.all.js:24515
ueditor.all.js:24515 POST http://localhost:8000/ueditor/server?action=upload-image&_token=DCOg4kfunug43Hgo0nhrvmraonGi8pTH8msKEBQ3 500 (Internal Server Error)

这只是 console 的错误吧,你上传图片的时候看看 network 那里报错的 url ,再点开看具体的报错信息。

hard88

非常感谢,刚检查了一下,在php.ini把extension=php_fileinfo.dll前面的;去掉了,但还是不行。问题从Network中显示
ErrorException in StorageManager.php line 217:
rand() expects parameter 2 to be integer, float given

JellyBool

嗯哼,你好,我看了一下源码:

https://github.com/overtrue/laravel-ueditor/blob/master/src/StorageManager.php#L217

代码貌似没有问题,不过可能是由于 rand() 这个函数在不同平台的表现不一样。比如 32 bit 的 windows 最大可能是 32767

http://php.net/manual/en/function.rand.php

所以目前来说,你改一下这一行代码,或者我去跟作者提个 pr 试试

 $randNum = mt_rand(1, 10000000000).mt_rand(1, 10000000000);
        if (preg_match("/\{mt_rand\:([\d]*)\}/i", $path, $matches)) {
            $path = preg_replace("/\{mt_rand\:[\d]*\}/i", substr($randNum, 0, $matches[1]), $path);
        }
hard88

$randNum = rand(1, 10000000000).rand(1, 10000000000);
改这行么,怎么改写min和max。。麻烦了

hard88

我是64bit的win

JellyBool

https://github.com/overtrue/laravel-ueditor/commit/c59c297d11e6624d006bcf9a5187103281f91d12

作者已经 fix 这个 bug 了。看看更新一下 laravel-ueditor 版本可以不。

hard88

可以了,非常感谢站长

JellyBool

OK,以后问问题尽量贴报错信息吧。

你看你从贴出这个报错信息:

ErrorException in StorageManager.php line 217:
rand() expects parameter 2 to be integer, float given

问题很快就解决了

hard88

好的,收获了很多~

yff

我记得如果 路由里面这么写的话

Route::resource('/question', 'QuestionController');

就不需要在里面重新命名路由了
55578607-7f99-46d3-a1a7-0911b27db6e1

JellyBool

OK,阔以的!

Augus

我看视频一般都快进两倍速度。2倍速度听起来爽。
本视频,3:20 - 3:50 秒,2倍速度下,莫名戳中笑点。捂脸~捂脸~~

JellyBool

这。。。很多人都觉得视频讲快了

ye0205414225

老師好我的代碼如下 卻接收到空值?

` $data = [

        'title'  => $request->get('title'),         'body'   => $request->get('body'),         'user_id'=>  Auth::id()     ];` 

JellyBool

记得登录进来和正确使用 Auth:

use Auth;