1. PHP可阅读随机字符串
此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具幼儿园设计
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
|
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 = 'info@domain.com' , $linkText = 'Contact Us' , $attrs = 'class="emailencoder"' ) {
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
|
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":"foo@foobar.com","interest":["wordpress","PHP"]} ' ;
$obj =json_decode( $json_string );
echo $obj ->name;
$obj ->interest[1];
|
8. PHP解析 XML 数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$xml = simplexml_load_string( $xml_string );
foreach ( $xml ->user as $user ) {
echo $user [ 'id' ], ' ' ;
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 ;
}
|