【问题标题】:why does codeigniter give me this error?为什么codeigniter给我这个错误?
【发布时间】:2011-09-07 17:08:24
【问题描述】:

我正在尝试制作用户图片的缩略图。但是,我总是得到“图像的路径不正确。”

我的代码:

$settings = array(
            'source_image' => '/videotuts/profilepic/userimg.png',
            'create_thumb' => TRUE,
            'new_image' => '/videotuts/profilepic'
        );
$this->load->library('image_lib',$settings);

$r = $this->image_lib->resize();

codeigniter 没有安装在我的网站根目录中是否重要?

【问题讨论】:

  • 我不熟悉codeigniter,但我猜source_imagenew_image 被指定为绝对路径(在文件系统上是绝对路径,而不是相对于网站根目录),这会导致问题.尝试将source_image 路径替换为$_SERVER['DOCUMENT_ROOT'] . '/videotuts/profilepic/userimg.png',对new_image 路径执行相同操作。

标签: php codeigniter image-processing path resize


【解决方案1】:

查看所有答案和 cmets,假设您在文件夹 /htdocs/videotuts/ 中有 codeigniter,请注意开头有一个 /。所以你index.php 位于htdocs/videotuts/index.php。 Codeigniter 库将遵循与index.php 相关的任何路径,因此在/htdocs/videotuts/ 下应该有一个路径/videotuts/profilepic/userimg.png,或者完整路径应该是'/htdocs/videotuts/videotuts/profilepic/userimg.png'。如果不同,请从路径中删除不需要的文件夹名称。您不需要使用APPPATHFCPATHBASEPATH。第二,如果您正在创建缩略图,我希望您已正确设置图像文件夹的读写权限。

【讨论】:

  • 我还没有测试过你的建议,但我会尽快测试它们,但是看看你的论点和你的详细解释,你的答案似乎很好,所以还是给它+1。
  • 感谢您的支持,我在过去 2.5 年里一直在使用 CI 完成大部分个人项目,最近完成了一个使用 CI2 的小项目
  • 我发现了错误。我可以通过在路径前添加一个点来解决它,这样它就变成了`./profilepic/userimg.png'。我不知道为什么,因为我一直认为点只是指当前目录,因此,只有当你使用其中的2个上一级时才有用。
  • 弗雷德里克,我就是这么说的。 CI 将遵循与index.php 相关的所有路径。因此,将路径设置为 ./profilepic/userimg.png 意味着您已将路径设置为包含 index.php 的当前工作目录。
【解决方案2】:

该文件夹实际上是否位于您服务器上的绝对路径中?如果没有,请尝试使用 APPPATH 常量。

'source_image' => APPPATH.'videotuts/profilepic/userimg.png',

【讨论】:

  • APPPATH 是在 CodeIgniter 中定义的吗?路径末尾是否有/,即是/www/htdocs 还是/www/htdocs/
  • 我的 codeigniter 安装在 htdocs/videotuts/。但是,因为我认为相对路径是相对于 index.php 文件看到的,所以我首先尝试在没有将 videotuts 目录添加到路径的情况下使用它们。然后,我尝试添加 videotuts 部分,看看它是否是相对于站点根目录计算的。
  • @binarLV 它确实有一个斜杠,在 codeigniter 前端控制器中定义。
  • @Frederik Creemers 它与站点根目录无关。提供绝对路径或相对于前端控制器的路径(index.php)
  • 这很奇怪,我在添加 /videotuts 之前指定的路径是相对于前端控制器的,但这也不起作用。如果文件类型不受支持或文件已损坏,是否也会出现此错误?
【解决方案3】:

如果您使用的是 CI 2.0.2,则您的 APPPATH 是应用程序文件夹。你应该使用 FCPATH,试试这个:

'source_image' => FCPATH.'videotuts/profilepic/userimg.png',

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 2012-04-25
    • 2015-06-25
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多