Funktionen is_uploaded_file
Funktionen is_uploaded_file kontrollerar om den angivna filen
laddades upp via en POST-förfrågan. Detta är en viktig säkerhetskontroll
när man arbetar med uppladdade filer. Funktionen tar en parameter -
sökvägen till filen som ska kontrolleras, och returnerar true om filen
laddades upp via POST, och false om den inte gjorde det.
Syntax
is_uploaded_file(string $filename): bool
Exempel
Låt oss kontrollera om en fil laddades upp via ett formulär:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'File was uploaded via HTTP POST';
} else {
echo 'File was NOT uploaded via HTTP POST';
}
?>
Exempel
Användning av funktionen i kombination med move_uploaded_file:
<?php
$temp_file = $_FILES['userfile']['tmp_name'];
$target_file = 'uploads/' . $_FILES['userfile']['name'];
if (is_uploaded_file($temp_file)) {
move_uploaded_file($temp_file, $target_file);
echo 'file uploaded successfully';
} else {
echo 'possible file upload attack';
}
?>
Se även
-
funktionen
move_uploaded_file,
som säkert flyttar en uppladdad fil -
funktionen
file_exists,
som kontrollerar om en fil existerar (men inte enbart uppladdade) -
funktionen
tmpfile,
som skapar en temporär fil -
funktionen
is_file,
som kontrollerar en fil