当前位置:  编程技术>php
本页文章导读:
    ▪php addslashes和mysql_real_escape_string       很好的说明了addslashes和mysql_real_escape_string的区别,虽然国内很多PHP coder仍在依靠addslashes防止SQL注入(包括我在内),我还是建议大家加强中文防止SQL注入的检查。addslashes的问题在于黑客可.........
    ▪PHPMailer 中文使用说明小结       A开头: $AltBody --属性 出自:PHPMailer : $AltBody 文件:class.phpmailer .php 说明:该属性的设置是在邮件正文不支持HTML的备用显示 AddAddress --方法 出自:PHPMailer ::AddAddress(),文件:class.phpmailer .php .........
    ▪关于php fread()使用技巧       说明 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开.........

[1]php addslashes和mysql_real_escape_string
    来源: 互联网  发布时间: 2013-11-30
很好的说明了addslashes和mysql_real_escape_string的区别,虽然国内很多PHP coder仍在依靠addslashes防止SQL注入(包括我在内),我还是建议大家加强中文防止SQL注入的检查。addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。
当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。
另外对于php手册中get_magic_quotes_gpc的举例:
代码如下:

if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST[‘lastname']);
} else {
$lastname = $_POST[‘lastname'];
}

最好对magic_quotes_gpc已经开放的情况下,还是对$_POST['lastname']进行检查一下。
再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:
mysql_real_escape_string 必须在(PHP 4 >= 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:

mysql_real_escape_string 考虑到连接的当前字符集,而mysql_escape_string 不考虑。

总结一下:

addslashes() 是强行加;
mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;
mysql_escape_string不考虑连接的当前字符集。

    
[2]PHPMailer 中文使用说明小结
    来源: 互联网  发布时间: 2013-11-30
A开头:

$AltBody --属性
出自:PHPMailer : $AltBody
文件:class.phpmailer .php
说明:该属性的设置是在邮件正文不支持HTML的备用显示

AddAddress --方法
出自:PHPMailer ::AddAddress(),文件:class.phpmailer .php
说明:增加收件人。参数1为收件人邮箱,参数2为收件人称呼。例AddAddress("to@163.com","to name"),但参数2可选,AddAddress(to@163.com )也是可以的。
函数原型:public function AddAddress($address, $name = '') {}

AddAttachment --方法
出自:PHPMailer ::AddAttachment()
文件:class.phpmailer .php。
说明:增加附件。
参数:路径,名称,编码,类型。其中,路径为必选,其他为可选
函数原型:
AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream'){}

AddBCC --方法
出自:PHPMailer ::AddBCC()
文件:class.phpmailer .php
说明:增加一个密送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别 ] 。
参数1为地址,参数2为名称。注意此方法只支持在win32下使用SMTP,不支持mail函数
函数原型:public function AddBCC($address, $name = ''){}

AddCC -- 方法
出自:PHPMailer ::AddCC()
文件:class.phpmailer .php
说明:增加一个抄送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别 ] 。
参数1为地址,参数2为名称注意此方法只支持在win32下使用SMTP,不支持mail函数
函数原型:public function AddCC($address, $name = '') {}

AddCustomHeader --方法
出自:PHPMailer ::AddCustomHeader()
文件:class.phpmailer .php
说明:增加一个自定义的E-mail头部。
参数为头部信息
函数原型:public function AddCustomHeader($custom_header){}

AddEmbeddedImage -- 方法
出自:PHPMailer ::AddEmbeddedImage()
文件:class.phpmailer .php
说明:增加一个嵌入式图片
参数:路径,返回句柄[,名称,编码,类型]
函数原型:public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {}
提示:AddEmbeddedImage(PICTURE_PATH. "index_01.jpg ", "img_01 ", "index_01.jpg ");
在html中引用<img src= "cid:img_01 ">

AddReplyTo --方法
出自:PHPMailer :: AddReplyTo()
文件:class.phpmailer .php
说明:增加回复标签,如"Reply-to"
参数1地址,参数2名称
函数原型:public function AddReplyTo($address, $name = '') {}

AddStringAttachment -方法
出自:PHPMailer :: AddStringAttachment()
文件:class.phpmailer .php
说明:增加一个字符串或二进制附件(Adds a string or binary attachment (non-filesystem) to the list.?)
参数:字符串,文件名[,编码,类型]
函数原型:public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') {}

Authenticate --方法
出自:SMTP::Authenticate()
文件:class.smtp.php
说明:开始SMTP认证,必须在Hello()之后调用,如果认证成功,返回true,
参数1用户名,参数2密码
函数原型:public function Authenticate($username, $password) {}

B开头

$Body --属性
出自:PHPMailer : $Body
文件: class.phpmailer .php
说明:邮件内容,HTML或Text格式

C开头

$CharSet --属性
出自:PHPMailer : $CharSet
文件:class.phpmailer .php
说明:邮件编码,默认为iso-8859-1

$ConfirmReadingTo --属性
出自:PHPMailer : $ConfirmReadingTo 文件class.phpmailer .php
说明:回执?

$ContentType --属性
出自:PHPMailer : $ContentType
文件: class.phpmailer .php
说明:文档的类型,默认为"text/plain"

$CRLF --属性
出自:PHPMailer : $ContentType
文件:class.phpmailer .php
说明:SMTP回复结束的分隔符(SMTP reply line ending?)

class.phpmailer .php --对象
出自:class.phpmailer .php
文件: class.phpmailer .php
说明:phpmailer 对象

class.smtp.php --对象
出自:class.smtp.php 文件: class.smtp.php
说明:SMTP功能的对象

ClearAddresses --方法
出自:PHPMailer ::ClearAddresses()
文件: class.phpmailer .php
说明:清除收件人,为下一次发件做准备。返回类型是void

ClearAllRecipients --方法
出自:PHPMailer ::ClearAllRecipients()
文件: class.phpmailer .php
说明:清除所有收件人,包括CC(抄送)和BCC(密送)

ClearAttachments --方法
出自:PHPMailer ::ClearAttachments()
文件: class.phpmailer .php
说明:清楚附件

ClearBCCs --方法
出自:PHPMailer ::ClearBCCs() 文件 class.phpmailer .php
说明:清楚BCC (密送)

ClearCustomHeaders --方法
出自:PHPMailer ::ClearCustomHeaders()
文件: class.phpmailer .php
说明:清楚自定义头部

ClearReplyTos --方法
出自:PHPMailer ::ClearReplyTos()
文件: class.phpmailer .php
说明:清楚回复人

Close --方法
出自:SMTP::Close()
文件: class.smtp.php
说明:关闭一个SMTP连接

Connect --方法
出自:SMTP::Connect()
文件: class.smtp.php
说明:建立一个SMTP连接Mailer.html

$ContentType --属性
出自:PHPMailer : $ContentType
文件: class.phpmailer .php
说明:文档的类型,默认为"text/plain"

D开头
$do_debug --属性
出自:SMTP: $do_debug
文件:class.smtp.php
说明:SMTP调试输出

Data -方法
出自:SMTP: $Data()
文件:class.smtp.php
说明:向服务器发送一个数据命令和消息信息(sendsthemsg_datatotheserver)

E开头

$Encoding --属性
出自:PHPMailer : $Encoding
文件:class.phpmailer .php
说明:设置邮件的编码方式,可选:"8bit","7bit","binary","base64",和"quoted-printable".

$ErrorInfo --属性
出自:PHPMailer : $ErrorInfo
文件:class.phpmailer .php
说明:返回邮件SMTP中的最后一个错误信息

Expand --方法
出自:SMTP::Expand()
文件:class.smtp.php
说 明:返回邮件列表中所有用户。成功则返回数组,否则返回 false(Expandtakesthenameandaskstheservertolistallthepeoplewhoaremembersofthe_list_.Expandwillreturnbackandarrayoftheresultorfalseifanerroroccurs.)

F开头:

$From --属性
出自:PHPMailer ::$From文件class.phpmailer .php
说明:发件人E-mail地址
$FromName --属性
出自:PHPMailer ::$FromName
文件:class.phpmailer .php
说明:发件人称呼

H开头:

$Helo --属性
出自:PHPMailer ::$Helo
文件:class.phpmailer .php
说明:设置SMTPHelo,默认是$Hostname(SetstheSMTPHELOofthemessage(Defaultis$Hostname).)

$Host --属性
出自:PHPMailer ::$Host
文件:class.phpmailer .php
说明:设置SMTP服务器,格式为:主机名[端口号],如smtp1.example.com:25和smtp2.example.com都是合法的

$Hostname --属性
出自:PHPMailer ::$Hostname
文件:class.phpmailer .php
说明:设置在Message-Id和andReceivedheaders中的hostname并同时被$Helo使用。如果为空,默认为SERVER_NAME或'localhost.localdomain"

Hello --方法
出自:SMTP::Hello()
文件:class.smtp.php
说明:向SMTP服务器发送HELO命令

Help --方法
出自:SMTP::Help()
文件:class.smtp.php
说明:如果有关键词,得到关键词的帮助信息

I开头:

IsError --方法
出自:PHPMailer ::IsError()
文件:class.phpmailer .php
说明:返回是否有错误发生

IsHTML --方法
出自:PHPMailer ::IsHTML()
文件:class.phpmailer .php
说明:设置信件是否是HTML格式

IsMail --方法
出自: PHPMailer ::IsMail()
文件:class.phpmailer .php
说明:设置是否使用php的mail函数发件

IsQmail --方法
出自: PHPMailer ::IsQmail()
文件:class.phpmailer .php
说明:设置是否使用qmailMTA来发件

IsSendmail-- 方法
出自:PHPMailer ::IsSendmail()
文件:class.phpmailer .php
说明:是否使用$Sendmail程序来发件

IsSMTP--方法
出自:PHPMailer ::IsSMTP()
文件:class.phpmailer .php
说明:是否使用SMTP来发件

M开头:

$Mailer --属性
出自:PHPMailer ::$Mailer
文件:class.phpmailer .php
说明:发件方式,("mail","sendmail",or"smtp").中的一个

Mail --方法
出自:SMTP::Mail()
文件:class.smtp.php
说明:从$from中一个邮件地址开始处理,返回true或false。如果是true,则开始发件

N开头:

Noop-- 方法
出自:SMTP::Noop()
文件:class.smtp.php
说明:向SMTP服务器发送一个NOOP命令

P开头:
$Password --属性
出自:PHPMailer ::$Password
文件:class.phpmailer .php
说明:设置SMTP的密码

$PluginDir --属性
出自:PHPMailer ::$PluginDir
文件:class.phpmailer .php
说明:设置phpmailer 的插件目录,仅在smtpclass不在phpmailer 目录下有效

$Port --属性
出自:PHPMailer ::$Port
文件:class.phpmailer .php
说明:设置SMTP的端口号

$Priority --属性
出自:PHPMailer ::$Priority
文件:class.phpmailer .php
说明:设置邮件投递优先等级。1=紧急,3=普通,5=不急

PHPMailer --对象
出自:PHPMailer
文件:class.phpmailer .php
说明:PHPMailer -PHPemailtransportclass

Q开头

Quit --方法
出自:SMTP::Quit()
文件:class.smtp.php
说明:向服务器发送Quit命令,如果没有错误发生。那么关闭sock,不然$close_on_error为true

R开头

Recipient --方法
出自:SMTP::Recipient()
文件:class.smtp.php
说明:使用To向SMTP发送RCPT命令,参数为:$to

Reset --方法
出自:SMTP::Reset()
文件:class.smtp.php
说明:发送RSET命令从而取消处理中传输。成功则返回true,否则为false

S开头:

$Sender --属性
出自:PHPMailer ::$Sender
文件:class.phpmailer .php
说明:SetstheSenderemail(Return-Path)ofthemessage.Ifnotempty,willbesentvia-ftosendmailoras'MAILFROM'insmtpmode.

$Sendmail --属性
出自:PHPMailer ::$Sendmail
文件:class.phpmailer .php
说明:设置发件程序的目录

$SMTPAuth --属性
出自:PHPMailer ::$SMTPAuth
文件:class.phpmailer .php
说明:设置SMTP是否需要认证,使用Username和Password变量

$SMTPDebug --属性
出自:PHPMailer ::$SMTPDebug
文件:class.phpmailer .php
说明:设置SMTP是否调试输出?

$SMTPKeepAlive --属性
出自:PHPMailer ::$SMTPKeepAlive
文件:class.phpmailer .php
说明:在每次发件后不关闭连接。如果为true,则,必须使用SmtpClose()来关闭连接

$SMTP_PORT --属性
出自:SMTP::$SMTP_PORT
文件:class.smtp.php
说明:设置SMTP端口

$Subject --属性
出自:PHPMailer ::$Subject
文件:class.phpmailer .php
说明:设置信件的主题

Send --方法
出自:SMTP::Send()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输

Send --方法
出自:PHPMailer ::Send()
文件:class.phpmailer .php
说明:创建邮件并制定发件程序。如果发件不成功,则返回false,请使用ErrorInfo来查看错误信息

SendAndMail --方法
出自:SMTP::SendAndMail()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输

SendOrMail --方法
出自:SMTP::SendOrMail()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输

SetLanguage --方法
出自:PHPMailer ::SetLanguage()
文件:class.phpmailer .php
说明:设置phpmailer 错误信息的语言类型,如果无法加载语言文件,则返回false,默认为english

SMTP --方法
出自:SMTP::SMTP()
文件:class.smtp.php
说明:初始化一个对象以便数据处于一个已知的状态

SMTP --对象
出自:SMTP
文件:class.smtp.php
说明:SMTP对象

SmtpClose --方法
出自:PHPMailer ::SmtpClose()
文件:class.phpmailer .php
说明:如果有活动的SMTP则关闭它。

T开头

$Timeout --属性
出自:PHPMailer ::$Timeout
文件:class.phpmailer .php
说明:设置SMTP服务器的超时(单位:秒)。注意:在win32下,该属性无效

Turn --方法
出自:SMTP::Turn()
文件:class.smtp.php
说明:这是一个可选的SMTP参数,目前phpmailer 并不支持他,可能未来支持

U开头

$Username --属性
出自:PHPMailer ::$Username
文件:class.phpmailer .php
说明:设置SMTP用户名

V开头

$Version --属性
出自:PHPMailer ::$Version
文件:class.phpmailer .php
说明:返回Phpmailer 的版本

Verify --方法
出自:SMTP::Verify()
文件:class.smtp.php
说明:通过服务器检查用户名是否经过验证

W开头:

$WordWrap --属性
出自:PHPMailer ::$WordWrap
文件:class.phpmailer .php
说明:设置每行最大字符数,超过改数后自动换行

    
[3]关于php fread()使用技巧
    来源: 互联网  发布时间: 2013-11-30
说明
string fread ( int handle, int length )
fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
返回所读取的字符串,如果出错返回 FALSE。
代码如下:

<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize ($filename));
fclose($handle);
?>

警告
在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fopen() 函数的 mode 参数要加上 'b'。
代码如下:

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize ($filename));
fclose($handle);
?>

警告
当从任何不是普通本地文件读取时,例如在读取从远程文件或 popen() 以及 proc_open() 返回的流时,读取会在一个包可用之后停止。这意味着应该如下例所示将数据收集起来合并成大块。
代码如下:

<?php
// 对 PHP 5 及更高版本
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>

<?php
$handle = fopen ("http://www.example.com/", "rb");
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>

注意: 如果只是想将一个文件的内容读入到一个字符串中,用 file_get_contents(),它的性能比上面的代码好得多。
额外:
file_get_contents
(PHP 4 >= 4.3.0, PHP 5)
file_get_contents -- 将整个文件读入一个字符串
说明
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败,file_get_contents() 将返回 FALSE。
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3