Я нахожусь на совместном хостинге и сражаюсь с ними, чтобы заставить fileinfo работать, мы наконец-то его работаем, но снова у меня был другой барьер, я по сути получил это, потому что создаю новый инструмент для загрузки файлов, и мы нужно знать, какие mimetypes загружаются, но fileinfo не хочет играть в мяч.
Таким образом, файл .sql вернет текст / plain, исправьте.
Тем не менее, каждый другой файл просто возвращает приложение / октет-поток, что мне интересно, почему это так, я не хочу, чтобы вы писали об этом хозяину множеством вопросов, поэтому я хочу получить некоторые исследования по этой проблеме прежде чем я их перепутаю.
Код:
function get_mime($filename) { $result = new finfo(FILEINFO_MIME_TYPE, "/usr/share/file/magic.mime"); return $result->file($filename, FILEINFO_MIME_TYPE); } echo $user->get_mime($_FILES['file']['tmp_name'][$i]);
Любая помощь будет принята с благодарностью, большое спасибо
Поэтому я пошел обновлять код проверки MIMETYPE, и я обновил код, чтобы отразить следующее (для функции):
function get_mime($filename) { $result = new finfo(FILEINFO_MIME_TYPE, "/usr/share/file/magic.mime"); // return mime type ala mimetype extension if (is_resource($result) === true) { return $result->file($filename, FILEINFO_MIME_TYPE); } else { return "failed"; } return false; }
Очевидно, что, как вы видите, я сделал вывод, когда он вышел из строя, он терпит неудачу. Это происходит в 100% случаев, и удаление этого оператора if заставляет его возвращать приложение / октет-поток, что неверно.
Процесс загрузки будет: Пользователь загружает -> Файлы перемещаются во временную папку выше общедоступной (upload_check), где они будут проверяться файловым файлом, если файл не является тем, что мы принимаем, он будет отброшен, иначе он будет скопирован в публичные файлы и затем отбрасываются из временной папки.
Я создал этот процесс, и все же fileinfo не хочет сотрудничать и возвращает приложение / октет-поток для всего, даже несмотря на то, что они находятся на сервере, просто сохраненном выше папки public_html.
Любой совет?
Джейк