46 useful PHP code snippets (2)

Source: Internet
Author: User
46 useful PHP code snippets (2)

16. decompress the file [code] php code:

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

Syntax:

Unzip('test.zip ', 'unziped/test'); // File wocould be unzipped in unziped/test folder

?>

17. resize the image

[Code] php code:

function resize_image($filename, $tmpname, $xmax, $ymax)  {      $ext = explode(".", $filename);      $ext = $ext[count($ext)-1];         if($ext == "jpg" || $ext == "jpeg")          $im = imagecreatefromjpeg($tmpname);      elseif($ext == "png")          $im = imagecreatefrompng($tmpname);      elseif($ext == "gif")          $im = imagecreatefromgif($tmpname);             $x = imagesx($im);      $y = imagesy($im);             if($x <= $xmax && $y <= $ymax)          return $im;         if($x >= $y) {          $newx = $xmax;          $newy = $newx * $y / $x;      }      else {          $newy = $ymax;          $newx = $x / $y * $newy;      }             $im2 = imagecreatetruecolor($newx, $newy);      imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);      return $im2;   }

18. use mail () to send an email

We previously provided PHP code snippets on how to use Mandrill to send emails. However, if you do not want to use third-party services, you can use the following PHP code snippets.

[Code] php code:

function send_mail($to,$subject,$body){$headers = "From: KOONK\r\n";$headers .= "Reply-To: blog@koonk.com\r\n";$headers .= "Return-Path: blog@koonk.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);}

Syntax:

$ To = "admin@koonk.com ";

$ Subject = "This is a test mail ";

$ Body = "Hello World! ";

Send_mail ($ to, $ subject, $ body );

?>

19. convert seconds to days, hours, and minutes

[Code] php code:

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

Syntax:

$ Secondds = "56789 ";

$ Output = secsToStr ($ seconds );

Echo $ output;

?>

20. database connection

 

21. Directory list

Use the following PHP code snippet to list all files and folders in a directory.

[Code] php code:

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); } }}

Syntax:

List_files ("images/"); // This will list all files of images folder

?>

22. detect user languages

Use the following PHP code snippet to check the language used by your browser

[Code] php code:

function get_client_language($availableLanguages, $default='en'){    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {        $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);        foreach ($langs as $value){            $choice=substr($value,0,2);            if(in_array($choice, $availableLanguages)){                return $choice;            }        }    }     return $default;}

23. View CSV files

[Code] php code:

function readCSV($csvFile){    $file_handle = fopen($csvFile, 'r');    while (!feof($file_handle) ) {        $line_of_text[] = fgetcsv($file_handle, 1024);    }    fclose($file_handle);    return $line_of_text;}

Syntax:

$ CsvFile = "test.csv ";

$ Csv = readCSV ($ csvFile );

$ A = csv [0] [0]; // This will get value of Column 1 & Row 1

?>

24. create a CSV file from PHP Data

[Code] php code:

function generateCsv($data, $delimiter = ',', $enclosure = '"') {   $handle = fopen('php://temp', 'r+');   foreach ($data as $line) {           fputcsv($handle, $line, $delimiter, $enclosure);   }   rewind($handle);   while (!feof($handle)) {           $contents .= fread($handle, 8192);   }   fclose($handle);   return $contents;}

Syntax:

$ Data [0] = "apple ";

$ Data [1] = "oranges ";

GenerateCsv ($ data, $ delimiter = ',', $ enclosure = '"');

?>

25. parse XML data

[Code] php code:

$xml_string="
 
     
          
   
    ben
           
   A    
      
          
   
    h2o
           
   K    
  
 ";  //load the xml string using Simplexml function$xml = simplexml_load_string($xml_string);  //loop through the each node of moleculeforeach ($xml->molecule as $record){   //attribute are accessted by   echo $record['name'], '  ';   //node are accessted by -> operator   echo $record->symbol, '  ';   echo $record->code, '
';}

26. parse JSON data

[Code] php code:

$json_string='{"id":1,"name":"rolf","country":"russia","office":["google","oracle"]} ';$obj=json_decode($json_string);//print the parsed dataecho $obj->name; //displays rolfecho $obj->office[0]; //displays google

27. get the URL of the current page

This PHP fragment can help you directly jump to the previous page after logging on to the user

[Code] php code:

function current_url(){$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];$validURL = str_replace("&", "&", $url);return validURL;}

Syntax:

Echo "Currently you are on:". current_url ();

?>

28. Get the latest Tweet from any Twitter account

[Code] php code:

