在cakephp的webroot / img文件夹之外上传图片

时间:2011-06-09 17:58:10

标签: php cakephp image-uploading

我正在使用CakePHP构建Web应用程序。我正在使用meioupload上传图片。这些图像已成功上传。我想将admin-app和public-app分成两个独立的CakePHP应用程序。问题是我无法与admin-app的webroot共享上传到公共应用程序webroot的图像,反之亦然。我正在考虑将这些图像上传到这两个应用之外的另一个文件夹中。我是在正确的轨道上吗?如果我是,我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:1)

一种解决方案是修改脚本,将图像上传到“共享”目录,两个应用程序都可以查看。或者,如果您使用的是类Linux操作系统,则可以在文档根目录下创建此共享目录,并在每个应用程序将调用的目录之间创建符号链接。

所以APP1和APP2都可以上传到/var/sharedStuff。 APP1位于/var/www/app1,APP2位于/var/www/app2这两个应用程序都可以有一个符号链接到sharedStuff目录的目录。因此/var/www/app1/app/webroot/img/shared/var/www/app2/app/webroot/img/shared会在内部指向/var/sharedStuff。然后,您可以从应用程序中引用这些图像,就像将它们放在img/shared目录中一样。同样,您需要修改上传脚本以确保将文件上载到此共享目录(或符号链接)而不是独占目录。

为了让您知道,CakePHP内置了创建您自己的管理界面的功能。有很多教程。只是一个谷歌搜索。将它们分成两个应用程序似乎不太理想。

答案 1 :(得分:0)

使用meioupload,结果是我可以使用相对路径,所以我这样做:

public $actsAs = array(
    'MeioUpload' => array(
        'filename' => array(
            'dir' => '../../../path/to/outside/webroot',
            'create_directory' => true,
        )
    )
);