PHP Mime_content_type () не работает на Windows - PullRequest
3 голосов
/ 13 октября 2008

Я знаю, что mime_content_type () устарела, но мне показалось, что альтернатива на данный момент хуже. Finfo, кажется, требует добавления файлов и изменения ini-направлений на окнах; Я не хочу требовать этого для сценария, который я делаю.

Мне нужно найти mimetype файлов, но при вызове mime_content_type($filename) в Windows происходит сбой. mime_magic.magicfile указывает на правильный файл, но при включении mime_magic.debug в INI-файл, я получаю это сообщение об ошибке:

<b>Warning:</b> mime_content_type()[<a href="http://www.php.net/mime_magic]" rel="nofollow noreferrer">http://www.php.net/mime_magic]</a>: mime_magic not initialized in <b>C:\xampp\htdocs\test.php</b> on line <b>2</b>

Я не уверен, если это проблема, или это все еще происходит, когда я отключаю отладку, и это просто не говорит мне.

Я проверил, extension=php_mime_magic.dll включен в INI-файл, и httpd.conf указывает

LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so

Я использую XAMPP 1.6.5.

Ответы [ 3 ]

1 голос
/ 13 октября 2008

Это может быть связано с этим сообщением об ошибке . Есть ли в журнале ошибок какие-либо ошибки, когда вы вызываете скрипт в соответствии с 'FOO' is not a valid mimetype, entry skipped?

К сожалению, окончательный ответ в этой конкретной теме должен был пойти дальше и использовать <a href="http://pecl.php.net/package/Fileinfo" rel="nofollow noreferrer">Fileinfo</a> ..

Чтение через другого потока , описывающего ту же проблему - когда вы включили отладку, вы установили его на «Вкл» или 1? Не должно иметь значения, но в связанном выше потоке это кажется частью решения в этом случае.


Я не уверен, если это проблема, или это все еще происходит, когда я отключаю отладку, и это просто не говорит мне.

Что вы получаете, когда выводите значение mime_content_type с отключенной отладкой?

0 голосов
/ 10 ноября 2009

Fileinfo может быть уловкой, чтобы начать работать в Windows. Инструкции здесь: http://forums.zend.com/viewtopic.php?f=8&t=337#p14681

0 голосов
/ 14 октября 2008

Кажется, что Finfo требует добавления файлов и изменения ini-направлений в окнах; Я не хочу требовать этого для сценария, который я делаю.

Вы пробовали finfo_buffer? Это позволяет вам использовать файл как строку, так что вы можете сделать:

$finfo = new finfo;
$filename = $_GET['filename'];
var_dump($finfo->buffer(file_get_contents($filename)));

Также из этого сообщения об ошибке была проблема в том, что база данных mime устарела - вы пробовали другую копию?

...