文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

常用到的PHP函数代码段有哪些

2023-06-17 12:32

关注

这篇文章主要介绍常用到的PHP函数代码段有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. PHP可阅读随机字符串

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

 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. PHP生成一个随机字符串

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

 function generate_rand($l){  $c= “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&Prime;;  srand((double)microtime()*1000000);  for($i=0; $i<$l; $i++) {  $rand.= $c[rand()%strlen($c)];  }  return $rand;  }

3. PHP编码电子邮件地址

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

function encode_email($email=&rsquo;info@domain.com&rsquo;, $linkText=&rsquo;Contact Us&rsquo;, $attrs =&rsquo;class=”emailencoder”&lsquo; )  {  // remplazar aroba y puntos  $email = str_replace(&lsquo;@&rsquo;, &lsquo;&#64;&rsquo;, $email);  $email = str_replace(&lsquo;.&rsquo;, &lsquo;&#46;&rsquo;, $email);  $email = str_split($email, 5);  $linkText = str_replace(&lsquo;@&rsquo;, &lsquo;&#64;&rsquo;, $linkText);  $linkText = str_replace(&lsquo;.&rsquo;, &lsquo;&#46;&rsquo;, $linkText);  $linkText = str_split($linkText, 5);  $part1 = &lsquo;<a href=”ma&rsquo;;  $part2 = &lsquo;ilto&#58;&rsquo;;  $part3 = &lsquo;” &lsquo;. $attrs .&rsquo; >&rsquo;;  $part4 = &lsquo;</a>&rsquo;;  $encoded = &lsquo;<script type=”text/javascript”>&rsquo;;  $encoded .= “document.write(&lsquo;$part1&prime;);”;  $encoded .= “document.write(&lsquo;$part2&prime;);”;  foreach($email as $e)  {  $encoded .= “document.write(&lsquo;$e&rsquo;);”;  }  $encoded .= “document.write(&lsquo;$part3&prime;);”;  foreach($linkText as $l)  {  $encoded .= “document.write(&lsquo;$l&rsquo;);”;  }  $encoded .= “document.write(&lsquo;$part4&prime;);”;  $encoded .= &lsquo;</script>&rsquo;;  return $encoded;  }

4. PHP验证邮件地址

电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属 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. PHP列出目录内容

function list_files($dir)  {  if(is_dir($dir))  {  if($handle = opendir($dir))  {  while(($file = readdir($handle)) !== false)  {  if($file != “.” && $file != “..” && $file != “Thumbs.db”)  {  echo &lsquo;<a target=”_blank” href=”&lsquo;.$dir.$file.&rsquo;”>&rsquo;.$file.&rsquo;</a><br>&rsquo;.”\n”;  }  }  closedir($handle);  }  }  }

6. PHP销毁目录

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

 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 == &lsquo;.&rsquo; || $file == &lsquo;..&rsquo;)  {  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. PHP解析 JSON 数据

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

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

8. PHP解析 XML 数据

//xml string  $xml_string=”<?xml version=&rsquo;1.0&prime;?>  <users>  <user id=&rsquo;398&prime;>  <name>Foo</name>  <email>foo@bar.com</name>  </user>  <user id=&rsquo;867&prime;>  <name>Foobar</name>  <email>foobar@foo.com</name>  </user>  </users>”;  //load the xml string using simplexml  $xml = simplexml_load_string($xml_string);  //loop through the each node of user  foreach ($xml->user as $user)  {  //access attribute  echo $user['id'], &lsquo; &lsquo;;  //subnodes are accessed by -> operator  echo $user->name, &lsquo; &lsquo;;  echo $user->email, &lsquo;<br />&rsquo;;  }

9. PHP创建日志缩略名

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

function create_slug($string){  $slug=preg_replace(&lsquo;/[^A-Za-z0-9-]+/&rsquo;, &lsquo;-&rsquo;, $string);  return $slug;  }

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

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

function getRealIpAddr()  {  if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))  {  $ip=$_SERVER['HTTP_CLIENT_IP'];  }  elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))  //to check ip is pass from proxy  {  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];  }  else {  $ip=$_SERVER['REMOTE_ADDR'];  }  return $ip;  }

11. PHP强制性文件下载

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

 function force_download($file)  {  if ((isset($file))&&(file_exists($file))) {  header(“Content-length: “.filesize($file));  header(&lsquo;Content-Type: application/octet-stream&rsquo;);  header(&lsquo;Content-Disposition: attachment; filename=”&lsquo; . $file . &lsquo;”&lsquo;);  readfile(“$file”);  } else {  echo “No file selected”;  }  }

以上是“常用到的PHP函数代码段有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