Бытрая правка php файлов без вывода на экран информации
Programming 04.02.2010Есть моменты, когда требуется отладка файла, который на экран не выводится или выводится, но сразу после выполнения происходит редирект и возможности его убрать нету. Делаю так:
ob_start();
/*здесь все, что выводит инфу на экран*/
vcache(ob_get_contents());
ob_end_clean();function vcache($text)
{
$fp = fopen($_SERVER['DOCUMENT_ROOT'].’/lg.txt’, ‘w’);
fwrite($fp, $text);
fclose($fp);
}
Первая команда перехватывает поток вывода на экран в буфер. ob_get_contents - получение всей инфы из буфера. ob_end_clean - уничтожение буфера и перехвата.
Функции сохранения в файл требуется 777 на доступ к файлу, параметр w - перезаписывает файл с нуля, независимо от того, что в нем было.
На базе данной функции можно также организовать тотальное кэширование всего-всего. Нужно только названия файлов для разных страниц разные придумать и смотреть по дате создания генерировать заново или пустить текст файла

05.02.2010 в 00:45
в таких случаях запускаю с выводом в файл
php file.php > out
еще в последнее время ловлю себя на мысли, что мне лень открывать\закрывать файлы, фигачу через системный вызов exec(”echo “.$var.” >> text.txt”);
Таким же раком и читаю файлы )
05.02.2010 в 01:06
php file.php > out - это если ты по ssh сидишь )) Подразумевается доступ по ftp и удаленный хочтинг. А вот за exec спасибо! Возьму на вооружение