Cześć. Z góry chciałbym poinformować wszystkich że przepatrzyłem całe forum, to jak i inne (w tym i anglojęzyczne) i nie znalazłem odpowiedzi na mój problem. Mianowicie w momencie kiedy chce wysłać plik na serwer o to takim kodem:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wysyłanie pliku</title>
</head>
<body>
<form name="formularz1" enctype="multipart/form-data" action="http://localhost/skrypt.php" method="post">
Nazwa pliku:
<input type="file" name="plik1">
<input type="submit" name="wyslij" value="Wyślij plik">
</form>
</body>
</html>
I odebrać go tym:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Odbieranie pliku</title>
</head>
<body>
<?php
$uploaddir = 'C:\xampp\htdocs\przeslane_pliki\\';
if($_FILES['plik1']['error'] == UPLOAD_ERR_OK){
$plik1 = $_POST['plik1'];
$new_name = $uploaddir . $_FILES['plik1']['name'];
$temp_name = $_FILES['plik1']['tmp_name'];
if(move_uploaded_file($temp_name, $new_name)){
echo "Plik został załadowany.";
}
else{
echo "Nieprawidłowy plik.";
}
}
else{
echo "Wystąpił błąd: ";
switch($_FILES['plik1']['error']){
case UPLOAD_ERR_INI_SIZE :
case UPLOAD_ERR_FORM_SIZE :
echo "Przekroczony maksymalny rozmiar pliku!";
break;
case UPLOAD_ERR_PARTIAL :
echo "Odebrano tylko część pliku!";
break;
case UPLOAD_ERR_NO_FILE :
echo "Plik nie został pobrany!";
break;
case UPLOAD_ERR_NO_TMP_DIR:
echo "Brak dostępu do katalogu tymczasowego!";
break;
case UPLOAD_ERR_CANT_WRITE:
echo "Nie udało się zapisać pliku na dysku serwera!";
break;
case UPLOAD_ERR_EXTENSION:
echo "Ładowanie pliku przerwane przez rozszerzenie PHP!";
default :
echo "Nieznany typ błędu!";
}
}
?>
</body>
</html>
W momencie kiedy przesyłam "poprawnie" plik wyświetla się tylko jedna informacja:
Notice: Undefined index: plik1 in C:\xampp\htdocs\skrypt.php on line 12
W przypadku kiedy wysyłam plik o zbyt dużym rozmiarze wyświetla się:
Warning: POST Content-Length of 69021850 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Notice: Undefined index: plik1 in C:\xampp\htdocs\skrypt.php on line 11
Notice: Undefined index: plik1 in C:\xampp\htdocs\skrypt.php on line 12
Notice: Undefined index: plik1 in C:\xampp\htdocs\skrypt.php on line 13
Notice: Undefined index: plik1 in C:\xampp\htdocs\skrypt.php on line 14
Nieprawidłowy plik.
Nie dziwi mnie pierwsza linijka ponieważ jest ona w pełni zrozumiała chociaż w momencie kiedy jest obsługa błędów napisana przeze mnie to czy nie powinien się wyświetlić mój komunikat:"Przekroczony maksymalny rozmiar pliku!"?
Kiedy robiłem prosty kalkulator i przesyłałem dane metodą POST również był problem z undefined index jednak udało mi się go rozwiązać tym sposobem który właśnie znalazłem na tej stronie:
<?php
if((!isset($_POST["nazwa"]))){
header('Location: strona.html');
exit;
}
?>
W sumie nie rozumiem jednak jakie ma tu zadanie header('Location: strona.html'); więc jeżeli mógłby mi ktoś to przy okazji wyjaśnić.
Jeszcze raz podkreślam przeszukałem chyba wszystkie możliwe strony odnośnie tego problemu czy to polskie czy angielskie i żadne rozwiązanie problemu nie przyniosło efektu.
(tak spróbowałem sprawdzić (isset) czy tablica nie jest pusta i przypisać ją zmiennej plik1 ale nic to nie zmieniło.
Z góry dziękuje za pomoc.