欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

分享10段PHP常用代码

程序员文章站 2023-11-18 17:59:04
本文汇集php开发中经常用到的十段代码,包括email、64位编码和解码、解压缩、64位编码、解析json等,希望对您有所帮助。 1、使用php mail函数发送emai...

本文汇集php开发中经常用到的十段代码,包括email、64位编码和解码、解压缩、64位编码、解析json等,希望对您有所帮助。

1、使用php mail函数发送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、获取远程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、数据库连接

﹤?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数据

$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;

不传入长度参数的话,会从指定位置一直截取到字符串的末尾

str_split 分割字符串  固定长度的分割(默认长度为1)

$str = 'hello php';
//分割字符串
$result = str_split($str); //将结果保存到一个数组中
print_r($result); //使用print_r输入一个数组
echo '<br/>';
$result1 = str_split($str,2);
print_r($result1);

explode(分割字符,待分割的字符串) 按照空格进行分割

$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;