这是我的代码:
public function show_image(){
$file = "logout.png";
$fileDir = '/home/dazor/Pictures/';
if (file_exists($fileDir . $file))
{
$contents = file_get_contents($fileDir . $file);
header('Content-type: image/png');
header('Content-Length: ' . filesize($fileDir . $file));
echo $contents;
}
}
我的档案清单:
total 136
-rwxrwxrwx 1 dazor dazor 40464 Jul 1 2014 ilkom.jpg
-rw-r--r-- 1 dazor dazor 54662 Nov 13 19:33 ilkom.txt
-rw-r--r-- 1 dazor dazor 20677 Oct 10 01:12 image.txt
-rwxrwxrwx 1 dazor dazor 15305 Oct 5 19:23 logout.png
问题是,图像没有显示,只是显示,我做错了吗?
答案 0 :(得分:0)
我认为你可以在linux上使用symlink
<%@page import="javaname.java"%>
示例:ln -s TARGET LINK_NAME
因此,您可以访问公用文件夹上的图像
答案 1 :(得分:0)
确保代码中的header()
之前没有发送输出。
来自PHP手册http://php.net/manual/en/function.header.php
请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include或require,函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。