无法从ouside根目录服务器显示图像

时间:2016-12-14 03:19:29

标签: php

这是我的代码:

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

问题是,图像没有显示,只是显示,我做错了吗?

2 个答案:

答案 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文件时存在同样的问题。

相关问题