Php 为用户上载设置标准背景图像分辨率
我的网站上有一个功能,用户可以上传特定“频道”的背景图像。我遇到的问题是,一些用户上传的图片分辨率为3000+px x 2000+px,而其他用户上传的图片分辨率为1280 x 720,以此类推 解决这种情况的最好办法是什么?我应该继续让他们上传像那样的巨大决议吗?或者将上传限制为某个像素量?我该怎么做呢 用户可以在此处上载背景图像:Php 为用户上载设置标准背景图像分辨率,php,javascript,Php,Javascript,我的网站上有一个功能,用户可以上传特定“频道”的背景图像。我遇到的问题是,一些用户上传的图片分辨率为3000+px x 2000+px,而其他用户上传的图片分辨率为1280 x 720,以此类推 解决这种情况的最好办法是什么?我应该继续让他们上传像那样的巨大决议吗?或者将上传限制为某个像素量?我该怎么做呢 用户可以在此处上载背景图像: <? $images = glob(base_root().'uploads/channels/'. $Channels->id .'/backgro
<?
$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");
<?
}
?>
});
$(文档).ready(函数(){
document.getElementById('userBackground');
$(“#userBackground”).css(“背景”,“url('')重复-x滚动0px 0px透明”);
$(“#userBackground”).css(“背景附件”,“固定”);
});
您可以实现一种动态调整图像大小的方法,使其适合前端所需的大小;然而,这并不会阻止他们使用你的带宽,也不会让网站对每个人都变慢
最好的解决方案是设置一个尺寸,在尺寸和尺寸方面都足够好,然后再使用它。如果需要,可以裁剪它。我认为最好的方法是限制php.ini的上传文件大小,然后调整服务器图像大小,最终以最佳分辨率存储 下面是一个在PHP中调整图像大小的好代码
如果有疑问,你不应该让用户上传任何文件。我也想建议这个链接:p,非常好用。我已经成功地为背景图像设置了800KB的限制。对于最佳解决方案,您有什么建议?1280 x 800?取决于图像格式(PNG通常比JPEG大)。无论如何,我认为800KB对于一个标准质量的JPEG来说是不错的