Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bez *.php
Forum PHP.pl > Forum > Przedszkole
nexis
Jak sprawdzić typ pliku podczas wysyłania go na serwer:

  1. <?php
  2.  
  3. $strUploadDir=$dir_name.$_FILES['userfile']['name'];
  4. move_uploaded_file($_FILES['userfile']['tmp_name'],$strUploadDir);
  5.  
  6. ?>


i zablokować wysłanie plików .php? Jak sprawdzam jego typ ($_FILES['userfile']['type']) to jest to po prostu tekst, ale pliki *.txt mają być dozwolone.
hwao
Bardzo stare ale zasade poznasz tongue.gif
---
Ten kodzik sluzy do sprawdzenia czy dany plik ma rozszerzenie dopuszczalne przez nas. Może on sluzyc do spr plików przy wrzucaniu tworzeniu itp.
  1. <?php
  2. $plik=&#092;"plik.txt\"; // W tej zmiennej jest trzymany nasz pliczek
  3.  
  4. $cos=explode(&#092;".\", \"$plik\"); // Tu rozdzielemy plik . jest \"rozdzielaczem\"
  5.  
  6. $rozszerzenie=$cos[count($cos)-1]; // tutaj wyciagamy rozszerzenie jakie ma plik ktory che sie znalesc na serverze
  7.  
  8. // Działa to mnie wiecej tak... Liczy tablice i odejmuje od niej jeden (explode zwraca \"rozdzielenie\" w talicy) by uzyskac interesujace nasz \"zakoncznie\"<- rozszerzenie pliku 
  9.  
  10. $zabronione = array(&#092;"php\", \"php3\",\"shtml\"); // tu mamy tablice z plikami które sa zabronione (nie przejda testu i wyswietli komunikat e takie pliki nie moga byc wrzucane
     
  11. erver (lub co tam sobie nastawisz)
  12.  
  13.  
  14. if (in_array($rozszerzenie, $zabronione)) { // przeszukujemy tablice z zakazanymi plikami sprawdzamy czy tam nie ma naszego ro
  15. szerzenia
  16.  
  17.  echo 'Pliki z rozszerzeniem \"'.$rozszerzenie.'\" nie są przyjmowane.'; // plik zostal znaleziony i nie bedzie wrzucony na server
  18.  
  19. }else{ // 2 warunek
  20.  
  21.  echo 'Plik bezpieczny.'; // pliku nie ma w tablicy z zastrzezonymi wiece wyswietal komunikat plik bezpieczn
  22.  
  23.  
  24. } // konczy if:)
  25.  
  26. ?>


To by było na tyle smile.gif



Teraz jak tylko wybrane rozszerzenie wrzucac
  1. <?php
  2. $plik=&#092;"plik.txt\"; // pliczek
  3. $cos=explode(&#092;".\", \"$plik\"); // rozdzielnie
  4. $rozszerzenie=$cos[count($cos)-1]; // wyciaganie rozszerzenia
  5.  
  6. $dozwolone = array(&#092;"gif\", \"jpg\",\"bmp\"); // tablica dozwolnych rozszerzen
  7.  
  8. if (in_array($rozszerzenie, $dozwolone)) { // sprawdzanie czy jest w tablicy dozolonych nasze rozszerzenie
  9.  
  10.  echo 'Plik jest graficzy czyli bezpieczny.'; // jest dozwolone
  11.  
  12. }else{ // pozostale
  13.  
  14.  echo 'Plik nie jest plikiem graficznym dziekuje nie wejdzie:P'; // nie jest dozwolone 
  15.  
  16. } // koniec if
  17.  
  18. ?>


Chyba wszytko jasne w razie wszystkich "problemów" prosze pytac smile.gif

explode- Dzieli łańcuch znaków za pomoca danego separatora( w tym przykaldzie .) i zwraca w postaci talicy.
count- zlicza liczbe elementów w tablicy.
if (in_array($wyraz, $tablica))- sprawdza czy dany wyraz wystepuje w tablicy jezeli tak to zwraca true (czyli zaraz po { co ma sie wykonac jezeli jest w tablicy) jezeli nie to false(czyli w naszym przypadkue else co ma sie wykonac jak go nie ma w tablicy).

To chyba wszytko co moglo byc nie zrozumiałe
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.