PHP在网站开发中常用21种功能代码_[PHP教程]
1. 可阅读随机字符串 
此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。 
/************** 
*@length - length of random string (must be a multiple of 2) 
**************/ 
function readable_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. 生成一个随机字符串 
如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。 
/************* 
*@l - length of random string 
*/ 
function generate_rand($l){ 
 $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; 
 srand((double)microtime()*1000000); 
 for($i=0; $i<$l; $i++) { 
 $rand.= $c[rand()%strlen($c)]; 
 } 
 return $rand; 
 } 
3. 编码电子邮件地址 
使用此代码,可以将任何电子邮件地址编码为 HTML 字符实体,以防止被垃圾邮件程序收集。 
function encode_email($email=’info@domain.com’, $linkText=’Contact Us’, $attrs =’class="emailencoder"’ ) 
{ 
 // remplazar aroba y puntos 
 $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 = ’
’; 
 $part4 = ’’; 
 $encoded = ’
’; 
 return $encoded; 
} 
4. 验证邮件地址 
电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属 DNS 中的 MX 记录,使邮件验证功能更加强大。 
function is_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); 
 return getmxrr($domain, $mxrecords); 
 } 
 else 
 return true; 
 else 
 return false; 
} 
5. 列出目录内容 
function list_files($dir) 
{ 
 if(is_dir($dir)) 
 { 
 if($handle = opendir($dir)) 
 { 
 while(($file = readdir($handle)) !== false) 
 { 
 if($file != "." && $file != ".." && $file != "Thumbs.db") 
 { 
 echo ’
’.$file.’’."\n"; 
 } 
 } 
 closedir($handle); 
 } 
 } 
} 
6. 销毁目录 
删除一个目录,包括它的内容。 
/***** 
*@dir - Directory to destroy 
*@virtual[optional]- whether a virtual directory 
*/ 
function destroyDir($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 ($file == ’.’ || $file == ’..’) 
 { 
 continue; 
 } 
 elseif (is_dir($dir.$ds.$file)) 
 { 
 destroyDir($dir.$ds.$file); 
 } 
 else 
 { 
 unlink($dir.$ds.$file); 
 } 
 } 
 closedir($handle); 
 rmdir($dir); 
 return true; 
 } 
 else 
 { 
 return false; 
 } 
} 
7. 解析 JSON 数据 
与大多数流行的 Web 服务如 Twitter 通过开放 API 来提供数据一样,它总是能够知道如何解析 API 数据的各种传送格式,包括 JSON,XML 等等。 
$json_string=’{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ’; 
$obj=json_decode($json_string); 
echo $obj->name; //prints foo 
echo $obj->interest[1]; //prints php