分享经常用到的21个PHP函数代码段(上)

下面介绍的是,在PHP开发中,经常用到的21个函数代码段,当我们用到的时候,就可以直接用了。

创新互联公司是一家专注于网站建设、成都网站设计与策划设计,陈巴尔虎网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:陈巴尔虎等地区。陈巴尔虎做网站价格咨询:028-86922220

1. PHP可阅读随机字符串

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

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

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

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

 
 
 
  1. /*************
  2. *@l – length of random string
  3. */
  4. function generate_rand($l){
  5. $c= “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789″;
  6. srand((double)microtime()*1000000);
  7. for($i=0; $i<$l; $i++) {
  8. $rand.= $c[rand()%strlen($c)];
  9. }
  10. return $rand;
  11. }

3. PHP编码电子邮件地址

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

 
 
 
  1. function encode_email($email=’info@domain.com’, $linkText=’Contact Us’,
  2. $attrs =’class=”emailencoder”‘ )
  3. {
  4. // remplazar aroba y puntos
  5. $email = str_replace(‘@’, ‘@’, $email);
  6. $email = str_replace(‘.’, ‘.’, $email);
  7. $email = str_split($email, 5);
  8. $linkText = str_replace(‘@’, ‘@’, $linkText);
  9. $linkText = str_replace(‘.’, ‘.’, $linkText);
  10. $linkText = str_split($linkText, 5);
  11. $part1 = ‘
  12. $part2 = ‘ilto:’;
  13. $part3 = ‘” ‘. $attrs .’ >’;
  14. $part4 = ‘’;
  15. $encoded = ‘’;
  16. $encoded .= “document.write(‘$part1′);”;
  17. $encoded .= “document.write(‘$part2′);”;
  18. foreach($email as $e)
  19. {
  20. $encoded .= “document.write(‘$e’);”;
  21. }
  22. $encoded .= “document.write(‘$part3′);”;
  23. foreach($linkText as $l)
  24. {
  25. $encoded .= “document.write(‘$l’);”;
  26. }
  27. $encoded .= “document.write(‘$part4′);”;
  28. $encoded .= ‘’;
  29. return $encoded;
  30. }

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. if($test_mx)
  5. {
  6. list($username, $domain) = split(“@”, $email);
  7. return getmxrr($domain, $mxrecords);
  8. }
  9. else
  10. return true;
  11. else
  12. return false;
  13. }

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.’
    ’.”\n”;
  12. }
  13. }
  14. closedir($handle);
  15. }
  16. }
  17. }

#p#

6. PHP销毁目录

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

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

7. PHP解析 JSON 数据

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

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

8. PHP解析 XML 数据

 
 
 
  1. //xml string
  2. $xml_string=”
  3. Foo
  4. foo@bar.com
  5. Foobar
  6. foobar@foo.com
  7. ”;
  8. //load the xml string using simplexml
  9. $xml = simplexml_load_string($xml_string);
  10. //loop through the each node of user
  11. foreach ($xml->user as $user)
  12. {
  13. //access attribute
  14. echo $user['id'], ‘ ‘;
  15. //subnodes are accessed by -> operator
  16. echo $user->name, ‘ ‘;
  17. echo $user->email, ‘’;
  18. }

9. PHP创建日志缩略名

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

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

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

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

 
 
 
  1. function getRealIpAddr()
  2. {
  3. if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
  4. {
  5. $ip=$_SERVER['HTTP_CLIENT_IP'];
  6. }
  7. elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
  8. //to check ip is pass from proxy
  9. {
  10. $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  11. }
  12. else
  13. {
  14. $ip=$_SERVER['REMOTE_ADDR'];
  15. }
  16. return $ip;
  17. }

11. PHP强制性文件下载

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

 
 
 
  1. /********************
  2. *@file – path to file
  3. */
  4. function force_download($file)
  5. {
  6. if ((isset($file))&&(file_exists($file))) {
  7. header(“Content-length: “.filesize($file));
  8. header(‘Content-Type: application/octet-stream’);
  9. header(‘Content-Disposition: attachment; filename=”‘ . $file . ‘”‘);
  10. readfile(“$file”);
  11. } else {
  12. echo “No file selected”;
  13. }
  14. }

经常用到的函数段,请看下一篇,

网站题目:分享经常用到的21个PHP函数代码段(上)
链接地址:http://www.csdahua.cn/qtweb/news18/402668.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网