Συνάρτηση is_uploaded_file
Η συνάρτηση is_uploaded_file ελέγχει εάν το καθορισμένο αρχείο
ανέβηκε μέσω αίτησης POST. Αυτός είναι ένας σημαντικός έλεγχος ασφαλείας
όταν εργάζεστε με ανεβασμένα αρχεία. Η συνάρτηση δέχεται μία παράμετρο -
τη διαδρομή προς το αρχείο προς έλεγχο, και επιστρέφει true, εάν το αρχείο
ανέβηκε μέσω POST, και false σε αντίθετη περίπτωση.
Σύνταξη
is_uploaded_file(string $filename): bool
Παράδειγμα
Ας ελέγξουμε εάν ένα αρχείο ανέβηκε μέσω φόρμας:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'Το αρχείο ανέβηκε μέσω HTTP POST';
} else {
echo 'Το αρχείο ΔΕΝ ανέβηκε μέσω HTTP POST';
}
?>
Παράδειγμα
Χρήση της συνάρτησης σε συνδυασμό με τη 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 'το αρχείο ανέβηκε επιτυχώς';
} else {
echo 'πιθανή επίθεση ανεβάσματος αρχείου';
}
?>
Δείτε επίσης
-
τη συνάρτηση
move_uploaded_file,
που μετακινεί με ασφάλεια ένα ανεβασμένο αρχείο -
τη συνάρτηση
file_exists,
που ελέγχει την ύπαρξη αρχείου (αλλά όχι μόνο ανεβασμένων) -
τη συνάρτηση
tmpfile,
που δημιουργεί ένα προσωρινό αρχείο -
τη συνάρτηση
is_file,
που ελέγχει ένα αρχείο