кэширование текста на сервере #772257


#0 by KKrKKdd
Доброго дня всем! Подскажите пожалуйста кто разбирается! Копаю целый день - ничего не могу найти... Сама я недавно начала пробовать разбираться с PHP и проч. Поэтому заранее извиняюсь за глупый вопрос. Есть PHP на хостинге,  1ска отправляет на него некий текст с помощью HTTP Запроса и заголовков. этот PHP создает папку, добавляет в нее файлы и в частности тхт с этим вот текстом и index.html, который при открытии загружает в себя данные из тхт и отображает их. эта часть проходит гладко. в 1с меняются данные. новые данные отправляются в этот же php и он перезаписывает текст который лежит все в той же папке. раз на раз не приходится, но в некоторый момент после того как текст был переписан, index page отображает актуальный новый текст, а вот сам файл txt при открытии через си панель или же при получении http запросом из 1с содержит в себе старые данные. т.е. index подгружает актуальный текст, а вот сам текст к которому он обращается устарел. если ничего не трогать через несколько минут он обновляется. но как получить актуальный файл, по типу того что делает index? а он всего то запускает php get который считывает строки этого текста. почему кэшируется этот текстовый документ? я прочитала как убрать кэширование с html страниц и с php, но что делать с текстом? Народ, подскажите пожалуйста!!!!
#1 by Fragster
надо написать в техподдержку хостинга про неправильную настройку веб сервера
#2 by f_vadim
например
#3 by f_vadim
>>а он всего то запускает php get а get обрабатывает сервер, апач или что там у вас на хостинге, он и кэширует.
#4 by KKrKKdd
объясняю я криво, поэтому для ясности попробую предоставить участки кода, выполняющие эти действия. индекс.хтмл содержит следующее: function getData{    var sc=document.createElement("SCRIPT");    sc.src="PHPget.php?now="+escape(new Date);    document.body.appendChild(sc); }; в свою очередь PHPget.php : <?php $fname = "table.txt"; $textTable = file('upload/'.$fname); for($i = 0; $i < count($textTable ); ++$i) { $textTableNew = str_replace(" ", "", $textTable [$i]); echo "MyCallback("$textTableNew");"; } ?>
#5 by KKrKKdd
в индекс хтмл я получаю этот текст function MyCallback(val){   htmlTemp  = htmlTemp  + val; }; вот тут все хорошо. я получаю актуальный текст. почему же непосредственно просматривая этот текст через си панель я вижу старую версию. почему тогда эта старая версия не идет ко мне в индекс?
#6 by KKrKKdd
или почему 1ска с помощью http запроса цепляет старую версию а не новую как этот php?
#7 by KKrKKdd
Да спасибо я это уже видела. или не то или я просто не дотюкала как это применить для моей проблемы
#8 by Fragster
тогда поможет
#9 by Генератор
для получения текста из 1с сделайте отдельный php, и к нему запрос
#10 by Генератор
+ или к тому же php запрос и выдернуть из содержимого
#11 by KKrKKdd
хорошая свежая идея. сейчас буду пробовать
#12 by Asmody
Если "си панель" — это CPanel, то оно тоже web-приложение. И его выдача, скорее всего, тоже кешируется. У всяких текстов, картинок и прочей статики обычно большое время кеширования на стороне сервера. А если еще какой-нибудь CloudFlare перед сервером стоит, то вообще-вообще.
#13 by Asmody
И про "ближний" кеш тоже забывать нельзя. Какой-нибудь squid на корпоративной проксе.
#14 by KKrKKdd
спасибо большое тебе, добрый прохожий... целый день не могла до такой очевидности догадаться... как все просто то! я не знаю как проверить все это... я только неделю как влезла, вляпалась так сказать... а ведь с утра я даже не знала что это все кэшируется. искала баг у себя. представляете это ощущение, когда ты смотришь на то что должно совпадать а оно расходится. мой закаленный 1ской мозг пережил такое!!! и все равно спасибо за пищу для размышлений!
#15 by Генератор
да незачто, пивка выпьешь вечером еще не такие мысли приходят
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С