本文汇集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 ;
|