教你如何快速搞定PHP

如何搞定PHP,今天就php学习和大家分享一下自己的学习心得,不过我还认为php目前是一个最好的开发语言,很早之前是用的asp是最好的开发语言,不过现在比较流行的语言都有:java、c++、android、ios、html5等等。主要分为前端和后台开发两种,php针对小型企业网站建设是非常不错的选择,现在我简单给大家介绍下如何快速入门php

作者: King
本站转载于慕课网:https://www.imooc.com/article/6765

21 个非常有用的 .Htaccess 提示和技巧

Apache Web 服务器可以通过 .htaccess 文件来操作各种信息,这是一个目录级配置文件的默认名称,允许去中央化的 Web 服务器配置管理。可用来重写服务器的全局配置。该文件的目的就是为了允许单独目录的访问控制配置,例如密码和内容访问。在做网站的时候常常用到很多.htaccess 规则,我给大家总结了21 个非常有用的 .htaccess 提示和技巧

下面是 21 个非常有用的 .htaccess 配置的提示和技巧:

1. 定制目录的 Index 文件

DirectoryIndex index.html index.php index.htm

 

你可以使用上面的配置来更改目录的默认页面,例如你将这个脚本放在 foo 目录,则用户请求 /foo/ 时候就会访问 /foo/index.html。

 

2. 自定义错误页
ErrorDocument 404 errors/404.html
当用户访问页面报错时,例如页面找不到你希望显示自定义的错误页面,你可以通过这种方法来实现。或者是动态的页面:

ErrorDocument 404 /psych/cgi-bin/error/error?404

 

3. 控制访问文件和目录的级别
.htaccess 经常用来限制和拒绝访问某个文件和目录,例如我们有一个 includes 文件夹,这里存放一些脚本,我们不希望用户直接访问这个文件夹,那么通过下面的脚本可以实现:
# no one gets in here!
deny from all
上述脚本是拒绝所有的访问,你也可以根据IP段来拒绝:

# no nasty crackers in here!
order deny,allow
deny from all
allow from 192.168.0.0/24
# this would do the same thing..
#allow from 192.168.0

一般这些方法是通过防火墙来处理,但在一个生产环境中的服务器来说,这样的调整非常方便。

有时候你只是想禁止某个ip访问:

# someone else giving the ruskies a bad name..
order allow,deny
deny from 83.222.23.219
allow from all

 

4. 修改环境变量
环境变量包含了服务器端 CGI 的一些扩展信息,可使用 SetEnv 和 UnSetEnv 进行设置以及取消设置.

SetEnv SITE_WEBMASTER "Jack Sprat"
SetEnv SITE_WEBMASTER_URI mailto:Jack.Sprat@characterology.com
UnSetEnv REMOTE_ADDR

 

5. 301 重定向
如果你希望某个页面跳转到新的页面:

Redirect 301 /old/file.html http://yourdomain.com/new/file.html

下面可以实现对整个路径的重定向

RedirectMatch 301 /blog(.*) http://yourdomain.com/$1

 

6. 通过 .Htaccess 实现缓存策略
通过设置在浏览器上缓存静态文件可以提升网站的性能:

# year
<FilesMatch".(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Header unset Last-Modified
</FilesMatch>
#2 hours
<FilesMatch".(html|htm|xml|txt|xsl)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
<FilesMatch".(js|css)$">
SetOutputFilter DEFLATE
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
</FilesMatch>

 

7. 使用 GZIP 对输出进行压缩

在 .htaccess 中添加下面的代码可以将所有的 css、js 和 html 使用 GZIP 算法压缩:

<IfModulemod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

使用上面代码的前提是启用 mod_gzip 模块,你可以使用下面脚本来判断 Web 服务器是否提供 mod_deflate 支持:

<Location>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI 
.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI 
.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary
</Location>

如果 Web 服务器不支持 mod_deflate ,那么可使用下面方法:

<FilesMatch".(txt|html|htm|php)">
php_value output_handler ob_gzhandler
</FilesMatch>

 

8. 强制要求使用 HTTPS 访问
通过以下脚本可以强制整个网站必须使用 https 方式访问:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

9. URL 重写

例如要将 product.php?id=12 重写为 product-12.html

RewriteEngine on
RewriteRule ^product-([0-9]+).html$ product.php?id=$1

将 product.php?id=12 重写为 product/ipod-nano/12.html

RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2

重定向没有 www 到有 www 的 URL 地址:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^viralpatel.net$
RewriteRule (.*) http://www.viralpatel.net/$1 [R=301,L]

重写 yoursite.com/user.php?username=xyz 到 yoursite.com/xyz

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

重定向某个域名到一个 public_html 里新的子文件夹:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.test.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1

 

10. 阻止列出目录文件

使用下面代码可以防止列表目录里的所有文件:

Options -Indexes

或者

IndexIgnore *

更多详情 Denying/Allowing directory listing.

 

11. 添加新的 MIME-Types

MIME-types 依赖于文件的扩展名,未能被识别的文件扩展名会当成文本数据传输

AddType application/x-endnote-connection enz
AddType application/x-endnote-filter enf
AddType application/x-spss-savefile sav

 

12. 防盗链

你不希望别人网站引用你站内的图片、css 等静态文件,也就是传说中的防盗链,可以使用如下脚本:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.askapache.com.*$ [NC]
RewriteRule .(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]

 

13. 指定上传文件的大小限制,适用于 PHP

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

 

上述脚本中,通过四个参数来设置上传文件的限制,第一个参数是文件的大小,第二个是 POST 数据的大小,第三个是传输的时间(单位秒),最后一个是解析上传数据最多花费的时间(单位秒)

14. 禁止脚本执行

Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

 

15. 修改字符集和语言头

AddDefaultCharset UTF-8
DefaultLanguage en-US

 

16. 设置服务器时区(GMT)

SetEnv TZ America/Indianapolis

 

17. 强制 “File Save As” 提示

AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4

 

18. 保护单个文件

正常情况下 .htaccess 可用于限制整个目录的访问,但也可以只限制某个文件:

<Filesquiz.html>
order deny,allow
deny from all
AuthType Basic
AuthName "Characterology Student Authcate"
AuthLDAP on
AuthLDAPServer ldap://directory.characterology.com/
AuthLDAPBase "ou=Student, o=Characterology University, c=au"
require valid-user
satisfy any
</Files>

 

19. 设置 Cookie

通过环境变量来设置 Cookie
Header set Set-Cookie “language=%{lang}e; path=/;” env=lang
基于请求设置 Cookie,该代码发送 Set-Cookie 头用于设置 Cookie 值为第二个括号里的匹配项

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)(de|es|fr|it|ja|ru|en)/$ - [co=lang:$2:.yourserver.com:7200:/]

 

20. 设置自定义的响应 Headers

Header set P3P "policyref="http://www.askapache.com/w3c/p3p.xml""
Header set X-Pingback "http://www.askapache.com/xmlrpc.php"
Header set Content-Language "en-US"
Header set Vary "DontTrackMeHere"

 

21. 根据 User-Agent 来阻止请求

SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT

 

本文转载于:http://wangbaiyuan.cn/21_htaccess-_skills.html

PHP框架深度解析

