Создание файлов на временной (почасовой) основе - PullRequest
0 голосов
/ 21 марта 2010

Я экспериментировал с потоковым API Twitter,
Я использую Phirehose для подключения к твиттеру и получения данных, но у меня возникают проблемы с сохранением их в файлах для дальнейшей обработки.
По сути, я хочу создать файл с именем

date("YmdH")."."txt"  

за каждый час соединения.

Вот как сейчас выглядит мой код (без обработки почасовой смены файлов)

public function enqueueStatus($status)
$data = json_decode($status,true);
if(isset($data['text'])/*more conditions here*/) {
  $fp = fopen("/tmp/$time.txt");
  fwirte ($status,$fp);
  fclose($fp);
}

Помощь, как всегда, высоко ценится :)

Ответы [ 2 ]

1 голос
/ 21 марта 2010

Вы хотите режим 'добавления' в fopen - это либо добавит файл, либо создаст его.

if(isset($data['text'])/*more conditions here*/) {
    $fp = fopen("/tmp/" . date("YmdH") . ".txt", "a");
    fwrite ($status,$fp);
    fclose($fp);
}
0 голосов
/ 17 августа 2010

Из вики-кода Phirehose:

Начиная с версии 0.2.2 Phirehose есть пример простой "гетто-очереди" включены в архив (см. файл: ghetto-queue-collect.php и ghetto-queue-потребление.php), который показывает как легко собирать статусы на файловой системе для обработки а затем подобраны отдельным обрабатывать (потреблять).

Это полный рабочий пример того, что вы хотите делать. Интервал времени вращения также настраивается. Кроме того, есть еще один скрипт для использования и обработки записанных файлов. Теперь, если только я смог найти способ остановить весь скрипт, мой журнал продолжает заполняться (скрипт продолжает выполняться), даже если я закрываю вкладку браузера:

...