Php 编码点火器图像输出don';不能在不同的控制器中工作
我有2个控制器(CodeIgniter)Php 编码点火器图像输出don';不能在不同的控制器中工作,php,codeigniter,Php,Codeigniter,我有2个控制器(CodeIgniter) IndexController是MY_控制器的一个子类 adminController是MY_Admin_Controller的子类(MY_Admin Controller是MY_Controller的子类) 在控制器(索引和管理)中,我都有一个函数。这: function thumb() { $product = $this->products->get_product_by_id($this->uri->segme
- IndexController是MY_控制器的一个子类
- adminController是MY_Admin_Controller的子类(MY_Admin Controller是MY_Controller的子类)
function thumb() {
$product = $this->products->get_product_by_id($this->uri->segment(2));
if($product == NULL) show_error("No Access", 403);
$delimeter = "";
if(stripos($product->thumbpath, "/") !== false) {
$delimeter = "/";
} else {
$delimeter = "\"";
}
$arr = explode($delimeter, $product->thumbpath);
$path = "uploads/".$this->uri->segment(2)."/".$arr[count($arr)-1];
$this->load->image($path, get_mime_by_extension($path));
}
如果我从adminController执行此函数,它会执行。
但是如果我从indexController执行这个函数-它不会
这在my routes.php中:
$route['thumb/:any'] = "index/thumb";
- 从管理员控制器我得到一个工作图像
- 从indexController我得到一个损坏的图像
有人知道我能做什么吗?我猜当你在索引控制器中时,$path是错误的。试试这个:
$path = base_url()."uploads/".$this->uri->segment(2)."/".$arr[count($arr)-1];
老实说,当我使用base_url而不是相对路径将CI中的大多数链接设置为绝对路径时,我发现CI中的大多数链接更容易处理,而且从我的理解来看,绝对路径更适合SEO,尽管我无法证明这一点。图像函数使用相对路径。我用另一种方法解决了这个问题。我将函数粘贴在一个单独的控制器(而不是indexController)中,就像一个thumbController一样。我不知道为什么这样行而另一个不行。。。。
$path = base_url()."uploads/".$this->uri->segment(2)."/".$arr[count($arr)-1];