function my_twitter($username) {     $no_of_tweets = 1;     $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" . $no_of_tweets;     $xml = simplexml_load_file($feed);    foreach($xml->children() as $child) {        foreach ($child as $value) {            if($value->getName() == "link") $link = $value['href'];            if($value->getName() == "content") {                $content = $value . "";        echo '

'.$content.'

'; } } } }

Syntax:

$ Handle = "koonktech ";

My_twitter ($ handle );

?>

29. number of forwards

Using this PHP fragment, you can check the number of forwarded URLs on your page.

[Code] php code:

function tweetCount($url) {    $content = file_get_contents("http://api.tweetmeme.com/url_info?url=".$url);    $element = new SimpleXmlElement($content);    $retweets = $element->story->url_count;    if($retweets){        return $retweets;    } else {        return 0;    }}

Syntax:

$ Url = "http://blog.koonk.com ";

$ Count = tweetCount ($ url );

Return $ count;

?>

30. calculate the difference between two dates

[Code] php code:

 diff($date2);echo "difference " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days "; // shows the total amount of days (not pided into years, months and days like above)echo "difference " . $interval->days . " days ";-------------------------------------------------------- OR          /** * Calculate differences between two dates with precise semantics. Based on PHPs DateTime::diff() * implementation by Derick Rethans. Ported to PHP by Emil H, 2011-05-02. No rights reserved. *  * See here for original code: * http://svn.php.net/viewvc/php/php-src/trunk/ext/date/lib/tm2unixtime.c?revision=302890&view=markup * http://svn.php.net/viewvc/php/php-src/trunk/ext/date/lib/interval.c?revision=298973&view=markup */function _date_range_limit($start, $end, $adj, $a, $b, $result){    if ($result[$a] < $start) {        $result[$b] -= intval(($start - $result[$a] - 1) / $adj) + 1;        $result[$a] += $adj * intval(($start - $result[$a] - 1) / $adj + 1);    }    if ($result[$a] >= $end) {        $result[$b] += intval($result[$a] / $adj);        $result[$a] -= $adj * intval($result[$a] / $adj);    }    return $result;}function _date_range_limit_days($base, $result){    $days_in_month_leap = array(31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);    $days_in_month = array(31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);    _date_range_limit(1, 13, 12, "m", "y", &$base);    $year = $base["y"];    $month = $base["m"];    if (!$result["invert"]) {        while ($result["d"] < 0) {            $month--;            if ($month < 1) {                $month += 12;                $year--;            }            $leapyear = $year % 400 == 0 || ($year % 100 != 0 && $year % 4 == 0);            $days = $leapyear ? $days_in_month_leap[$month] : $days_in_month[$month];            $result["d"] += $days;            $result["m"]--;        }    } else {        while ($result["d"] < 0) {            $leapyear = $year % 400 == 0 || ($year % 100 != 0 && $year % 4 == 0);            $days = $leapyear ? $days_in_month_leap[$month] : $days_in_month[$month];            $result["d"] += $days;            $result["m"]--;            $month++;            if ($month > 12) {                $month -= 12;                $year++;            }        }    }    return $result;}function _date_normalize($base, $result){    $result = _date_range_limit(0, 60, 60, "s", "i", $result);    $result = _date_range_limit(0, 60, 60, "i", "h", $result);    $result = _date_range_limit(0, 24, 24, "h", "d", $result);    $result = _date_range_limit(0, 12, 12, "m", "y", $result);    $result = _date_range_limit_days(&$base, &$result);    $result = _date_range_limit(0, 12, 12, "m", "y", $result);    return $result;}/** * Accepts two unix timestamps. */function _date_diff($one, $two){    $invert = false;    if ($one > $two) {        list($one, $two) = array($two, $one);        $invert = true;    }    $key = array("y", "m", "d", "h", "i", "s");    $a = array_combine($key, array_map("intval", explode(" ", date("Y m d H i s", $one))));    $b = array_combine($key, array_map("intval", explode(" ", date("Y m d H i s", $two))));    $result = array();    $result["y"] = $b["y"] - $a["y"];    $result["m"] = $b["m"] - $a["m"];    $result["d"] = $b["d"] - $a["d"];    $result["h"] = $b["h"] - $a["h"];    $result["i"] = $b["i"] - $a["i"];    $result["s"] = $b["s"] - $a["s"];    $result["invert"] = $invert ? 1 : 0;    $result["days"] = intval(abs(($one - $two)/86400));    if ($invert) {        _date_normalize(&$a, &$result);    } else {        _date_normalize(&$b, &$result);    }    return $result;}$date = "2014-12-04 19:37:22";echo '
';print_r( _date_diff( strtotime($date), time() ) );echo '
'; ?>

The above are 46 very useful PHP code snippets (II). For more information, see PHP Chinese website (www.php1.cn )!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.