Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]wgrywanie plików przez użyytkowników
sweter
post 21.01.2009, 22:10:00
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Spisałem z mojej książki skrypt do wgrywania plików przez użytkowników na serwer. Oto on:
  1. <?php
  2. if(!is_uploaded_file($HTTP_POST_FILES['zdjecie']['tmp_name'])){
  3.        echo "Pliku nie przeslano";
  4.        unlink($HTTP_POST_FILES['zdjecie']['tmp_name']);
  5.      }else{
  6.        /*przetwarzanie pliku*/
  7.        $maksymalny_rozmiar_pliku=102400;
  8.          if($HTTP_POST_FILES['zdjecie']['size'] > $maksymalny_rozmiar_pliku){
  9.            echo "Rozmiar pliku nie może przekroczyć 100 kB";
  10.            unlink($HTTP_POST_FILES['zdjecie']['tmp_name']);
  11.          }else{
  12.            /*przetwarzanie pliku*/
  13.            if($HTTP_POST_FILES['zdjecie']['type'] != "image/gif" AND
  14.           $HTTP_POST_FILES['zdjecie']['type'] != "image/pjpeg" AND
  15.           $HTTP_POST_FILES['zdjecie']['type'] != "image/jpeg"){
  16.               echo "Można pzesyłać jednynie pliki z rozszerzeniem .jpg i .gif";
  17.               unlink($HTTP_POST_FILES['zdjecie']['tmp_name']);
  18.        }else{
  19.               /*format plik jest poprawny*/
  20.               echo "ok";
  21.            }
  22.          }
  23.      }
  24. ?>

Jednak wciąż pojawia mi się napis "Pliku nie przeslano".
Poza tym wyświetla mi się błąd: "Warning: unlink() [function.unlink]: No such file or directory in (wskazuje na pierwszą funkcję unlink)";

Co trzeba naprawić?
Powód edycji: do php używaj bbcode php, a nie code


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sweter
post 25.01.2009, 22:00:28
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Okej. zmieniłem według waszych rad $HTTP_POST_FILES na $FILES i w pierwszym if'ie usunąłem "!".
kod wygląda teraz tak:
Kod
  if(isset($_SESSION['login'])){
      if(is_uploaded_file($FILES['zdjecie']['tmp_name'])){
        echo "Pliku nie prezeslano";
        unlink($FILES['zdjecie']['tmp_name']);
      }else{
        /*przetwarzanie pliku*/
        $maksymalny_rozmiar_pliku=102400;
          if($FILES['zdjecie']['size'] > $maksymalny_rozmiar_pliku){
            echo "Rozmiar pliku nie może przekroczyć 100 kB";
            unlink($FILES['zdjecie']['tmp_name']);
          }else{
            /*przetwarzanie pliku*/
            if($FILES['zdjecie']['type'] != "image/gif" AND
           $FILES['zdjecie']['type'] != "image/pjpeg" AND
           $FILES['zdjecie']['type'] != "image/jpeg"){
               echo "Można pzesyłać jednynie pliki z rozszerzeniem .jpg i .gif";
               unlink($FILES['zdjecie']['tmp_name']);
        }else{
               /*format plik jest poprawny*/
               echo "ok";
            }
          }
      }
    }

Jednak teraz występuje mi błąd w linijce z ostatnią funkcją unlink(). Brzmi on tak:
Cytat
Warning: unlink() [function.unlink]: No such file or directory in C:\Program Files\WebServ\httpd-users\siedlczanin.net\uzytkownicy\wgranie_zdjecia.php on line 111


Poza tym wyświetla mi się komunikat "Można pzesyłać jednynie pliki z rozszerzeniem .jpg i .gif", mimo że wgrywałem plik, który jest z rozszerzeniem .gif !

Co jest źle?

Ten post edytował sweter 25.01.2009, 22:03:52


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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.08.2025 - 19:34