是否可以在cakephp 2.4中更改图像文件夹

时间:2014-03-24 09:49:41

标签: cakephp cakephp-2.4

我已经阅读了很多文档,但未能解决问题: 存储在$_SERVER['DOCUMENT_ROOT'].'/media/'中的现有项目中的图像 我想,但不能将cakephp 2.4默认图像文件夹从$_SERVER['DOCUMENT_ROOT'].'/app/webroot/img/'更改为我想要的任何内容。

lib / Cake / bootstrap.php包含常量:

/**
 * Path to the public images directory.
 */
if (!defined('IMAGES')) {
    define('IMAGES', WWW_ROOT . 'img' . DS);
}

/**
 * Web path to the public images directory.
 */
if (!defined('IMAGES_URL')) {
    define('IMAGES_URL', 'img/');
}

Configure::write('App.imageBaseUrl', IMAGES_URL);

我试图改变:

IMAGES to $_SERVER['DOCUMENT_ROOT'].'/media/'

IMAGES_URL to /

它根本不起作用。所有图像文件仍然指向$_SERVER['DOCUMENT_ROOT'].'/app/webroot/img/'我在尝试在视图中渲染图像时看到它:

echo $this->Html->image('/img/ride_scheme/chema.jpg', array( 'width' => 300 ));

如果我创建了in app/webroot/img/ride_scheme图像文件 chema.jpg ,它会被渲染,但我在 lib / Cake / bootstrap.php 中更改了IMAGES中的文件夹常量! !!

在文档中我看到:

  

常量IMAGES_URL,JS_URL,CSS_URL已被弃用   替换为配置变量App.imageBaseUrl,App.jsBaseUrl,   App.cssBaseUrl分别   常量IMAGES,JS,CSS已被弃用。

我猜这就是问题所在。

请告诉我如何更改图像文件夹

1 个答案:

答案 0 :(得分:1)

根据您的说明,我认为IMAGES_URL应为media/,而不仅仅是/

或者,你可以在你的.htaccess(在项目根目录中)添加一个RewriteRule来重写媒体文件夹中的所有内容(假设你有一个启用了Rewrite模块的Apache Web服务器):

RewriteRule ^app/webroot/img/(.*) /media/$1

或者您可以创建一个将img /文件夹链接到媒体文件夹的符号链接(假设您已经在Linux主机上,并且您对服务器有ssh / shell访问权限):

cd app/webroot
rm -rf img/
ln -s ../../media img