Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] skrypt robiący miniatury, mam, ale nie działa
Neojawor
post 27.11.2006, 21:42:31
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 2.12.2005
Skąd: Jaworzno

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


Mam skrypt, który najpierw robi upload pliku, a później zmniejsza go i nadpisuje. Coś niestety nie działa:
  1. <?php
  2. // ------- ładowanie pliku pliku
  3. $typ=getimagesize($_FILES['fota']['tmp_name']);
  4. if ($_FILES['fota']['type'] =='image/jpeg' || $_FILES['fota']['type'] == "image/png")
  5. {
  6.  $nazwa_pliku = "zdjecia/" . $_FILES['fota']['name'] ; 
  7.  $rozmiar = $_FILES['fota']['size'] / 1024;
  8.  // skrypt kopiujący plik na serwer
  9.  if(is_uploaded_file( $_FILES['fota']['tmp_name'] ) )
  10.  {
  11. if( move_uploaded_file( $_FILES['fota']['tmp_name'], $nazwa_pliku ) )
  12. {
  13.  // -------------------definicja funkcji do zmiany rozmiaru pliku
  14.  function image_resize($docelowy, $stary_plik, $max_x, $max_y)
  15.  {
  16. //funkcja zmniejsza zdjęcie proporcjonalnie, a oto parametry
  17. //$docelowy - ścieżka docelowego pliku
  18. //$stary_plik - ścieżka pliku źródłowego
  19. //$max_x - maksymalna szerokość zdjęcia
  20. //$max_y - maksymalna wysokość zdjęcia
  21. if($_FILES['fota']['type'] =='image/jpeg' )
  22. {
  23.  $plik=imagecreatefromjpeg($stary_plik);
  24. }
  25. elseif($_FILES['fota']['type'] == "image/png")
  26. {
  27.  $plik=imagecreatefrompng($stary_plik);
  28. }
  29. else
  30. {
  31.  die('Zly typ pliku, akceptowalne typy to: JPG/JPEG, PNG');
  32. }
  33. $stary_x=imagesx($plik);
  34. $stary_y=imagesy($plik);
  35. if($stary_x>$stary_y)
  36. {
  37.  $proporcje=$max_x / $stary_x;
  38. }
  39. else
  40. {
  41.  $proporcje=$max_y / $stary_y;
  42. }
  43. if($proporcje<1)
  44. {
  45.  $nowy_x=$stary_x * $proporcje;
  46.  $nowy_y=$stary_y * $proporcje;
  47.  $nowy_plik= imagecreatetruecolor($nowy_x, $nowy_y);
  48.  imagecopyresampled($nowy_plik, $plik, 0, 0, 0, 0, $nowy_x, $nowy_y, $stary_x, $stary_y);
  49. }
  50. if($_FILES['fota']['type'] =='image/jpeg' )
  51.  imagejpeg($nowy_plik, $docelowy, 96);
  52. else
  53.  imagejpeg($stary_plik, $docelowy, 96);
  54.  }//koniec funkcji image_resize
  55.  
  56.  $docelowy="zdjecia/" . $_FILES['fota']['name'];
  57.  image_resize($docelowy, $nazwa_pliku, 700, 700);
  58.  echo '<h3>Plik został załadowany!</h3><br />';
  59. }
  60. else
  61.  echo 'Upload pliku nie powiódł się!';
  62.  }
  63.  else
  64.  {
  65. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!n';
  66. echo 'Proszę sprawdzić, czy plik nie przekracza rozmiaru 1MB';
  67.  }
  68. }
  69. else
  70.  echo "Wybrany plik ma niepoprawne rozszerzenie. Dodać można tylko obrazy typu jpg/jpeg i png<br>";
  71. echo $nowy_x . " x " . $nowy_y;
  72. ?>

ostatnia linijka służyła do sprawdzenia jakie są wartości nowych rozmiarów pliku. Niestety wygląda na to, że te zmienne nie mają żadnych wartości, bo nic się nie wyświetla.
Dodam, nie wyświetla się żaden błąd. Skrypt przechodzi bez problemu, ale plik na serwerze się nie pojawia
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:49