分享10段PHP常用代碼
本文匯集PHP開發(fā)中經(jīng)常用到的十段代碼,包括Email、64位編碼和解碼、解壓縮、64位編碼、解析JSON等,希望對您有所幫助。
1、使用PHP Mail函數(shù)發(fā)送Email
$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位編碼和解碼
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、獲取遠(yuǎn)程IP地址
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、 日期格式化
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
$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
//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、數(shù)據(jù)庫連接
﹤?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、創(chuàng)建和解析JSON數(shù)據(jù)
$json_data = array ('id'=﹥1,'name'=﹥"rolf",'country'=﹥'russia',
"office"=﹥array("google","oracle"));
echo json_encode($json_data);
9、處理MySQL時間戳
$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文件
﹤?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 截取字符串
$str = 'Hello PHP'; //截取字符串 $str1 = substr($str,2,3); //從2位置開始截取,截取長度為3的字符串 echo $str1;
不傳入長度參數(shù)的話,會從指定位置一直截取到字符串的末尾
str_split 分割字符串 固定長度的分割(默認(rèn)長度為1)
$str = 'Hello PHP'; //分割字符串 $result = str_split($str); //將結(jié)果保存到一個數(shù)組中 print_r($result); //使用print_r輸入一個數(shù)組 echo '<br/>'; $result1 = str_split($str,2); print_r($result1);
explode(分割字符,待分割的字符串) 按照空格進(jìn)行分割
$str = 'Hello PHP Java C# C++';
$result = explode(' ',$str);
print_r($result);
字符串的連接
$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;
相關(guān)文章
Zend Framework教程之動作的基類Zend_Controller_Action詳解
這篇文章主要介紹了Zend Framework教程之動作的基類Zend_Controller_Action的用法,結(jié)合實例形式詳細(xì)分析了動作的基類Zend_Controller_Action具體功能,使用方法與相關(guān)注意事項,需要的朋友可以參考下2016-03-03
修改apache配置文件去除thinkphp url中的index.php
這篇文章主要介紹了修改apache配置文件去除thinkphp url中的index.php的方法,大家參考使用吧2014-01-01
基于PHP的簡單采集數(shù)據(jù)入庫程序【續(xù)篇】
在上篇 基于PHP的簡單采集數(shù)據(jù)入庫程序 中提到采集新聞信息頁的列表數(shù)據(jù),接下來講講關(guān)于采集新聞具體內(nèi)容2014-07-07

