我正在尝试将图像作为输出,但似乎set_output()
函数无法正常使用内容类型jpeg
我的代码如下......
$image = file_get_contents('assets/images/ThinkstockPhotos-145054512_small.jpg');
$this->output->set_content_type('jpeg')->set_output($image);
当我用纯文本文件替换图像时,在这种情况下,它会显示正确的输出
$file = file_get_contents('assets/images/test.txt');
$this->output->set_content_type('text')->set_output($file);
我已将内容类型从set_content_type('jpeg')
更改为set_content_type('jpg')
和set_content_type('gif')
,但stil它不起作用,并且不会显示输出。
我现在得到的输出显示在下面的截图中。
答案 0 :(得分:0)
我只能在file_get_contents
提供(1)错误路径或(2)不存在的图像时才能在我的localhost设置上复制该问题。我认为您需要提供图像的完整路径,就像任何与目录/文件相关的操作一样。
尝试使用FCPATH
所在的index.php
,并假设您的assets/
文件夹。
public function index() {
$file = FCPATH . 'assets/images/ThinkstockPhotos-145054512_small.jpg';
if (!is_file($file)) {
exit('File not found!');
}
$image = file_get_contents($file);
$this->output->set_content_type('jpeg')->set_output($image);
}
注意:如果您获得File not found!
,请确保/htdocs/assets/...
中的文件存在,其中/htdocs/index.php
是您的主CI文件