Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zmiana rozdzielczości obrazka
greg.paw.90
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


Witam,
mam pytanie w jaki sposób zmienić rozdzielczość wgrywanego obrazka.

Tak wgrywam:

  1. <?php
  2. if(isset($_POST['wyslij'])){
  3.       if( is_uploaded_file( $_FILES['userfile']['tmp_name'] ) )
  4.           {
  5.             $plik = '../galeria/img_' . $_FILES['userfile']['name'];
  6.                 if( move_uploaded_file( $_FILES['userfile']['tmp_name'], $plik ) )
  7.                 {
  8.               echo 'Plik został pomyslnie uploadowany! <br />';
  9.               echo 'link do niego: galeria/img_'.$_FILES['userfile']['name'];
  10.                 }
  11.                 else
  12.                 {
  13.               echo 'Upload pliku nie powiodl sie!';
  14.                 }
  15.           }
  16.       else
  17.       {
  18.     echo 'Wystapil blad podczas wysylania pliku na serwer!';
  19.    
  20.                                        print_r($_FILES);
  21.       }
  22. }
  23. ?>


Ten post edytował greg.paw.90 9.07.2009, 19:36:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




image" title="Zobacz w manualu PHP" target="_manual... dry.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
greg.paw.90
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


ok poczytam, i spróbuje zrobić... mam nadzieje, że w razie czego mogę liczyć na Wasze podpowiedzi.

witam ponownie,

chcę zrobić upload plików z automatyczną generacją miniaturki.

Napotkałem jednak na problem. Mianowicie miniaturka mi się generuje, ale źle tzn. min tworzy się poprzez kadrowanie obrazka, a ja bym chciał zmniejszyć obrazek, który jest wgrywany a nie ucinać go do wielkości miniaturki.

Mógłby ktoś pomóc ?

  1. <?php
  2. function galeria(){
  3.    echo '<form enctype="multipart/form-data" action="test.php?galeria=add" method="POST">
  4.            <input type="hidden" name="MAX_FILE_SIZE" value="900000" />
  5.             Plik do wyslania: <input name="userfile" type="file" />
  6.             <input type="submit" name="wyslij" value="Wyślij" />
  7.        </form><hr>';
  8.        $foty = '../galeria';
  9.        $i = 1;
  10.   if ($katalog = opendir($foty)) {
  11.           while ($plik = readdir($katalog)) {
  12.           $katalog2 = opendir($foty);
  13.                       if (ereg (".jpg$" , $plik)){
  14.                   echo '<img height="10%" width="10%" src="../galeria/min/' . $plik . '"></a>';
  15.                   echo ' <a class="del" href="test.php?galeria=usun&id='.$plik.'">usun plik</a><br><br>';
  16.                       if(($i % 4)==0){
  17.                       }
  18.                       $i++;
  19.                       }
  20.           }
  21.   }
  22. }
  23.  
  24. function galeria_add(){
  25.        if(isset($_POST['wyslij'])){
  26.        $typ = $_FILES['userfile']['type'];
  27.        if ($typ == "image/jpeg"){
  28.        $losowa_nazwa = md5(microtime());
  29.       if( is_uploaded_file( $_FILES['userfile']['tmp_name'] ) )
  30.           {
  31.             $plik = '../galeria/img_' . $losowa_nazwa.'.jpg';
  32.             if( move_uploaded_file( $_FILES['userfile']['tmp_name'], $plik ) )
  33.                 {
  34.               echo 'Plik został pomyslnie uploadowany! <br />';
  35.               echo 'link do niego: galeria/img_'.$losowa_nazwa;
  36.                  $src = imagecreatefromjpeg($plik);
  37.                $size = @getimagesize($file);
  38.                $width = $size[0];    
  39.                $height = $size[1];
  40.                $max_width = '120';
  41.                $max_height= '95';
  42.                  $color = imagecreatetruecolor($max_width, $max_height);
  43.                imagecopyresampled($color, $src, 0, 0, 0, 0, $max_width, $max_height, $max_width, $max_height);
  44.                  imagejpeg($color, "../galeria/min/img_".$losowa_nazwa.".jpg", 100);
  45.                 }
  46.                 else
  47.                 {
  48.               echo 'Upload pliku nie powiodl sie!';
  49.                 }
  50.           }
  51.       else
  52.       {
  53.     echo 'Wystapil blad podczas wysylania pliku na serwer!';
  54.    
  55.                                        print_r($_FILES);
  56.       }
  57. }
  58. }
  59. else{
  60. echo 'Upload tylko dla plików jpg';
  61. }
  62. }
  63.  
  64. function galeria_usun(){
  65.    $id=$_GET['id'];
  66.    $usun='../galeria/'.$id;
  67.    unlink($usun);
  68.    echo "Pomyślnie usunąłem obraz:".$id;
  69. }
  70. ?>


