Совместное использование папки изображений между двумя доменами cakephp

У меня есть веб-сайт и поддомен, который позволяет пользователям загружать изображения в свою учетную запись, два домена представляют собой приложения cakephp, которые используют один и тот же CakeLib, но разные каталоги приложений. Я хочу иметь доступ к изображениям, загруженным из одного домена из другого (например, если пользователь переходит на поддомен и загружает изображение, я должен иметь доступ к тому же изображению из родительского домена и наоборот) .

Обратите внимание, доступ к этим изображениям осуществляется строго в представлениях. Я буду признателен за любые предложения.

Спасибо


person sfagade    schedule 06.08.2012    source источник


Ответы (2)


$this->Html->image('http://subdomain.example.com/image.png');

Что-то вроде вышеприведенного? :o, вы также можете расширить свой помощник:

class MyAppHelper extends AppHelper {
    public $helpers = array('Html');

    public function subdImage($path) {
        return $this->Html->image('http://subdomain.example.com/' . $path);
    }
}

и назовите его с вашей точки зрения, например:

$this->MyApp->subdImage('image.png');
person Andreas Wong    schedule 06.08.2012
comment
Спасибо, но я надеялся избежать междоменного обращения к изображениям, потому что это займет значительно больше времени, чем если бы я обращался к изображениям локально. Вот почему я не использовал эту тактику в первую очередь - person sfagade; 06.08.2012
comment
Вы уверены, что это займет больше времени? Оба они обслуживаются одним и тем же клиентом с одного хоста. - person RichardAtHome; 06.08.2012
comment
@sfagade что значит медленнее? : o, браузеры могут загружать разные изображения параллельно, если они размещены с двух разных доменов (субдомен обрабатывается по-разному), во всяком случае, это должно сделать ваше приложение быстрее. developer.yahoo.com/performance/rules.html#js_bottom The HTTP/1.1 specification suggests that browsers download no more than two components in parallel per hostname. If you serve your images from multiple hostnames, you can get more than two downloads to occur in parallel. - person Andreas Wong; 06.08.2012
comment
Спасибо, это все, что мне нужно знать. Большое спасибо - person sfagade; 07.08.2012
comment
Рад, что смог помочь :), вы можете поблагодарить меня, щелкнув пустой знак V рядом с моим ответом. meta.stackexchange.com/questions/ 5234/ - person Andreas Wong; 07.08.2012

Просто символическая ссылка на папку. Я бы сделал свой путь загрузки настраиваемым и указал его, например, на /home/www-data/images и символически связал его с обоими приложениями, такими как /var/www/app1/webroot/img и /var/www/app2/webroot/img. Код вообще не нужен. Симлинкинг работает и в Windows.

person floriank    schedule 06.08.2012
comment
Спасибо, но я не думаю, что вы можете создать символическую ссылку на общем хостинге cpanel. Не могли бы вы - person sfagade; 06.08.2012