当前位置:首页 > PHP教程 > php应用 > 列表

PHP中一些常用操作类代码解析

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-26 09:33:59 浏览: 评论:0 

PHP中一些常用操作类代码示例一

1. PHP可阅读随机字符串

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

  1. /**@length - length of random string (must be a multiple of 2)**/ 
  2.  
  3.   function readable_random_string($length = 6){ 
  4.  
  5.       $conso=array("b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","x","y","z"); 
  6.  
  7.       $vocal=array("a","e","i","o","u"); 
  8.  
  9.       $password=""
  10.  
  11.       srand ((double)microtime()*1000000); 
  12.  
  13.       $max = $length/2; 
  14.  
  15.       for($i=1;$i<=$max$i++){ 
  16.  
  17.           $password.=$conso[rand(0,19)]; 
  18.  
  19.           $password.=$vocal[rand(0,4)]; 
  20.  
  21.       } 
  22.  
  23.       return $password
  24.  
  25.   } 

有密码验证功能。

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

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

  1. /************* *@l - length of random string */ 
  2.  
  3. function generate_rand($l){  
  4.  
  5.     $c"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";  
  6.  
  7.     srand((double)microtime()*1000000);  
  8.  
  9.     for($i=0; $i<$l$i++) {  
  10.  
  11.         $rand.=  
  12.  
  13.     $c[rand()%strlen($c)];  
  14.  
  15.     } 
  16.  
  17.     return $rand;  
  18.  

3. PHP编码电子邮件地址

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

  1. function encode_email($email='info@domain.com'$linkText='Contact Us',$attrs ='class="emailencoder"' ) {  
  2.  
  3.     // remplazar aroba y puntos $email =  
  4.  
  5. str_replace('@''@'$email);  
  6.  
  7.     $email = str_replace('.''.'$email);  
  8.  
  9.     $email =  
  10.  
  11. str_split($email, 5);  
  12.  
  13.     $linkText = str_replace('@''@'$linkText);  
  14.  
  15.     $linkText =  
  16.  
  17. str_replace('.''.'$linkText);  
  18.  
  19.     $linkText = str_split($linkText, 5);  
  20.  
  21.     $part1 = 'part2 = 'ilto:';  
  22.  
  23.     $part3 = '" '$attrs .' >';  
  24.  
  25.     $part4 = ''$encoded = '';  
  26.  
  27. $encoded .= "document.write('$part1');";  
  28.  
  29.     $encoded .= "document.write('$part2');";  
  30.  
  31.     foreach($email as $e) {  
  32.  
  33.         $encoded .= "document.write('$e');";  
  34.  
  35.     }  
  36.  
  37.     $encoded .= "document.write('$part3');";  
  38.  
  39. foreach($linkText as $l) {  
  40.  
  41.         $encoded .= "document.write('$l');";  
  42.  
  43.     }  
  44.  
  45.     $encoded .= "document.write('$part4');";  
  46.  
  47.     $encoded .= '';  
  48.  
  49.     return $encoded
  50.  

4. PHP验证邮件地址

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

  1. function is_valid_email($email$test_mx = false) {  
  2.  
  3. if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"$email))  
  4.  
  5.     if($test_mx) {  
  6.  
  7.         list($username$domain) = split("@"$email);  
  8.  
  9.         return getmxrr($domain$mxrecords);  
  10.  
  11.     } else { 
  12.  
  13.         return true;  
  14.  
  15.     } 
  16.  
  17.        
  18.  
  19. }  else { 
  20.  
  21.     return false;  
  22.  
  23. } 

5. PHP列出目录内容

  1. function list_files($dir){  
  2.  
  3.     if(is_dir($dir)) {  
  4.  
  5.         if($handle = opendir($dir)) {  
  6.  
  7.             while(($file = readdir($handle)) !== false) {  
  8.  
  9.                 if($file != "." && $file != ".." && $file != "Thumbs.db") {  
  10.  
  11.                     echo ''.$file.'a>  '."\n";  
  12.  
  13.                  }  
  14.  
  15.             } closedir($handle);  
  16.  
  17.         }  
  18.  
  19.    }  
  20.  

6. PHP销毁目录

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

  1. /***** *@dir - Directory to destroy *@virtual[optional]- whether a virtual directory */ 
  2.  
  3. function destroyDir($dir$virtual = false) {  
  4.  
  5.     $ds = DIRECTORY_SEPARATOR;  
  6.  
  7.     $dir = $virtual ? realpath($dir) : $dir;  
  8.  
  9.     $dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;  
  10.  
  11.     if (is_dir($dir) && $handle = opendir($dir)) {  
  12.  
  13.         while ($file = readdir($handle)) {  
  14.  
  15.             if ($file == '.' || $file == '..') {  
  16.  
  17.                 continue;  
  18.  
  19.             } elseif (is_dir($dir.$ds.$file)) {  
  20.  
  21.                 destroyDir($dir.$ds.$file);  
  22.  
  23.             } else {  
  24.  
  25.                 unlink($dir.$ds.$file);  
  26.  
  27.             }  
  28.  
  29.         }  
  30.  
  31.         closedir($handle);  
  32.  
  33.         rmdir($dir);  
  34.  
  35.         return true;  
  36.  
  37.     } else {  
  38.  
  39.         return false;  
  40.  
  41.     }  
  42.  

7. PHP解析 JSON 数据

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

  1. $json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';  
  2.  
  3. $obj=json_decode($json_string);  
  4.  
  5. echo $obj->name; //prints foo echo  
  6.  
  7. $obj->interest[1]; //prints php 

8. PHP解析 XML 数据

  1. //xml string $xml_string="xml version='1.0'?> Fooname> foo@bar.comname> user> Foobarname> foobar@foo.comname> user>users>";  
  2.  
  3.    
  4.  
  5. //load the xml string using simplexml  
  6.  
  7. $xml = simplexml_load_string($xml_string);  
  8.  
  9.    
  10.  
  11. //loop through the each node of user  
  12.  
  13. foreach ($xml->user as $user) {  
  14.  
  15.     //access attribute  
  16.  
  17.     echo $user['id'], ' ';  
  18.  
  19.        
  20.  
  21.     //subnodes are accessed by -> operator  
  22.  
  23.     echo $user->name, ' ';  
  24.  
  25.     echo $user->email,'';  
  26.  

9. PHP创建日志缩略名

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

  1. function create_slug($string){  
  2.  
  3.     $slug=preg_replace('/[^A-Za-z0-9-]+/''-'$string);  
  4.  
  5.    return $slug;  
  6.  
  7. }

Tags: PHP操作类

分享到: