1

我正在使用 CakePHP 3.2 和 proffer 插件来上传图片。

我想重写proffer插件的默认路径来上传图片并在保存前更改图片名称。

根据来自github的 proffer 的文档。我在/src/Event

现在我想重命名文件

$this->Auth->user('id').'-'.$row('id').date('dmyhis').ext

这就是我所做的

$newFilename = $this->Auth->user('id').'-'.$event->subject()->get('id') . '_' . Inflector::slug($event->subject()->get('name')) . date('ymdhis') . $ext;

但这给出了Auth不能在此处使用的错误。有没有办法使用Auth Component外部控制器?

4

2 回答 2

1

您可以通过加载会话来访问登录的用户 ID。

use Cake\Network\Session;
$session  = new Session();
$userData = $session->read('Auth.User.id');

以此作为参考:阅读和编写会话数据

于 2016-08-21T15:05:30.220 回答
0

对于 cake 3.x 及之后的版本,你应该使用这个:

$this->request->session()->read('Auth');

调试时

debug( $this->request->session()->read('Auth') );

[
    'id' => (int) 2,
    'username' => 'admin',
    'nice_name' => 'Tommy Do',
    'first_name' => 'Huy',
    'last_name' => 'Đỗ',

    ...//and more info in UserTable
]

并访问每个元素。

$this->request->session()->read('Auth.nice_name');

打印:

Tommy Do

希望它会帮助你:D

于 2016-08-23T04:50:47.350 回答