Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] upload plików - co nie tak?
Forum PHP.pl > Forum > Przedszkole
Chiq_
  1. <?php
  2. for ($i=0; $i<sizeof($_FILES['plik']['size']); $i++) { 
  3.  
  4. if ($_FILES['plik']['size'][$i] !=0) { 
  5. $uploaded = "$sciezka". $_FILES['plik']['name'][$i]; 
  6. if (is_uploaded_file($_FILES['plik']['tmp_name'][$i])) { 
  7. if ($_FILES['plik']['type']=="image/jpeg" || $_FILES['plik']['type']=="image/gif")  
  8. {
  9.  
  10. if ($_FILES['plik']['size'][$i] > 1024*1024*1024) { 
  11. echo "Plik numer $i jest za duży<br />"; 
  12. } else { 
  13. move_uploaded_file($_FILES['plik']['tmp_name'][$i],$uploaded); 
  14. echo "Operacja wysyłania pliku $i przebiegła pomyślnie<br />"; 
  15. } } else echo"zły format"; 
  16.  
  17. } else { 
  18. echo "Błąd przy przesyłaniu danych w pliku $i!<br />"; 
  19. } 
  20. } 
  21. }
  22. ?>


Mam pszekształcony kod ze strony. Problem polega na tym, że php nie rozpoznaje rozszerzenia pliku. Niech mi ktoś pomoże....exclamation.gif
Cienki1980
Wszędzie używasz $_FILES['plik']['tmp_name'][$i] .. ale podczas sprawdzania typu plików masz tylko $_FILES['plik']['type'] ... brakuje Ci tam [$i]
Chiq_
Tak:
  1. <?php
  2. for ($i=0; $i<sizeof($_FILES['plik']['size']); $i++) { 
  3.  
  4. if ($_FILES['plik']['size'][$i] !=0) { 
  5. $uploaded = "$sciezka". $_FILES['plik']['name'][$i]; 
  6. if (is_uploaded_file($_FILES['plik']['tmp_name'][$i])) { 
  7. if ($_FILES['plik']['type'][$i]=="image/jpeg" || $_FILES['plik']['type'][$i]=="image/gif")
  8. {
  9.  
  10. if ($_FILES['plik']['size'][$i] > 1024*1024*1024) { 
  11. echo "Plik numer $i jest za duży<br />"; 
  12. } else { 
  13. move_uploaded_file($_FILES['plik']['tmp_name'][$i],$uploaded); 
  14. echo "Operacja wysyłania pliku $i przebiegła pomyślnie<br />"; 
  15. } }  else echo"zły format<br />";
  16.  
  17. } else { 
  18. echo "Błąd przy przesyłaniu danych w pliku $i!<br />"; 
  19. } 
  20. } 
  21. }
  22. ?>

Nie. Efekt:

zły format //plik .jpg
zły format //plik .doc
mild
Co masz w $sciezka i czy folder ma chmod?
Chiq_
Ścieżka i chmod się zgadzają, bo pliki się wgrywają. Wszystko się zepsuło, jak próbowałem ograniczyć upload plików do jpg i gif. orginalny kod wygląda, jak poniżej. I działał. Przestał jak dodałem blokowanie plików innych niż jpg i gif.
  1. <?php
  2. for ($i=0; $i<sizeof($_FILES['plik']['size']); $i++) { 
  3. if ($_FILES['plik']['size'][$i] !=0) { 
  4. $uploaded = "$sciezka". $_FILES['plik']['name'][$i]; 
  5. if (is_uploaded_file($_FILES['plik']['tmp_name'][$i])) { 
  6. if ($_FILES['plik']['size'][$i] > 1024*1024*1024) { 
  7. echo "Plik numer $i jest za duży<br />"; 
  8. } else { 
  9. move_uploaded_file($_FILES['plik']['tmp_name'][$i],$uploaded); 
  10. echo "Operacja wysyłania pliku $i przebiegła pomyślnie<br />"; 
  11. } 
  12. } else { 
  13. echo "Błąd przy przesyłaniu danych w pliku $i!<br />"; 
  14. } 
  15. } 
  16. }
  17. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.