В общем суть проблемы - на локалхосте все отлично работает, на Hut.Ru и других тоже, а как выставил на Jino-Net.ru так лажа. Причем если лажа - то все не должно работать, а не работает только часть. Кто нибудт может это проверить? Собственно, в чем проблема. Есть папка на сайте. В ней .htaccess c заменой RewriteRule ^counter\.gif$ counter2.php?image1.gif [L] Есть скрипт сounter2.php PHP: <? // Читается текущее значение или ничего если файла нет $list="./cnt.txt"; $cnt=0; if(@$file = fopen($list, "r")){ $numberOfStrings = count($file); if ($numberOfStrings > 0) { $cnt=fgets($file); } fclose($file); } $cnt+=1; // Пишется новое значение. $file = fopen ($list, "w"); fputs ($file, $cnt); fclose($file); // Отсылка самой картинки header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); $url=$_SERVER["QUERY_STRING"]; //тут имя файла if(@$fp = fopen($url,"rb")){ header("Content-Type:image/gif"); fpassthru($fp); fclose($fp); //отослано } else { header('Location: image0.gif'); //если вдруг картинка не найдена то слать ту которая 100% существует. } ?> Так вот. До скрипта дело доходит нормально. Т.е. я пишу http://сайт/папка/counter.gif и вижу на экране картинку image1.gif (что и следовало ожидать.) НО: в файл то нихрена не пишется! И не вылетает ошибка. Как может быть что не работает началоскрипта но работает конец? PS: пробовал добавлял запись в еще 1 файл - QUERY_STRING и Referer - тоже нифига не пишется. ВСЕ файлы реально существуют. //by SMiX: Скрипты суем в тег PHP: [/b][/SIZE]
Сделай в начале скрипта die($_SERVER['REQUEST_URI']); и посмотри, что тебе он скажет, и скажет ли вообще: иногда бывает, что если много правил рерайт-мода, то просто одно правило перебивает другое, а ты этого не замечаешь.
Насколько мне известно, функции сокетов на jino-net не доступны (где-то с начала лета), вероятно по этой причине в файл ничего не пишется Поправьте если я ошибаюсь
проверь чмоды. сокеты работали на удаленку еще пару месяцев назад. И попробуй, действительно, просто записать файл другим скриптом, какое-нить левое содержание. Если запишет, значит дело в чем-то другом
Сокеты уже неделю не работают. Меня другое интересует. почему 1 и 3 часть скрипта выполняется, а запись в файл, которая в середине - нет?!!! Должен быть вылет если файл не записался. А вылета нет и скрипт работает дальше. вот это меня убивает. Параметры передаются правильно. Иначе б 3 часть не работала. И причем тут сокеты к fopen для файла, лежащего на том же сервере???? Code: // Пишется новое значение. $file = fopen ($list, "w"); fputs ($file, $cnt); fclose($file); Вот эта часть не работает. Передачу картинки я уже давно поставил как header("Location: $url"); НО ЛОГ НЕ ПИШЕТСЯ! Хотя точно знаю что читается! Вот в чем проблема
Ну сколько раз сказали - создай отдельный скрипт, записывающий в файл и скажи результат, запишет он в файл или нет