本文汇集PHP开发中经常用到的十段代码,包括Email、64位编码和解码、解压缩、64位编码、解析JSON等,希望对您有所帮助。
1、使用PHP Mail函数发送Email
1
2
3
4
5
6
7
8
9
10
11
|
$to = "viralpatel.net@gmail.com" ; $subject = "VIRALPATEL.net" ; $body = "Body of your message here you can use HTML too. e.g. ﹤br﹥ ﹤b﹥ Bold ﹤/b﹥" ; $headers = "From: Peter\r\n" ; $headers .= "Reply-To: info@yoursite.com\r\n" ; $headers .= "Return-Path: info@yoursite.com\r\n" ; $headers .= "X-Mailer: PHP5\n" ; $headers .= 'MIME-Version: 1.0' . "\n" ; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" ; mail( $to , $subject , $body , $headers ); ?﹥ |
2、PHP中的64位编码和解码
1
2
3
4
5
6
7
8
9
10
|
function base64url_encode( $plainText ) { $base64 = base64_encode ( $plainText ); $base64url = strtr ( $base64 , '+/=' , '-_,' ); return $base64url ; } function base64url_decode( $plainText ) { $base64url = strtr ( $plainText , '-_,' , '+/=' ); $base64 = base64_decode ( $base64url ); return $base64 ; } |
3、获取远程IP地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function getRealIPAddr() { if (! empty ( $_SERVER [ 'HTTP_CLIENT_IP' ])) //check ip from share internet { $ip = $_SERVER [ 'HTTP_CLIENT_IP' ]; } elseif (! empty ( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ])) //to check ip is pass from proxy { $ip = $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]; } else { $ip = $_SERVER [ 'REMOTE_ADDR' ]; } return $ip ; } |
4、 日期格式化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function checkDateFormat( $date ) { //match the format of the date if (preg_match ( "/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/" , $date , $parts )) { //check weather the date is valid of not if ( checkdate ( $parts [2], $parts [3], $parts [1])) return true; else return false; } else return false; } |
5、验证Email
1
2
3
4
5
6
7
|
$email = $_POST [ 'email' ]; if (preg_match("~([a-zA-Z0-9!#$%&'*+-/=?^_`{|}~])@([a-zA-Z0-9-]). ([a-zA-Z0-9]{2,4})~", $email )) { echo 'This is a valid email.' ; } else { echo 'This is an invalid email.' ; } |
6、在PHP中轻松解析XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//this is a sample xml string $xml_string ="﹤?xml version= '1.0' ?﹥ ﹤moleculedb﹥ ﹤molecule name= 'Benzine' ﹥ ﹤symbol﹥ben﹤/symbol﹥ ﹤code﹥A﹤/code﹥ ﹤/molecule﹥ ﹤molecule name= 'Water' ﹥ ﹤symbol﹥h2o﹤/symbol﹥ ﹤code﹥K﹤/code﹥ ﹤/molecule﹥ ﹤/moleculedb﹥"; //load the xml string using simplexml function $xml = simplexml_load_string( $xml_string ); //loop through the each node of molecule foreach ( $xml -﹥molecule as $record ) { //attribute are accessted by echo $record [ 'name' ], ' ' ; //node are accessted by -﹥ operator echo $record -﹥symbol, ' ' ; echo $record -﹥code, '﹤br /﹥' ; } |
7、数据库连接
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
27
28
29
30
31
32
|
﹤?php if ( basename ( __FILE__ ) == basename ( $_SERVER [ 'PHP_SELF' ])) send_404(); $dbHost = "localhost" ; //Location Of Database usually its localhost $dbUser = "xxxx" ; //Database User Name $dbPass = "xxxx" ; //Database Password $dbDatabase = "xxxx" ; //Database Name $db = mysql_connect( "$dbHost" , "$dbUser" , "$dbPass" ) or die ( "Error connecting to database." ); mysql_select_db( "$dbDatabase" , $db ) or die ( "Couldn't select the database." ); # This function will send an imitation 404 page if the user # types in this files filename into the address bar. # only files connecting with in the same directory as this # file will be able to use it as well. function send_404() { header( 'HTTP/1.x 404 Not Found' ); print '﹤!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"﹥' . "n" . '﹤html﹥﹤head﹥' . "n" . '﹤title﹥404 Not Found﹤/title﹥' . "n" . '﹤/head﹥﹤body﹥' . "n" . '﹤h1﹥Not Found﹤/h1﹥' . "n" . '﹤p﹥The requested URL ' . str_replace ( strstr ( $_SERVER [ 'REQUEST_URI' ], '?' ), '' , $_SERVER [ 'REQUEST_URI' ]). ' was not found on this server.﹤/p﹥' . "n" . '﹤/body﹥﹤/html﹥' . "n" ; exit ; } # In any file you want to connect to the database, # and in this case we will name this file db.php # just add this line of php code (without the pound sign): # include "db.php" ; ?﹥ |
8、创建和解析JSON数据
1
2
3
|
$json_data = array ( 'id' =﹥1, 'name' =﹥ "rolf" , 'country' =﹥ 'russia' , "office" =﹥ array ( "google" , "oracle" )); echo json_encode( $json_data ); |
9、处理MySQL时间戳
1
2
3
4
5
6
7
|
$query = "select UNIX_TIMESTAMP(date_field) as mydate from mytable where 1=1"; $records = mysql_query( $query ) or die (mysql_error()); while ( $row = mysql_fetch_array( $records )) { echo $row ; } |
10、解压缩Zip文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
﹤?php function unzip( $location , $newLocation ){ if ( exec ( "unzip $location" , $arr )){ mkdir ( $newLocation ); for ( $i = 1; $i ﹤ count ( $arr ); $i ++){ $file = trim(preg_replace( "~inflating: ~" , "" , $arr [ $i ])); copy ( $location . '/' . $file , $newLocation . '/' . $file ); unlink( $location . '/' . $file ); } return TRUE; } else { return FALSE; } } ?﹥ //Use the code as following: ﹤?php include 'functions.php' ; if (unzip( 'zipedfiles/test.zip' , 'unziped/myNewZip' )) echo 'Success!' ; else echo 'Error' ; ?﹥ |
PHP常用功能如下
1.PHP字符串
字符串声明 变量=''或者""(一般情况会使用单引号,因为写起来会比较方便)
$str = 'Hello PHP';
echo $str;
strpos 计算字符在字符串中的位置(从0开始)
$str = 'Hello PHP';
echo strpos($str,'o'); //计算字符在字符串中的位置
echo '<br/>';
echo strpos($str,'PH');
substr 截取字符串
1
2
3
4
|
$str = 'Hello PHP' ; //截取字符串 $str1 = substr ( $str ,2,3); //从2位置开始截取,截取长度为3的字符串 echo $str1 ; |
不传入长度参数的话,会从指定位置一直截取到字符串的末尾
str_split 分割字符串 固定长度的分割(默认长度为1)
1
2
3
4
5
6
7
|
$str = 'Hello PHP' ; //分割字符串 $result = str_split ( $str ); //将结果保存到一个数组中 print_r( $result ); //使用print_r输入一个数组 echo '<br/>' ; $result1 = str_split ( $str ,2); print_r( $result1 ); |
explode(分割字符,待分割的字符串) 按照空格进行分割
1
2
3
|
$str = 'Hello PHP Java C# C++' ; $result = explode ( ' ' , $str ); print_r( $result ); |
字符串的连接
1
2
3
4
5
6
7
8
|
$str = 'Hello PHP Java C# C++' ; //字符串的连接 $num = 100; $str1 = $str . '<br/>Objective-C ' . $num ; echo $str1 ; echo '<br/>' ; $str2 = "$str<br/>Objective-C $num" ; //另一中简便的写法 echo $str2 ; |