20个常用的PHP源代码收集.docx

上传人:b****1 文档编号:478320 上传时间:2023-04-29 格式:DOCX 页数:16 大小:19.89KB
下载 相关 举报
20个常用的PHP源代码收集.docx_第1页
第1页 / 共16页
20个常用的PHP源代码收集.docx_第2页
第2页 / 共16页
20个常用的PHP源代码收集.docx_第3页
第3页 / 共16页
20个常用的PHP源代码收集.docx_第4页
第4页 / 共16页
20个常用的PHP源代码收集.docx_第5页
第5页 / 共16页
20个常用的PHP源代码收集.docx_第6页
第6页 / 共16页
20个常用的PHP源代码收集.docx_第7页
第7页 / 共16页
20个常用的PHP源代码收集.docx_第8页
第8页 / 共16页
20个常用的PHP源代码收集.docx_第9页
第9页 / 共16页
20个常用的PHP源代码收集.docx_第10页
第10页 / 共16页
20个常用的PHP源代码收集.docx_第11页
第11页 / 共16页
20个常用的PHP源代码收集.docx_第12页
第12页 / 共16页
20个常用的PHP源代码收集.docx_第13页
第13页 / 共16页
20个常用的PHP源代码收集.docx_第14页
第14页 / 共16页
20个常用的PHP源代码收集.docx_第15页
第15页 / 共16页
20个常用的PHP源代码收集.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

20个常用的PHP源代码收集.docx

《20个常用的PHP源代码收集.docx》由会员分享,可在线阅读,更多相关《20个常用的PHP源代码收集.docx(16页珍藏版)》请在冰点文库上搜索。

20个常用的PHP源代码收集.docx

20个常用的PHP源代码收集

20个常用的PHP源代码收集

1.PHP可阅读随机字符串

此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。

/**************

*@length-lengthofrandomstring(mustbeamultipleof2)

**************/

functionreadable_random_string($length=6){

$conso=array("b","c","d","f","g","h","j","k","l",

"m","n","p","r","s","t","v","w","x","y","z");

$vocal=array("a","e","i","o","u");

$password="";

srand((double)microtime()*1000000);

$max=$length/2;

for($i=1;$i<=$max;$i++)

{

$password.=$conso[rand(0,19)];

$password.=$vocal[rand(0,4)];

}

return$password;

}

2.PHP生成一个随机字符串

如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。

/*************

*@l-lengthofrandomstring

*/

functiongenerate_rand($l){

$c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

srand((double)microtime()*1000000);

for($i=0;$i<$l;$i++){

$rand.=$c[rand()%strlen($c)];

}

return$rand;

}

3.PHP编码电子邮件地址

使用此代码,可以将任何电子邮件地址编码为html字符实体,以防止被垃圾邮件程序收集。

functionencode_email($email='',$linkText='ContactUs',$attrs='class="emailencoder"')

{

//remplazararobaypuntos

$email=str_replace('@','@',$email);

$email=str_replace('.','.',$email);

$email=str_split($email,5);

$linkText=str_replace('@','@',$linkText);

$linkText=str_replace('.','.',$linkText);

$linkText=str_split($linkText,5);

$part1='

$part2='ilto:';

$part3='"'.$attrs.'>';

$part4='';

$encoded='';

$encoded.="document.write('$part1');";

$encoded.="document.write('$part2');";

foreach($emailas$e)

{

$encoded.="document.write('$e');";

}

$encoded.="document.write('$part3');";

foreach($linkTextas$l)

{

$encoded.="document.write('$l');";

}

$encoded.="document.write('$part4');";

$encoded.='';

return$encoded;

}

4.PHP验证邮件地址

电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属DNS中的MX记录,使邮件验证功能更加强大。

functionis_valid_email($email,$test_mx=false)

{

if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$email))

if($test_mx)

{

list($username,$domain)=split("@",$email);

returngetmxrr($domain,$mxrecords);

}

else

returntrue;

else

returnfalse;

}

5.PHP列出目录内容

functionlist_files($dir)

{

if(is_dir($dir))

{

if($handle=opendir($dir))

{

while(($file=readdir($handle))!

==false)

{

if($"."&&$".."&&$"Thumbs.db")

{

echo''.$file.'
'."\n";

}

}

closedir($handle);

}

}

}

6.PHP销毁目录

删除一个目录,包括它的内容。

/*****

*@dir-Directorytodestroy

*@virtual[optional]-whetheravirtualdirectory

*/

functiondestroyDir($dir,$virtual=false)

{

$ds=DIRECTORY_SEPARATOR;

$dir=$virtual?

realpath($dir):

$dir;

$dir=substr($dir,-1)==$ds?

substr($dir,0,-1):

$dir;

if(is_dir($dir)&&$handle=opendir($dir))

{

while($file=readdir($handle))

{

if($'.'||$'..')

{

continue;

}

elseif(is_dir($dir.$ds.$file))

{

destroyDir($dir.$ds.$file);

}

else

{

unlink($dir.$ds.$file);

}

}

closedir($handle);

rmdir($dir);

returntrue;

}

else

{

returnfalse;

}

}

7.PHP解析JSON数据

与大多数流行的Web服务如twitter通过开放API来提供数据一样,它总是能够知道如何解析API数据的各种传送格式,包括JSON,XML等等。

$json_string='{"id":

1,"name":

"foo","email":

"","interest":

["wordpress","php"]}';

$obj=$json_string);

echo$obj->name;//printsfoo

echo$obj->interest[1];//printsphp

8.PHP解析XML数据

//xmlstring

$xml_string="

xmlversion='1.0'?

>

Foo

Foobar

";

//loadthexmlstringusingsimplexml

$xml=simplexml_load_string($xml_string);

//loopthroughtheeachnodeofuser

foreach($xml->useras$user)

{

//accessattribute

echo$user['id'],'';

//subnodesareaccessedby->operator

echo$user->name,'';

echo$user->email,'
';

}

9.PHP创建日志缩略名

创建用户友好的日志缩略名。

functioncreate_slug($string){

$slug=preg_replace('/[^A-Za-z0-9-]+/','-',$string);

return$slug;

}

10.PHP获取客户端真实IP地址

该函数将获取用户的真实IP地址,即便他使用代理服务器。

functiongetRealIpAddr()

{

if(!

emptyempty($_SERVER['HTTP_CLIENT_IP']))

{

$ip=$_SERVER['HTTP_CLIENT_IP'];

}

elseif(!

emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))

//tocheckipispassfromproxy

{

$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];

}

else

{

$ip=$_SERVER['REMOTE_ADDR'];

}

return$ip;

}

11.PHP强制性文件下载

为用户提供强制性的文件下载功能。

/********************

*@file-pathtofile

*/

functionforce_download($file)

{

if((isset($file))&&(($file))){

header("Content-length:

".($file));

header('Content-Type:

application/octet-stream');

header('Content-Disposition:

attachment;"'.$file.'"');

readfile("$file");

}else{

echo"No";

}

}

12.PHP创建标签云

functiongetCloud($data=array(),$minFontSize=12,$maxFontSize=30)

{

$minimumCount=min(array_values($data));

$maximumCount=max(array_values($data));

$spread=$maximumCount-$minimumCount;

$cloudHTML='';

$cloudTags=array();

$spread==0&&$spread=1;

foreach($dataas$tag=>$count)

{

$size=$minFontSize+($count-$minimumCount)

*($maxFontSize-$minFontSize)/$spread;

$cloudTags[]='

'.floor($size).'px'

.'"href="#"title="\''.$tag.

'\'returnedacountof'.$count.'">'

.htmlspecialchars(stripslashes($tag)).'';

}

returnjoin("\n",$cloudTags)."\n";

}

/**************************

****Sampleusage***/

$arr=Array('Actionscript'=>35,'Adobe'=>22,'Array'=>44,'Background'=>43,

'Blur'=>18,'Canvas'=>33,'Class'=>15,'ColorPalette'=>11,'Crop'=>42,

'Delimiter'=>13,'Depth'=>34,'Design'=>8,'Encode'=>12,'Encryption'=>30,

'Extract'=>28,'Filters'=>42);

echogetCloud($arr,12,36);

13.PHP寻找两个字符串的相似性

PHP提供了一个极少使用的similar_text函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比。

similar_text($string1,$string2,$percent);

//$percentwillhavethepercentageofsimilarity

14.PHP在应用程序中使用Gravatar通用头像

随着WordPress越来越普及,Gravatar也随之流行。

由于Gravatar提供了易于使用的API,将其纳入应用程序也变得十分方便。

/******************

*@email-Emailaddresstoshowgravatarfor

*@size-sizeofgravatar

*@default-URLofdefaultgravatartouse

*@rating-ratingofGravatar(G,PG,R,X)

*/

functionshow_gravatar($email,$size,$default,$rating)

{

echo'

'&default='.$default.'&size='.$size.'&rating='.$rating.'"width="'.$size.'px"

height="'.$size.'px"/>';

}

15.PHP在字符断点处截断文字

所谓断字(wordbreak),即一个单词可在转行时断开的地方。

这一函数将在断字处截断字符串。

//OriginalPHPcodebyChirpInternet:

//Pleaseacknowledgeuseofthiscodebyincludingthisheader.

functionmyTruncate($string,$limit,$break=".",$pad="..."){

//returnwithnochangeifstringisshorterthan$limit

if(strlen($string)<=$limit)

return$string;

//is$breakpresentbetween$limitandtheendofthestring?

if(false!

==($breakpoint=strpos($string,$break,$limit))){

if($breakpoint

$string=substr($string,0,$breakpoint).$pad;

}

}

return$string;

}

/*****Example****/

$short_string=myTruncate($long_string,100,'');

16.PHP文件Zip压缩

/*createsacompressedzipfile*/

functioncreate_zip($files=array(),$destination='',$overwrite=false){

//ifthezipexistsandoverwriteisfalse,returnfalse

if(($destination)&&!

$overwrite){returnfalse;}

//vars

$valid_files=array();

//iffileswerepassedin...

if(is_array($files)){

//cyclethrougheachfile

foreach($filesas$file){

//makesurethe

if(($file)){

$valid_files[]=$file;

}

}

}

//ifwehavegoodfiles...

if(count($valid_files)){

//createthearchive

$zip=newZipArchive();

if($zip->open($destination,$overwrite?

ZIPARCHIVE:

:

OVERWRITE:

ZIPARCHIVE:

:

CREATE)!

==true){

returnfalse;

}

//addthefiles

foreach($valid_filesas$file){

$zip->addFile($file,$file);

}

//debug

//echo'Theziparchivecontains',$zip->numFiles,'fileswithastatusof',$zip->status;

//closethezip--done!

$zip->close();

//checktomakesurethe

return($destination);

}

else

{

returnfalse;

}

}

/*****ExampleUsage***/

$('','','');

create_zip($files,'myzip',true);

17.PHP解压缩Zip文件

/**********************

*@file-pathtozipfile

*@destination-destinationdirectoryforunzippedfiles

*/

functionunzip_file($file,$destination){

//createobject

$zip=newZipArchive();

//openarchive

if($zip->open($file)!

==TRUE){

die(’Couldnotopenarchive’);

}

//extractcontentstodestinationdirectory

$zip->extractTo($destination);

//closearchive

$zip->close();

echo'Archiveextractedtodirectory';

}

18.PHP为URL地址预设http字符串

有时需要接受一些表单中的网址输入,但用户很少添加http:

//字段,此代码将为网址添加该字段。

if(!

preg_match("/^(http|",$_POST['url'])){

$_POST['url']='http:

//'.$_POST['url'];

}

19.PHP将网址字符串转换成超级链接

该函数将URL和E-mail地址字符串转换为可点击的超级链接。

functionmakeClickableLinks($text){$text=eregi_replace('(((f|ht){1}tp:

//)[-a-zA-Z0-9@:

%_+.~#?

&//=]+)','\1',$text);$text=eregi_replace('([[:

space:

]()[{}])(www.[-a-zA-Z0-9@:

%_+.~#?

&//=]+)','\1

//\2">\2',$text);$text=eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})','

\1">\1',$text);return$text;}

20.PHP调整图像尺寸

创建图像缩略图需要许多时间,此代码将有助于了解缩略图的逻辑。

/*********************

*@-pathtotheimage

*@tmpname-temporarypathtothumbnail

*@xmax-maxwidth

*@ymax-maxheight

*/

functionresize_image($,$tmpname,$xmax,$ymax)

{

$ext=explode(".",$);

$ext=$ext[count($ext)-1];

if($ext=="jpg"||$ext=="jpeg")

$im=imagecreatefromjpeg($tmpname);

elseif($ext=="png")

$im=imagecreatefrompng($tmpname);

elseif($ext=="gif")

$im=imagecreatefromgif($tmpname);

$x=imagesx($im);

$y=imagesy($im);

if($x<=$xmax&&$y<=$ymax)

return$im;

if($x>=$y){

$newx=$xmax;

$newy=$newx*$y/$x;

}

else{

$newy=$ymax;

$newx=$x/$y*$newy;

}

$im2=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2