【问题标题】:Is it possible to change image folder in cakephp 2.4是否可以在 cakephp 2.4 中更改图像文件夹
【发布时间】:2014-03-24 09:49:40
【问题描述】:

我已经阅读了很多文档,但未能解决问题: 我现有项目中的图像存储在$_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 已被弃用。

我想这就是问题所在。

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

【问题讨论】:

    标签: cakephp cakephp-2.4


    【解决方案1】:

    根据您的描述,我认为IMAGES_URL 应该是media/ 而不仅仅是/

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-04
      • 2013-04-28
      • 2012-05-15
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多