Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Implementacja WideImage
Forum PHP.pl > Forum > Przedszkole
d0m1n1k_
Witam,

od dłuższego czasu próbuję przy okazji uploadu zdjęć dodać bibliotekę WideImage aby skalowała dodawane zdjęcia do dokładnie rozmiaru 800x600 z zachowaniem proporcji (dla zdjęć w innych proporcjach powinna "wyczarować" czarne tło i przeskalować obrazek tak aby dłuższa krawędź zawierała się w wyznaczonym rozmiarze).
Mimo moich starań i prób nie udało mi się tego dokonać.

Skrypt uploadu wygląda następująco:
  1. foreach ($_FILES['files']['name'] as $f => $name) {
  2. if ($_FILES['files']['error'][$f] == 4) {
  3. continue; // Pomin jesli sa bledy
  4. }
  5. if ($_FILES['files']['error'][$f] == 0) {
  6. if ($_FILES['files']['size'][$f] > $max_file_size) {
  7. $message[] = "$name jest za duzy!.";
  8. continue; // Nie dla duzych plikow
  9. }
  10. elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
  11. $message[] = "$name ma zly format";
  12. continue; // Nie dla nie zdjec
  13. }
  14. else{
  15. if($count <= 9){ //Działa to działamy. I działamy do 10 pliku włącznie.
  16. $rozszerzenie = pathinfo($_FILES["files"]["name"][$f], PATHINFO_EXTENSION);
  17. $newnamee = date('YmdHis') . md5(md5(rand(1,9999999))) . "." . $rozszerzenie;
  18. if(move_uploaded_file($_FILES['files']['tmp_name'][$f], $path.$newnamee))
  19. $newnamss[$count] = array($count => $newnamee);
  20. $count++;
  21. }
  22. }
  23. }
  24. }
  25. $dodajmy_fotorelacje = mysql_query("INSERT INTO `vhlphotocontrol`(`vpc_id`, `vpc_usr`, `vpc_vhlid`, `vpc_title`, `vpc_opinion`, `vpc_milage`, `vpc_sugestmlg`, `vpc_score`, `vpc_worth`, `vpc_photo0`, `vpc_photo1`, `vpc_photo2`, `vpc_photo3`, `vpc_photo4`, `vpc_photo5`, `vpc_photo6`, `vpc_photo7`, `vpc_photo8`, `vpc_photo9`, `vpc_addeddate`) VALUES (NULL, '$usrid', '$prawidlowy_id', '$fotorelacja_tytulrel', '$fotorelacja_twojinia', '$fotorelacja_przebieg', '$fotorelacja_sugebieg', '$fotorelacja_ocena', '$fotorelacjaczybysku', '" . $newnamss[0][0] . "', '" . $newnamss[1][1] . "', '" . $newnamss[2][2] . "', '" . $newnamss[3][3] . "', '" . $newnamss[4][4] . "', '" . $newnamss[5][5] . "', '" . $newnamss[6][6] . "', '" . $newnamss[7][7] . "', '" . $newnamss[8][8] . "', '" . $newnamss[9][9] . "', NOW())");
  26. echo "<center><font size=\"5\">Zdjecia dodane - brawo!!<br /></font></center>";


Sam skrypt uploadu działa poprawnie, ale WideImage jest dla mnie zwyczajnie nie do załapania.
Bardzo proszę o pomoc za którą będę dozgonnie wdzięczny, bo obecnie dodawane pliki są bez zmiany rozmiarów i tak jak teraz, wieczorami siedzę z fillezilla i fotosizer, ściągając wszystkie nowe zdjęcia, zmieniając ich proporcje i wysyłając nowe zmienione pliki na serwer na piechotę...

Oczywiście WideImage nie jest moim konkretnym wyborem, ale Turson go proponował.
kayman
poczytaj przykłady np. tu -> http://php.net/manual/en/function.getimagesize.php
Turson
Co do samego zmniejszania obrazka to: http://wideimage.sourceforge.net/examples/basic/
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.