我的網站上有一項功能,用戶可以在其上爲其特定「頻道」上傳背景圖像。我遇到的問題是有些用戶上傳圖片的分辨率爲3000 + px x 2000 + px,而其他圖片上傳的圖片爲1280 x 720,依此類推。爲用戶上傳設置標準背景圖像分辨率
這種情況的最佳途徑是什麼?我應該不斷讓他們上傳這樣的巨大決議嗎?或者限制上傳到一定的像素量?我會如何去做這件事?
這裏是用戶可以在其中上傳背景圖片:
<?
$images = glob(base_root().'uploads/channels/'. $Channels->id .'/background/{*.jpg,*.Jpg,*.JPG,*.jpeg,*.Jpeg,*.JPEG,*.gif,*.Gif,*.GIF,*.png,*.Png,*.PNG}', GLOB_BRACE);
if(is_array($images) AND count($images) >= 1) {
$imagePaths = pathinfo($images[0]);
$channelBackgroundSrc = base_url() .'uploads/channels/'. $Channels->id .'/background/'. $imagePaths['basename'] .'?rand='. mt_rand(0, 9999);
?>
下面是在每用戶的「信道」,其中它得到的背景圖像用於該特定信道的頂部的代碼。
$(document).ready(function() {
<?
$images = glob(base_root().'uploads/channels/'. $channel['id'] .'/background/{*.jpg,*.Jpg,*.JPG,*.jpeg,*.Jpeg,*.JPEG,*.gif,*.Gif,*.GIF,*.png,*.Png,*.PNG}', GLOB_BRACE);
if(is_array($images) AND count($images) >= 1) {
$imagePaths = pathinfo($images[0]);
$channelBackgroundSrc = base_url() .'uploads/channels/'. $channel['id'] .'/background/'. $imagePaths['basename'] .'?rand='. mt_rand(0, 9999);
?>
document.getElementById('userBackground');
$("#userBackground").css("background", "url('<?=$channelBackgroundSrc?>') repeat-x scroll 0px 0px transparent");
$("#userBackground").css("background-attachment", "fixed");
<?
}
?>
});
來調整圖像如有疑問,你不應該讓用戶上傳任何文件。 – hakre
這是必不可少的 – MJ93