PHP中一些常用操作类代码示例

1. PHP可阅读随机字符串

此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具幼儿园设计

1

2

3

4

5

6

7

8

9

10

11

12

13

/**@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生成一个随机字符串

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

1

2

3

4

5

6

7

8

9

10

/************* *@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 字符实体,以防止被垃圾邮件程序收集。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

function encode_email($email=‘‘, $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 = ‘part2 = ‘ilto:‘;

    $part3 = ‘" ‘. $attrs .‘ >‘;

    $part4 = ‘‘; $encoded = ‘‘;

$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 .= ‘‘;

    return $encoded;

}

4. PHP验证邮件地址

电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属 DNS 中的 MX 记录,使邮件验证功能更加强大。

1

2

3

4

5

6

7

8

9

10

11

12

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列出目录内容  

1

2

3

4

5

6

7

8

9

10

11

function list_files($dir){

    if(is_dir($dir)) {

        if($handle = opendir($dir)) {

            while(($file = readdir($handle)) !== false) {

                if($file != "." && $file != ".." && $file != "Thumbs.db") {

                    echo ‘‘.$file.‘a>  ‘."\n";

                 }

            } closedir($handle);

        }

   }

}

6. PHP销毁目录

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

/***** *@dir - Directory to destroy *@virtual[optional]- whether a virtual directory */

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 == ‘.‘ || $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 等等。

1

2

3

4

$json_string=‘{"id":1,"name":"foo","email":"","interest":["wordpress","php"]} ‘;

$obj=json_decode($json_string);

echo $obj->name; //prints foo echo

$obj->interest[1]; //prints php

8. PHP解析 XML 数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

//xml string $xml_string="xml version=‘1.0‘?> Fooname> > user> Foobarname> > 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‘], ‘ ‘;

      

    //subnodes are accessed by -> operator

    echo $user->name, ‘ ‘;

    echo $user->email,‘‘;

}

9. PHP创建日志缩略名

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

1

2

3

4

function create_slug($string){

    $slug=preg_replace(‘/[^A-Za-z0-9-]+/‘, ‘-‘, $string);

   return $slug;

}

相关推荐