FileInfo

dakata__92

Super Moderator
Ако библиотеката (http://php.net/manual/en/book.fileinfo.php) не ми е инсталирана на локалния и да речем, че (http://php.net/manual/en/function.mime-content-type.php) е в процес на отхвърляне, то какъв друг варянт имам за да открия mime type на файл? Поинтересувах се да направя връзка с друг език през конзолата но нещо не откривам въпросният тук:(http://unixhelp.ed.ac.uk/CGI/man-cgi?file) exe файл. Идеи да ми дадете или някакъв код било той на C++ драснат. Принципно нямам качен на компа Borland C++ в момента но не пречи да сейфам програмата с разширение exe от текстовият ми редактор и после да я извикам през конзолата. :)
 
Първите няколко байта от файла обикновенно са сигнатура за структурата. Повечето познати файлови формати си имат фиксирани офсет, дължина и съдържание на сигнатурата, а в много редки случаи - сигнатурата е "плаваща" - има определен алгоритъм за претърсване.

Но си остава най-лесния начин - просто махни ";" пред extension=php_fileinfo.dll в php.ini и рестартирай уеб сървъра :)
 
Ами ако отвориш с някакъв бинарно съвместим редактор даден файл - ще видиш нещо подобно:

sig.png


Първата е на .jpg, втората - .png и третата - .zip :)
 
Въпросната функция ограничава до графични формати, като има пропуски - не бива да се вярва на exif информацията. Както вече писах - най-добрия метод е просто да се активира fileinfo модула - елементарно е ако се работи с предварително компилирани байнарита за Windows, Linux, FreeBSD, MasOS, a ако php-то е било компилирано от сорсовете с опция (по подразбиране) динамично свързване на библиотеките - то просто трябва да се задейства процедурата повторно с включен модул fileinfo и той да се добави към работещата система.
 

Back
Горе