загрузите изображение вне папки CakePHP webroot / img - PullRequest
0 голосов
/ 09 июня 2011

Я создаю веб-приложение, используя CakePHP. Я использую meioupload для загрузки изображений. Эти изображения успешно загружены. Я хотел бы разделить admin-app и public-app, конечно же, на два отдельных приложения CakePHP. Проблема в том, что я не могу поделиться изображениями, которые были загружены в webroot общедоступного приложения, с web-корнем admin-приложения и наоборот. Я думаю о загрузке этих изображений в другую папку за пределами этих двух приложений. Я на правильном пути? Если я, как я могу это сделать?

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Одним из решений является изменение вашего сценария для загрузки ваших изображений в «общий» каталог, который может быть просмотрен обоими приложениями. Или, если вы работаете в 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 имеет встроенную функциональность для создания вашего собственного интерфейса администратора. Есть много учебников там. Просто поиск Google далеко. Разделение их на два приложения кажется не идеальным.

0 голосов
/ 21 июня 2011

используя meioupload, получается, что я могу использовать относительный путь, поэтому я делаю это так:

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