Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]rodzaj i wielkośc wysyłanego obrazka na serwer ftp
GoOx
post 19.01.2012, 12:06:35
Post #1





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

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


Siemka,

mam oto taki kod: co prawa wysyła on plik na serwer ftp ale jak zorbić by można było tylko wsywałc obrazki gif jpg i png? Oraz ograniczyć wielkośc obrazka w pixelach.

  1.  
  2. <html>
  3. <body>
  4. <form action="upload.php?zapisywanie" method="POST" ENCTYPE="multipart/form-data">
  5. <input type="file" name="plik"/><br/>
  6. <input type="submit" name=zapisz value="Wyślij plik"/>
  7.  
  8. </form>
  9. </body>
  10. </html>
  11.  
  12. <?php
  13. if(isset($_POST['zapisz'])) {
  14. $max_rozmiar = 300*400;
  15. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  16. if ($_FILES['plik']['size'] > $max_rozmiar) {
  17. echo 'Błąd! Plik jest za duży!';
  18. } else {
  19. echo 'Wysłano plik! '.$_FILES['plik']['name'];
  20. echo '<br/>';
  21. if (isset($_FILES['plik']['type'])) {
  22. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  23. }
  24. move_uploaded_file($_FILES['plik']['tmp_name'],
  25. $_SERVER['DOCUMENT_ROOT'].'/upload/'.$_FILES['plik']['name']);
  26. }
  27. } else {
  28. echo 'Błąd przy rzesyłąniu obrazka!!';
  29. }
  30. }
  31. ?>
  32.  


Ten post edytował GoOx 19.01.2012, 12:07:11
Go to the top of the page
+Quote Post
erix
post 19.01.2012, 13:04:44
Post #2





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




if, get_image_size, fileinfo

Teraz to tylko poskładać do kupy. [;


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

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
Rysh
post 19.01.2012, 13:41:21
Post #3





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


21 linijkę zmodyfikuj lekko i już masz zrobione wysyłanie png, gif i jpg.


--------------------
Go to the top of the page
+Quote Post
GoOx
post 19.01.2012, 15:49:40
Post #4





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

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


ehh nadal nie działa ;/

oto poprawiony kod lecz nie działa,

  1. <html>
  2. <body>
  3. <form action="upload.php?zapisywanie" method="POST" ENCTYPE="multipart/form-data">
  4. <input type="file" name="plik"/><br/>
  5. <input type="submit" name=zapisz value="Wyślij plik"/>
  6.  
  7. </form>
  8. </body>
  9. </html>
  10.  
  11. <?php
  12. if(isset($_POST['zapisz'])) {
  13. $max_rozmiar = 500000;
  14. $info = getimagesize($_FILES['plik']['name']);
  15. echo $info[0] ;
  16. echo "x";
  17. echo $info[1] ;
  18. if(($info[0] < '151') && ($info[1] < '200')) {
  19. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  20. if ($_FILES['plik']['size'] > $max_rozmiar) {
  21. echo 'Błąd! Plik jest za duży!';
  22. } else {
  23. echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
  24. echo '<br/>';
  25. $typ = $_FILES['plik']['type'];
  26. if($typ == 'png' || $typ == 'gif' || $typ == 'jpg') {
  27. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  28. }
  29. move_uploaded_file($_FILES['plik']['tmp_name'],
  30. $_SERVER['DOCUMENT_ROOT'].'/upload/'.$_FILES['plik']['name']);
  31. }
  32. } else {
  33. echo 'Błąd przy przesyłaniu danych!';
  34. }
  35. }
  36. else {
  37. echo "Obrazek jest zbyt duzy! maksymalna wielkośc to 151x200";
  38. }
  39. }
  40. ?>
  41.  


mimo innego typu pliku i większego rozmiaru system dodaje plik do servera

Ten post edytował GoOx 19.01.2012, 15:50:49
Go to the top of the page
+Quote Post
zdemotywowany
post 19.01.2012, 15:54:46
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 15.01.2012

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


  1. $typ = $_FILES['plik']['type'];
  2. if($typ == 'image/png' || $typ == 'image/gif' || $typ == 'image/jpg') {
  3. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  4. }


Całkowicie pogmatwałeś kod.

Ten post edytował zdemotywowany 19.01.2012, 15:57:57
Go to the top of the page
+Quote Post
erix
post 19.01.2012, 16:24:51
Post #6





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




  1. $typ = $_FILES['plik']['type'];
  2.  
  3. if($typ == 'image/png' || $typ == 'image/gif' || $typ == 'image/jpg') {

Nie bez powodu wspomniałem o fileinfo.


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

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
GoOx
post 19.01.2012, 16:30:19
Post #7





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

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


Ok ale i tak wywyła inne pliki na serwer ftp ;/

i ten warunek z wielkością obrazka też nie działa ;/
Go to the top of the page
+Quote Post
zdemotywowany
post 19.01.2012, 16:32:03
Post #8





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 15.01.2012

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


Ogólnie masz pogmatwany kod. W pewnym momencie masz taki schemat: jeżeli bla bla { kod } a tutaj zapisujesz

Zobacz co masz tutaj. Sprawdzasz warunki, ale one nie wpływają na wynik skryptu:

  1. if ($_FILES['plik']['size'] > $max_rozmiar) {
  2. echo 'Błąd! Plik jest za duży!';
  3. } else {
  4. echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
  5. echo '<br/>';
  6. $typ = $_FILES['plik']['type'];
  7. if($typ == 'png' || $typ == 'gif' || $typ == 'jpg') {
  8. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  9. }
  10. move_uploaded_file($_FILES['plik']['tmp_name'],
  11. $_SERVER['DOCUMENT_ROOT'].'/upload/'.$_FILES['plik']['name']);
  12. }


Ten post edytował zdemotywowany 19.01.2012, 16:34:00
Go to the top of the page
+Quote Post
Rysh
post 19.01.2012, 16:37:05
Post #9





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Klamerkę przenieś niżej.


--------------------
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.07.2025 - 23:28