Ten post edytował greg.paw.90 10.07.2009, 17:17:12
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. imagecopyresampled($color, $src, 0, 0, 0, 0, $max_width, $max_height, $max_width, $max_height);
  3. ?>

Musisz podać też wymiary źródłowe. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
greg.paw.90
post
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


  1. <?php
  2. imagecopyresampled($color, $src, 0, 0, 0, 0, $max_width, $max_height, $width, $height);
  3. ?>


Jak zrobię tak to czarny obrazek mi się generuje
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie dziwię się, skoro width/height wynoszą zero. tongue.gif

Sprawdź parę linijek wyżej, czy Ci się zmienne nie pomyliły.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
greg.paw.90
post
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


rzeczywiście, dzięki za pomoc...

Mam jeszcze jedno pytanie... czy można zrobić tak aby po kliknięciu w przeglądaj były dostępne tylko pliku jpg/jpeg. ? (tak jak to się da np. w visual c++)

próbowałem tak ale nie działa: <input type="hidden" name="FILE_MIME" value="image/jpg" /> ?

Ten post edytował greg.paw.90 10.07.2009, 17:53:51
Go to the top of the page
+Quote Post
Spawnm
post
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




po prostu sprawdzaj mime w php , nie jpg -> error
oczywiście nie zapomnij potem o reszcie filtrów smile.gif
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Da się na pewno do input file. Atrybut accept.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
greg.paw.90
post
Post #10





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

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


zrobiłem tak

  1. <input name="userfile" type="file" accept="image/jpeg,image/jpg" />



i nie działa... trudno zrobię tylko po przez sprawdzanie w php

  1. <?php
  2. if ($_FILES["userfile"]["type"] == "image/pjpeg" || $_FILES["userfile"]["type"] == "image/jpeg")
  3.  {
  4. ...
  5. }
  6. ?>
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. sprawdzanie po stronie klienta może być TYLKO DODATKIEM, po stronie serwera musisz
  2. przeglądarka nie zawsze musi dostarczać prawidłowe MIME
  3. IE nie obsługuje po prostu tagu accept


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Spawnm
post
Post #12





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(erix @ 10.07.2009, 19:03:07 ) *
Da się na pewno do input file. Atrybut accept.

tylko co to za zabezpieczenie , zrobi ktoś na lokalu własny form bez blokady.
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Aleś przeczytał mojego posta ;p


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(erix @ 10.07.2009, 18:28:53 ) *
  1. sprawdzanie po stronie klienta może być TYLKO DODATKIEM, po stronie serwera musisz
  2. przeglądarka nie zawsze musi dostarczać prawidłowe MIME
  3. IE nie obsługuje po prostu tagu accept



Cytat(Spawnm @ 10.07.2009, 18:29:50 ) *
tylko co to za zabezpieczenie , zrobi ktoś na lokalu własny form bez blokady.



Cytat(erix @ 10.07.2009, 22:33:16 ) *
Aleś przeczytał mojego posta ;p


Spawnm i wszystko jasne? smile.gif Czasami wzrokiem ogarniasz tekst i nie zastanawiasz się nad treścią. haha.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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 Aktualny czas: 21.08.2025 - 23:05