Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Błąd podczas dodawania pliku a prawa dostępu
Forum PHP.pl > Forum > Przedszkole
szachmat
Chciałem napisać w tym samym temacie, bo cały czas walczę z tym samym problemem, ale wiadomości się scalają i nie jestem pewien czy taka modyfikacja postu skutkuje tym, że będzie on widoczny dla innych jako nowa wiadomość?

Przerabiam M. Lis "Praktyczny kurs PHP5".
Wysyłam pliki do serwera i wyskakuje mi błąd:

Notice: Undefined index: plik1 in D:\xampp\htdocs\php1\upload.php on line 4

Notice: Undefined index: plik1 in D:\xampp\htdocs\php1\upload.php on line 5

Notice: Undefined index: plik1 in D:\xampp\htdocs\php1\upload.php on line 6
Nieprawidłowy plik.

Podejrzewam, że problemem mogą być też prawa dostępu. Tyle, że korzystam z XAMPP i nie wiem czy zmiana praw dostępu na "zapisz" w katalogu poprzez właściwości/zabezpieczenia jest odpowiednie do zmieniania praw dostępu do katalogu? Ale może gdzie indziej jest błąd? PHP.ini sprawdziłem.

Skrypt do pobierania plików
  1. <?php
  2. $uploaddir = './';
  3.  
  4. if($_FILES['plik1']['error'] == UPLOAD_ERR_OK){
  5. $new_name = $uploaddir.$_FILES['plik1']['name'];
  6. $temp_name = $_FILES['plik1']['tmp_name'];
  7. if(move_uploaded_file($temp_name, $new_name)){
  8. echo "Plik został załadowany.\n";
  9. }
  10. else{
  11. echo "Nieprawidłowy plik.\n";
  12. }
  13. }
  14. else{
  15. echo("Wystąpił błąd: ");
  16. switch($_FILES['plik1']['error']){
  17. case UPLOAD_ERR_INI_SIZE :
  18. case UPLOAD_ERR_FORM_SIZE :
  19. echo("Przekroczony maksymalny rozmiar pliku!\n");
  20. break;
  21. case UPLOAD_ERR_PARTIAL :
  22. echo("Odebrano tylko część pliku!\n");
  23. break;
  24. case UPLOAD_ERR_NO_FILE :
  25. echo("Plik nie został pobrany");
  26. break;
  27. default :
  28. echo("Nieznany typ błędu!\n");
  29. }
  30. }
  31. ?>


Formularz do wysyłania plików
  1. name = "formularz1"
  2. encytype = "multipart/form-data"
  3. action = "upload.php"
  4. method = "POST">
  5. Nazwa pliku
  6. type = "file"
  7. name = "plik1"
  8. size = "30"
  9. value = "">
  10. type = "submit"
  11. name = "wyslij"
  12. value = "Wyślij plik">
  13. </form>
poli25
enctype a nie encytype wink.gif
Pyton_000
Najpierw wypadałoby sprawdzić czy plik jest przesłany:

if(isset($_FILES['plik1']))
szachmat
No, enctype! A kurcze, trzy razy kod sprawdziłem. Swoją drogą tu mi podświetliło błąd, a na notepad++ nie. No nic, głupi błąd, dzięki, bo już miałem resetować windowsa wink.gif.
rad11
To przesiądź się na inne bardziej rozbudowane IDE.
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.