我有一个问题,显示存储在我的debian服务器上的图像存储在web服务器可访问的路径之外,以保证它安全。 Here's链接到预期的结果,以及下面的相关PHP代码:用php显示图像png的问题
header("content-type: image/png");
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "superPassword") {
// If password is valid
$filename = "/home/image/test.png";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
echo $contents;
} else {
// If password is invalid
echo '<p>Mot de passe incorrect</p>';
}
什么是'v'标志吗['fopen'(http://php.net/manual/en/function.fopen.php)?顺便说一句,还有['file_get_contents'](http://php.net/manual/en/function.file-get-contents.php)和['readfile'](http://php.net/manual/ EN/function.readfile.php)。 – Kenney
这是一个小错误,但修复后没有改变结果,并且我尝试了file_get_content并显示相同。 – Amulus
好吧,'header(“Content-Type:image/png”); readfile(“/home/image/test.php”);'应该工作正常 - 如果该文件存在! *文件路径*'/ home/image/test.png'和''之间有*区别:后者低于Web服务器的DocumentRoot。 – Kenney