Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie plików
Forum PHP.pl > Forum > PHP
kapral
Nie wiem jak zrobić aby ze strony można było pobrać pliki *.jpg i *.gif i sprawdzić czy już czasem taki nie istnieje jeśli już taki jest to zeby pisało ze już taki plik istnieje
maker
file_exists()" title="Zobacz w manualu PHP" target="_manual
Przykład 1. Sprawdzanie czy plik istnieje
  1. <?php  
  2. $filename = '/sciezka/do/foo.txt';
  3.  
  4. if (file_exists($filename)) {
  5.  echo &#092;"Plik $filename istnieje\";
  6. } else {
  7.  echo &#092;"Plik $filename nie istnieje\";
  8. }
  9. ?>
kapral
ok, dzięki nie myślałem że to takie proste,
jeszcze tylko pobieranie i już jestem w domu winksmiley.jpg
gam3r
Najpierw formularz do przesyłania:
(plik wybierz.html)
  1. <form action='upload.php' method='post' encType='multipart/form-data'>
  2. <input type='file' name='obraz'>
  3. <input type='submit'>
  4. </form>

Potem skrypt, który przetwarza dane formularza (plik upload.php)
  1. <?php
  2. function error_msg($ciag)
  3. {
  4.  
  5. echo&#092;"<script>
  6.         var komunikat = &#092;"$ciag\";
  7.         alert(komunikat);
  8.         history.go(-1);
  9.         </script>\"
  10. }
  11.  
  12. if(!isset($_FILES['obraz']['tmp_name'])) error_msg('nie przesłano pliku');
  13.  
  14. $nazwapliku1  = $_FILES['obraz']['name'];
  15. $nazwapliku    = strtolower($nazwapliku1);
  16. $rozszerzenie  = strstr($nazwapliku, '.');
  17.  
  18.  
  19. if($rozszerzenie !='jpg'  && 
  20.    $rozszerzenie !='jpeg'&& 
  21.    $rozszerzenie !='gif') error_msg('złe rozszerzenie');
  22.  
  23. if(file_exists(\"katalog_z_obrazami/$nazwapliku1\")) error_msg('taki plik już istnieje');
  24.  
  25. if(!move_uploaded_file($_FILES['obraz']['tmp_name'], \"katalog_z_obrazami/$nazwapliku1\") )
  26.   error_msg('błąd przy zapisie pliku')
  27. else echo \"wszystko ok\";
  28. php?>


Pisałem ten skrypt u qzyna, nie mając przy sobie książek ani swoich skryptów, z których czasami korzystam, i do tego na szybko, dlatego nie gwarantuję że wszystko będzie ok. Kiedy jutro będe w domq to zedytuje tego posta jakby coś było nie tak. Z uwagami też piszcie:)

Oto opis działania skryptu:
Wiadomo najpierw potrzebny nam jest formularz z obsługą uploadu plików dlatego do znacznika <form> dodałem encType='multipart/form-data' który na to pozwala.
Następnie w pliku upload.php definiuje funkcje error_msg(), która wyświetla okno w języku javascript, po naciśnięciu 'ok' wracamy o 1 do tyłu w historii. Funkcja ta będzie służyć to wyświetlania różnych komunikatów, przyda sie nie tylko w tym skrypcie. Nastepnie sprawdzam czy przesłano jakikolwiek plik, potem za pomocą strtolower() zmieniam wielkość liter na małe (na systemach LINUX wielkość liter ma znaczenie). Za pomocą strstr() urywam rozszerzenie pliku i sprawdzam czy jest to 'jpg', 'jpeg' albo 'gif'. Później sprawdzam czy dany pliku już nie został uploadowany, jeśli nie to go zapisuje. W razie błędu wyświetlam odpowiedni komunikat. To chyba na tyle, wszystko powinno działać, chociaż zawsze jakaś literówka może sie pojawić. Jeżeli znajdziecie błąd, to poprawie posta;)
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.