Вопрос:
Приложение My Laravel не может проверять загруженные изображения. Он возвращает это сообщение об ошибке:
Невозможно угадать тип mime, поскольку никакие догадки недоступны (вы включить расширение php_fileinfo?)
Я знаю, что включить 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