utf 8 — PHP вызывает неправильную загрузку файлов

Ситуация довольно проста:

PHP 5.3.2 используется в качестве посредника для обработки (обфусцирования) некоторых статических файлов на сервере. Этот процесс уже давно (1-2 года). Недавно (последние несколько дней) у некоторых файлов были усечены / неправильно сформированы маркеры EOF. Эти файлы сами не менялись в некоторых случаях более года или 2, а также.

Что я пробовал:

readfile() ,
file_get_contents,
а также
fopen(), fread(), fclose() процессы

Файлы на сервере при прямой ссылке загружаются без обработки PHP и их EOF (в частности, %%EOF ) поддерживается.

Однако после того, как PHP обработает их и отправит клиенту, %%EOF становится %%E и файл считается поврежденным приложением, принадлежащим им. Потерянный остаток является частью фрагмента 4096 (обычно около 3,1 КБ)

для меня это говорит о том, что поток преждевременно завершается, а оставшиеся байты никогда не выходят из буфера — однако все, что я пробовал, все равно кажется, что это не входит в конец файла.

некоторая информация об окружающей среде:

Файлы имеют формат UTF-8, PHP ini имеет кодировку по умолчанию, установленную на UTF-8, php обнаруживает кодировку файла utf-8 во время обработки, размер фрагмента потока не изменился (4096), gzip через IIS, а не модуль PHP.

Не все файлы, полученные с помощью этого процесса, страдают от этой ошибки. Проверка размера файла, размера, даты создания и т. Д. Между сбойными файлами нет никакой реальной общности. Также нет различимой характеристики между файлами, которые передаются, и файлами, которые повреждены

заранее спасибо

0

Решение

Задача ещё не решена.

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

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

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