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) 浏览(3593)

php 数组之和

2012-9-24 杜世伟 Php

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

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

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

阅读全文>>

标签: PHP array

评论(0) 浏览(3394)

程序员能力的四个境界

2012-9-24 杜世伟 Message

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

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

阅读全文>>

标签: 境界

评论(0) 浏览(3483)

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

2012-9-17 杜世伟 Php

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

阅读全文>>

标签: PHP ajax jquery

评论(0) 浏览(3580)

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

2012-9-14 杜世伟 Mysql

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

一,复制表结构

阅读全文>>

标签: mysql

评论(0) 浏览(2875)

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

2012-9-14 杜世伟 Mysql

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

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

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

阅读全文>>

标签: mysql

评论(0) 浏览(2858)

php函数strstr strrchr substr stristr

2012-9-14 杜世伟 Php

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


一,strstr和strcchr的区别

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

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

阅读全文>>

标签: PHP

评论(0) 浏览(3125)

PHP中$GLOBALS变量、global关键字、函数中static关键字详解

2012-9-13 雨寒 Php

在了解PHP变量之前, 我们先看下段式内存管理架构的内存段的划分。通常操作系统会将物理内存划分为以下几个逻辑段:

    1.Text-Segment,这个段最大的特点就是只读。一般存放可执行代码,也有可能常量也存放在这里,比如字符串常量

    2.BSS-Segment,这里存放了那些没有初始化的变量。某种意义来讲,没有初始化的变量都是垃圾,不可用

    3.Data-Segment,这里存放了全局变量和静态变量,直到脚本运行结束,操作系统才会回收这里的内存空间,变量亦会被销毁。

    4.Stack-Heap Segment 函数参数与本地变量(也称局部变量)存放在堆中(stack),还有返回值等等。

阅读全文>>

标签: PHP global static

评论(0) 浏览(3747)

ubuntu下安装PEAR PHPUnit XDebug和Apache Ant

2012-9-13 雨寒 Php

安装Pear命令: sudo apt-get install php-pear

安装PHPUnit命令:

    注册: sudo pear channel-discover pear.phpunit.de

    安装: sudo pear install phpunit/PHPUnit

安装XDebug:

阅读全文>>

评论(0) 浏览(3294)

mysql命令大全

2012-9-13 杜世伟 Mysql

create database name; 创建数据库

use databasename; 选择数据库

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

show tables; 显示表

阅读全文>>

标签: mysql

评论(0) 浏览(15876)

Powered by emlog 沪ICP备2023034538号-1