Ce face finfo_file
Funcția finfo_file analizează conținutul binar brut al unui fișier (cunoscut drept magic bytes) pentru a-i determina tipul MIME real. Spre deosebire de valoarea trimisă de browser în $_FILES['input']['type'] (care poate fi ușor falsificată de un atacator), finfo_file oferă certitudine de securitate la încărcarea fișierelor (upload).
Exemplu practic: Validarea securizată a imaginilor la încărcare
<?php
function valideazaUploadImagine(string $caleFisierTemporar): bool {
// Deschidem baza de date magică MIME:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$tipMimeReal = finfo_file($finfo, $caleFisierTemporar);
finfo_close($finfo);
$tipuriPermise = [
'image/jpeg' => 'jpg',
'image/png' => 'png',
'image/webp' => 'webp',
'application/pdf' => 'pdf'
];
if (!array_key_exists($tipMimeReal, $tipuriPermise)) {
throw new Exception("Tip de fișier nepermis: " . $tipMimeReal);
}
echo "Fișier valid! Tip MIME detectat: " . $tipMimeReal . "\n";
return true;
}
Întrebări & Exemple de Cod:
finfo_fileAi o nelămurire despre utilizarea comenzii
finfo_filesau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.