Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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... (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
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. [;
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. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Sprawdź parę linijek wyżej, czy Ci się zmienne nie pomyliły.
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 (IMG:http://forum.php.pl/style_emoticons/default/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.
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
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
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? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czasami wzrokiem ogarniasz tekst i nie zastanawiasz się nad treścią. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:18