Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Upload foto i zmiana rozdzielczości
PWN
post 30.07.2011, 18:17:02
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2011

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


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,
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
lobopol
post 30.07.2011, 18:47:25
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


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ć


--------------------
Go to the top of the page
+Quote Post
PWN
post 30.07.2011, 19:00:15
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2011

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


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/
Go to the top of the page
+Quote Post
lobopol
post 30.07.2011, 19:04:59
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


A w jaki sposób używasz daj kod


--------------------
Go to the top of the page
+Quote Post
PWN
post 30.07.2011, 19:24:59
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2011

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


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
Go to the top of the page
+Quote Post
lobopol
post 30.07.2011, 19:30:28
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Jakieś błędy wyrzuca? Czy picture.jpg rzeczywiście jest obrazkiem znajdującym się w tym samym miejscu co skrypt?


--------------------
Go to the top of the page
+Quote Post
PWN
post 30.07.2011, 19:49:11
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2011

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


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 {

?>
Go to the top of the page
+Quote Post
lobopol
post 30.07.2011, 19:53:49
Post #8





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


http://www.9lessons.info/2009/03/upload-an...e-with-php.html popatrz i pomodyfikuj


--------------------
Go to the top of the page
+Quote Post
PWN
post 31.07.2011, 16:54:24
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 30.07.2011

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


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
Go to the top of the page
+Quote Post

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: 14.08.2025 - 01:45