Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> upload zdjęci i automatyczne tworzenie miniatur
xiaon
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


Próbuje stworzyć upload obrazków z automatycznym tworzeniem miniatur o określonych rozmiarach lecz nie wiem jak. znalazłem upload i miniaturki lecz nie wiem jak to połączyć ze sobą (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
  1. <?php
  2. $uploaddir = 'galeria/';
  3. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.$_FILES['plik']['name']))
  4. {
  5. echo 'Plik został załadowany poprawnie <br><br>';
  6. echo '<img src="galeria/'.$_FILES['plik']['name'].'">';
  7. }
  8. else
  9. echo 'Błąd podczas uploadowania pliku.';
  10.  
  11.     //Przypisujemy do zmiennej $img_path sciezke do obrazka
  12.     $img_path = $_GET['galeria/'];
  13.  
  14.     //Tworzymy sciezke do miniaturki
  15.     $thumb_path = substr($img_path,0,strrpos($img_path,'.')).'.t.jpg';
  16.  
  17.     //ustalamy maksymalny dopuszczalny rozmiar miniatury
  18.     $max_width=$max_height=100;
  19.  
  20.     //Sprawdzamy czy obraz istnieje
  21.     if(!file_exists($img_path))die('<p>Plik obrazu nie istnieje</p>');
  22.    
  23.     //Pobieramy informacjie o obrazie
  24.     $img_attr = getimagesize($img_path);
  25.  
  26.     //Sprawdzamy czy obraz jest wiekszy na szerokosc czy na wysokosc
  27.     // i zmniejszamy odpowiednio rozmiar
  28.     // $img_attr[0] - szerokosc, $img_attr[1] - wysokosc
  29.     if($img_attr[0]>$img_attr[1]){
  30.         $scale = $img_attr[0] / $max_width;
  31.     }else{
  32.         $scale = $img_attr[1] / $max_height;
  33.     }    
  34.  
  35.     //Tworzymy obraz miniaturki
  36.     $w = floor($img_attr[0]/$scale);
  37.     $h = floor($img_attr[1]/$scale);
  38.     $thumb = imagecreatetruecolor($w,$h);
  39.  
  40.     //Kopiujemy obraz pomniejszajac go,
  41.     imagecopyresampled($thumb, imagecreatefromjpeg($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]);
  42.  
  43.     //Zapisujemy do pliku (jakosc 85)
  44.     imagejpeg($thumb,$thumb_path,85);
  45. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
BatGraf
post
Post #2





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 20.03.2007
Skąd: Kruklanki/Otwock

Ostrzeżenie: (0%)
-----


a u mnie bardzo ładnie chodzi. Dzieki wielkie, głównie za cierpliwość. Postaram się przejrzeć po kolei ten skrypt, żeby nie zostało to na zasadzie kopiuj wklej.

Żałuję tylko, że nie moge kliknąć "Pomógł" , bo nie zakładałem tego postu, ale Twój post Pomógł (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mam tylko jedno czy dwa pytania. Wiem w którym miejscu tworzy jedną czy dwie miniatury, jakie rozmiary ma mieć (proporcja lub szer i wys), ale podpowiedz mi, jak ustawić, żeby stosowało tylko np szer lub tylko wysokość? Chcę zrobic tak żeby wszystkie miniaturoy miały taką samą wysokość lub taka samą szerokość.

1. Jak utworzyć miniaturę tylko zmieniając jeden bok? Np szer, a wys zmniejszy się proporcjonalnie?
2. Czy mozna miniatury zapisywać w innym folderze, a duże zdjęcie w innym?
3. Czy mozna uploadując zdjęcie zmienic mu rozmiar na np 800 szer (duża fotka)

Ten post edytował BatGraf 18.01.2009, 18:49:42
Go to the top of the page
+Quote Post

Posty w temacie
- xiaon   upload zdjęci i automatyczne tworzenie miniatur   13.01.2009, 20:10:25
- - ayeo   @xiaon, witaj na Forum! To Twój pierwszy post ...   13.01.2009, 20:16:01
- - xiaon   Nikt nie chce mi pomóc;/;/   13.01.2009, 20:58:58
- - grubyx   Witaj, ja do takiego czegoś napisałem sobie dawno ...   14.01.2009, 06:57:45
- - xiaon   to mam utworzyć nowy php o nazwie class.upload.ph...   14.01.2009, 17:20:43
- - grubyx   Stwórz class.upload.php i do upl.php (tego co masz...   15.01.2009, 09:56:41
- - BatGraf   Przyłaczę się do prosby kolegi. Możesz to po kolei...   15.01.2009, 17:01:18
- - pooh   Ja używam czegoś takiego, może pomo...   15.01.2009, 18:49:39
- - grubyx   Ok więc robimy sobie plik class.upload.php i wrzuc...   16.01.2009, 14:27:01
- - xiaon   zrobiłem tak jak napisane wyżej i wyskoczył mi błą...   17.01.2009, 20:52:07
- - BatGraf   a u mnie bardzo ładnie chodzi. Dzieki wielkie...   18.01.2009, 17:19:31
- - grubyx   Cytat(xiaon @ 17.01.2009, 20:52:07 ) ...   19.01.2009, 14:04:42
- - endigarnek   Witam, Mógłby ktoś przerobić skrypt tak aby można ...   21.01.2009, 18:26:48
- - grubyx   Zrobiłem. Plik class.upload.php: [PHP] pobierz, p...   22.01.2009, 04:46:17
- - EarthCitizen   Nie mam siły o tej porze przeglądać całej klasy, a...   22.01.2009, 04:50:40
- - 98256   wszystko fajnie pieknie, ale sypie mi bledami, tak...   20.05.2009, 21:43:23
- - tadeoooo   Odświeżam bo mam błąd ale nie wiem jak go naprawić...   24.03.2010, 03:11:26
- - eai   Hej, jestem autorem projektu http://code.google.c...   24.03.2010, 10:03:33
- - ksaw   a ja mam jedno pytanie ! skrypt nadaje wgrywan...   20.07.2010, 15:58:33
- - lukaszk   Witam, mam pewien problem. Wszystko działa czyli w...   30.01.2011, 01:39:15
- - eai   Za mało przydzielonej pamięci dla PHP. Zwiększ mem...   30.01.2011, 08:14:51
- - lukaszk   Ah napisałem post zanim wgrałem go na serwer gdzie...   2.02.2011, 11:52:53
- - mb83   a jakie parametry wstawić do zapytania insert w sq...   2.12.2012, 11:34:02


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 18:00