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; ?>