下面介紹的是,在PHP開發中,經常用到的21個函數代碼段,當我們用到的時候,就可以直接用了。
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=’[email protected]’, $linkText=’Contact Us’,
- $attrs =’class=”emailencoder”‘ )
- {
- // remplazar aroba y puntos
- $email = str_replace(‘@’, ‘@’, $email);
- $email = str_replace(‘.’, ‘.’, $email);
- $email = str_split($email, 5);
- $linkText = str_replace(‘@’, ‘@’, $linkText);
- $linkText = str_replace(‘.’, ‘.’, $linkText);
- $linkText = str_split($linkText, 5);
- $part1 = ‘<a href=”ma’;
- $part2 = ‘ilto:’;
- $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);
- }
- 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 ‘<a target=”_blank” href=”‘.$dir.$file.’”>’.$file.’</a><br>’.”n”;
- }
- }
- closedir($handle);
- }
- }
- }
1