Pobierz MIME Headers pliku do którego masz adres URL | PHP

Wstęp

PHP oferuje nam bardzo pomocny obiekt: finfo, dzięki niemu możemy pobrać MIME Headers załadowanego przez file_get_contents pliku(z url) i w ten sposób sprawdzić czy to plik(z url) z odpowiednim rozszerzeniem.


Kodowanie

Cały kod będzie składał się z dwóch funkcji, których działanie opiszę pod kodem:

<?php

function compareFileFromUrlExtension($urlToFile, $validExtension) {
	$fileFromUrlExtension = getFileFromUrlExtension($urlToFile);
	
	if($fileFromUrlExtension == $validExtension) {
		return 'Dobre rozszerzenie pliku: '.$fileFromUrlExtension;
	} else {
		return 'Zle rozszerzenie pliku';
	}	
}

function getFileFromUrlExtension($urlToFile) {
		$fileFromUrlContents = file_get_contents($urlToFile);
		$finfoObject = new finfo(FILEINFO_MIME_TYPE);
		
			return $finfoObject->buffer($fileFromUrlContents);
}

$result = compareFileFromUrlExtension('http://downloads.wordpress.org/plugin/upload-theme-via-url.zip', 'application/zip');

echo $result;

?>