我有一个PHP脚本上传图像,将其重命名为随机哈希,基于哈希创建文件夹,将原始图像存储在上次创建的文件夹中,最后为其创建2个其他缩略图...提供图像? htaccess重定向图像文件夹?
定期图像... images/a3c/65c/297/108_a3c65c2974270fd093ee8a9bf8ae7d0b.jpg
缩略图...... images/a3c/65c/297/108_a3c65c2974270fd093ee8a9bf8ae7d0b_t.jpg
小缩略图... images/a3c/65c/297/108_a3c65c2974270fd093ee8a9bf8ae7d0b_sm.jpg
对于上传的每张照片,它将存储在包含DB的新纪录照片ID而这个信息
/a3c/65c/297/108_a3c65c2974270fd093ee8a9bf8ae7d0b
(注意如何我没有存放“.JPG”或‘_t.jpg’等)
现在,为了让我担任图像(我不知道这是否是一个好的做法),目前我有这个PHP函数,返回图像...
function get_image($image_id,$type = '')
{
$sql = "SELECT * FROM photos where photo_id = {$image_id}";
$query = $this->db->query($sql);
$r = $query->row();
$image = base_url().'images/'.$r->dir_1 . '/' . $r->dir_2 . '/' . $r->dir_3 . '/'.$image_id.'_'.$r->img_hash;
if($type == 'small')
return $image.'_sm.jpg';
if($type == 'reg_thumb')
return $image.'_t.jpg';
if($type == '' || $type == 'original')
return $image.'.jpg';
}
基本上,我想要做的事,如Twitter,其中所述图片的URL看起来像这样
https://twimg0-a.akamaihd.net/profile_images/2392722244/blah.jpg
问题...
- 我怎样才能实现这种类型的URL结构的? htaccess的?
- 我是否以正确的方式返回图像?
- 是我在做什么安全,聪明和良好的做法?如果不是有更好的方法吗?
谢谢!!
谢谢你的答案,我忘了提及..我的目录数量的原因是由于我建立一个大型的web应用程序的事实...我们正在查看数百万张正在上传的照片,所以我需要将这些图像均匀分布。我会去做HTaccess,我会去改变这个功能来切换大小写。再次感谢!上面的htaccess的 – Kenny
,我在哪里放?在网站的主要根目录或图像文件夹中?对不起,我没有htaccess – Kenny
的技能它不工作..嗯 – Kenny