PHP读写大日志文件
PHP #读写文件2012-10-29 15:01
运行中的网站,日志文件较大,2个多G。没办法用file操作,只能按行读取。
set_time_limit(0); @ini_set('memory_limit', '64M'); $conn = mysql_pconnect('localhost', 'hcq', 'hcq') or die("con\'t connection db."); mysql_select_db('log', $conn); mysql_query('set names utf8', $conn); $file = '/home/hcq/data/yige.org_20121029_access.log'; $handle = fopen($file, "r") or die("can\'t open file {$file}"); while($log = stream_get_line($handle, 8192, "\n")) { $i = explode(' ', $log); $path = isset($i[6]) ? str_replace('http://yige.org', '', $i[6]) : false; if($path) { preg_match('/(jpg|png|gif)/iu', $path, $m); if(isset($i[8]) && $i[8] === '200' && count($m) > 0) { $len = isset($i[9]) ? intval($i[9]) : 0; $refer = isset($i[12]) ? str_replace('"', '', $i[12]) : ''; mysql_query('INSERT INTO trace(path, len, refer) VALUES (\''.$path.'\', '.$len.', \''.$refer.'\')', $conn); } } } fclose ($handle); exit;
相关文章
- PHP制作中文圆形印章示例 2012/10/29
- PHP实现GBK/UTF-8编码自动转换的函数 2012/10/29
- PHP无限级分类数据格式化成树 2012/10/29
- PHP设计模式之外观模式 2012/10/29
- php网页密码登录代码 2012/10/29
- PHP用fsocket模拟GET和POST请求 2012/10/29
- paip.PHP实现跨平台跨语言加解密的方法 2012/10/29
- PHP设计模式之策略模式 2012/10/29
- php数据库操作示例 2012/10/29
- php+mysql缓存技术 2012/10/29