Перейти к содержимому


Партнерская программа Kredov

Кэширование данных в .TXT файл (запись и вывод)

#61 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0
0

Отправлено 19 Январь 2011 - 12:55

Выше приведенный код проверил, все так же через функцию, допустим:

<?php
parstitle ("http://kismedia.ru");
?>


Все как бы работает (на 10 сайтах тестил), косяков нет, запись и чтение, все норм, с кодировкой тоже все Ок.

Единственное не пойму почему на:

http://kismedia.ru=Нет заголовка

Если заголовок:

<title>Скачать бесплатно программы,антивирусы,утилиты.Инструменты,софт,графика и статьи для web дизайнера.</title>

  • 0

#62 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 19 Январь 2011 - 12:59

Kismedia, протокол HTTP можно использовать только для чтения ресурса, но никак не для записи. Для записи используются системные пути, либо полные, либо относительные. Относительные пути скорее всего указываете не верно:

Так $file = 'cache.txt'; // в этот файл будем писать
и так $file = '/wp-content/themes/katalog/cache.txt'; // в этот файл будем писать

Первый вариант не верен, из-за того, что файл, который исполняет запись, скорее всего находится не в одном каталоге с cache.txt.
Второй вариант может быть не верен, потому что вы не правильно определили корень сервера. Он может быть и выше, его можно посмотреть в настройках сервера.
  • 0

#63 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 19 Январь 2011 - 13:03

Ну я сечас уже так сделал:

$file = $_SERVER['DOCUMENT_ROOT'].'/wp-content/themes/katalog/cache.txt'; // в этот файл будем писать


В файл cache.txt информация реально записывается.
  • 0

#64 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 19 Январь 2011 - 13:10

Kismedia, А вот тут я и сам не понимаю почему :) Это иначе срабатывает, если в это условие попадает ложь:

if (preg_match("#<title>(.*)</title>#si", $content, $match))

т.е., получается, что на этом сайте не находит <title>...</title>.
Может, регулярка неточно составлена... но сдается мне, что дело не в ней.

P.S. Кстати, только сейчас обратил внимание, что при первой загрузке сайта kismedia.ru открывается еще одно окно браузера... может быть дело в этом?


  • 0


#65 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 19 Январь 2011 - 13:14

Парсер у меня , который я изначально выкладывал нормально получал заголовок с этого сайта:

preg_match_all( "|<title>(.*)</title>|sUSi", $html_content, $titles);


  • 0

#66 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 19 Январь 2011 - 13:18

Ну тогда просто замени:

if (preg_match("#<title>(.*)</title>#si", $content, $match))

на
if (preg_match("|<title>(.*)</title>|sUSi", $content, $match))


  • 0


#67 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 19 Январь 2011 - 13:18

Там окно всплывает один раз на пользователя, то есть если стереть кэш и заново парсить, все должно быть гуд.
Но опять "Нет заголовка"
  • 0

#68 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 19 Январь 2011 - 13:21

Заменил у себя:
if (preg_match("|<title>(.*)</title>|sUSi", $content, $match))

так все ок - заголовок теперь есть ;)
  • 0


#69 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 19 Январь 2011 - 13:23

Заменил, все работает ;) :

http://kismedia.ru=Скачать бесплатно программы,антивирусы,утилиты.Инструменты,софт,графика и статьи для web дизайнера.

Так а в чем такое расхождение получилось?
  • 0

#70 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 19 Январь 2011 - 13:36

Это из-за модификатора U, который делает шаблон нежадным (так описано в мануалах), т.е., отдается максимум из найденного... как объяснить точнее не знаю ;)
Когда-то, одна из регулярок у меня некорректно работала с кодировкой (по-моему, utf-8). После добавления этого модификатора стало все ок. Правда было давненько, могу путать причину, но точно помню, что использовал этот модификатор и проблема была с символами.
  • 0


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru