|
|
|
|
|
для: hatsker
(12.01.2006 в 23:04)
| | ok | |
|
|
|
|
|
|
|
|
для: cccp
(11.01.2006 в 23:16)
| | Добрый день!
Я пробовал сам и поставил такую строку что бы покозать уменьшенную фотку.
<img src="<?=resizeimg($filename, $smallimage, 133, 100); ?>">
|
Я вижу название файла, но фотка не видна потому что не виден тип файла.
Вот так высвечиват:
Что сделать ?
Помогите пожалуста.
Где ошибка? | |
|
|
|
|
|
|
|
для: Саня
(11.01.2006 в 02:29)
| | Извените , но не могли бы вы показать мне, на моём случае, как мне добавить в мой старый код эту функцию?
(или пропустить через неё)
Я смотрел , пробовал сделать сам, но не получается.
Пожалуста.
Буду очень благодарен!
PS:
Толко, на сколько я понял, скрипт сохроняет фото файлы большого размера и делает маленькие, да?
Я же думал найти скрипт который просто будет переделывать перпендекулярно все загруженные фото файлы. Или это не вожможно? | |
|
|
|
|
|
|
|
для: cccp
(11.01.2006 в 00:25)
| | Нужно объявить функцию resizeimg(). Вот её код:
<?
function resizeimg($filename, $smallimage, $w, $h)
{
// определим коэффициент сжатия изображения, которое будем генерить
$ratio = $w/$h;
// получим размеры исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];
// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились
// пропорции исходного изображения
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
// масштабируем изображение функцией imagecopyresampled()
// $dest_img - уменьшенная копия
// $src_img - исходной изображение
// $w - ширина уменьшенной копии
// $h - высота уменьшенной копии
// $size_img[0] - ширина исходного изображения
// $size_img[1] - высота исходного изображения
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
?>
|
Я давал ссылку на тему с этой функцией.
http://softtime.ru/forum/read.php?id_forum=1&id_theme=145
А ещё нужно использовать функцию is_image(), код которой есть в листинге. | |
|
|
|
|
|
|
| Я решил завести отдельную тему на этот вопрос.
Помоги пожалуста.
Я попытался добавить сюда строчки что бы скрипт переделыывал размер фото файлов , но ничего не получилось.
Вот скрипт что отправляет файл:
<?php
$dossier_cible = "../music";
if(isset($_FILES['f'])&&isset($_POST['d']))
{
if(file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du même nom existe déjà !</h1></body></html>");
if(!move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename($_FILES['f']['name']))) die("Echec ! Vérifiez les persmissions du dossier $dossier_cible !");
$d = substr($_POST['d'],0,60); $fp = fopen("$dossier_cible/d/".basename($_FILES['f']['name']),"w");
fwrite($fp,$d);fclose($fp);
}
?>
|
вот что мне подсказали на форуме (а точнее Саня)
<?php
// $filename - имя проверяемого файла
// $height - высота, к которой будет приведено изображение
// $width - ширина, к которой будет приведено изображение
function is_image($filename, $height, $width) {
// Массив разрешённых расширений файла
$ext = ("gif", "jpg", "png", "jpeg");
$explode = explode(".", $filename);
if (in_array($explode[count($explode) - 1])) {
$size = getimagesize($filename);
if ($size[1] > $height || $size[0] > $width) {
resizeimg($filename, $filename, $height, $width);
}
} else {
echo("Запрешённый тип файла!");
}
}
?>
|
Я попытался сам добавить так:
<?php
$dossier_cible = "../music";
if(isset($_FILES['f'])&&isset($_POST['d']))
{
if(file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du même nom existe déjà !</h1></body></html>");
if(!move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename($_FILES['f']['name']))) die("Echec ! Vérifiez les persmissions du dossier $dossier_cible !");
$d = substr($_POST['d'],0,60); $fp = fopen("$dossier_cible/d/".basename($_FILES['f']['name']),"w");
fwrite($fp,$d);fclose($fp);
}
// $filename - имя проверяемого файла
// $height - высота, к которой будет приведено изображение
// $width - ширина, к которой будет приведено изображение
function is_image($f, $height, $width) {
// Массив разрешённых расширений файла
$ext = ("gif", "jpg", "png", "jpeg");
$explode = explode(".", $);
if (in_array($explode[count($explode) - 1])) {
$size = getimagesize($f);
if ($size[1] > $height || $size[0] > $width) {
resizeimg($f, $filename, $height, $width);
}
} else {
echo("Запрешённый тип файла!");
}
}
?>
|
| |
|
|
|
|