Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie wielkości obrazka(pliku)
MOniToR
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


  1. <?
  2. include(&#092;"header.tpl\");
  3. include(&#092;"db.php\");
  4. $zapytanie = &#092;"select * from users where user_id ='$user_id'\";
  5. $wynik = mysql_query($zapytanie);
  6. $row = mysql_fetch_array($wynik);
  7. $plik1 = $row[&#092;"avatar\"];
  8. $katalog=getcwd ();
  9. $zdjecie = $katalog.&#092;"/wyslane/\".$plik1;
  10. unlink($zdjecie);
  11.  
  12.  
  13. if($_FILES['plikuzytkownika']['type'] == 'image/pjpeg') {
  14. $rozszezenie = 'jpg'; 
  15. } 
  16. elseif ($_FILES['plikuzytkownika']['type'] == 'image/gif') { 
  17. $rozszezenie = 'gif'; 
  18. } 
  19. elseif ($_FILES['plikuzytkownika']['type'] == 'image/png') { 
  20. $rozszezenie = 'png'; 
  21. } 
  22. else { 
  23. $rozszezenie = 'error'; 
  24. echo &#092;"Nieprawidłowy format pliku, dozwolone tylko PNG, JPG i GIF\"; 
  25.  
  26. } 
  27. $roz=$rozszezenie; 
  28. srand((double) microtime()*1000000); 
  29. $naz=md5(uniqid(rand())); 
  30. $url=&#092;"$naz.$roz\"; 
  31. $folder = &#092;"wyslane\"; 
  32.  
  33. $nick = $_COOKIE['prawid_uzytkownik'];
  34. $sql=&#092;"UPDATE users SET avatar='$url' where user_name ='$nick'\";
  35. $result =mysql_query($sql);
  36. move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'], 
  37. $_SERVER['DOCUMENT_ROOT/'].($folder).&#092;"/\".$url); 
  38.  
  39. $g=&#092;"wyslane/$url\"; 
  40. if (file_exists($g)) 
  41. { 
  42. print(&#092;"<script>window.location=\"user_ed.php?profil=$nick\"</script>\");
  43. echo &#092;"Plik wysłano\"; 
  44. } 
  45. else 
  46. { 
  47. echo &#092;"Pliku nie wysłano problem z połączeniem.\"; 
  48. exit; 
  49. } 
  50. include(&#092;"footer.tpl\");
  51. ?>


Tak wygląda mój skrypt do wysyłania avatarów w profilu uzytkownika. Chciałbym aby wysyłał on tylko avatary o rozmiarze 80x80 i w przypadku wiekszych pokazywał komunikat, będe wdzieczny za pomoc.


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Liko
post
Post #2





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Zainteresuj się funkcją: getimagesize" title="Zobacz w manualu PHP" target="_manual. Ta funkcja tworzy tablice gdzie klucz '0' to szerokość obrazka, a klucz '1' to wysokość. Wstaw to przed uploudowaniem obrazka i napisz if'a. Jeżeli bedą rozmiary takie jak chcesz to uploadujesz, a jak nie to wywalasz komunikat. Chyba proste nie ?

Ten post edytował Liko 22.12.2004, 18:05:42
Go to the top of the page
+Quote Post
MOniToR
post
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


Cytat(Liko @ 2004-12-22 19:02:52)
Chyba proste nie ?

Nie.... wstawiam na poczatek
  1. <?php
  2. $a = getimagesize($plikuzytkownika);
  3. if($a[0]='80' && $a[1]='80') {
  4.  
  5. ?>

i dalej moge wgrywac plik o każdym rozmiarze.


--------------------
Go to the top of the page
+Quote Post
Liko
post
Post #4





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


  1. <?
  2. include(&#092;"header.tpl\");
  3. include(&#092;"db.php\");
  4. $zapytanie = &#092;"select * from users where user_id ='$user_id'\";
  5. $wynik = mysql_query($zapytanie);
  6. $row = mysql_fetch_array($wynik);
  7. $plik1 = $row[&#092;"avatar\"];
  8. $katalog=getcwd ();
  9. $zdjecie = $katalog.&#092;"/wyslane/\".$plik1;
  10. unlink($zdjecie);
  11. $imageSize = $_FILES['plikuzytkownika']['tmp_name'];
  12.  
  13. if($_FILES['plikuzytkownika']['type'] == 'image/pjpeg') {
  14. $rozszezenie = 'jpg';
  15. }
  16. elseif ($_FILES['plikuzytkownika']['type'] == 'image/gif') {
  17. $rozszezenie = 'gif';
  18. }
  19. elseif ($_FILES['plikuzytkownika']['type'] == 'image/png') {
  20. $rozszezenie = 'png';
  21. } else if( $imageSize[0] != 80 || $imageSize[1] != 80 ) {
  22. echo 'Ten rozmiar pliku jest zaduzy.';
  23. } else {
  24. $rozszezenie = 'error';
  25. echo &#092;"Nieprawidłowy format pliku, dozwolone tylko PNG, JPG i GIF\";
  26. }
  27. $roz=$rozszezenie;
  28. srand((double) microtime()*1000000);
  29. $naz=md5(uniqid(rand()));
  30. $url=&#092;"$naz.$roz\";
  31. $folder = &#092;"wyslane\";
  32.  
  33. $nick = $_COOKIE['prawid_uzytkownik'];
  34. $sql=&#092;"UPDATE users SET avatar='$url' where user_name ='$nick'\";
  35. $result =mysql_query($sql);
  36. move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'],
  37. $_SERVER['DOCUMENT_ROOT/'].($folder).&#092;"/\".$url);
  38.  
  39. $g=&#092;"wyslane/$url\";
  40. if (file_exists($g))
  41. {
  42. print(&#092;"<script>window.location=\"user_ed.php?profil=$nick\"</script>\");
  43. echo &#092;"Plik wysłano\";
  44. }
  45. else
  46. {
  47. echo &#092;"Pliku nie wysłano problem z połączeniem.\";
  48. }
  49. include(&#092;"footer.tpl\");
  50. ?>


Tak wogole to mi się nie podoba ten twój upload ale dobra. Napisałem, ale nie jestem pewien czy okurat zadziała.
Go to the top of the page
+Quote Post
MOniToR
post
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


Dalej nie działa, cały czas moge wgrywać obrazki o dowolnym rozmiarze :|


--------------------
Go to the top of the page
+Quote Post
crash
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Cytat(Liko @ 2004-12-22 19:02:52)
  1. <?php
  2. $a = getimagesize($plikuzytkownika);
  3. if($a[0]='80' && $a[1]='80') {
  4.  
  5. ?>

i dalej moge wgrywac plik o każdym rozmiarze.

Oj chyba sie nam operator przypisania pomylil z operatorem porownania (== a nie =)

Ten post edytował crashu 22.12.2004, 20:49:08


--------------------
Go to the top of the page
+Quote Post
MOniToR
post
Post #7





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


dalej nie działa........


--------------------
Go to the top of the page
+Quote Post
gilbo
post
Post #8





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


może spróbuj tak....
  1. <?php
  2.    
  3. function sprawdz_rozmiar($file)
  4. {
  5.    $max = 80;
  6.  
  7.    $size = getimagesize($file);
  8.  
  9.    if ( $size[0] <= $max && $size[1] <= $max )
  10.    {
  11.        $ret = 'Ok przyjmuję'; //tutaj dajesz kod jak obrazek jest ok!
  12.    }
  13.    else
  14.    {
  15.        $ret = ' Obrazek zbyt duży!!! '; //tutaj dajesz kod jak obrazek jest za duży
  16.    }
  17.  
  18. return $ret;
  19. }
  20.  
  21. ?>


Ten post edytował gilbo 22.12.2004, 21:56:39
Go to the top of the page
+Quote Post
MOniToR
post
Post #9





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


dałem:
  1. <?php
  2. $file = $_FILES['plikuzytkownika']['type'];
  3. function sprawdz_rozmiar($file)
  4. {
  5.  $max = 80;
  6.  
  7.  $size = getimagesize($file);
  8.  
  9.  if ( $size[0] <= $max && $size[1] <= $max )
  10.  {
  11.  $ret = '1'; //tutaj dajesz kod jak obrazek jest ok!
  12.  }
  13.  else
  14.  {
  15.  $ret = '0'; //tutaj dajesz kod jak obrazek jest za duży
  16.  }
  17.  
  18. return $ret;
  19. }
  20. $rozmiar = sprawdz_rozmiar($file);
  21. if($rozmiar =='1') {
  22. ?>

i dalej kaszana ://///// sad.gif sad.gif sad.gif sad.gif sad.gif


--------------------
Go to the top of the page
+Quote Post
crash
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Nic dziwnego, ze nie dziala skoro sprawdzasz typ przeslanego pliku, wywolaj ta funkcje na pliku.


--------------------
Go to the top of the page
+Quote Post
Liko
post
Post #11





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Może tak:
  1. <?php
  2. $file = $_FILES['plikuzytkownika']['tmp_name'];
  3. function sprawdz_rozmiar($file)
  4. {
  5.  $max = 80;
  6.  
  7.  $size = getimagesize($file);
  8.  
  9.  if ( $size[0] <= $max && $size[1] <= $max )
  10.  {
  11.  $ret = '1'; //tutaj dajesz kod jak obrazek jest ok!
  12.  }
  13.  else
  14.  {
  15.  $ret = '0'; //tutaj dajesz kod jak obrazek jest za duży
  16.  }
  17.  
  18. return $ret;
  19. }
  20. $rozmiar = sprawdz_rozmiar($file);
  21. if($rozmiar =='1') {
  22. ?>
Go to the top of the page
+Quote Post
MOniToR
post
Post #12





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


yeeeee exclamation.gif wkońcu działa biggrin.gif dzięki Wam :*


--------------------
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: 20.08.2025 - 20:25