Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload foto i zmiana rozdzielczości
Forum PHP.pl > Forum > Przedszkole
PWN
Mam problem otóż posiadam taki oto kod uploadera:
  1. $typ = explode(".",($_FILES['plik']['name']));
  2. if($typ[1] == "gif" or $typ[1] == "jpg" or $typ[1] == "JPG" or $typ[1] == "GIF" or $typ[1] == "jpeg" or $typ[1] == "JPEG" or $typ[1] == "png" or $typ[1] == "PNG")
  3. {
  4. $data_img=date('dmYHi');
  5. $uploaddir = 'img/upload/'.$data_img.'-';
  6. $_FILES['plik']['name'] = przyjazny_string($_FILES['plik']['name']);
  7. if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.$_FILES['plik']['name']))
  8. {
  9. $plik='img/upload/'.$data_img.'-'.$_FILES['plik']['name'];
  10. $tytul=$_POST['tytul'];
  11. $zrodlo=$_POST['zrodlo'];
  12. $autor=$_SESSION['login'];
  13. $data=date('d-m-Y H:i');
  14.  
  15. $zapytanie = "INSERT INTO `media` (`id`, `tytul`, `plik`, `zrodlo`, `autor`, `data`, `typ`) VALUES ('', '$tytul', '$plik', '$zrodlo', '$autor', '$data', 'plik')";
  16. $wykonaj = mysql_query($zapytanie);
  17. echo '<b>Obrazek został pomyślnie dodany!</b><br/>
  18. <a href="index.php">&laquo; Strona Główna</a>';
  19. }
  20. else {
  21. echo '<b>Wystąpił błąd podczas dodawania obrazka.</b><br>';
  22. echo '<a href="dodaj.php">&laquo; Powrót</a>';
  23. }
  24. }
  25. else {
  26. echo '<b>Nie wybrano żadnego obrazka bądź jego format jest niedozwolony!</b><br/><a href="dodaj.php">&laquo; Powrót</a>';
  27. }


i chciałbym dołożyć do niego funkcję która zmniejsza by obrazek jeśli jego szerokość jest większa niż 600px - proszę o pomoc jak to zrobić.

Dzięki. Pozdrawiam,
lobopol
Po wgraniu obrazka sprawdzić czy to jest obrazek (getimagesize), zobaczyć czy obrazek ma większą wielkość niż dozwolona, jeżeli tak to wyliczyć sobie nową szerokość i wysokość no i cóż tworzyć obrazki smile.gif
funkcje do użycia:
-imagecreatetruecolor
-imagecopyresampled
-imagecreatefromjpeg lub imagecreatefromgif itd.
-imagejpeg lub imagepng itd.
Z tych informacji powinieneś zrobić bez problemó to co zamierzasz, a jak nie to na google jest tysiące stron z przykładami jak to zrobić
PWN
lobopol, wiem, że istnieją takowe funkcje ale niezbyt wiem jak je zastosować przy powyższym uploaderze...
Znalazłem też takie rozwiązanie ale ono niestety nie działa - http://www.white-hat-web-design.co.uk/blog...mages-with-php/
lobopol
A w jaki sposób używasz daj kod
PWN
czego kod? Resizing images with PHP - stworzyłem plik SimpleImage.php natomiast przed form dodałem to co było podane na stronie:
Kod
<?php
   header('Content-Type: image/jpeg');
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToWidth(150);
   $image->output();
?>

ale jak wspomniałem to nie działa...

Dlatego chciałbym zastosować jakieś inne rozwiązanie ale niezbyt wiem w którym miejscu dodać funkcję getimagesize
lobopol
Jakieś błędy wyrzuca? Czy picture.jpg rzeczywiście jest obrazkiem znajdującym się w tym samym miejscu co skrypt?
PWN
nie brak błędów - następuje upload fotki ale bez ingerencji tzn. jest oryginalny rozmiar
a wyżej omyłkowo wkleiłem zły kod - taki dodaję kod przed form:
Kod
<?php
   if( isset($_POST['submit']) ) {

      include('SimpleImage.php');
      $image = new SimpleImage();
      $image->load($_FILES['uploaded_image']['tmp_name']);
      $image->resizeToWidth(150);
      $image->output();
   } else {

?>
lobopol
http://www.9lessons.info/2009/03/upload-an...e-with-php.html popatrz i pomodyfikuj
PWN
Jeśli mogę to prosiłbym o wskazówkę co przerobić w kodzie uploadera (z pierwszego postu) ponieważ ciężko jest mi metodą prób i błędów to zrobić smile.gif
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.