Witam, chcę zrobić skrypt do uploadowania plików. Chcę aby po załadowaniu plików, skrypt zweryfikował czy format pliku i rozmiar pliku są dozwolone (jpg, png 1mb>) i wyswietlał wiadomość o błędzie jeśli wystąpi jeśli coś się nie zgadza. Chcę żeby skrypt rozróżniał kiedy format lub rozmiar są niepoprawne i dla każdego z osobna w razie błędu wyświetlał inna wiadomość. W sytuacji kiedy plik ma niepoprawny rozmiar jak i format chcę otrzymać inną informacje o błędzie.
Mam problem w sytuacji kiedy chcę wrzucić plik np. mp3 który ma ponad 1MB ponieważ wtedy skrypt automatycznie skacze do ostatniego else. Nie wiem jak to naprawic pomocy:(
<form action="upload_file.php" method="post" enctype="multipart/form-data">
Tytuł zdjęcia:
<input type="text" name="title" id="title"> <br>Znak wodny:
<input type="text" name="watermark" id="watermark"> <br><input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
<!DOCTYPE html>
<html>
<head>
<title>Gallery</title></head>
<body>
<?php
$allowedExts = array("jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); if ((($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 1048576)
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>"; }
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>"; echo "File Type: " . $extension . "<br>"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; "upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; }
}
elseif(
($_FILES["file"]["type"] != "image/jpeg")
&& ($_FILES["file"]["type"] != "image/jpg")
&& ($_FILES["file"]["type"] != "image/png")
&& ($_FILES["file"]["size"] > 1048576)
)
{
echo "Wrong file format and too big file<br>";
}
elseif(($_FILES["file"]["size"] > 1048576)){
echo "File is too big, maximum size is 1MB"; }
else{
echo "File format not supported! Supported files formats are png i jpg."; }
?>
</body>
</html>