Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > file_get_contents мистика |
Автор: YahоО 1.2.2021, 22:18 | ||||||
Есть не маленький текстовый файл, пытаюсь его прочесть:
не читается, укоротил вдвое, не читается, укорачивал до тех пор пока не удалил слово "24paybank.info" и текст начал нормально считываться из файла на диске, но из текста осталось всего ничего. Оказывается в тексте есть еще как то слова которые не позволяют работать с файлом, их еще предстоит искать и удалять или заменять синонимами. Если просто напечатать слово:
то все нормально отображается. Получается что php не тормозится при виде слова "24paybank.info", и file_get_contents считывает текст их файла, но какие то символы не печатаются с помощью echo. Почистил текст, удалил все кусочки текста содержащие сомнительные символы
Текст после замены все равно не печатается. Разделил все символы оставшегося текста пробелами, и наконец то текст был отображен в браузере. И что теперь с пробелами бороться с помощью javascript на стороне клиента? Мистика - сервер не "хочет" печатать текст! В чем может быть причина? И как с ней "бороться"? |
Автор: Oldshelf 2.2.2021, 10:27 | ||
1. Какой размер файла? 2. В какой кодировке файл? 3. Если сделать только:
- на исходном большом файле. Появится ли "test.txt" с содержимым "text.txt"? 4. Какая версия PHP? 5. Сервер локальный или на хостинге? 6. Установлены ли в системе файрвол или антивирус? Что, если их временно отключить? 7. CMS своя или чужая? Может ли в ней быть буферизация вывода: ob_start / ob_end_flush? |
Автор: YahоО 2.2.2021, 13:34 |
Размер файла 5000 строк, файл 75 кб. Сервер на free хостинге. Кодировка, менял я ее, пробовал и с Unicode UTF-8 no BOM(65001), и с ANSI. file_get_contents все же считывает весь файл, и с полученным текстом в переменной можно что делать. Версия PHP Version 7.1.33. Буферизация - но файл же считывается весь, сразу, потому буферизация как бы ни при чем. Сотню первых строк (или последних) можно напечатать без проблем, и вот не понятно почему какие то сочетания символов в середине тормозят выдачу. С пробелами текст увеличивается соответственно в два раза, и такой увеличенный текст уже можно получить в браузер. Можно конечно решить проблему с помощью пробелов и javascript, но тогда php в явном проигрыше по сравнению с javascript. Что то тут не так )), это же простой текстовый файл! |
Автор: YahоО 2.2.2021, 16:13 |
Да, по всей видимости причина в хостере, и его каких то ограничениях. Потому как сейчас этот, в общем не большой файл (по сравнению даже с файлами картинок), по простой прямой ссылке на него в адресной строке браузера без всякого html скачивается уже более 4 минут. И даже переход на страницу со ссылкой на этот файл замирает наглухо. Придется искать варианты (( |
Автор: ksnk 2.2.2021, 16:33 |
Для фришных хостеров характерно вставлять свою рекламу в вывод. Иногда довольно тупо. Сам текст в файле не похож на html ? Обычно скрипт вставки ищет открывающий-закрывающий body или </html и что-то лепит туда. Это случайно не этот случай ? |
Автор: YahоО 2.2.2021, 18:41 |
Делал и похожим на html, вставлял текст в body, и просто файлом .txt по отдельной ссылке. Одинаково. Поскольку разработка в общем то завершена, а это было тестирование с заполнением пробным контентом, то надо искать платное нормальное место для сайта, и станет все на свои места. --- Нашел! Мгновенный показ всего текста! У другого хостера! И без фокусов (пока). |