我正在创建一个约会网站,用户可以在其中上传他们的图片,有些是私人的,有些是公开的。
我计划做的是保存所有上传的图像,当我想展示它们时,我会有一个脚本来调用它们。
即:url-> mysite.com/members/mainimage/5
处理这个调用的函数是: public function mainImage($user) {
$this->load->model('tables/user_images_table');
$image = $this->user_images_table->getMainUserImage($user);
if($image != null ) {
$imageExploded = explode('.',$image);
switch( $imageExploded[1] ) {
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default:
}
$imagePath = 'uploads/'.$image;
} else {
//default image
$imagePath = 'inner/default.png';
$ctype = 'image/png';
}
header('Content-type: '.$ctype);
readfile(base_url()."images/".$imagePath);
}
但是当我看到我的网站越来越大时,我注意到每个用户图像请求我的所有应用程序文件都已加载,这可能会减慢我的网站速度。
你知道如何保存私人图像(不会通过 url 公开,只有在对用户进行一些检查之后)