Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » @GUTEK@ 05:27
 » alien1 05:19
 » piszczyk 04:17
 » Shark20 03:52
 » Martens 03:45
 » cVas 02:53
 » mo2 02:43
 » rzymo 02:25
 » mirek190 02:21
 » Visar 02:04
 » MARC 01:52

 Dzisiaj przeczytano
 41145 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

[PHP-długie] Robienie miniatórek zdjęć przy ich uploadowaniu na serwer. , grattz 25/01/07 16:27
Nie znam jeszcze dobrze PHP i być może moje rozumowanie nie jest prawidłowe więc jak coś to mnie poprawcie.

Napisałem skrypt który uploaduje pliki na serwer. Pliki noszą nazwe :
$id.$_FILES['Plik']['name']
a katalog to:
../portal2006/uploads/


Gdy plik sie wgrywa na serwer pod linia :
if (move_uploaded_file($_FILES['Plik']['tmp_name'],'../portal2006/uploads/'.$id.$_FILES['Plik']['name']))

wklejam kod który znalazłem w necie:
`````````````````````````````````````````````````````````````
<?php
// definicja funkcji robiącej miniaturę zdjęcia
function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality)
{
/*
* source - obrazek jpeg
* max_x - maksymalna szerokosc pomniejszonego obrazka
* max_y - maksymalna dlugosc pomniejszonego obrazka
* save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
* jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
*/

if(exif_imagetype($source) == IMAGETYPE_JPEG)
{
$img_src = imagecreatefromjpeg($source);
}
elseif(exif_imagetype($source) == IMAGETYPE_GIF)
{
$img_src = imagecreatefromgif($source);
}
elseif(exif_imagetype($source) == IMAGETYPE_PNG)
{
$img_src = imagecreatefrompng($source);
}
else
{
die('Wrong filetype! Accepted images: JPG/JPEG, GIF, PNG');
}

$image_x = imagesx($img_src);
$image_y = imagesy($img_src);
if($image_x > $image_y) // Landscape
{
$ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
$ratio_y = $ratio_x;
$move = 'y';
}
else // Portrait
{
$ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
$ratio_x = $ratio_y;
$move = 'x';
}
$new_x = $image_x*$ratio_x;
$new_y = $image_y*$ratio_y;

$move_x = ($move == "x") ? ($max_x-$new_x)/2 : 0;
$move_y = ($move == "y") ? ($max_y-$new_y)/2 : 0;
$new_img = imagecreatetruecolor($max_x, $max_y); //tworzy obrazek o identyfikatorze $new_img i rozmiarach $max_x i $max_y
$background = imagecolorallocate($new_img, 255, 255, 255); //przypisuje kolor czarny (255, 255, 255) do obrazka $new_img
imagefill($new_img, 0, 0, $background); //wypełnia obrazek $new_image przypisanym kolorem $background
imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);

if(exif_imagetype($save_image) == IMAGETYPE_JPEG) //tworzy zmniejszony obrazek $save_image w zależności od typu pliku
{
imagejpeg($new_img, $save_image, $jpeg_quality);
}
elseif(exif_imagetype($save_image) == IMAGETYPE_GIF)
{
imagegif($new_img, $save_image);
}
elseif(exif_imagetype($save_image) == IMAGETYPE_PNG)
{
imagepng($new_img, $save_image);
}

echo '<img src="'.$save_image.'" border="1">'; //wyświetla zmniejszony obrazek $save_image
}
// koniec definicji funkcji robiącej miniaturę
?>

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I przypisuje im wartości :
$source = '../portal2006/uploads/'.$id.$_FILES['Plik']['name'];
$max_x = "60px";
$max_y = "60px";
$save_image = 'miniaturka'.$id.$_FILES['Plik']['name'];
-------------------------------------------------------------------------------------

I mimo ze nie wyskakuje żaden bład przy wykonywaniu kodu to miniaturka się nie tworzy.

...poprzednia |1|2|3|4| następna...

  1. W temacie , grattz 25/01/07 16:28
    "miniaturek" miało być.

    ...poprzednia |1|2|3|4| następna...

  2. Aha i przypisanie wartości robie oczywiście , grattz 25/01/07 16:30
    przed tym wklejonym kodem. A wklejony kod umieszczam bez "<?php" i "?>".

    ...poprzednia |1|2|3|4| następna...

  3. nie bardzo , WooKy 25/01/07 16:36
    mam ochote przekopywac sie przez ten kod ale czy masz na serwerze biblioteke GD 2.0 ?

    bitnoi.se

    1. to tak , WooKy 25/01/07 16:36
      pierwsze co mi sie nasunelo ;)

      bitnoi.se

    2. Szczerze mówiąc to sprawdzałem to , grattz 25/01/07 16:38
      tylko na Apache zainstalowanym u mnie na komputerze. Nie wiem co to za biblioteka ale spróbuje wgrać to na serwer robi.to gdzie mam konto.

      ...poprzednia |1|2|3|4| następna...

      1. TO samo :[ , grattz 25/01/07 17:33
        123

        ...poprzednia |1|2|3|4| następna...

        1. hmm , _oLo_1984 25/01/07 20:06
          zapytaj tu -> forum.php.pl


          tam ludzie mają duże pojęcie w tym temacie

          pozdrawiam

          awake

          1. Pytam, pytam :] , grattz 25/01/07 20:13
            Juz od dłuższego czasu :]

            ...poprzednia |1|2|3|4| następna...

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL