随笔分类 - PHP
网站语言
摘要:如果想要加载一个目录下的多个类文件,并且含有一定的特征。如:D:/AppServ/www/myExercise/下新建了几个文件夹和文件文件夹mods->inmod.mod.php ->oumod.mod.php文件夹libs->inlib.lib.php类名与文件有一定的关联,这儿的类名与文件的第一个.号前相同,后面都最为后缀。inmod.mod.php中的代码:';oumod::test();不会报错,仍然会输出类中的结果,说明类已经加载进来了。结果如下:inmod testoumod test
阅读全文
摘要:一、环境搭建和ZF安装 *[注]本节内容大部分来至ZendFramework官方手册 1.1 Zend Framework下载 Zend Framework 使用面向对象的PHP5 构建,需要 PHP 5.1.4 或更高版本。 请查阅 附录系统需求 了解更多信息。一旦合适的 PHP 环境建立起来,下一步是拥有一个 Zend Framework 的副本,可以通过下面的官方认可的途径获得:下载最新的稳定版本。 这个版本有 .zip 和 .tar.gz 两种格式,对于 Zend Framework 的新手来说是不错的选择。下载最新的每日快照(nightly snapshot)。 对于用于...
阅读全文
摘要:PHP输入流php://input在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。“php://input allows you to read raw POST data. It is a less memoryintensive alternative to $HTTP_RAW_POST_DATA and does not need any specialphp.ini directi
阅读全文
摘要:Zend Framework学习日记(2)--HelloWorld篇这一篇主要演示如何用zf命令行工具建立一个基于Zend Framework框架的工程,也是我初学Zend Framework的小练习。(1)新建工程(Windows环境下)打开CMD,将目录切换到你将要新建工程所在的目录下,输入“zf create project HelloWorld”,如下[c-sharp]view plaincopyD:/workphp/www>zfcreateprojectHelloWorldCreatingprojectatD:/workphp/www/HelloWorldNote:Thisco
阅读全文
摘要:Zend Framework学习日记(1)--环境搭建篇(1)开发工具Zend Framework框架:http://framework.zend.com/download/latest包含2个目录bin和library,bin目录里面有zf命令行工具(包括Windows和Mac OS X平台),而library目录就是Zend Framework的各种组件放置的地方,可以复制该目录到PHP工程下,方便IDE可以查找到Zend Framework相关文件,以免报错。Zend Studio 8:http://www.zendstudio.net/zend-studio-all-in-one-do
阅读全文
摘要:简 介英文版下载:PHP 5 Power ProgrammingPHP取得成功的一个主要原因之一是她拥有大量的可用扩展。web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到。PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展。扩展API的引入使PHP3取得了巨大的进展,扩展API机制使PHP开发社区很容易的开发出几十种扩展。现在,两个版本过去了,API仍然和PHP3时的非常相似。扩展主要的思想是:尽可能的从扩展编写者那里隐藏PHP的内部机制和脚本引擎本身,仅仅需要开发者熟悉API。有两个理由需要自己编写PHP扩展。第一个理由是:PHP需要支持一项她还未
阅读全文
摘要:大家都知道,不同字符编码,其在内存占用的字节数不一样。如ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节。 PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。 使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的。即UTF-8编码的中文,使用substr截取,只会截取1/3个中文,当然出现乱码了。mb_substr(string$str,int$start[,int$length[,string$encoding]] ) 中的参数$encoding可以指定编码,如果省略,则使用内部字符编码。 如
阅读全文
摘要:一、要想使用curl_setopt 这个函数必须在服务器里边进行编译curl这个组件,怎么安装编译这个组件请具体到google搜索二、curl_setopt的php帮助文档的解释bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定): CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。CURLOPT_VERB.
阅读全文
摘要:curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 为CURL调用设置一个选项 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。 下列选项的值将被作为长整形使用(在option参数中指定): CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。 CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的...
阅读全文
摘要:一、什么是RBAC基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。二、ThinkPHP中的RBAC先看下官方给的实例所用到的数据表,通
阅读全文
摘要:类似于dreamhost这类主机服务商,是显示fopen的使用 的。使用php的curl可以实现支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道就最常用的来说,是基于http的 get和post方法。代码实现:1、http的get实现Php代码$ch=curl_init("http://www.domain.com/api/index
阅读全文
摘要:打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2Mpost_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。进一步
阅读全文
摘要:php下载文件,比如txt文件。出现的效果就是,弹出浏览器自带的下载框,出现另存为操作。有时候会出现内存溢出和超时的现象。超时的话,设置set_time_limit(0);出现内存溢出的话,有可能是因为从数据库中取出的数据量太大导致的。如果是从文件中读取的话,出现内存溢出的话,就是代码读取方式不正确,调用files或者filegetcontens才会如果是fopen的话,就给一个缓冲区,固定大小,读入然后写入,不会出现内存溢出的情况。如代码:if (file_exists($file_path)) { //如果文件存在 $handle = fopen($file_path, "r&q
阅读全文
摘要:file_get_contentsfpassthrufgetsfilerequirereadfilePHP1stringfile_get_contents(string$filename[,bool$use_include_path=false[,resource$context[,int$offset=-1[,int$maxlen]]]])file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if
阅读全文
摘要:由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。PHP代码如下:===========================================================$filename = '/path/'.$_GET['file
阅读全文
摘要:这里介绍两个php采集能用到的好工具。一个是Snoopy,一个是simple_html_dom。采集还有很多方式(其实本质就2-3种,其他的都是衍生的),php自带了几个方法也能直接进行采集。但是,出于把懒惰进行到底的精神。我们还是可以通过这两个工具,让采集变得更简单。网上有不少介绍Snoopy的,下面是别人翻译的Snoopy的SDK//////////////////////////////////////////////////////////////Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。Snoopy的一些特点:1抓取网页的内容 fetch2 抓取网
阅读全文
摘要:<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************************//格式=>(“mongodb://用户名:密码 @地址:端口/默认指定数据库”,参数)$conn= newMongo();//可以简写为//$conn=new Mongo(); #连接本地主机,默认端口.//$conn=new Mongo(“172.21.15.69″); #连接远程主机//$conn=new Mongo(“xiaocai.loc:10086″); #连接指定
阅读全文
摘要:一、MongoDB简介MongoDB (名称来自"humongous") 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对存储和关系型数据库的优点于一身。官方站点:http://www.mongodb.org/,MongoDB特点:•面向文档存储(类JSON数据模式简单而强大)•动态查询•全索引支持,扩展到内部对象和内嵌数组•查询记录分析•快速,就地更新•高效存储二进制大对象 (比如照片和视频)•复制和故障切换支持•Auto-Sharding自动分片支持云级扩展性•MapReduce 支持复杂聚合•商业支持,培训和咨询二、安装MongoDB安装
阅读全文
摘要:time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧不过这样方便计算,要找出前一天的时间就是 time()-60*60*24;要找出前一年的时间就是 time()*60*60*24*365那么如何把这个数字换成日期格式呢,就要用到date函数了$t=time();echo date("Y-m-d H:i:s",$t);第一个参数的格式分别表示:a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日,二位数字,若不足二位则前面补
阅读全文
摘要:1、unset()函数只能在变量值占用内存空间超过256字节时才会释放内存空间。2、只有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存。PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!代码如下:for ( $i = 1; $i < 100; $i++ ) {$str = str_repeat('01234567', $i);$a = memory_get_usage();unset($str);$b = memory_get_usage();echo &q
阅读全文