сервер — Ошибка обслуживания файла WOFF в файле file_get_contents и файле чтения

Я пытаюсь обслуживать файл шрифта WOFF на PHP.

Сначала я устанавливаю заголовок Content-Type:

header("Content-Type: application/font-woff");

Затем я пробую следующее:

Это прекрасно работает (файл правильно передается пользователю, а заголовок Content-Length соответствует размеру файла):

readfile("path/to/font.woff");

Но это не так (скрипт завершается без ошибок, но я получаю сообщение об ошибке «поток октетов» в браузере, а заголовок Content-Length равен 0):

echo file_get_contents("path/to/font.woff");

Почему я получаю сообщение об ошибке, используя file_get_contents? Я использую Windows 10, IIS Express 10 и PHP 7.2

0

Решение

Вы должны проверить журналы вашего сервера и ваш log_level. file_get_contents возвращает false, если произошла ошибка при чтении файла. Я проверил это прямо сейчас и echo(false) возвращает пустую строку. В этом случае тело ответа будет пустым (а длина содержимого будет 0).

Причиной сбоя file_get_content может быть неправильный путь или то, что содержимое файла не может быть интерпретировано как строка. File_get_contents пытается создать строку из файла. Возможно, это не работает с файлом woff. Но я не уверен в этом. Вы должны проверить журналы (уровень журнала E_WARNING).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]