php读取大文件详解

2012-9-25 杜世伟 Php

需求如下: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容。

实现方法:

1. 直接采用file函数来操作
注: 由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下 限制只能最大使用内存16M,这是通过php.ini里的memory_limit = 16M来进行设置,这个值如果设置-1,则内存使用量不受限制.

下面是一段用file来取出这具文件最后一行的代码.
整个代码执行完成耗时 116.9613 (s).

阅读全文>>

标签: PHP 函数

评论(0) 浏览(3741)

php 数组之和

2012-9-24 杜世伟 Php

php 数值之和或许你没有真正的操作过,一个数值加上一个数组会是什么结果呢?

<?
$a = array('a');
$b = array('b');
$c = $a + $b;
print_r($c);
?>

你猜想下print_r($c);输出的结果:

阅读全文>>

标签: PHP array

评论(0) 浏览(3548)

程序员能力的四个境界

2012-9-24 杜世伟 Message

1 无意识无能力(不知道自己不知道)

这个时候是刚开始接触编程到编程有差不多一年左右的时间,大多数这个时候在大学生涯,年少轻狂,激情四射,学习起来超级有干劲,尤其当自己知道一个个编程法则,写出很自己认为很牛逼的程序,研究过高深的算法,做过几个项目,觉得编程很简单。我当初就是这样的,在大学的时候会用 spring,hibernate,tapestry(貌似这个不是很流行),struts做过两个中型项目,学习过设计模式,部署过ejb,看过soa相关的皮毛知识,觉得自己无敌了,都不知道学习什么了,觉得所有框架都会用了,好牛逼啊,不知道自己学习啥子了。

阅读全文>>

标签: 境界

评论(0) 浏览(3721)

使用jQuery和PHP实现功能开关效果

2012-9-17 杜世伟 Php

在开发项目中,我们会经常碰到需要及时开启某项功能的情况,通过Ajax实现实时开启和关闭功能,无疑增强了用户体验。本文以360安全卫士的木马防火墙开关为背景,使用PHP、jquery、MYSQL实现了及时开启和关闭产品功能的WEB应用。

阅读全文>>

标签: PHP ajax jquery

评论(0) 浏览(3864)

mysql 复制表数据,表结构的3种方法

2012-9-14 杜世伟 Mysql

什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份。如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦。

一,复制表结构

阅读全文>>

标签: mysql

评论(0) 浏览(3088)

查看mysql语句运行时间的2种方法

2012-9-14 杜世伟 Mysql

网站运行很慢的时候,我就特别起知道为什么这么慢,所以我查啊查,数据库绝对是很重要的一部分,里面运行的sql是绝对不能放过的。平时做项目的时候,我也会注意sql语句的书写,写出一些高效的sql来,所以我会经常测试自己写的sql语句。我把我知道的二个方法,总结一下发出来。

一,show profiles 之类的语句来查看

1,查一下profile是不是打开了,默认是不打开的。

阅读全文>>

标签: mysql

评论(0) 浏览(3127)

php函数strstr strrchr substr stristr

2012-9-14 杜世伟 Php

strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,我经常用的是substr,strstr,基本上能满足我对字符串的操作。下面举一些例子,做个笔记,以后不要弄混了。


一,strstr和strcchr的区别

strstr 显示第一次找到,要查找的字符串,以及后面的字符串。

strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。

阅读全文>>

标签: PHP

评论(0) 浏览(3321)

mysql命令大全

2012-9-13 杜世伟 Mysql

create database name; 创建数据库

use databasename; 选择数据库

drop database name 直接删除数据库,不提醒

show tables; 显示表

阅读全文>>

标签: mysql

评论(0) 浏览(16474)

(转)php中flush和ob_flush的区别

2012-9-13 杜世伟 Php

buffer ---- flush()

buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffer的时候,才会把buffer中的数据写入磁盘,当然当调用内核函数flush()的时候,强制要求把buffer中的脏数据写回磁盘。

阅读全文>>

标签: PHP

评论(0) 浏览(3450)

php长连接和短连接

2012-9-13 杜世伟 Php

什么是长连接,如果你没听说过,可以往下看!

长连接到底有什么用?我想你应该见过很多在线聊天工具吧,比如新浪的Woocall,另外还有很多网页在线聊天的工具Omegle也是一个很不错的网站,前段时间挺火的,目前alexa全球排名8694(2009-8-18数据),另外使用校内的人应该会熟悉其中一个功能,如果有人回复你了,网站会马上出现提示,此时你并没有刷新页面;Gmail也有此功能,如果邮箱里收到了新的邮件,网站会马上提醒你,即使你的网页一直未刷新过。

阅读全文>>

标签: PHP

评论(0) 浏览(5382)

Powered by emlog 沪ICP备2023034538号-1