Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Rozmiar zdjecia i akceptowane typy
Forum PHP.pl > Forum > Przedszkole
Turson
1. Jak zrobic, aby przy wysyłaniu formularza sprawdzało jaki typ pliku jest wgrywany na serwer, aby można było jednie zdjecia wrzucac?
2. Jak zrobic zeby przy wysylaniu zmiejszało obrazek do danych rozmiarow?
darko
1. Po wysłaniu formularza i uploadowaniu pliku na serwer sprawdzaj rozszerzenie (funkcja pathinfo) i/lub typ mime pliku (spr. czy $_FILES['NAZWA']['type'] zawiera ciąg 'image/')
2. Do tworzenia miniatur można użyć jakiejś gotowej biblioteki np. phpThumb, albo napisać samemu odpowiedni skrypt korzystający z funkcji GD
Turson
Ze sprawdzaniem typu sobie poradziłem, z punktem 2 nie. Jak nazywa sie funkcja, która zmienia rozmiar zdjęcia?
wookieb
Cytat(darko @ 13.03.2010, 10:49:58 ) *
1. Po wysłaniu formularza i uploadowaniu pliku na serwer sprawdzaj rozszerzenie (funkcja pathinfo) i/lub typ mime pliku (spr. czy $_FILES['NAZWA']['type'] zawiera ciąg 'image/')

Bzdura. Możesz obejść bez problemu
http://pl2.php.net/manual/en/function.getimagesize.php
I warto przejrzeć dokładnie dokumentację tej funkcji.


Cytat(TursoN @ 13.03.2010, 12:08:39 ) *
Ze sprawdzaniem typu sobie poradziłem, z punktem 2 nie. Jak nazywa sie funkcja, która zmienia rozmiar zdjęcia?

imagecopyresampled
darko
Wklejam fragment mojej jakiejś starej metody do pomniejszania jpg-ów, żebyś tylko załapał o co mniej więcej chodzi (pomniejszenie 7-mikrotne proporcjonalne):
  1. $img = imagecreatefromjpeg($uploaded_image);
  2. $rescaleX = $x / 7;
  3. $rescaleY = $y / 7;
  4. $imgmini = imagecreatetruecolor($rescaleX, $rescaleY);
  5. imagecopyresampled($imgmini, $img, 0, 0, 0, 0, $rescaleX, $rescaleY, $x, $y);
  6. imagejpeg($imgmini, $tmp_file_mini, 95);


i już, gotowy zestaw funkcji, tylko odpowiednie argumenty trzeba im podstawić. Sprawdź w manualu za, za co te funkcje odpowiadają + do tego funkcja getimagesize aby pobrać wys. i szer. obrazka.

Cytat(wookieb @ 13.03.2010, 12:11:14 ) *
Bzdura. Możesz obejść bez problemu
http://pl2.php.net/manual/en/function.getimagesize.php
I warto przejrzeć dokładnie dokumentację tej funkcji.



imagecopyresampled

A czy ja gdzieś napisałem, że nie można tego obejść? Fakt, można sprawdzić tą funkcją czy przesłany plik to obrazek.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.