cakephp upload plugin - 定义保存文件的目录

时间:2013-09-24 04:24:47

标签: php image cakephp upload

我正在使用jose gonzalez的cakephp-upload plugin将图片上传到我们的应用。默认情况下,它们被保存在这样的目录中:webroot/files/user/photo/{user_id}这很好,除非我们想要使用$this->Html->image()显示这些图像,而这些图像在webroot / img目录中搜索图像。 / p>

我已经尝试用

显示图像
echo $this->Html->image('../files/user/photo/' .
        $user['User']['photo_dir'] . '/' .
        $user['User']['photo']);

哪个有效,但我想知道是否有某种方法可以告诉这个插件保存到img目录中?文档中没有提到任何内容。

而且,有没有办法告诉$this->Form->input('User.photo', array('type' => 'file'));只接受图像文件?

1 个答案:

答案 0 :(得分:3)

正如您在此file中看到的那样,path设置为:

public $defaults = array(
    'rootDir' => null,
    'pathMethod' => 'primaryKey',
    'path' => '{ROOT}webroot{DS}files{DS}{model}{DS}{field}{DS}',
...

您可以将其更改为:

'path' => '{ROOT}webroot{DS}img{DS}'

对于第二个问题,您可以使用accept属性,例如:

$this->Form->input('User.photo', 
    array(
        'type' => 'file', 
        'options' => array('accept' => 'image/*')
    )
);