Witam. Jestem w trakcie próby wysłania zdjęcia na serwer. Zdjęcie pobieram z pola type="file" z formularza typu POST. Oto kod:
<form method="post" style="text-align:left;" enctype="multipart/form-data">
<input type="file" name="okladka"/>
<input name="dalej" type="submit" value="KOLEJNY KROK"/>
</form>
if(isset($_POST['dalej']))
{
sprawdz_bledy();
sprawdz_typ();
zapisz_plik();
header('location:dodaj_kurs2.php');
}
function zapisz_plik()
{
$lokalizacja = 'media/images/okladki/'.$_FILES['okladka'].'.png';
if(is_uploaded_file($_FILES['okladka']['tmp_name']))
{
if(!move_uploaded_file($_FILES['okladka']['tmp_name'], $lokalizacja))
{
echo 'problem: Nie udało się skopiować pliku do katalogu.';
return false;
}
}
else
{
echo 'problem: Możliwy atak podczas przesyłania pliku.';
echo 'Plik nie został zapisany.';
return false;
}
echo 'udalo sie';
return true;
}
Po załączeniu zdjęcia i kliknięciu w odpowiedni button zdjęcie rzeczywiście wysyła się na serwer. Problem tkwi w tym, że zawsze jego nazwa to "Array.png". W ogóle nie pobiera nazwy wskazanego zdjęcia. Tak samo jest nawet gdy zakomentuję funkcję wysyłającą i chcę wypisać poprzez: echo $_FILES['okladka'], to też wyświetla "Array".
Co ważne: od momentu gdy do formularza dopisałem kod pozwalający na wysyłanie na serwer, a w szczególności : enctype="multipart/form-data"
walidacja mojego formularza wyrzuca mi komunikat, że nie wybrano żadnego pliku (długość stringa==0). Dlatego aby wrzucić plik na serwer (z nazwą "array") muszę zakomentować tą walidację.