Jestem początkującym PHP i obecnie uczę się części "Sprawdzanie poprawności pliku".PHP Sprawdzanie poprawności przesłania pliku
zrobiłem stronę test.php zawierający następujący kod:
var_dump(@$_FILES['file']['type']);
pierwsze, upload obrazu "img.gif" i wrócił:
string 'image/gif' (length=9)
Potem zmienił obraz na rozszerzenie ".jpg" i powrócił:
string 'image/jpeg' (length=10)
Więc sobie sprawę $ _FILES [ "plik"] [ "typ"] tylko powrócić przesłanego pliku rozszerzenie, ale w rzeczywistości nie sprawdzi, który to plik.
Na tej stronie http://www.w3schools.com/php/php_file_upload.asp znajduje się kod:
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
dlaczego Powyższe kody dwukrotnie sprawdzić rozszerzenie pliku zastanawiam? Usunąłem niektóre z powyższych kodów i jest to mój nowy kod:
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts))
Czy mój kod jest prawidłowy? A może masz lepszy sposób na sprawdzenie, czy plik do przesłania jest obrazem?
Dzięki!
Dlaczego mój post został odrzucony? Chcę tylko upewnić się, że $ _FILES ["plik"] ["typ"] nie jest konieczny w kodach w3schools – nut