php读取文件,并且可以下载很简单

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="baidu_logo.jpg"');
header('Content-Transfer-Encoding: binary');
readfile('./baidu_logo.jpg');

只需要更改文件名和文件路径即可

例如我们有一张图片附件表 里面有很多图片
我们其他表,例如文章,都是存的图片表的主键id
我们如果想要将能够访问的图片地址给前端,就需要join一下,麻烦
我们可以img.php?id=图片id
我们这个img.php就根据图片id,查询以后,读出文件,那么我们去查文章表,只需要将写好的img.php和图片附件表的主键id拼接一下,丢给前端即可,前端直接拿着这个地址去访问

但是性能不够高,会导致本来由nginx直接输出静态资源,变成nginx转发给php,php读取文件,再返回给nginx,造成不必要的性能损耗
并且大量图片会导致频繁查库
实际业务应该存图片路径

仅供学习,勿用于实际业务

最后修改:2020 年 05 月 06 日 02 : 53 PM
如果觉得我的文章对你有用,请随意赞赏