【发布时间】:2013-02-02 21:05:31
【问题描述】:
我正在创建一个约会网站,用户可以在其中上传他们的图片, 有些是私人的,有些是公开的。
我打算做的是保存所有上传的图像,当我想展示它们时,我会有一个脚本来调用它们。
ie: url-> mysite.com/members/mainimage/5
处理这个调用的函数是: 公共函数 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 公开,只有在对用户进行一些检查之后)
【问题讨论】:
-
例如 Facebook:它使用随机长名称的图像,您无法轻松预测模式。
标签: php image image-uploading image-upload