Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Создание превьюшек (https://forum.antichat.xyz/showthread.php?t=105043)

sharoff 07.02.2009 00:22

Создание превьюшек
 
Ребят, доброе время суток.
Если что - не ругайтесь, нет особо много времени пользоваться поиском.
Нужен простенький скрипт загрузки картинок на сервер (желательно и с ПК и с URL), которые имеют рандомное название, с созданием превьюшек, которые масштабируются пропорционально по ширине (всмысле задается только ширина, высоту он сам подгоняет).

Если кто может - выдерните из ДЛЕ, может кто-то для себя писал, скиньте пожалуйста.

Заранее огромное спасибо!

Zitt 07.02.2009 00:36

4images

.:EnoT:. 07.02.2009 00:49

Вот старая функция пропорционального ресайза, когда-то давно писал.

PHP код:

function resize($image$type$width=500$height=400){
        
        if(
$type == 'gif'$srcImage ImageCreateFromGif($image);
        elseif(
$type == 'jpeg'$srcImage ImageCreateFromJpeg($image);
        elseif(
$type == 'png'$srcImage ImageCreateFromPng($image);
        elseif(
$type == 'bmp'$srcImage ImageCreateFromwBmp($image);
        else 
$srcImage false;        

        if(
$srcImage){   
        
            
$srcWidth  ImageSX($srcImage);
            
$srcHeight ImageSY($srcImage);
            
            if((
$width $srcWidth) || ($height $srcHeight)){
                
$ratioWidth  $srcWidth/$width;
                
$ratioHeight $srcHeight/$height;

                if(
$ratioWidth $ratioHeight){
                    
$destWidth  $srcWidth/$ratioHeight;
                    
$destHeight $height;
                }else{
                    
$destWidth  $width;
                    
$destHeight $srcHeight/$ratioWidth;
                }     
                
                
$resImage ImageCreateTrueColor($destWidth$destHeight);
                
ImageCopyResampled($resImage$srcImage0000$destWidth$destHeight$srcWidth$srcHeight);
                
                if(
$type == 'gif') return ImageGif($resImage$image);
                elseif(
$type == 'jpeg') return ImageJpeg($resImage$image);
                elseif(
$type == 'png') return ImagePng($resImage$image);
                elseif(
$type == 'bmp') return ImagewBmp($resImage$image);
                else return 
false;
                
                
ImageDestroy($srcImage);
                
ImageDestroy($resImage);
            }
        }
    } 

Ну а с загрузкой всё просто.
Локально: cм. функции move_uploaded_file() или copy()
А удалённо: file_get_contents() и сохраняешь через fopen() и fputs()


Время: 13:02