当前位置:文档之家› 20个常用的PHP源代码收集

20个常用的PHP源代码收集

20个常用的PHP源代码收集1. PHP可阅读随机字符串此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。

/***************@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. PHP生成一个随机字符串如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。

/**************@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. PHP编码电子邮件地址使用此代码,可以将任何电子邮件地址编码为html 字符实体,以防止被垃圾邮件程序收集。

function encode_email($email='info@', $linkText='Contact Us', $attrs ='class="emailencoder"' ){// remplazar aroba y puntos$email = str_replace('@', '&#64;', $email);$email = str_replace('.', '&#46;', $email);$email = str_split($email, 5);$linkText = str_replace('@', '&#64;', $linkText);$linkText = str_replace('.', '&#46;', $linkText);$linkText = str_split($linkText, 5);$part1 = '<a href="ma';$part2 = 'ilto&#58;';$part3 = '" '. $attrs .' >';$part4 = '</a>';$encoded = '<script type="text/javascript">';$encoded .= "document.write('$part1');";$encoded .= "document.write('$part2');";foreach($email as $e){$encoded .= "document.write('$e');";}$encoded .= "document.write('$part3');";foreach($linkText as $l){$encoded .= "document.write('$l');";}$encoded .= "document.write('$part4');";$encoded .= '</script>';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);}elsereturn true;elsereturn 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 '<a target="_blank" href="'.$dir.$file.'">'.$file.'</a><br>'."\n";}}closedir($handle);}}}6. PHP销毁目录删除一个目录,包括它的内容。

/******@dir - Directory to destroy*@virtual[optional]- whether a virtual directory*/function destroyDir($dir, $virtual = false){$ds = DIRECTORY_SEPARA TOR;$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. PHP解析JSON 数据与大多数流行的Web 服务如twitter 通过开放API 来提供数据一样,它总是能够知道如何解析API 数据的各种传送格式,包括JSON,XML 等等。

$json_string='{"id":1,"name":"foo","email":"foo@","interest":["wordpress","php"]} '; $obj=json_decode($json_string);echo $obj->name; //prints fooecho $obj->interest[1]; //prints php8. PHP解析XML 数据//xml string$xml_string="<?xml version='1.0'?><users><user id='398'><name>Foo</name><email>foo@</name></user><user id='867'><name>Foobar</name><email>foobar@</name></user></users>";//load the xml string using simplexml$xml = simplexml_load_string($xml_string);//loop through the each node of userforeach ($xml->user as $user){//access attributeecho $user['id'], ' ';//subnodes are accessed by -> operatorecho $user->name, ' ';echo $user->email, '<br />';}9. PHP创建日志缩略名创建用户友好的日志缩略名。

相关主题