PHP成 为世界上最流行的脚本语言有许多原因:灵活性,易用性等等。但通常只用PHP或者其 他语言编码就会显得单调、重复,这时候就需要一个PHP框架来代替程序员完成那些重复不变的部分。本文通过回答What, When, Why 以及 Which这些问题,将对PHP框架进行全面解析。
    PHP框架是什么?
    PHP 框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。换言之,PHP框架有助于促进快速应用开发( RAD ),不但节省开发时间、有助于建立更稳定的应用,而且减少了重复编码的开发。通过确保适当的数据库交换和在表现层编码,框架还可以帮助初学者建立更稳定的 应用服务。这可以让你花更多的时间去创建实际的Web应用程序,而不是花时间写重复的代码。
    通 常认为PHP框架的作用相当于模型-视图-控制器(Model View Controller)。MVC是种编程的架构模式,将业务逻辑从UI中分离出来,允许一个一个单独修改(也称为关注点分离)。在MVC中,Model指 数据,View指表现层,Controller则指应用程序或业务逻辑。基本上, MVC打破了一个应用的开发进程,这样各组件就可以不受影响地各自工作。从本质上讲,这使得用PHP编码更快更简单。
    为什么要使用PHP框架?
    开发人员使用PHP框架的好处很多,其中之一是加快开发进程。在类似项目中重用代码将为开发者节省大量的时间和精力。框架为执行繁琐的代码任务提供预建模块,因此,开发人员可以把时间花在实际应用的开发上,而不是每一个项目都重新构建基础功能。
    稳 定是开发者使用框架的另一个重要原因。虽然简单是PHP最大的优点,很多人也因为这一点喜欢使用这个脚本语言,但它同时也是PHP最大的缺点。一些开发者 尤其是初学者很容易写出低劣的代码,而自己却没有意识到。使用PHP,应用往往会将静态工作加倍,不知不觉中您可能已经在编码时打开了一个大的安全漏洞, 因此可能会受到攻击。重要的是要记住,PHP是一个非常宽容的语言,因此,更重要的是在编程时确保封闭任何漏洞,即便应用看起来可以正常工作。
    最 后,PHP框架的使用是非常广泛的,而且有许多不同的框架可供选择。许多开发者会选择知名的框架,是因为它的知名度、其开发团队的巨大支持,而且他们可以 通过论坛/社区来与其他使用相同框架的开发者交流,当然你也可以开发自己的框架。这里提醒一下,首先应该检查你的项目来决定是否应该使用一个框架。你应该 问自己:它会节省你和其他使用者的时间和精力么?应用程序的性能会更好么?是否会提高稳定性?如果这些问题你的回答都是是,那么你就该为你的项目选择一个 合适的框架了。
    何时使用PHP框架?
    这是一个无论有经验的开发者还是初级开发者都共有的问题,而且这个问题也确实没有直接的回答。对于许多初学者来说,一个框架将提供很多简便和稳定,因此应该尽可能地使用PHP框架。这将有助于减少或消除不良编码,加快开发进程。
    另一方面,许多有经验的PHP程序员将框架视为不知道如何写出好的、干净的代码的低级程序员的工具。姑且不论这一点的真假,起码毋庸置疑的是PHP框架是一个可以用来节省时间并强化自己编码的工具。
    当工作的项目时间紧迫时,使用PHP框架就有很多好处,可以大大加快编码进程,因此所以如果你时间紧迫,使用PHP框架就是很好的选择。另一个例子是,当你所做的项目有大量代码时,也应当考虑使用PHP框架,因为这将有助于减少工作的繁琐度。
    寻找一个什么样的PHP框架?
    有 许多可供开发者选择的PHP框架,甚至还可以创建自己的框架,尽管只建议PHP专家级这样做。当寻找你最需要的PHP框架时,重要的是要搞清楚谁将自始至 终使用或修改你的应用,如果是有很多人做这件事情,那么最好使用流行的PHP框架,这样大部分开发者都不会陌生。另一方面,如果你想构建Web应用程序为 你个人使用,那就最好选择令你满意的PHP框架,而不在乎它在开发者社区中是否流行。
    选 择PHP框架的参考因素有很多,包括:容易使用、快速开发、性能、开发者中的流行程度、强大的功能,技术支持、论坛等。当你第一次选择PHP框架时,为了 找到一个适合你需求的最佳选择,建议多尝试几个。每个框架都有所不同,并有不同的长处和短处。例如Zend框架由于V3和多样的功能、并且有一个广泛的支 持系统,因而它流行了这么久。相反, CakePHP是另一个晚于Zend框架的PHP框架,相应的支持系统也比较少,但更方便和易于使用。
    正 如你所看到的,每种类型的PHP框架都有自己的优点,因此,最好反复试验以找出其中哪个最适合你的需要。另一个选择PHP框架的有效方式是咨询你的同事, 看看开发社区里选择哪个。那些真正使用过具体框架的能够明确地告诉你它的易用性、功能、支持可用性、社区内的情况,当然可能还有不足。
    使用PHP框架最常见的错误
    任 何类型的编程中都可能有错误,但是PHP框架有助于显著限制这些错误。重复编码似乎加剧了这种错误,而框架则解决了这一问题。尽管如此,在使用任何PHP 框架时仍要注意。例如,除非你是一位PHP编程的专家,否则你应该总是选择使用流行的框架,有大量的支持和积极的用户群。很多框架的支持很少甚至没有,它 们可能是被PHP知识有限的个别开发者所创建的。这些类型的框架,可能会使你的应用程序无法正常运行,更糟糕的是,可能会给你的网站带来灾难性的安全问 题。
    另一些常见的错误是,不能确保你的数据库和Web服务器符合特定框架。例如,Seagull PHP Framework建议如下配置:
    * PHP :最低是PHP 4.3.0,PHP 5.1.1或者更高版本更佳,避免任何5.0.x版本中的东西;
    * MySQL的:支持MySQL的4.0.x,4.1.x和5.0.x,也可以使用3.23.x;
    * Apache:Seagull支持1.3.x以及Apache的2.x系列。
    如果你没有满足这些要求,您将无法在你所选的框架中看到最好的性能。即使你是PHP的专家,你也应该经常复习框架的说明文档,确认兼容性后再尝试。
    类 似于前面提到的常见的错误,不遵循建议的安装进程的话,你的PHP框架也可以给你带来一些令人头疼的问题。以Seagull 为例,在Seagull的wiki有一个详细的框架安装过程,其中有几个关键步骤,很容易被不小心或不知情的开发者忽视。因此你要花费时间来安装框架并遵 循安装说明。
    最好的PHP框架有哪些?
    过去的几年中,因为PHP已发展成为大多数开发者选择的脚本语言,因而也产生了大量的PHP框架。什么是最好的PHP框架,仁者见仁智者见智,因为并非每一个框架都能够适合每一个人。以下是5个最佳和最流行的PHP框架选择:
    Zend Framework在开发者社区中很有人气,其重点是Web 2.0风格的应用程序。由于其大量的党羽、广泛的支持和积极的用户群,Zend被称为PHP Company。Zend即使不是当今最流行的PHP框架,也绝对是之一。它强大的功能能够满足企业级的需求,当然它的使用也需要具备广泛的PHP知识。
    从初学者到高级PHP开发者,CakePHP都是一个很棒的选择。它与 Ruby on Rails设计的原则基本相同,主要集中在快速开发方面使其成为一个快速应用开发的优良框架。其迅速增长的支持系统、简单和可扩展性使CakePHP成为当今最热门的PHP框架。
    Symfony针对的更多的是高级开发者,也即创建企业级应用的开发者,尤其是Askeet和Yahoo! Bookmarks。这个开源的PHP框架功能全面,但它的主要缺点是速度慢于其他框架。
    CodeIgniter 以其易用性、性能和速度而闻名。不同于Symfony,CodeIgniter主要针对的是与人共享主机的开发者,或者为小型设备寻找PHP框架的开发 者。它提供简单的解决办法,而且有一个扩展库包括视频教程、论坛、用户指南和wiki。初学者应该考虑使用CodeIgniter 。
    Seagull 是一个稳定的用于构建web、命令行和GUI应用的PHP框架。这是一个非常易于使用的框架,非常适合初学者到高级程序员。对于初学者,Seagull有 一个范例应用库,可以自己设定后满足自身需求;对于高级开发者,Seagull提供了众多选择包括最佳实践、标准、模块化的代码基,这些都可以帮助快速简 单地构建Web应用程序。Seagull有一个活跃的开发者社区,内有大量的支持性文档和说明。
    概括
    PHP框架为各种技术等级的开发者减少了重复编码的需求、加快了开发进程,并在创建web应用时确保正确的编码。这不仅加快了富应用开发的进程,同时也通过减少代码的安全漏洞而增强了PHP的安全性。
    虽然一些专家级PHP程序员觉得没有必要使用框架开发Web应用程序,但PHP框架仍然可以是快速开发的优秀解决方案,比如在工期很紧的情况下。从初级到中级开发者,框架可以提高PHP的学习,同时促进良好的代码编写和减少坏代码。
    今 天有很多的PHP框架可用,因此开发者肯定能从中找到一个适合自己的框架:功能、支持、速度、可扩展性等。开发者广泛使用的一些顶尖的PHP开发框架包 括: Zend Framework,CakePHP,Symfony,Codeigniter以及Seagull。

PHP效率高写法

下面是一些提高php执行效率的方法,由于没找到原作者是谁,所以原文链接接不给出了。这里有些是我深有体会的,有些我没有测试过,先放这里,大家看看,同时也当作一个笔记放在这里供以后慢慢看.
0、 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种 可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
2、$row[’id’] 的速度是$row[id]的7倍。
3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。
4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
5、注销那些不用的变量尤其是大数组,以便释放内存。
6、尽量避免使用__get,__set,__autoload。
7、require_once()代价昂贵。
8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。
9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10、函数代替正则表达式完成相同功能。
11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
14、用@屏蔽错误消息的做法非常低效,极其低效。
15、打开apache的mod_deflate模块,可以提高网页的浏览速度。
16、数据库连接当使用完毕时应关掉,不要用长连接。
17、错误消息代价昂贵。
18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
19、递增一个全局变量要比递增一个局部变量慢2倍。
20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
22、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
23、方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
24、派生类中的方法运行起来要快于在基类中定义的同样的方法。
25、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
26、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
27、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。
28、尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
29、 当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步 骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
(举例如下)
if (strlen($foo) < 5) { echo “Foo is too short”$$ }
(与下面的技巧做比较)
if (!isset($foo{5})) { echo “Foo is too short”$$ }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。
34、 当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它 们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变 量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因为并不 是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。
35、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。
36、并非要用类实现所有的数据结构,数组也很有用。
37、不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
38、当你需要时,你总能把代码分解成方法。
39、尽量采用大量的PHP内置函数。
40、如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。
41、评估检验(profile)你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。
42、mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。
43、 在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;
44、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;
45、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);
46、尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);
47、循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?);
48、多维数组尽量不要循环嵌套赋值;
49、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式;
50、foreach效率更高,尽量用foreach代替while和for循环;
51、用单引号替代双引号引用字符串;
52、“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;
53、对global变量,应该用完就unset()掉;

PHP常用函数查询

PHP 函式索引 967 个函数
共有 967 个函数

Abs: 取得绝对值。
Acos: 取得反余弦值。
ada_afetch: 取得资料库的传回列。
ada_autocommit: 开关自动更动功能。
ada_close: 关闭 Adabas D 连结。
ada_commit: 更动 Adabas D 资料库。
ada_connect: 连结至 Adabas D 资料库。
ada_exec: 执行 SQL 指令。
ada_fetchrow: 取得传回一列。
ada_fieldname: 取得栏位名称。
ada_fieldtype: 取得栏位资料形态。
ada_freeresult: 释出传回资料的记忆体。
ada_numfields: 取得栏位数目。
ada_numrows: 取得传回列数目。
ada_result: 取得传回资料。
ada_resultall: 传回 HTML 表格资料。
ada_rollback: 撤消当前交易。
AddSlashes: 字串加入斜线。
apache_lookup_uri: 获得所有的 URI 相关资讯。
apache_note: 获得及设定阿帕契伺服器的请求纪录。
array: 建立一个新的阵列。
array_walk: 让使用者自订函数能处理阵列中的每一个元素。
arsort: 将阵列的值由大到小排序。
Asin: 取得反正弦值。
asort: 将阵列的值由小到大排序。
aspell_check: 检查一个单字。
aspell_check-raw: 检查一个单字,即使拼错也不改变或修正。
aspell_new: 载入一个新的字典。
aspell_suggest: 检查一个单字,并提供拼字建议。
Atan: 取得反正切值。
Atan2: 计算二数的反正切值。
base64_decode: 将 BASE64 编码字串解码。
base64_encode: 将字串以 BASE64 编码。
basename: 传回不含路径的档案字串。
base_convert: 转换数字的进位方式。
bcadd: 将二个高精确度数字相加。
bccomp: 比较二个高精确度数字。
bcdiv: 将二个高精确度数字相除。
bcmod: 取得高精确度数字的余数。
bcmul: 将二个高精确度数字相乘。
bcpow: 求一高精确度数字次方值。
bcscale: 设定程式中所有 BC 函式库的内定小数点位数。
bcsqrt: 求一高精确度数字的平方根。
bcsub: 将二个高精确度数字相减。
bin2hex: 二进位转成十六进位。
BinDec: 二进位转成十进位。
Ceil: 计算大于指定数的最小整数。
chdir: 改变目录。
checkdate: 验证日期的正确性。
checkdnsrr: 检查指定网址的 DNS 记录。
chgrp: 改变档案所属的群组。
chmod: 改变档案的属性。
Chop: 去除连续空白。
chown: 改变档案的拥有者。
Chr: 传回序数值的字元。
chunk_split: 将字串分成小段。
clearstatcache: 清除档案状态快取。
closedir: 关闭目录 handle。
closelog: 关闭系统纪录。
connection_aborted: 若连结中断则传回 true。
connection_status: 取得连线状态。
connection_timeout: 若超过 PHP 程式执行时间则传回 true。
convert_cyr_string: 转换古斯拉夫字串成其它字串。
copy: 复制档案。
Cos: 余弦计算。
count: 计算变数或阵列中的元素个数。
crypt: 将字串用 DES 编码加密。
current: 传回阵列中目前的元素。
date: 将伺服器的时间格式化。
dbase_add_record: 加入资料到 dBase 资料表。
dbase_close: 关闭 dBase 资料表。
dbase_create: 建立 dBase 资料表。
dbase_delete_record: 删除 dBase 资料表的资料。
dbase_get_record: 取得 dBase 资料表的资料。
dbase_numfields: 取得 dBase 资料表的栏位数。
dbase_numrecords: 取得 dBase 资料表的列数。
dbase_open: 开启 dBase 资料表。
dbase_pack: 清理 dBase 资料表。
dba_close: 关闭资料库。
dba_delete: 删除指定资料。
dba_exists: 检查键是否存在。
dba_fetch: 取回指定资料。
dba_firstkey: 取回首笔键值。
dba_insert: 加入资料。
dba_nextkey: 取回下笔键值。
dba_open: 开启资料库连结。
dba_optimize: 最佳化资料库。
dba_popen: 开启并保持资料库连结。
dba_replace: 更动或加入资料。
dba_sync: 资料库同步化。
dblist: 取得 DBM 的资讯。
dbmclose: 关闭 DBM 资料库。
dbmdelete: 删除指定资料。
dbmexists: 检查键是否存在。
dbmfetch: 取回指定资料。
dbmfirstkey: 取回首笔键名。
dbminsert: 加入资料。
dbmnextkey: 取回下笔键值。
dbmopen: 开启 DBM 资料库连结。
dbmreplace: 更动或加入资料。
debugger_off: 关闭内建的 PHP 除错器。
debugger_on: 使用内建的 PHP 除错器。
DecBin: 十进位转二进位。
DecHex: 十进位转十六进位。
DecOct: 十进位转八进位。
delete: 无用的项目。
die: 输出讯息并中断 PHP 程式。
dir: 目录类别物件。
dirname: 取得路径中的目录名。
diskfreespace: 取得目录所在的剩余可用空间。
dl: 载入 PHP 扩充模组。
doubleval: 变数转成倍浮点数型态。
each: 传回阵列中下一个元素的索引及值。
easter_date: 计算复活节日期。
easter_days: 计算复活节与三月廿一日之间日期数。
echo: 输出字串。
empty: 判断变数是否已设定。
end: 将阵列的内部指标指到最后的元素。
ereg: 字串比对剖析。
eregi: 字串比对剖析,与大小写无关。
eregi_replace: 字串比对剖析并取代,与大小写无关。
ereg_replace: 字串比对剖析并取代。
error_log: 送出一个错误讯息。
error_reporting: 设定错误讯息回报的等级。
escapeshellcmd: 除去字串中的特殊符号。
eval: 将值代入字串之中。
exec: 执行外部程式。
exit: 结束 PHP 程式。
Exp: 自然对数 e 的次方值。
explode: 切开字串。
extract: 汇入阵列到符号表。
fclose: 关闭已开启的档案。
FDF_close: 关闭 FDF 文件。
FDF_create: 建立新的 FDF 文件。
FDF_get_file: 取得 /F 键的值。
FDF_get_status: 取得 /STATUS 键的值。
FDF_get_value: 取得栏位的值。
FDF_next_field_name: 下一栏位的名称。
FDF_open: 打开 FDF 文件。
FDF_save: 将 FDF 文件存档。
FDF_set_ap: 设定显示栏位。
FDF_set_file: 设定 /F 键。
FDF_set_status: 设定 /STATUS 键。
FDF_set_value: 设定栏位的值。
feof: 测试档案指标是否指到档尾。
fgetc: 取得档案指标所指的字元。
fgetcsv: 取得档案指标所指行,并剖析 CSV 栏位。
fgets: 取得档案指标所指的行。
fgetss: 取得档案指标所指的行,并去掉 HTML 语言标记。
file: 将档案全部读入阵列变数中。
fileatime: 取得档案最后的存取时间。
filectime: 取得档案最后的改变时间。
filegroup: 取得档案所属的群组。
fileinode: 取得档案的 inode 值。
filemtime: 取得档案最后的修改时间。
fileowner: 取得档案的拥有者。
fileperms: 取得档案的权限设定。
filepro: 读取 FilePro Map 档。
filepro_fieldcount: 取得栏位数目。
filepro_fieldname: 取得栏位名称。
filepro_fieldtype: 取得栏位型态。
filepro_fieldwidth: 取得栏位宽度。
filepro_retrieve: 取得指定储存格资料。
filepro_rowcount: 取得列数目。
filesize: 获得档案的大小。
filetype: 获得档案的型态。
file_exists: 检查档案是否存在。
flock: 锁住档案。
Floor: 计算小于指定数的最大整数。
flush: 清出输出缓冲区。
fopen: 开启档案或者 URL。
fpassthru: 输出所有剩余资料。
fputs: 写到档案指标。
fread: 位元组的方式读取档案。
FrenchToJD: 将法国共和历法转换成为凯撒日计数。
fseek: 移动档案指标。
fsockopen: 打开网路的 Socket 连结。
ftell: 取得档案读写指标位置。
ftp_cdup: 回上层目录。
ftp_chdir: 改变路径。
ftp_connect: 开启 FTP 连结。
ftp_delete: 将档案删除。
ftp_fget: 下载档案,并存在已开的档中。
ftp_fput: 上传已开启档案。
ftp_get: 下载档案。
ftp_login: 登入 FTP 伺服器。
ftp_mdtm: 获得指定档案的最后修改时间。
ftp_mkdir: 建新目录。
ftp_nlist: 列出指定目录中所有档案。
ftp_pasv: 切换主被动传输模式。
ftp_put: 上传档案。
ftp_pwd: 取得目前所在路径。
ftp_quit: 关闭 FTP 连线。
ftp_rawlist: 详细列出指定目录中所有档案。
ftp_rename: 将档案改名。
ftp_rmdir: 删除目录。
ftp_size: 获得指定档案的大小。
ftp_systype: 显示伺服器系统。
function_exists: 查核函式是否已定义。
fwrite: 二进位位元方式写入档案。
getallheaders: 获得所有 HTTP 变数值。
getdate: 获得时间及日期资讯。
getenv: 取得系统的环境变数
gethostbyaddr: 传回机器名称。
gethostbyname: 传回 IP 网址。
gethostbynamel: 传回机器名称的所有 IP。
GetImageSize: 取得图片的长宽。
getlastmod: 传回该网页的最后修改时间。
getmxrr: 取得指定网址 DNS 记录之 MX 栏位。
getmyinode: 传回该网页的 inode 值。
getmypid: 传回 PHP 的行程代号。
getmyuid: 传回 PHP 的使用者代码。
getrandmax: 乱数的最大值。
getrusage: 传回系统资源使用率。
gettimeofday: 取得目前时间。
gettype: 取得变数的型态。
get_cfg_var: 取得 PHP 的设定选项值。
get_current_user: 取得 PHP 行程的拥有者名称。
get_magic_quotes_gpc: 取得 PHP 环境变数 magic_quotes_gpc 的值。
get_magic_quotes_runtime: 取得 PHP 环境变数 magic_quotes_runtime 的值。
get_meta_tags: 抽出档案所有 meta 标记的资料。
gmdate: 取得目前与 GMT 差后的时间。
gmmktime: 取得 UNIX 时间戳记的格林威治时间。
GregorianToJD: 将格里高里历法转换成为凯撒日计数。
gzclose: 关闭压缩档。
gzeof: 判断是否在压缩档尾。
gzfile: 读压缩档到阵列中。
gzgetc: 读压缩档中的字元。
gzgets: 读压缩档中的字串。
gzgetss: 读压缩档中的字串,并去掉 HTML 指令。
gzopen: 开启压缩档。
gzpassthru: 解压缩指标后全部资料。
gzputs: 资料写入压缩档。
gzread: 压缩档读出指定长度字串。
gzrewind: 重设压缩档指标。
gzseek: 设压缩档指标至指定处。
gztell: 取得压缩档指标处。
gzwrite: 资料写入压缩档。
header: 送出 HTTP 协定的标头到浏览器
HexDec: 十六进位转十进位。
htmlentities: 将所有的字元都转成 HTML 字串。
htmlspecialchars: 将特殊字元转成 HTML 格式。
hw_Children: 取得子物件代码。
hw_ChildrenObj: 取得子物件的物件记录。
hw_Close: 关闭 Hyperwave 连线。
hw_Connect: 连上 Hyperwave 伺服器。
hw_Cp: 复制物件。
hw_Deleteobject: 删除物件。
hw_DocByAnchor: 取得指定锚的文件物件代码。
hw_DocByAnchorObj: 取得指定锚的文件物件。
hw_DocumentAttributes: 取得指定文件物件属性。
hw_DocumentBodyTag: 取得指定文件物件的文件主体标记。
hw_DocumentContent: 取得指定文件物件的内容。
hw_DocumentSetContent: 重设指定文件物件的内容。
hw_DocumentSize: 取得文件大小。
hw_EditText: 更动文字文件。
hw_Error: 取得错误代码。
hw_ErrorMsg: 取得错误讯息。
hw_Free_Document: 释放文件使用的记忆体。
hw_GetAnchors: 取得文件的连结锚。
hw_GetAnchorsObj: 取得文件的连结锚记录。
hw_GetAndLock: 取得并锁住物件。
hw_GetChildColl: 取得子物件们的 ID。
hw_GetChildCollObj: 取得子物件们的资料。
hw_GetChildDocColl: 取得全部子文件聚集。
hw_GetChildDocCollObj: 取得全部子文件聚集记录。
hw_GetObject: 取得物件。
hw_GetObjectByQuery: 搜寻物件。
hw_GetObjectByQueryColl: 搜寻聚集物件。
hw_GetObjectByQueryCollObj: 搜寻聚集物件。
hw_GetObjectByQueryObj: 搜寻物件。
hw_GetParents: 取得父物件的 ID。
hw_GetParentsObj: 取得父物件的资料。
hw_GetRemote: 取得远端文件。
hw_GetRemoteChildren: 取得远端的子文件。
hw_GetSrcByDestObj: 取得指定目的的文件内容。
hw_GetText: 取得纯文字文件。
hw_GetUsername: 目前使用者名字。
hw_Identify: 使用者身份确认。
hw_InCollections: 检查物件聚集。
hw_Info: 连线资讯。
hw_InsColl: 插入聚集。
hw_InsDoc: 插入文件。
hw_InsertDocument: 上传文件。
hw_InsertObject: 插入物件记录。
hw_Modifyobject: 修改物件记录。
hw_Mv: 移动物件。
hw_New_Document: 建立新文件。
hw_Objrec2Array: 物件记录转为阵列。
hw_OutputDocument: 输出文件。
hw_pConnect: 连上 Hyperwave 伺服器。
hw_PipeDocument: 取得文件。
hw_Root: 取得根物件代码。
hw_Unlock: 取消锁定。
hw_Who: 列出目前使用者。
ibase_bind: 连结 PHP 变数到 InterBase 参数。
ibase_close: 关闭 InterBase 伺服器连线。
ibase_connect: 开启 InterBase 伺服器连线。
ibase_execute: 执行 SQL 的指令区段。
ibase_fetch_row: 传回单列的各栏位。
ibase_free_query: 释放查询指令占用记忆体。
ibase_free_result: 释放传回占用记忆体。
ibase_pconnect: 保持 InterBase 伺服器连线。
ibase_prepare: 分析 SQL 语法。
ibase_query: 送出一个 query 字串。
ibase_timefmt: 设定时间格式。
ifxus_close_slob: 删除 slob 物件。
ifxus_create_slob: 建立 slob 物件。
ifxus_open_slob: 开启 slob 物件。
ifxus_read_slob: 读取指定数目的 slob 物件。
ifxus_seek_slob: 设定目前档案或找寻位置。
ifxus_tell_slob: 传回目前档案或找寻位置。
ifxus_write_slob: 将字串写入 slob 物件中。
ifx_affected_rows: 得到 Informix 最后操作影响的列数目。
ifx_blobinfile_mode: 设定长位元物件模式。
ifx_byteasvarchar: 设定位元组模式内定值。
ifx_close: 关闭 Informix 伺服器连线。
ifx_connect: 开启 Informix 伺服器连线。
ifx_copy_blob: 复制长位元物件。
ifx_create_blob: 建立长位元物件。
ifx_create_char: 建立字元物件。
ifx_do: 执行已准备 query 字串。
ifx_error: 取得 Informix 最后的错误。
ifx_errormsg: 取得 Informix 最后错误讯息。
ifx_fetch_row: 传回单列的各栏位。
ifx_fieldproperties: 列出 Informix 的 SQL 栏位属性。
ifx_fieldtypes: 列出 Informix 的 SQL 栏位。
ifx_free_blob: 删除长位元物件。
ifx_free_char: 删除字元物件。
ifx_free_result: 释放传回占用记忆体。
ifx_free_slob: 删除 slob 物件。
ifx_getsqlca: 取得 query 后的 sqlca 资讯。
ifx_get_blob: 取得长位元物件。
ifx_get_char: 取得字元物件。
ifx_htmltbl_result: 将 query 传回资料转成 HTML 表格。
ifx_nullformat: 设定空字元模式内定值。
ifx_num_fields: 取得传回栏位的数目。
ifx_num_rows: 取得传回列的数目。
ifx_pconnect: 开启 Informix 伺服器长期连线。
ifx_prepare: 准备 query 字串。
ifx_query: 送出一个 query 字串。
ifx_textasvarchar: 设定文字模式内定值。
ifx_update_blob: 更改长位元物件。
ifx_update_char: 更改字元物件。
ignore_user_abort: 连线中断后程式是否执行。
ImageArc: 画弧线。
ImageChar: 写出横向字元。
ImageCharUp: 写出直式字元。
ImageColorAllocate: 匹配颜色。
ImageColorAt: 取得图中指定点颜色的索引值。
ImageColorClosest: 计算色表中与指定颜色最接近者。
ImageColorExact: 计算色表上指定颜色索引值。
ImageColorResolve: 计算色表上指定或最接近颜色的索引值。
ImageColorSet: 设定色表上指定索引的颜色。
ImageColorsForIndex: 取得色表上指定索引的颜色。
ImageColorsTotal: 计算图的颜色数。
ImageColorTransparent: 指定透明背景色。
ImageCopyResized: 复制新图并调整大小。
ImageCreate: 建立新图。
ImageCreateFromGIF: 取出 GIF 图型。
ImageCreateFromPNG: 取出 PNG 图型。
ImageDashedLine: 绘虚线。
ImageDestroy: 结束图形。
ImageFill: 图形着色。
ImageFilledPolygon: 多边形区域着色。
ImageFilledRectangle: 矩形区域着色。
ImageFillToBorder: 指定颜色区域内着色。
ImageFontHeight: 取得字型的高度。
ImageFontWidth: 取得字型的宽度。
ImageGIF: 建立 GIF 图型。
ImageInterlace: 使用交错式显示与否。
ImageLine: 绘实线。
ImageLoadFont: 载入点阵字型。
ImagePNG: 建立 PNG 图型。
ImagePolygon: 绘多边形。
ImagePSBBox: 计算 PostScript 文字所占区域。
ImagePSEncodeFont: PostScript 字型转成向量字。
ImagePSFreeFont: 卸下 PostScript 字型。
ImagePSLoadFont: 载入 PostScript 字型。
ImagePSText: 写 PostScript 文字到图中。
ImageRectangle: 绘矩形。
ImageSetPixel: 绘点。
ImageString: 绘横式字串。
ImageStringUp: 绘直式字串。
ImageSX: 取得图片的宽度。
ImageSY: 取得图片的高度。
ImageTTFBBox: 计算 TTF 文字所占区域。
ImageTTFText: 写 TTF 文字到图中。
imap_8bit: 将八位元转成 qp 编码。
imap_alerts: 所有的警告讯息。
imap_append: 附加字串到指定的邮箱中。
imap_base64: 解 BASE64 编码。
imap_binary: 将八位元转成 base64 编码。
imap_body: 读信的内文。
imap_check: 传回邮箱资讯。
imap_clearflag_full: 清除信件旗标。
imap_close: 关闭 IMAP 连结。
imap_createmailbox: 建立新的信箱。
imap_delete: 标记欲删除邮件。
imap_deletemailbox: 删除既有信箱。
imap_errors: 所有的错误讯息。
imap_expunge: 删除已标记的邮件。
imap_fetchbody: 从信件内文取出指定区段。
imap_fetchheader: 取得原始标头。
imap_fetchstructure: 获取某信件的结构资讯。
imap_getmailboxes: 取得全部信件详细资讯。
imap_getsubscribed: 列出所有订阅邮箱。
imap_header: 获取某信件的标头资讯。
imap_headers: 获取全部信件的标头资讯。
imap_last_error: 最后的错误讯息。
imap_listmailbox: 获取邮箱列示。
imap_listsubscribed: 获取订阅邮箱列示。
imap_mailboxmsginfo: 取得目前邮箱的资讯。
imap_mail_copy: 复制指定信件到它处邮箱。
imap_mail_move: 移动指定信件到它处邮箱。
imap_msgno: 列出 UID 的连续信件。
imap_num_msg: 取得信件数。
imap_num_recent: 取得新进信件数。
imap_open: 开启 IMAP 连结。
imap_ping: 检查 IMAP 是否连线。
imap_qprint: 将 qp 编码转成八位元。
imap_renamemailbox: 更改邮箱名字。
imap_reopen: 重开 IMAP 连结。
imap_rfc822_parse_adrlist: 剖析电子邮件位址。
imap_rfc822_write_address: 电子邮件位址标准化。
imap_scanmailbox: 寻找信件有无特定字串。
imap_search: 搜寻指定标准的信件。
imap_setflag_full: 设定信件旗标。
imap_sort: 将信件标头排序。
imap_status: 目前的状态资讯。
imap_subscribe: 订阅邮箱。
imap_uid: 取得信件 UID。
imap_undelete: 取消删除邮件标记。
imap_unsubscribe: 取消订阅邮箱。
implode: 将阵列变成字串。
intval: 变数转成整数型态。
iptcparse: 使用 IPTC 模组解析位元资料。
isset: 判断变数是否已设定。
is_array: 判断变数型态是否为阵列型态。
is_dir: 测试档案是否为目录。
is_double: 判断变数型态是否为倍浮点数型态。
is_executable: 测试档案是否为可执行档。
is_file: 测试档案是否为正常档案。
is_float: 判断变数型态是否为浮点数型态。
is_int: 判断变数型态是否为整数型态。
is_integer: 判断变数型态是否为长整数型态。
is_link: 测试档案是否为连结档。
is_long: 判断变数型态是否为长整数型态。
is_object: 判断变数型态是否为物件型态。
is_readable: 测试档案是否可读取。
is_real: 判断变数型态是否为实数型态。
is_string: 判断变数型态是否为字串型态。
is_writeable: 测试档案是否可写入。
JDDayOfWeek: 传回日期在周几。
JDMonthName: 传回月份名。
JDToFrench: 将凯撒日计数转换成为法国共和历法。
JDToGregorian: 将凯撒日计数 (Julian Day Count) 转换成为格里高里历法 (Gregorian date)。
JDToJewish: 将凯撒日计数转换成为犹太历法。
JDToJulian: 将凯撒日计数转换成为凯撒历法。
JewishToJD: 将犹太历法转换成为凯撒日计数。
join: 将阵列变成字串。
JulianToJD: 将凯撒历法转换成为凯撒日计数。
key: 取得阵列中的索引资料。
ksort: 将阵列的元素依索引排序。
ldap_add: 增加 LDAP 名录的条目。
ldap_bind: 系住 LDAP 目录。
ldap_close: 结束 LDAP 连结。
ldap_connect: 连上 LDAP 伺服器。
ldap_count_entries: 搜寻结果的数目。
ldap_delete: 删除指定资源。
ldap_dn2ufn: 将 dn 转成易读的名字。
ldap_explode_dn: 切开 dn 的栏位。
ldap_first_attribute: 取得第一笔资源的属性。
ldap_first_entry: 取得第一笔结果代号。
ldap_free_result: 释放传回资料记忆体。
ldap_get_attributes: 取得传回资料的属性。
ldap_get_dn: 取得 DN 值。
ldap_get_entries: 取得全部传回资料。
ldap_get_values: 取得全部传回值。
ldap_list: 列出简表。
ldap_modify: 改变 LDAP 名录的属性。
ldap_mod_add: 增加 LDAP 名录的属性。
ldap_mod_del: 删除 LDAP 名录的属性。
ldap_mod_replace: 新的 LDAP 名录取代旧属性。
ldap_next_attribute: 取得传回资料的下笔属性。
ldap_next_entry: 取得下一笔结果代号。
ldap_read: 取得目前的资料属性。
ldap_search: 列出树状简表。
ldap_unbind: 结束 LDAP 连结。
leak: 泄出记忆体。
link: 建立硬式连结。
linkinfo: 取得连结资讯。
list: 列出阵列中元素的值。
Log: 自然对数值。
Log10: 10 基底的对数值。
lstat: 取得连结档相关资讯。
ltrim: 去除连续空白。
mail: 寄出电子邮件。
max: 取得最大值。
mcrypt_cbc: 使用 CBC 将资料加/解密。
mcrypt_cfb: 使用 CFB 将资料加/解密。
mcrypt_create_iv: 从随机源将向量初始化。
mcrypt_ecb: 使用 ECB 将资料加/解密。
mcrypt_get_block_size: 取得编码方式的区块大小。
mcrypt_get_cipher_name: 取得编码方式的名称。
mcrypt_get_key_size: 取得编码钥匙大小。
mcrypt_ofb: 使用 OFB 将资料加/解密。
md5: 计算字串的 MD5 杂凑。
mhash: 计算杂凑值。
mhash_count: 取得杂凑 ID 的最大值。
mhash_get_block_size: 取得杂凑方式的区块大小。
mhash_get_hash_name: 取得杂凑演算法名称。
microtime: 取得目前时间的 UNIX 时间戳记的百万分之一秒值。
min: 取得最小值。
mkdir: 建立目录。
mktime: 取得 UNIX 时间戳记。
msql: 送出 query 字串。
msql_affected_rows: 得到 mSQL 最后操作影响的列数目。
msql_close: 关闭 mSQL 资料库连线。
msql_connect: 开启 mSQL 资料库连线。
msql_createdb: 建立一个新的 mSQL 资料库。
msql_create_db: 建立一个新的 mSQL 资料库。
msql_data_seek: 移动内部传回指标。
msql_dbname: 取得目前所在资料库名称。
msql_dropdb: 删除指定的 mSQL 资料库。
msql_drop_db: 删除指定的 mSQL 资料库。
msql_error: 取得最后错误讯息。
msql_fetch_array: 传回阵列资料。
msql_fetch_field: 取得栏位资讯。
msql_fetch_object: 传回物件资料。
msql_fetch_row: 传回单列的各栏位。
msql_fieldflags: 获得栏位的旗标。
msql_fieldlen: 获得栏位的长度。
msql_fieldname: 传回指定栏位的名称。
msql_fieldtable: 获得栏位的资料表 (table) 名称。
msql_fieldtype: 获得栏位的型态。
msql_field_seek: 设定指标到传回值的某栏位。
msql_freeresult: 释放传回占用记忆体。
msql_free_result: 释放传回占用记忆体。
msql_listdbs: 列出可用资料库 (database)。
msql_listfields: 列出指定资料表的栏位 (field)。
msql_listtables: 列出指定资料库的资料表 (table)。
msql_list_dbs: 列出可用资料库 (database)。
msql_list_fields: 列出指定资料表的栏位 (field)。
msql_list_tables: 列出指定资料库的资料表 (table)。
msql_numfields: 取得传回栏位的数目。
msql_numrows: 取得传回列的数目。
msql_num_fields: 取得传回栏位的数目。
msql_num_rows: 取得传回列的数目。
msql_pconnect: 开启 mSQL 伺服器长期连线。
msql_query: 送出一个 query 字串。
msql_regcase: 将字串逐字传回大小写字元。
msql_result: 取得查询 (query) 的结果。
msql_selectdb: 选择一个资料库。
msql_select_db: 选择一个资料库。
msql_tablename: 传回指定资料表的名称。
mssql_affected_rows: 取得最后 query 影响的列数。
mssql_close: 关闭与资料库的连线。
mssql_connect: 连上资料库。
mssql_data_seek: 移动列指标。
mssql_fetch_array: 传回阵列资料。
mssql_fetch_field: 取得栏位资讯。
mssql_fetch_object: 传回物件资料。
mssql_fetch_row: 传回单列的各栏位。
mssql_field_seek: 设定指标到传回值的某栏位。
mssql_free_result: 释放传回占用记忆体。
mssql_num_fields: 取得传回栏位的数目。
mssql_num_rows: 取得传回列的数目。
mssql_pconnect: 开启 MS SQL 伺服器长期连线。
mssql_query: 送出一个 query 字串。
mssql_result: 取得查询 (query) 的结果。
mssql_select_db: 选择一个资料库。
mt_getrandmax: 乱数的最大值。
mt_rand: 取得乱数值。
mt_srand: 设定乱数种子。
mysql_affected_rows: 得到 MySQL 最后操作影响的列数目。
mysql_close: 关闭 MySQL 伺服器连线。
mysql_connect: 开启 MySQL 伺服器连线。
mysql_create_db: 建立一个 MySQL 新资料库。
mysql_data_seek: 移动内部传回指标。
mysql_db_query: 送查询字串 (query) 到 MySQL 资料库。
mysql_drop_db: 移除资料库。
mysql_errno: 传回错误讯息代码。
mysql_error: 传回错误讯息。
mysql_fetch_array: 传回阵列资料。
mysql_fetch_field: 取得栏位资讯。
mysql_fetch_lengths: 传回单列各栏资料最大长度。
mysql_fetch_object: 传回物件资料。
mysql_fetch_row: 传回单列的各栏位。
mysql_field_flags: 获得目前栏位的旗标。
mysql_field_len: 获得目前栏位的长度。
mysql_field_name: 传回指定栏位的名称。
mysql_field_seek: 设定指标到传回值的某栏位。
mysql_field_table: 获得目前栏位的资料表 (table) 名称。
mysql_field_type: 获得目前栏位的型态。
mysql_free_result: 释放传回占用记忆体。
mysql_insert_id: 传回最后一次使用 INSERT 指令的 ID。
mysql_list_dbs: 列出 MySQL 伺服器可用的资料库 (database)。
mysql_list_fields: 列出指定资料表的栏位 (field)。
mysql_list_tables: 列出指定资料库的资料表 (table)。
mysql_num_fields: 取得传回栏位的数目。
mysql_num_rows: 取得传回列的数目。
mysql_pconnect: 开启 MySQL 伺服器长期连线。
mysql_query: 送出一个 query 字串。
mysql_result: 取得查询 (query) 的结果。
mysql_select_db: 选择一个资料库。
mysql_tablename: 取得资料表名称。
next: 将阵列的内部指标向后移动。
nl2br: 将换行字元转成

number_format: 格式化数字字串。
OCIBindByName: 让动态 SQL 可使用 PHP 变数。
OCIColumnIsNULL: 测试传回行是否为空的。
OCIColumnSize: 取得栏位型态的大小。
OCICommit: 将 Oracle 的交易处理付诸实行。
OCIDefineByName: 让 SELECT 指令可使用 PHP 变数。
OCIExecute: 执行 Oracle 的指令区段。
OCIFetch: 取得传回资料的一列 (row)。
OCIFetchInto: 取回 Oracle 资料放入阵列。
OCILogOff: 关闭与 Oracle 的连结。
OCILogon: 开启与 Oracle 的连结。
OCINewDescriptor: 初始新的 LOB/FILE 描述。
OCINumRows: 取得受影响栏位的数目。
OCIParse: 分析 SQL 语法。
OCIResult: 从目前列 (row) 的资料取得一栏 (column)。
OCIRollback: 撤消当前交易。
OctDec: 八进位转十进位。
odbc_autocommit: 开关自动更动功能。
odbc_binmode: 设定二进位资料处理方式。
odbc_close: 关闭 ODBC 连结。
odbc_close_all: 关闭所有 ODBC 连结。
odbc_commit: 更动 ODBC 资料库。
odbc_connect: 连结至 ODBC 资料库。
odbc_cursor: 取得游标名。
odbc_do: 执行 SQL 指令。
odbc_exec: 执行 SQL 指令。
odbc_execute: 执行预置 SQL 指令。
odbc_fetch_into: 取得传回的指定列。
odbc_fetch_row: 取得传回一列。
odbc_field_len: 取得栏位资料长度。
odbc_field_name: 取得栏位名称。
odbc_field_type: 取得栏位资料形态。
odbc_free_result: 释出传回资料的记忆体。
odbc_longreadlen: 设定传回栏的最大值。
odbc_num_fields: 取得栏位数目。
odbc_num_rows: 取得传回列数目。
odbc_pconnect: 长期连结至 ODBC 资料库。
odbc_prepare: 预置 SQL 指令。
odbc_result: 取得传回资料。
odbc_result_all: 传回 HTML 表格资料。
odbc_rollback: 撤消当前交易。
odbc_setoption: 调整 ODBC 设定。
opendir: 开启目录 handle。
openlog: 打开系统纪录。
Ora_Bind: 连结 PHP 变数到 Oracle 参数。
Ora_Close: 关闭一个 Oracle 的 cursor。
Ora_ColumnName: 得到 Oracle 传回列 (Column) 的名称。
Ora_ColumnSize: 取得栏位型态的大小。
Ora_ColumnType: 得到 Oracle 传回列 (Column) 的型态。
Ora_Commit: 将 Oracle 的交易处理付诸实行。
Ora_CommitOff: 关闭自动执行 Oracle 交易更动的功能。
Ora_CommitOn: 打开自动执行 Oracle 交易更动的功能。
Ora_Do: 快速的 SQL 查询。
Ora_Error: 获得 Oracle 错误讯息。
Ora_ErrorCode: 获得 Oracle 错误代码。
Ora_Exec: 执行 Oracle 的指令区段。
Ora_Fetch: 取得传回资料的一列 (row)。
Ora_FetchInto: 取回 Oracle 资料放入阵列。
Ora_GetColumn: 从传回列 (row) 的资料取得一栏 (column)。
Ora_Logoff: 结束与 Oracle 的连结。
Ora_Logon: 开启与 Oracle 的连结。
Ora_Numcols: 取得栏位的数目。
Ora_Open: 开启 Oracle 的 cursor。
Ora_Parse: 分析 SQL 语法。
Ora_PLogon: 开启与 Oracle 的长期连结。
Ora_Rollback: 撤消当前交易。
Ord: 传回字元的序数值。
pack: 压缩资料到位元字串之中。
parse_str: 剖析 query 字串成变数。
parse_url: 剖析 URL 字串。
passthru: 执行外部程式并不加处理输出资料。
pclose: 关闭档案。
PDF_add_annotation: 加入注解。
PDF_add_outline: 目前页面加入书签。
PDF_arc: 绘弧。
PDF_begin_page: 启始 PDF 档案页面。
PDF_circle: 绘圆。
PDF_clip: 组合所有向量。
PDF_close: 关闭 PDF 档。
PDF_closepath: 形成封闭的向量形状。
PDF_closepath_fill_stroke: 形成封闭的向量形状沿向量绘线并填满。
PDF_closepath_stroke: 形成封闭的向量形状并沿向量绘线。
PDF_close_image: 关闭图档。
PDF_continue_text: 输出文字。
PDF_curveto: 绘贝氏曲线。
PDF_endpath: 关闭目前向量。
PDF_end_page: 关闭 PDF 档案页面。
PDF_execute_image: 放置 PDF 档中图片到指定位置。
PDF_fill: 填满目前的向量。
PDF_fill_stroke: 填满目前的向量并沿向量绘线。
PDF_get_info: 传回档案资讯。
PDF_lineto: 绘直线。
PDF_moveto: 设定处理的坐标点。
PDF_open: 建立新的 PDF 档。
PDF_open_gif: 开启 GIF 图档。
PDF_open_jpeg: 开启 JPEG 图档。
PDF_open_memory_image: 开启记忆体图档。
PDF_place_image: 放置图片到 PDF 档指定位置。
PDF_put_image: 放置图片到 PDF 档。
PDF_rect: 绘长方形。
PDF_restore: 还原环境变数。
PDF_rotate: 旋转物件。
PDF_save: 储存环境变数。
PDF_scale: 缩放物件。
PDF_setdash: 设定虚线样式。
PDF_setflat: 设定平滑值。
PDF_setgray: 指定绘图的颜色为灰阶并填入。
PDF_setgray_fill: 指定填入的颜色为灰阶。
PDF_setgray_stroke: 指定绘图的颜色为灰阶。
PDF_setlinecap: 设定 linecap 参数。
PDF_setlinejoin: 设定连线参数。
PDF_setlinewidth: 设定线宽。
PDF_setmiterlimit: 设定斜边界限。
PDF_setrgbcolor: 指定绘图的颜色为彩色并填入。
PDF_setrgbcolor_fill: 指定填入的颜色为彩色。
PDF_setrgbcolor_stroke: 指定绘图的颜色为彩色。
PDF_set_char_spacing: 设定字元间距。
PDF_set_duration: 设定二页的切换时间。
PDF_set_font: 设定使用的字型及大小。
PDF_set_horiz_scaling: 设定文字水平间距。
PDF_set_info_author: 设定档案作者。
PDF_set_info_creator: 设定建档者字串。
PDF_set_info_keywords: 设定档案的关键字。
PDF_set_info_subject: 设定档案主题。
PDF_set_info_title: 设定档案标题。
PDF_set_leading: 设定行距。
PDF_set_text_matrix: 设定文字矩阵。
PDF_set_text_pos: 设定文字位置。
PDF_set_text_rendering: 设定文字表现方式。
PDF_set_text_rise: 设定文字高度。
PDF_set_transition: 设定页的转换。
PDF_set_word_spacing: 设定字间距。
PDF_show: 输出字串到 PDF 档案。
PDF_show_xy: 输出字串到指定坐标。
PDF_stringwidth: 计算字串的宽度。
PDF_stroke: 沿向量绘线。
PDF_translate: 移动原点。
pfsockopen: 打开网路的 Socket 持续连结。
pg_Close: 关闭 PostgreSQL 伺服器连线。
pg_cmdTuples: 取得被 SQL 指令影响的资料笔数。
pg_Connect: 开启 PostgreSQL 伺服器连线。
pg_DBname: 取得目前的资料库名称。
pg_ErrorMessage: 传回错误讯息。
pg_Exec: 执行 query 指令。
pg_Fetch_Array: 传回阵列资料。
pg_Fetch_Object: 传回物件资料。
pg_Fetch_Row: 传回单列的各栏位。
pg_FieldIsNull: 检查栏位是否有资料。
pg_FieldName: 传回指定栏位的名称。
pg_FieldNum: 取得指定栏位的行数。
pg_FieldPrtLen: 计算可列示的长度。
pg_FieldSize: 计算指定栏位的长度。
pg_FieldType: 获得目前栏位的型态。
pg_FreeResult: 释放传回占用记忆体。
pg_GetLastOid: 取得最后的物件代码。
pg_Host: 取得连线机器名称。
pg_loclose: 关闭大型物件。
pg_locreate: 建立大型物件。
pg_loopen: 开启大型物件。
pg_loread: 读取大型物件。
pg_loreadall: 读取大型物件并输出。
pg_lounlink: 删除大型物件。
pg_lowrite: 读取大型物件。
pg_NumFields: 取得传回栏位的数目。
pg_NumRows: 取得传回列的数目。
pg_Options: 取得连线机器选项。
pg_pConnect: 开启 PostgreSQL 伺服器长期连线。
pg_Port: 取得连线机器埠号。
pg_Result: 取得查询 (query) 的结果。
pg_tty: 取得连线机器终端机。
phpinfo: 传回 PHP 所有相关资讯。
phpversion: 传回 PHP 版本讯息。
pi: 圆周率。
popen: 开启档案。
pos: 传回阵列目前的元素。
pow: 次方。
preg_match: 字串比对剖析。
preg_match_all: 字串整体比对剖析。
preg_replace: 字串比对剖析并取代。
preg_split: 将字串依指定的规则切开。
prev: 将阵列的内部指标往前移动。
print: 输出字串。
printf: 输出格式化字串。
putenv: 设定系统环境变数。
quoted_printable_decode: 将 qp 编码字串转成 8 位元字串。
QuoteMeta: 加入引用符号。
rand: 取得乱数值。
range: 建立一个整数范围的阵列。
rawurldecode: 从 URL 专用格式字串还原成普通字串。
rawurlencode: 将字串编码成 URL 专用格式。
readdir: 读取目录 handle。
readfile: 输出档案。
readgzfile: 读出压缩档。
readlink: 传回符号连结 (symbolic link) 目标档。
recode_file: 记录档案或档案请求到记录中。
recode_string: 记录字串到记录中。
register_shutdown_function: 定义 PHP 程式执行完成后执行的函式。
rename: 更改档名。
reset: 将阵列的指标指到阵列第一个元素。
rewind: 重置开档的读写位置指标。
rewinddir: 重设目录 handle。
rmdir: 删除目录。
round: 四舍五入。
rsort: 将阵列的值由大到小排序。
sem_acquire: 捕获信号。
sem_get: 取得信号代码。
sem_release: 释出信号。
serialize: 储存资料到系统中。
session_decode: Session 资料解码。
session_destroy: 结束 session。
session_encode: Session 资料编码。
session_id: 存取目前 session 代号。
session_is_registered: 检查变数是否注册。
session_module_name: 存取目前 session 模组。
session_name: 存取目前 session 名称。
session_register: 注册新的变数。
session_save_path: 存取目前 session 路径。
session_start: 初始 session。
session_unregister: 删除已注册变数。
setcookie: 送出 Cookie 资讯到浏览器。
setlocale: 设定地域化资讯。
settype: 设定变数型态。
set_file_buffer: 设定档案缓冲区大小。
set_magic_quotes_runtime: 设定 magic_quotes_runtime 值。
set_socket_blocking: 切换搁置与无搁置模式。
set_time_limit: 设定该页最久执行时间。
shm_attach: 开启建立共享记忆体区段。
shm_detach: 中止共享记忆体区段连结。
shm_get_var: 取得记忆体区段中指定的变数。
shm_put_var: 加入或更新记忆体区段中的变数。
shm_remove: 清除记忆体区段。
shm_remove_var: 删除记忆体区段中指定的变数。
shuffle: 将阵列的顺序弄混。
similar_text: 计算字串相似度。
Sin: 正弦计算。
sizeof: 获知阵列的大小。
sleep: 暂停执行。
snmpget: 取得指定物件识别码。
snmpwalk: 取得所有物件。
snmpwalkoid: 取得网路本体树状资讯。
snmp_get_quick_print: 取得 UCD 函式库中的 quick_print 值。
snmp_set_quick_print: 设定 UCD 函式库中的 quick_print 值。
solid_close: 关闭 solid 连结。
solid_connect: 连结至 solid 资料库。
solid_exec: 执行 SQL 指令。
solid_fetchrow: 取得传回一列。
solid_fieldname: 取得栏位名称。
solid_fieldnum: 取得栏位数目。
solid_freeresult: 释出传回资料的记忆体。
solid_numfields: 取得栏位数目。
solid_numrows: 取得传回列数目。
solid_result: 取得传回资料。
sort: 将阵列排序。
soundex: 计算字串的读音值
split: 将字串依指定的规则切开。
sprintf: 将字串格式化。
sql_regcase: 将字串逐字传回大小写字元。
Sqrt: 开平方根。
srand: 设定乱数种子。
stat: 取得档案相关资讯。
strchr: 寻找第一个出现的字元。
strcmp: 字串比较。
strcspn: 不同字串的长度。
strftime: 将伺服器的时间本地格式化。
StripSlashes: 去掉反斜线字元。
strip_tags: 去掉 HTML 及 PHP 的标记。
strlen: 取得字串长度。
strpos: 寻找字串中某字元最先出现处。
strrchr: 取得某字元最后出现处起的字串。
strrev: 颠倒字串。
strrpos: 寻找字串中某字元最后出现处。
strspn: 找出某字串落在另一字串遮罩的数目。
strstr: 传回字串中某字串开始处至结束的字串。
strtok: 切开字串。
strtolower: 字串全转为小写。
strtoupper: 字串全转为大写。
strtr: 转换某些字元。
strval: 将变数转成字串型态。
str_replace: 字串取代。
substr: 取部份字串。
sybase_affected_rows: 取得最后 query 影响的列数。
sybase_close: 关闭与资料库的连线。
sybase_connect: 连上资料库。
sybase_data_seek: 移动列指标。
sybase_fetch_array: 传回阵列资料。
sybase_fetch_field: 取得栏位资讯。
sybase_fetch_object: 传回物件资料。
sybase_fetch_row: 传回单列的各栏位。
sybase_field_seek: 设定指标到传回值的某栏位。
sybase_free_result: 释放传回占用记忆体。
sybase_num_fields: 取得传回栏位的数目。
sybase_num_rows: 取得传回列的数目。
sybase_pconnect: 开启伺服器长期连线。
sybase_query: 送出一个 query 字串。
sybase_result: 取得查询 (query) 的结果。
sybase_select_db: 选择一个资料库。
symlink: 建立符号连结 (symbolic link)。
syslog: 纪录至系统纪录。
system: 执行外部程式并显示输出资料。
Tan: 正切计算。
tempnam: 建立唯一的临时档。
time: 取得目前时间的 UNIX 时间戳记。
touch: 设定最后修改时间。
trim: 截去字串首尾的空格。
uasort: 将阵列依使用者自定的函式排序。
ucfirst: 将字串第一个字元改大写。
ucwords: 将字串每个字第一个字母改大写。
uksort: 将阵列的索引依使用者自定的函式排序。
umask: 改变目前的档案属性遮罩 umask。
uniqid: 产生唯一的值。
unlink: 删除档案。
unpack: 解压缩位元字串资料。
unserialize: 取出系统资料。
unset: 删除变数。
urldecode: 还原 URL 编码字串。
urlencode: 将字串以 URL 编码。
usleep: 暂停执行。
usort: 将阵列的值依使用者自定的函式排序。
utf8_decode: 将 UTF-8 码转成 ISO-8859-1 码。
utf8_encode: 将 ISO-8859-1 码转成 UTF-8 码。
virtual: 完成阿帕契伺服器的子请求 (sub-request)。
vm_addalias: 加入新别名。
vm_adduser: 加入新使用者。
vm_delalias: 删除别名。
vm_deluser: 删除使用者。
vm_passwd: 改变使用者密码。
wddx_add_vars: 将 WDDX 封包连续化。
wddx_deserialize: 将 WDDX 封包解连续化。
wddx_packet_end: 结束的 WDDX 封包。
wddx_packet_start: 开始新的 WDDX 封包。
wddx_serialize_value: 将单一值连续化。
wddx_serialize_vars: 将多值连续化。
xml_error_string: 取得 XML 错误字串。
xml_get_current_byte_index: 取得目前剖析为第几个位元组。
xml_get_current_column_number: 获知目前剖析的第几栏位。
xml_get_current_line_number: 取得目前剖析的行号。
xml_get_error_code: 取得 XML 错误码。
xml_parse: 剖析 XML 文件。
xml_parser_create: 初始 XML 剖析器。
xml_parser_free: 释放剖析占用的记忆体。
xml_parser_get_option: 取得剖析使用的选项。
xml_parser_set_option: 设定剖析使用的选项。
xml_set_character_data_handler: 建立字元资料标头。
xml_set_default_handler: 建立内定标头。
xml_set_element_handler: 设定元素的标头。
xml_set_external_entity_ref_handler: 设定外部实体参引的标头。
xml_set_notation_decl_handler: 设定记法宣告的标头。
xml_set_object: 使 XML 剖析器用物件。
xml_set_processing_instruction_handler: 建立处理指令标头。
xml_set_unparsed_entity_decl_handler: 设定未剖析实体宣告的标头。
yp_errno: 取得先前 YP 操作的错误码。
yp_err_string: 取得先前 YP 操作的错误字串。
yp_first: 传回 map 上第一笔符合的资料。
yp_get_default_domain: 取得机器的 Domain。
yp_master: 取得 NIS 的 Master。
yp_match: 取得指定资料。
yp_next: 指定 map 的下笔资料。
yp_order: 传回 map 的序数。

PHP 函式库及函式 :Session 函式库
本函式库共有 11 个函式
session_start: 初始 session。
session_destroy: 结束 session。
session_name: 存取目前 session 名称。
session_module_name: 存取目前 session 模组。
session_save_path: 存取目前 session 路径。
session_id: 存取目前 session 代号。
session_register: 注册新的变数。
session_unregister: 删除已注册变数。
session_is_registered: 检查变数是否注册。
session_decode: Session 资料解码。
session_encode: Session 资料编码

ODBC 资料库连结函式库
本函式库共有 25 个函式
开 放资料连结 (Open Database Connectivity, ODBC) 是连结资料库的共通介面。ODBC是由微软主导的资料库连结标准,实作环境也以微软的系统最成熟。在 UNIX 系统中,通常要使用其它厂商所提供的 ODBC 介面,有些 UNIX厂商会自己提供 ODBC 介面 (如 SUN 有为 Solaris 提供 ODBC)。
ODBC 和资料库的查询采用 SQL语言,这和大部份的资料库查询方式一样,这使得系统可以很容易和各种资料库沟通。当然,透过 ODBC 介面,后端的资料库不一定要 DBMS这种大型资料库系统,亦可以是资料表 (如 Microsoft Access)、或者是试算表 (如 Microsoft Excel)。
odbc_autocommit: 开关自动更动功能。
odbc_binmode: 设定二进位资料处理方式。
odbc_close: 关闭 ODBC 连结。
odbc_close_all: 关闭所有 ODBC 连结。
odbc_commit: 更动 ODBC 资料库。
odbc_connect: 连结至 ODBC 资料库。
odbc_cursor: 取得游标名。
odbc_do: 执行 SQL 指令。
odbc_exec: 执行 SQL 指令。
odbc_execute: 执行预置 SQL 指令。
odbc_fetch_into: 取得传回的指定列。
odbc_fetch_row: 取得传回一列。
odbc_field_name: 取得栏位名称。
odbc_field_type: 取得栏位资料形态。
odbc_field_len: 取得栏位资料长度。
odbc_free_result: 释出传回资料的记忆体。
odbc_longreadlen: 设定传回栏的最大值。
odbc_num_fields: 取得栏位数目。
odbc_pconnect: 长期连结至 ODBC 资料库。
odbc_prepare: 预置 SQL 指令。
odbc_num_rows: 取得传回列数目。
odbc_result: 取得传回资料。
odbc_result_all: 传回 HTML 表格资料。
odbc_rollback: 撤消当前交易。
odbc_setoption: 调整 ODBC 设定

php 中session和cookie的区别

一,

Session保留在服务器端,给每个客户分配一个唯一的数字,作为每个客户的标识,

Cookies是保留在客户端的,每次发出页面请求时,都会把里面的数据发送给服务器端.

Cookies适合做保存用户的个人设置,爱好等,Session适合做客户的身份验证.

 

二 ,

1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。

2、session中保存的是对象,cookie中保存的是字符串。

3、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。

4、session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。

这点不太清楚,有待验证

 

三,

两个都可以用来存私密的东西,同样也都有有效期的说法。

区别在于。

session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。

cookie 也可以设置成关闭浏览器既消失.

1、cookie数据存放在客户的浏览器上,

session数据放在服务器上

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗

考虑到安全应当使用session

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

考虑到减轻服务器性能方面,应当使用COOKIE

4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K。

5、一个web站点向客户端发送的cookie不得超过20个,

6, 一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB

7. 其次不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。比如:MS IE+SERVICE PACK 1

不能正确处理带域名和路径的Cookie ,Netscape Communicator 4.05和MS IE 3.0不能正确处理不带路径和

时间的Cookie。至于MS IE 5 好象不能处理带域名、路径和时间的Cookie。

一般做用户登陆用session

保存会话用session

存放用户其他信息可以用cookie,比如一个网上商城没有会员系统的话,可以有cookie来存放他放到购物车里的东西.