文件位置绝不会通过客户端脚本(HTML/CSS/JavaScript的),因为他们从来没有“服务”的服务器设。客户端只能访问服务器所在文件夹(www目录和其他别名目录)内的文件。但是,SERVER SIDE SCRIPT可以访问主机中的文件。这就是为什么像PHP这样的服务器端脚本语言可以从主机中的任何位置输出图像的原因。即
header('Content-type: image/jpeg');
readfile("d:/1.jpg");
exit();
或
header('Content-type: image/jpeg');
// IF YOUR PHP FILE IS "D:/program files/wamp/www/index.php"
readfile("../../../1.jpg");
exit();
你可以,但是,这样做:
<?Php
if(strtoupper($_SERVER['REQUEST_METHOD']) == 'GET'
&& isset($_GET['image']) && isset($_GET['drive']))
{ header('Content-type: image/jpeg');
readfile("{$_GET['drive']}:{$_GET['image']}");
// THIS WILL HAVE THE FOLLOWING VALUE ONCE CALLED:
// readfile("d:/path/to/my/file/myfile.jpg");
exit();
}
<html>
<img src="{$_SERVER['PHP_SELF']}?drive=d&image=/path/to/my/file/myfile.jpg">
or simply:
<img src="?drive=d&image=/path/to/my/file/myfile.jpg">
</html>
?>
这是从来没有建议,除非你知道你在做什么,虽然,因为它会暴露你的系统。
如果您打算这样做,请确保检查文件类型,控制$ _GET的字符串内容,监控访问的目录并收紧每个安全漏洞。
来源
2015-10-05 09:16:55
RRB
看这里:http://superuser.com/questions/244245/how-do-i-get-apache-to-follow-symlinks – h0ch5tr4355
我会尽力谢谢! – depecheSoul
权限怎么样?是apache用户可读的图像吗? – jossif