vave
Полезный
- Регистрация
- 22 Июн 2007
- Сообщения
- 467
- Реакции
- 16
- Автор темы
- #1
Подскажите пожалуйста, уважаемые знатоки, как в данном коде установить функцию сжатия изображения до 1600 пикселей в ширину, а если изображение меньше, то оставить каким его загрузили.
PHP:
<?php
if (isset($_FILES['fupload']['name'])){
if (empty($_FILES['fupload']['name']) AND $_FILES['fupload']['name'] == ''){
$noavatar2 = "bg_demo.jpg";
$result = mysql_query("SELECT avatar2 FROM users WHERE id='$userid'");
$avatar2ka = mysql_fetch_array($result);
if ($avatar2ka['avatar2'] != $noavatar2) {
unlink ('../avatars/'.$avatar2ka['avatar2']);
}
}
else{
$path_to_90_directory = '../avatars/';
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))
{
$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);
if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ;
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename); }
$w = imagesx($im);
$quality = 80;
$w_src = imagesx($im);
$h_src = imagesy($im);
$rezim = 2;
switch ($rezim){
//**************************** 1
case "1" :
$dest = imagecreatetruecolor($w,$w);
if ($w_src > $h_src){
imagecopyresampled($dest, $im, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
}
if ($w_src < $h_src){
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
}
if ($w_src == $h_src){
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $h_src);
}
break;
case "2" :
$prop = $w_src/$h_src;
$h = $w/$prop;
$dest = imagecreatetruecolor($w,$h);
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $h, $w_src, $h_src);
break;
}
$random = rand(1000000, 9999999);
imagejpeg($dest, $path_to_90_directory.$random.".jpg", $quality);
$avatar2 = $random.".jpg";
$delfull = $path_to_90_directory.$filename;
unlink ($delfull);
$result = mysql_query("SELECT avatar2 FROM users WHERE id='$userid'");
$avatar2ka = mysql_fetch_array($result);
if ($avatar2ka['avatar2'] != $noavatar2) {
unlink ('../avatars/'.$avatar2ka['avatar2']);
}
}
else{
exit ("Only <strong>JPG,GIF and PNG</strong>");
}
}
$up = mysql_query("UPDATE users SET avatar2='$avatar2' WHERE id='$userid'");
if ($up == true) {
echo "<meta http-equiv='Refresh' content='0; URL=/web/admin/w.php#bg'>";
}}
?>