Как включить расширение php_fileinfo в PHP?

php
Вопрос:Приложение My Laravel не может проверять загруженные изображения. Он возвращает это сообщение об ошибке: Невозможно угадать тип mime, поскольку никакие догадки недоступны (вы включить расширение php_fileinfo?) Я знаю, что включить php_fileinfo.dll/php_fileinfo.so в php.ini исправляет его. Но у меня нет доступа к файлу php.ini сервера удаленный. Итак, я думал, есть ли другой способ включить его? И

Вопрос:

Приложение My Laravel не может проверять загруженные изображения. Он возвращает это сообщение об ошибке:

Невозможно угадать тип mime, поскольку никакие догадки недоступны (вы включить расширение php_fileinfo?)

Laravel error message

Я знаю, что включить php_fileinfo.dll/php_fileinfo.so в php.ini исправляет его. Но у меня нет доступа к файлу php.ini сервера удаленный.

Итак, я думал, есть ли другой способ включить его? И как? Может быть, я могу использовать методы PHP ini_set()? Я попытался использовать его, как:

ini_set(‘extension’, ‘php_fileinfo.so’);

Но это не сработает.

Я также читаю, что вы можете переопределять настройки php.ini, используя файлы .htaccess. Но как?

Как и Laravel по умолчанию, мой файл .htaccess:

<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes… RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

Как вы можете добавлять туда такие дополнения?

Ответ №1

Создайте файл .htaccess, в котором находится ваш корень, а затем выполните

php_value extension=php_fileinfo.dll

или

php_admin_flag extension=php_fileinfo.dll Ответ №2

Если вы хотите загружать изображения, это может вам помочь.

$image_size_info = @getimagesize($filename); //surpress errors(@) if not image if( empty($image_size_info) ) $mime_type = «»; else $mime_type = @image_type_to_mime_type( $image_size_info[2] ); //safety for all cases: if( empty($mime_type) ) $mime_type = «»; if( strpos($mime_type, «image/») === false ) { //not an Image ! } else { //proceed file upload }

Если выше код не работает, он может помочь вам → > https://github.com/thephpleague/flysystem/commit/0ec96b1104e57bfcf0e40d6169c8e203b7942b34

Ответ №3

Если у вас есть cpanel, просто перейдите на

Выберите версию PHP

и искать расширение

FileInfo

проверь и все готово.

Ответ №4

создайте собственный файл php.ini в корневой папке вашего каталога.

Например, если вы вносите изменения на сервере, он должен находиться в папке public.html.

создайте имя файла php.ini, оно переопределит настройки. просто добавьте в файл

extension=php_fileinfo.dll

Оцените статью
Добавить комментарий