Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Фотогалерея
 
 автор: Roma   (26.07.2007 в 18:27)   письмо автору
 
 

Всем привет!!!
Решил сделать фотогалерею. Хочу использовать библиотеку GD для уменьшения фоток для вывода на главную страницу. А при нажатии чтобы открывалось большое фото.
Читал литератуту и темы на форуме по этому вопросу. Понял как надо уменьшать фотки. Одно не понятно: как выводить эти уменьшенные фотографии?
Есть предположение создать отдельную папку для маленьких фоток и, уменьшая их сохранять туда,а потом выводить оттуда. Надеюсь, объяснил понятно. Заранее спасибо

   
 
 автор: SHAman   (26.07.2007 в 19:16)   письмо автору
 
   для: Roma   (26.07.2007 в 18:27)
 

Твой вариант нормальный. Только замотаешься потом их удалять оттудава, когда большой клон удалять будешь:)
Я генерю картинки на лету. Тормозит, зато проблем меньше в смысле удобства.

Просто выводишь свой html так:
<img src="small_img.php?w=200&h=200&src=real_url" />

Понятно объяснил? : )

   
 
 автор: deman-b   (26.07.2007 в 22:14)   письмо автору
 
   для: Roma   (26.07.2007 в 18:27)
 

add_img.php

<?php

$img_errors 
"";

@
mkdir($catalog0777);

if (@
$_REQUEST['submit_reg'])
{
    if (@
file_exists($_FILES['file']['tmp_name']))
    {
        if (
$_FILES['file']['size'] > 1024 $upload_file_size)
        {
            
$img_errors "<li>Размер загружаемого Файла превышает ".$upload_file_size."Kb!";
        }
        else
        {
            
$img = @getimagesize($_FILES['file']['tmp_name']);
            if (
preg_match('{image/(.*)}is'$img['mime'], $p))
            {
                if (
$img[2]==2)
                {
                    
$load_img imagecreatefromjpeg($_FILES["file"]["tmp_name"]);
                    include 
"rec_img.php";
                }
                elseif (
$img[2]==1)
                {
                    
$load_img imagecreatefromgif($_FILES["file"]["tmp_name"]);
                    include 
"rec_img.php";
                }
                elseif (
$img[2]==3)
                {
                    
$load_img imagecreatefrompng($_FILES["file"]["tmp_name"]);
                    include 
"rec_img.php";
                }
                else
                {
                    
$img_errors "<li>Этот рисунок не является файлом с расширением JPG, GIF или PNG!";
                }
            }
            else
            {
                
$img_errors "<li>Файл недопустимого формата!";
            }
        }
    }
}    
clearstatcache();

?>

rec_img.php

<?php

    $small_img_src 
$catalog."/".$img_name.".jpg";
    
$width $img[0];
    
$height $img[1];
    
$factor $height $small_height;
    
$small_width $width $factor;
    
$factor strcspn($small_width,".");
    
$small_width substr($small_width,0,"$factor");
    
$small_img imageCreateTrueColor($small_width$small_height);
    
imageCopyResampled($small_img$load_img0000$small_width$small_height$width$height);
    
imageJpeg($small_img$small_img_src$quality_small_img);
    
imageDestroy($small_img);
    
imageDestroy($load_img);

?>

index.php

<?php
include "config.php";
$catalog $user_catalog;
$img_name $this_time;
include 
"add_img.php";
?>

config.php

<?php
$small_height 
130// высота маленькой картинки
$quality_small_img 75// качество маленькой картинки
$user_catalog "usr-foto"// каталог в котором сохранять картинки
$upload_file_size 100// максимальный размер загружаемой картинки (КБ)
$this_time time();
?>

ХЗ.... должно работать... :о)

   
 
 автор: deman-b   (26.07.2007 в 22:25)   письмо автору
 
   для: deman-b   (26.07.2007 в 22:14)
 

АЙ ай ай!!!! форму забыл!! сорри))
form.php

<?php
include "config.php";
?><form action="index.php" method="post" name="form" enctype="multipart/form-data">
<b>Фото:&nbsp;</b>
<input type="file" name="file" size="28" maxlength="1024" class="forum_reg_input">
Max size: <?=$upload_file_size ?>kb
<input type="submit" name="submit_reg" value="OK" class="forum_reg_input">
</form>

конечно извение, код не идеальный... он только для примера..

   
 
 автор: deman-b   (26.07.2007 в 22:31)   письмо автору
 
   для: deman-b   (26.07.2007 в 22:14)
 

я наверно не в тему ляпнул этот код из своего старого форума..))))

вообще маленькие и "оригинальные" фотки мона хранить в одном каталоге..
например именуя их : small_1153938505.jpg и large_small_1153938505.jpg
1153938505 - время создания фотки на сервере...
но для удобства - лутше в раздельных small и large ...

   
 
 автор: Roma   (27.07.2007 в 11:59)   письмо автору
 
   для: deman-b   (26.07.2007 в 22:31)
 

Спасибо большое за пример

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования