自分のサイトに、特定の「チャンネル」の背景画像をアップロードできる機能があります。私が抱えている問題は、一部のユーザーが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