Home >Backend Development >PHP Tutorial >15 Very Useful PHP Code Snippets_PHP Tutorial

15 Very Useful PHP Code Snippets_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 17:53:56874browse

Below are fifteen of the most useful PHP code snippets. You may also like to comment on any code or you can also share your code snippet in the comments section if you think it may be useful to others.
1. Send email using mail function in PHP
Released simultaneously with Webmaster Encyclopedia PHP tutorial
$to = "viralpatel.net@gmail.com";
$subject = "VIRALPATEL.net";
$body = "Body of your message here you can use HTML too. e.g.
Bold ";
$headers = "From: Peterrn";
$headers .= "Reply-To: info@yoursite.comrn";
$headers .= "Return-Path: info@yoursite.comrn";
$headers .= "X-Mailer: PHP5n";
$headers .= 'MIME-Version: 1.0' . "n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "rn";
mail($to,$subject,$body,$headers);
?>
2. Base64 encoding and decoding strings in PHP

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. Get remote IP address in PHP

function getRemoteIPAddress() {
$ip = $_SERVER['REMOTE_ADDR'];
Return $ip;
}

The above code will not work in case your client is behind a proxy server. In this case use the function to get the real IP address of the client.

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. seconds to string

This function will return the days, hours, minutes and seconds during a given time period.
For example, secsToStr(1234567) will return "14 days, 6 hours, 56 minutes, 7 seconds"

function secsToStr($secs) {
if($secs>=86400){$days=floor($secs/86400);$secs=$secs%86400;$r=$days.' day';if($days<>1){$r .='s';}if($secs>0){$r.=', ';}}
if($secs>=3600){$hours=floor($secs/3600);$secs=$secs%3600;$r.=$hours.' hour';if($hours<>1){$ r.='s';}if($secs>0){$r.=', ';}}
if($secs>=60){$minutes=floor($secs/60);$secs=$secs%60;$r.=$minutes.' minute';if($minutes<>1){$ r.='s';}if($secs>0){$r.=', ';}}
$r.=$secs.' second';if($secs<>1){$r.='s';}
Return $r;
}
5. Email verification code snippet in PHP

$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. The easy way to parse XML using PHP

Required extension: SimpleXML

//this is a sample xml string
$xml_string="


                                                                                                                                                                                                     


                                                                                                                                                                                                                   

";
 
//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, '
';
}
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 ''."n".
    ''."n".
    '404 Not Found'."n".
    ''."n".
    '

Not Found

'."n".
    '

The requested URL '.
    str_replace(strstr($_SERVER['REQUEST_URI'], '?'), '', $_SERVER['REQUEST_URI']).
    ' was not found on this server.

'."n".
    ''."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数据在PHP
 
以下是PHP代码创建JSON数据格式,上面的示例使用的PHP数组。
 
$json_data = array ('id'=>1,'name'=>"rolf",'country'=>'russia',"office"=>array("google","oracle"));
echo json_encode($json_data);
 
下面的代码将解析JSON数据到PHP数组。
 
$json_string='{"id":1,"name":"rolf","country":"russia","office":["google","oracle"]} ';
$obj=json_decode($json_string);
//print the parsed data
echo $obj->name; //displays rolf
echo $obj->office[0]; //displays google
9。MySQL在PHP过程时间戳
 
$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。在PHP中生成一个身份验证代码
 
这个基本的代码片段将创建一个随机身份验证代码,或者仅仅是一个随机字符串。
 
# This particular code will generate a random string
# that is 25 charicters long 25 comes from the number
# that is in the for loop
$string = "abcdefghijklmnopqrstuvwxyz0123456789";
for($i=0;$i<25;$i++){
    $pos = rand(0,36);
    $str .= $string{$pos};
}
echo $str;
# If you have a database you can save the string in
# there, and send the user an email with the code in
# it they then can click a link or copy the code
# and you can then verify that that is the correct email
# or verify what ever you want to verify
?>
11. Date format validation in PHP

Verify that a date is in "yyyy mm dd" format.

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;
}
12. HTTP Redirect in PHP

header('Location: http://you_stuff/url.php'); // stick your url here
?>
13. Directory listing in PHP



function list_files($dir)
{
If(is_dir($dir))
{
If($handle = opendir($dir))
           {
​​​​​​while(($file = readdir($handle)) !== false)
                {
If($file != "." && $file != ".." && $file != "Thumbs.db"/*pesky windows, images..*/)
                                                 {
echo ''.$file.'
'."n";
                }
            }
             closedir($handle);
}
}
}

/*
To use:

List_files("images/");
?>
*/
?>
14. Detect scripts in PHP browser

$useragent = $_SERVER ['HTTP_USER_AGENT'];
echo "Your User Agent is: " . $useragent;
?>
15. Unzip a Zip file

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:
include 'functions.php';
if(unzip('zipedfiles/test.zip','unziped/myNewZip'))
echo 'Success!';
else
echo 'Error';
?>

How come you have such a small collection of PHP code snippets. You may want to share your code snippet with others in the comments.
Author: ssoftware

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478012.htmlTechArticleHere are the fifteen most useful PHP code snippets. You may also like to comment on any code or you can also share your code snippet in the comments section if you think it may be useful to others. ...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn