20个常用的PHP源代码收集文档格式.docx
- 文档编号:20714455
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:14
- 大小:19.95KB
20个常用的PHP源代码收集文档格式.docx
《20个常用的PHP源代码收集文档格式.docx》由会员分享,可在线阅读,更多相关《20个常用的PHP源代码收集文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
2.PHP生成一个随机字符串
如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。
/*************
*@l-lengthofrandomstring
*/
functiongenerate_rand($l){
$c="
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
srand((double)microtime()*1000000);
for($i=0;
$l;
$i++){
$rand.=$c[rand()%strlen($c)];
return$rand;
3.PHP编码电子邮件地址
使用此代码,可以将任何电子邮件地址编码为html字符实体,以防止被垃圾邮件程序收集。
functionencode_email($email='
'
$linkText='
ContactUs'
$attrs='
class="
emailencoder"
)
//remplazararobaypuntos
$email=str_replace('
@'
'
&
#64;
$email);
.'
#46;
$email=str_split($email,5);
$linkText=str_replace('
$linkText);
$linkText=str_split($linkText,5);
$part1='
<
ahref="
ma'
$part2='
ilto&
#58;
$part3='
'
.$attrs.'
>
$part4='
/a>
$encoded='
scripttype="
text/javascript"
>
$encoded.="
document.write('
$part1'
$part2'
foreach($emailas$e)
$e'
$part3'
foreach($linkTextas$l)
$l'
$part4'
$encoded.='
/script>
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("
@"
returngetmxrr($domain,$mxrecords);
else
returntrue;
returnfalse;
5.PHP列出目录内容
functionlist_files($dir)
if(is_dir($dir))
if($handle=opendir($dir))
while(($file=readdir($handle))!
==false)
if($"
."
&
$"
.."
Thumbs.db"
)
echo'
atarget="
_blank"
href="
.$dir.$file.'
.$file.'
br>
\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):
if(is_dir($dir)&
$handle=opendir($dir))
while($file=readdir($handle))
if($'
||$'
..'
continue;
elseif(is_dir($dir.$ds.$file))
destroyDir($dir.$ds.$file);
unlink($dir.$ds.$file);
rmdir($dir);
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
interest[1];
//printsphp
8.PHP解析XML数据
//xmlstring
$xml_string="
?
xmlversion='
1.0'
users>
userid='
398'
name>
Foo<
/name>
email>
/user>
867'
Foobar<
/users>
//loadthexmlstringusingsimplexml
$xml=simplexml_load_string($xml_string);
//loopthroughtheeachnodeofuser
foreach($xml->
useras$user)
//accessattribute
echo$user['
id'
],'
//subnodesareaccessedby->
operator
echo$user->
name,'
email,'
br/>
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['
];
elseif(!
HTTP_X_FORWARDED_FOR'
//tocheckipispassfromproxy
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'
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[]='
astyle="
font-size:
.floor($size).'
px'
.'
#"
title="
\'
.$tag.
returnedacountof'
.$count.'
.htmlspecialchars(stripslashes($tag)).'
returnjoin("
$cloudTags)."
/**************************
****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)
imgsrc="
.md5($email).
default='
.$default.'
size='
.$size.'
rating='
.$rating.'
width="
px"
height="
/>
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<
strlen($string)-1){
$string=substr($string,0,$breakpoint).$pad;
/*****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:
CREATE)!
==true){
//addthefiles
foreach($valid_filesas$file){
$zip->
addFile($file,$file);
//debug
//echo'
Theziparchivecontains'
$zip->
numFiles,'
fileswithastatusof'
status;
//closethezip--done!
close();
//checktomakesurethe
return($destination);
/*****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
extractTo($destination);
//closearchive
Archiveextractedtodirectory'
18.PHP为URL地址预设http字符串
有时需要接受一些表单中的网址输入,但用户很少添加http:
//字段,此代码将为网址添加该字段。
if(!
preg_match("
/^(http|"
$_POST['
url'
])){
$_POST['
]='
http:
//'
.$_POST['
19.PHP将网址字符串转换成超级链接
该函数将URL和E-mail地址字符串转换为可点击的超级链接。
functionmakeClickableLinks($text){$text=eregi_replace('
(((f|ht){1}tp:
//)[-a-zA-Z0-9@:
%_+.~#?
//=]+)'
\1"
\1<
$text);
$text=eregi_replace('
([[:
space:
]()[{}])(www.[-a-zA-Z0-9@:
//\2"
\2<
([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})'
mailto:
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);
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=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 20 常用 PHP 源代码 收集