|
|
|
| Что необходимо прописать в коде,чтоб размер(в кб) картинки на странице был меньше,чем настоящий.например настоящий размер изображения 240*320(размер 26кб),а в превью на странице 60*80(<26кб). | |
|
|
|
|
|
|
|
для: ekstrom
(18.04.2010 в 20:28)
| |
<?
function img_resize($src, $dest, $width, $height, $rgb = 0xFFFFFF, $quality = 100) {
if (!file_exists($src)) return false;
$size = getimagesize($src);
if ($size === false) return false;
$kr = $size['0']/$size['1'];
$height = $width/$kr;
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format;
if (!function_exists($icfunc)) return false;
$x_ratio = $width / $size[0];
$y_ratio = $height / $size[1];
$ratio = min($x_ratio, $y_ratio);
$use_x_ratio = ($x_ratio == $ratio);
$new_width = $use_x_ratio ? $width : floor($size[0] * $ratio);
$new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio);
$new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2);
$new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);
imagefill ($idest, 0, 0, $rgb );
imagecopyresampled ($idest, $isrc, $new_left, $new_top, 0, 0,
$new_width, $new_height, $size[0], $size[1]);
imagejpeg ($idest, $dest, $quality );
imagedestroy ($isrc );
imagedestroy ($idest );
return true;
}
|
Вы зываем так:
img_resize(Откуда, 'Где сохраняем, ширина, высота(необязательно расчитываеться автоматически)); | |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 20:43)
| | А как например вставить в этот код?
$file_name = $_FILES['img1']['name'];
$file_name = strrchr($file_name, ".");
$filename = $_FILES['img1']['tmp_name'];
$s = "ORDER BY `id` DESC";
$bd = mysql_query("select * from newyear $s LIMIT 0,1;");
$list = mysql_fetch_array($bd);
$nom=($list['id']+1);
$ext = substr($_FILES['img1']['name'], 1 + strrpos($_FILES['img1']['name'], "."));
$ext =mb_strtolower($ext);
$size = $_FILES['img1']['size'];
$siz = round(($size/1024), 2);
if (@move_uploaded_file($filename, "$nom.$ext") &&
(mysql_query
("INSERT INTO `newyear`
( `foto`, `size`)
VALUES
('$nom.$ext', '$siz')
")
))
{
echo 'Успешно.';
echo'<br><a href=".">Вернутся</a><br>';
}
else
{
echo 'Ошибка.';
echo'<br><a href=".">Вернутся</a><br>';
}
|
| |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 20:43)
| | Много лишнего, не нужного. | |
|
|
|
|
|
|
|
для: sim5
(18.04.2010 в 20:51)
| | Да есть чуток, все руки не доходят подправить(надеюсь сейчас хоть дойдут у кого-нить:), просто изначально код был для наложения изображения на фон. | |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 20:52)
| | Да не чуток, а прилично. | |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 20:43)
| | Или же сразу в этот..
while($mess = mysql_fetch_array($res5))
{
printf("<div class=kntent><br><img src ='%s' height='$shir' width='$vis'></img><br><a href='%s'>%s</a> [%s KB]<br>",$mess["foto"],$mess["foto"],$mess["foto"],$mess["size"]);
}
|
| |
|
|
|
|
|
|
|
для: ekstrom
(18.04.2010 в 20:51)
| | Код создает картинку и сохраняет ее на диске. Относительный путь указан во втором параметре функции, просто сохраняйте этот путь в базу и просто тупо выводите. | |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 20:54)
| | Не могли бы Вы показать как это выглядит.. | |
|
|
|
|
|
|
|
для: ekstrom
(18.04.2010 в 20:58)
| | А вас ни сколько не смутит, если изображение просто не загуризится? | |
|
|
|
|
|
|
|
для: sim5
(18.04.2010 в 21:00)
| | Да нет если сделать все нужные проверки загружаемого файла, то картинка загрузиться(ниодного сбоя не было). А чистить код если честно лень :) | |
|
|
|
|
|
|
|
для: ekstrom
(18.04.2010 в 20:58)
| |
<?
// проверяем все параметры загруженного файла
$a = $HTTP_POST_FILES["userfile"]["tmp_name"];
// тут всякие проверки $a
img_resize($a, 'prevew/img1'.jpg', 370, 300);
|
Сохраниться в папку 'prevew/img1.jpg' - этот путь заносим в базу | |
|
|
|
|
|
|
|
для: tvv123456
(18.04.2010 в 21:01)
| | $_FILES["userfile"]["tmp_name"];
Проверять сперва нужно, что файл загружен, дабы не перемолачивать в пустую вздух. Не надо советовать "тупо". | |
|
|
|
|
|
|
|
для: sim5
(18.04.2010 в 21:05)
| | >Проверять сперва нужно, что файл загружен, дабы не перемолачивать в пустую вздух.
Дак это я подразумевал когда писал: "// проверяем все параметры загруженного файла "
Ладно пойду учиться правильно излогать свои мысли :) | |
|
|
|