PHP 实用代码收集

论坛 期权论坛     
niminba   2021-5-22 15:07   19   0
1. 可阅读随机字符串 <br><br>此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。 <br><div class="codetitle"><span><a class="copybut" data="45237" id="copybut45237"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code45237"> <br>/************** <br>*@length - length of random string (must be a multiple of 2) <br>**************/ <br>function readable_random_string($length = 6){ <br>$conso=array("b","c","d","f","g","h","j","k","l", <br>"m","n","p","r","s","t","v","w","x","y","z"); <br>$vocal=array("a","e","i","o","u"); <br>$password=""; <br>srand ((double)microtime()*1000000); <br>$max = $length/2; <br>for($i=1; $i&lt;=$max; $i++) <br>{ <br>$password.=$conso[rand(0,19)]; <br>$password.=$vocal[rand(0,4)]; <br>} <br>return $password; <br>} <br></div> <br>2. 生成一个随机字符串 <br><br>如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。 <br><div class="codetitle"><span><a class="copybut" data="36951" id="copybut36951"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code36951"> <br>/************* <br>*@l - length of random string <br>*/ <br>function generate_rand($l){ <br>$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; <br>srand((double)microtime()*1000000); <br>for($i=0; $i&lt;$l; $i++) { <br>$rand.= $c[rand()%strlen($c)]; <br>} <br>return $rand; <br>} <br></div> <br>3. 编码电子邮件地址 <br><br>使用此代码,可以将任何电子邮件地址编码为 HTML 字符实体,以防止被垃圾邮件程序收集。 <br><div class="codetitle"><span><a class="copybut" data="14925" id="copybut14925"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code14925"> <br>function encode_email($email='info@domain.com', $linkText='Contact Us', $attrs ='class="emailencoder"' ) <br>{ <br>// remplazar aroba y puntos <br>$email = str_replace('@', '&amp;#64;', $email); <br>$email = str_replace('.', '&amp;#46;', $email); <br>$email = str_split($email, 5); <br><br>$linkText = str_replace('@', '&amp;#64;', $linkText); <br>$linkText = str_replace('.', '&amp;#46;', $linkText); <br>$linkText = str_split($linkText, 5); <br><br>$part1 = '&lt;a href="ma'; <br>$part2 = 'ilto&amp;#58;'; <br>$part3 = '" '. $attrs .' &gt;'; <br>$part4 = '&lt;/a&gt;'; <br><br>$encoded = '&lt;script type="text/javascript"&gt;'; <br>$encoded .= "document.write('$part1');"; <br>$encoded .= "document.write('$part2');"; <br>foreach($email as $e) <br>{ <br>$encoded .= "document.write('$e');"; <br>} <br>$encoded .= "document.write('$part3');"; <br>foreach($linkText as $l) <br>{ <br>$encoded .= "document.write('$l');"; <br>} <br>$encoded .= "document.write('$part4');"; <br>$encoded .= '&lt;/script&gt;'; <br><br>return $encoded; <br>} <br></div> <br>4. 验证邮件地址 <br><br>电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属 DNS 中的 MX 记录,使邮件验证功能更加强大。 <br><div class="codetitle"><span><a class="copybut" data="54446" id="copybut54446"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code54446"> <br>function is_valid_email($email, $test_mx = false) <br>{ <br>if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) <br>if($test_mx) <br>{ <br>list($username, $domain) = split("@", $email); <br>return getmxrr($domain, $mxrecords); <br>} <br>else <br>return true; <br>else <br>return false; <br>} <br></div> <br>5. 列出目录内容 <br><div class="codetitle"><span><a class="copybut" data="35883" id="copybut35883"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code35883"> <br>function list_files($dir) <br>{ <br>if(is_dir($dir)) <br>{ <br>if($handle = opendir($dir)) <br>{ <br>while(($file = readdir($handle)) !== false) <br>{ <br>if($file != "." &amp;&amp; $file != ".." &amp;&amp; $file != "Thumbs.db") <br>{ <br>echo '&lt;a target="_blank" href="'.$dir.$file.'"&gt;'.$file.'&lt;/a&gt;&lt;br&gt;'."\n"; <br>} <br>} <br>closedir($handle); <br>} <br>} <br>} <br></div> <br>6. 销毁目录 <br><br>删除一个目录,包括它的内容。 <br><div class="codetitle"><span><a class="copybut" data="18129" id="copybut18129"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code18129"> <br>/***** <br>*@dir - Directory to destroy <br>*@virtual[optional]- whether a virtual directory <br>*/ <br>function destroyDir($dir, $virtual = false) <br>{ <br>$ds = DIRECTORY_SEPARATOR; <br>$dir = $virtual ? realpath($dir) : $dir; <br>$dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir; <br>if (is_dir($dir) &amp;&amp; $handle = opendir($dir)) <br>{ <br>while ($file = readdir($handle)) <br>{ <br>if ($file == '.' || $file == '..') <br>{ <br>continue; <br>} <br>elseif (is_dir($dir.$ds.$file)) <br>{ <br>destroyDir($dir.$ds.$file); <br>} <br>else <br>{ <br>unlink($dir.$ds.$file); <br>} <br>} <br>closedir($handle); <br>rmdir($dir); <br>return true; <br>} <br>else <br>{ <br>return false; <br>} <br>} <br></div> <br>7. 解析 JSON 数据 <br><br>与大多数流行的 Web 服务如 Twitter 通过开放 API 来提供数据一样,它总是能够知道如何解析 API 数据的各种传送格式,包括 JSON,XML 等等。 <br><div class="codetitle"><sp
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP