文章分类 -  php

摘要:一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦。下面是PHP去除换行符的一些常见方法。第一种写法:$content=str_replace("\n","",$content);echo $content;第二种写法:str_replace("\r\n",&quo 阅读全文
posted @ 2012-11-22 11:37 subsir 阅读(304) 评论(0) 推荐(0) 编辑
摘要:原文:http://netevil.org/node.php?nid=280转载:http://hi.baidu.com/sch362017466/blog/item/f7a8f7f5085aeaf07709d746.html问题:有没有办法在php中实现多线程呢?假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。可以实现吗?回答:当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的语言,比如perl。其实的是大多数情况下,你大可不必使用fork 阅读全文
posted @ 2012-11-22 10:35 subsir 阅读(1862) 评论(0) 推荐(0) 编辑
摘要:说到php连mongoDB,不得不先介绍一下php的官方手册,网址在:http://us.php.net/manual/en/book.mongo.php在php的mongo扩展中,提供了4类接口(对象):1,针对mongoDB连接的操作:Mongohttp://us.php.net/manual/en/class.mongo.php2,针对mongoDB中数据库的操作:MongoDBhttp://us.php.net/manual/en/class.mongodb.php3,针对mongoDB中collection的操作:MongoCollectionhttp://us.php.net/ma 阅读全文
posted @ 2012-11-22 10:19 subsir 阅读(348) 评论(0) 推荐(0) 编辑
摘要:新开发的项目中,财务系统的数据报表需要导出EXCEL 并且需要在excel里加一些格式,所以就研究了一下phpExcel类,在这里记录一下PHPEXCEL类的使用方法,以便已后查看:phpExcel,操作excel很方便,尤其是可以方便的加入图片,支持jpg gif png格式。下载地址:http://www.codeplex.com/PHPExcel下面是总结的几个使用方法include ‘PHPExcel.php’;include ‘PHPExcel/Writer/Excel2007.php’;//或者include ‘PHPExcel/Writer/Excel5.php’; 用于输出.x 阅读全文
posted @ 2012-11-22 10:11 subsir 阅读(252) 评论(0) 推荐(0) 编辑
摘要:PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。# vi /etc/php.ini(1) PHP函数禁用找到:disable_functions =该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当PHP程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:disable_functions = phpinfo,passthru,exec,system,popen,chroot,escap 阅读全文
posted @ 2012-07-24 17:00 subsir 阅读(176) 评论(0) 推荐(0) 编辑
摘要:intpcntl_fork(void)pcntl_fork()函数创建一个子进程,这个子进程仅PID(进程号) 和PPID(父进程号)与其父进程不同。fork怎样在您的系统工作的详细信息请查阅您的系统 的fork(2)手册。返回值成功时,在父进程执行线程内返回产生的子进程的PID,在子进程执行线程内返回0。失败时,在 父进程上下文返回-1,不会创建子进程,并且会引发一个PHP错误。实例: 1 <?php 2 3 $pid = pcntl_fork(); 4 //父进程和子进程都会执行下面代码 5 if ($pid == -1) { 6 //错误处理:创建子进程... 阅读全文
posted @ 2012-07-03 17:11 subsir 阅读(609) 评论(0) 推荐(0) 编辑
摘要:在使用linux命令 ps 或 top 命令查看进程时, 能看到内存消耗的百分比和大小, 此处的大小是与 memory_get_peak_usage 相一致的而方法memory_get_usage 是指当前脚本正在使用的内存参考 http://us2.php.net/manual/en/function.memory-get-peak-usage.php一个是系统分配的内存, 另外一个是内存当前使用的内存, 举例说明:1, 数据库读出来千万条数据,假如说需要消耗100MB,那么系统会分配给进程 100MB2, 当处理完数据后 unset 掉, 其实当前进程的消耗的内存并不会变小, 即不会释放1 阅读全文
posted @ 2012-07-03 15:51 subsir 阅读(1541) 评论(0) 推荐(0) 编辑
摘要:转载:http://www.jb51.net/article/25034.htm 在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大。 下面我逐一介绍它们。在我们工作中,用到它们的估计不多。 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php接收。当时在处理时候,查阅不少资料。因为它们使用确实比较少,也很少朋友工作中会用到它们。 在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大。 下面我逐一介绍它们。pacrk函数说明:本函数用来将资料压缩打包到位的字符串之中。语法:pack(format,args+)参数描述forma.. 阅读全文
posted @ 2012-07-03 15:27 subsir 阅读(332) 评论(1) 推荐(0) 编辑
摘要:转载:http://www.20ju.com/content/V190044.htm 在做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数据我们不能直接输出,往往需要对内容进行提取,然后再进行格式化,以更加友好的方式显现出来。下面先简单说一下本文的主要内容:一、 PHP抓取页面的主要方法:1. file()函数2. file_get_contents()函数3. fopen()->fread()->fclose()模式4.curl方式5. fsocko 阅读全文
posted @ 2012-07-03 15:07 subsir 阅读(385) 评论(0) 推荐(0) 编辑
摘要:<?$fp = fsockopen ("openyy.subsir.com", 80, $errno, $errstr, 30);if (!$fp) { echo "$errstr ($errno)\n";} else { $msg="GET /getip.php HTTP/1.0\r\n"; $msg.="Host:openyy.subsir.com \r\n"; $msg.="Referer: http://openyy.subsir.com/getip.php \r\n"; $msg 阅读全文
posted @ 2012-07-03 14:11 subsir 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:1.如果一个方法 能被静态,那就声明他为静态的,速度可提高1/4;2.echo的效率高于print,因为echo没有返回值,print返回一个整型;3.在循环之前设置循环的最大次数,而非在在循环中;4.销毁变量去释放内存,特别是大的数组;5.避免使用像__get, __set, __autoload等魔术方法;6.requiere_once()比较耗资源;7.在includes和requires中使用绝对路径,这样在分析路径花的时间更少;8.如果你需要得sexinsex到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time();9.能使用字符处理函数 阅读全文
posted @ 2012-07-03 13:23 subsir 阅读(126) 评论(0) 推荐(0) 编辑
摘要:什么是SESSION?按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效。常见的SESSION有:TCP SESSION、WEB SESSION(HTTP SESSION)、LOGIN SESSION等。根据OSI模型中,会话实现的位置不同,SESSION主要分为几种,一种是应用层会话,包括WEB SESSION(HTTP SESSION)和telnet远程登录session;会话层实现的,包括Session Initiation Protocol(SIP)和Internet Phone Call;在传输层实现的有TCP SESSION。本 阅读全文
posted @ 2012-07-02 16:08 subsir 阅读(1358) 评论(0) 推荐(0) 编辑
摘要:在实际开发过程会经常会遇到一些重复的操作,如果每次都要自己去实现这无疑加重了自己的工作量,下面对一些可能经常用到的类做个整理:图表库下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持。pChart– 一个可以创建统计图的库。Libchart– 这也是一个简单的统计图库。JpGraph– 一个面向对象的图片创建类。Open Flash Chart– 这是一个基于Flash的统计图。ChartDirector– 强大的统计图开发扩展。RSS 解析解释RSS并是一件很单调的事情,不过幸好你有下面的类库可以帮助你方便地读取RSS的Feed。MagpieRSS– 开源的PHP版 阅读全文
posted @ 2012-07-02 16:07 subsir 阅读(161) 评论(0) 推荐(0) 编辑
摘要:首先准备好软件:1. Apache,到这里找个最新版本2. PHP,到这里下载3. Eclipse IDE for Java EE Developers,到这里下载4. DLTK Core Frameworks 1.0 Integration build,到这里下载注意:DLTK是所谓动态语言开发包,PDT依赖于它,不知为什么现在官方主页上的稳定版本从1.0版降到了0.95,而PDT必须在1.0上运行,所以请选择最新的Integration版本(在页面最下面),而不是Release或Stable版本。5. PDT 2.0,到这里下载6. Zend Debugger,到这里下载下面开始安装配置这 阅读全文
posted @ 2012-07-02 09:57 subsir 阅读(128) 评论(0) 推荐(0) 编辑
摘要:最近在逛论坛看到这篇文章,写的很实用,希望大家看后能多多使用1.使用ip2long() 和long2ip()函数来把IP地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15)的15个字节对整形的4个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。(补充:亲!真的很实用哦)2.在验证Email地址的时候使用checkdnsrr() 函数验证域名是否存在。这个内置函数能够确认指定的域名能够解析成IP地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于checkdnsrr(),用来 阅读全文
posted @ 2012-06-13 13:19 subsir 阅读(162) 评论(0) 推荐(0) 编辑
摘要:socket programming---system call一、网络连接相关的系统调用socket()创建套接字bind()绑定本机端口connect()建立连接listen()监听端口accept()接受连接recv(), read(), recvfrom()数据接收send(), write(), sendto()数据发送close(), shutdown()关闭套接字二、网络信息检索相关的函数gethostname()获得主机名getpeername()获得与套接口相连的远程协议地址getsockname()获得套接口本地协议地址gethostbyname()根据主机名取得主机信息g 阅读全文
posted @ 2012-06-13 13:12 subsir 阅读(686) 评论(0) 推荐(0) 编辑