46 useful PHP code snippets (3)

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

31. delete folder content

[Code] php code:

function Delete($path){    if (is_dir($path) === true)    {        $files = array_diff(scandir($path), array('.', '..'));        foreach ($files as $file)        {            Delete(realpath($path) . '/' . $file);        }        return rmdir($path);    }    else if (is_file($path) === true)    {        return unlink($path);    }    return false;}

Syntax:

$ Path = "images /";

Delete ($ path); // This will delete images folder along with its contents.

?>

32. search for and highlight keywords in strings

[Code] php code:

function highlighter_text($text, $words){    $split_words = explode( " " , $words );    foreach($split_words as $word)    {        $color = "#4285F4";        $text = preg_replace("|($word)|Ui" ,            "$1" , $text );    }    return $text;}

Syntax:

$ String = "I like chocolates and I like apples ";

$ Words = "apple ";

Echo highlighter_text ($ string, $ words );

?>

33. write files

$ Filename = 'blog.csv ';

$ Fp = fopen ($ filename, 'w ');

$ Output = "Hello ";

$ Output. = "World! ";

$ Output. = "\ r \ n ";

Fputs ($ fp, $ output );

Fclose ($ fp );

?>

34. download images based on URLs

[Code] php code:

function imagefromURL($image,$rename){$ch = curl_init($image);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);$rawdata=curl_exec ($ch);curl_close ($ch);$fp = fopen("$rename",'w');fwrite($fp, $rawdata); fclose($fp);}

Syntax:

$ Url = "http://koonk.com/images/logo.png ";

$ Rename = "koonk.png ";

ImagefromURL ($ url, $ rename );

?>

35. check whether the URL is valid

[Code] php code:

function isvalidURL($url){$check = 0;if (filter_var($url, FILTER_VALIDATE_URL) !== false) {  $check = 1;}return $check;}

Syntax:

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

$ Check = checkvalidURL ($ url );

Echo $ check; // if returns 1 then URL is valid.

?>

36. generate a QR code

[Code] php code:

function qr_code($data, $type = "TXT", $size ='150', $ec='L', $margin='0')  {     $types = array("URL" =--> "http://", "TEL" => "TEL:", "TXT"=>"", "EMAIL" => "MAILTO:");    if(!in_array($type,array("URL", "TEL", "TXT", "EMAIL")))    {        $type = "TXT";    }    if (!preg_match('/^'.$types[$type].'/', $data))    {        $data = str_replace("\\", "", $types[$type]).$data;    }    $ch = curl_init();    $data = urlencode($data);    curl_setopt($ch, CURLOPT_URL, 'http://chart.apis.google.com/chart');    curl_setopt($ch, CURLOPT_POST, true);    curl_setopt($ch, CURLOPT_POSTFIELDS, 'chs='.$size.'x'.$size.'&cht=qr&chld='.$ec.'|'.$margin.'&chl='.$data);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_HEADER, false);    curl_setopt($ch, CURLOPT_TIMEOUT, 30);    $response = curl_exec($ch);    curl_close($ch);    return $response;}

Syntax:

Header ("Content-type: image/png ");

Echo qr_code ("http://koonk.com", "URL ");

?>

37. calculate the distance between two map coordinates

[Code] php code:

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {    $theta = $longitude1 - $longitude2;    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));    $miles = acos($miles);    $miles = rad2deg($miles);    $miles = $miles * 60 * 1.1515;    $feet = $miles * 5280;    $yards = $feet / 3;    $kilometers = $miles * 1.609344;    $meters = $kilometers * 1000;    return compact('miles','feet','yards','kilometers','meters'); }

Syntax:

$ Point1 = array ('lat' => 40.770623, 'long' =>-73.964367 );

$ Point2 = array ('lat' => 40.758224, 'long' =>-73.917404 );

$ Distance = getDistanceBetweenPointsNew ($ point1 ['lat'], $ point1 ['long'], $ point2 ['lat'], $ point2 ['long']);

Foreach ($ distance as $ unit => $ value ){

Echo $ unit. ':'. number_format ($ value, 4 ).'
';

}

?>

38. get all Tweets for a specific topic tag

[Code] php code:

function getTweets($hash_tag) {    $url = 'http://search.twitter.com/search.atom?q='.urlencode($hash_tag) ;    echo "

Connecting to $url ...

"; $ch = curl_init($url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); $xml = curl_exec ($ch); curl_close ($ch); //If you want to see the response from Twitter, uncomment this next part out: //echo "

Response:

"; //echo "
".htmlspecialchars($xml)."
"; $affected = 0; $twelement = new SimpleXMLElement($xml); foreach ($twelement->entry as $entry) { $text = trim($entry->title); $author = trim($entry->author->name); $time = strtotime($entry->published); $id = $entry->id; echo "

Tweet from ".$author.": ".$text." Posted ".date('n/j/y g:i a',$time)."

"; } return true ;}

39. add th, st, nd, or rd as the digit suffix.

Friday the 13th

[Code] php code:

function ordinal($cdnl){     $test_c = abs($cdnl) % 10;     $ext = ((abs($cdnl) %100 < 21 && abs($cdnl) %100 > 4) ? 'th'            : (($test_c < 4) ? ($test_c < 3) ? ($test_c < 2) ? ($test_c < 1)             ? 'th' : 'st' : 'nd' : 'rd' : 'th'));     return $cdnl.$ext; }

Syntax:

$ Number = 10;

Echo ordinal ($ number); // output is 10th

?>

40. restrict file download speed

[Code] php code:

  20,5 kb/s)$download_rate = 20.5; if(file_exists($local_file) && is_file($local_file)) {    // send headers    header('Cache-control: private');    header('Content-Type: application/octet-stream');     header('Content-Length: '.filesize($local_file));    header('Content-Disposition: filename='.$download_file);      // flush content    flush();        // open file stream    $file = fopen($local_file, "r");        while(!feof($file)) {          // send the current file part to the browser        print fread($file, round($download_rate * 1024));              // flush the content to the browser        flush();          // sleep one second        sleep(1);        }          // close file stream    fclose($file);}else {    die('Error: The file '.$local_file.' does not exist!');}?>

41. convert text into images

Header ("Content-type: image/png ");

$ String = $ _ GET ['text'];

$ Im = imagecreatefrompng ("images/button.png ");

$ Color = imagecolorallocate ($ im, 255,255,255 );

$ Px = (imagesx ($ im)-7.5 * strlen ($ string)/2;

$ Py = 9;

$ FontSize = 1;

Imagestring ($ im, fontSize, $ px, $ py, $ string, $ color );

Imagepng ($ im );

Imagedestroy ($ im );

?>

42. obtain the remote file size

[Code] php code:

function remote_filesize($url, $user = "", $pw = ""){    ob_start();    $ch = curl_init($url);    curl_setopt($ch, CURLOPT_HEADER, 1);    curl_setopt($ch, CURLOPT_NOBODY, 1);    if(!empty($user) && !empty($pw))    {        $headers = array('Authorization: Basic ' .  Base64_encode("$user:$pw"));        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);    }    $ok = curl_exec($ch);    curl_close($ch);    $head = ob_get_contents();    ob_end_clean();    $regex = '/Content-Length:\s([0-9].+?)\s/';    $count = preg_match($regex, $head, $matches);    return isset($matches[1]) ? $matches[1] : "unknown";}

Syntax:

$ File = "http://koonk.com/images/logo.png ";

$ Size = remote_filesize ($ url );

Echo $ size;

?>

43. use imagebrick to convert pdf files to images

$ Export _file = './pdf/demoting ';

$ Save_to = './jpg/demo.jpg'; // make sure that Apache has permissions to write in this folder! (Common problem)

// Execute ImageMagick command 'convert' and convert PDF to JPG with applied settings

Exec ('convert "'. $ your _file.'"-colorspace RGB-resize 800 "'. $ save_to.'" ', $ output, $ return_var );

If ($ return_var = 0) {// if exec successfuly converted pdf to jpg

Print "Conversion OK ";

}

Else print "Conversion failed.
". $ Output;

?>

44. use tinyurl to generate short URLs

[Code] php code:

function get_tiny_url($url)  {      $ch = curl_init();      $timeout = 5;      curl_setopt($ch,CURLOPT_URL,'http://tinyurl.com/api-create.php?url='.$url);      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);      $data = curl_exec($ch);      curl_close($ch);      return $data;  }

Syntax:

$ Url = "http://blog.koonk.com/2015/07/Hello-World ";

$ Tinyurl = get_tiny_url ($ url );

Echo $ tinyurl;

?>

45. youtube download link builder

You can use the following PHP snippets to download Youtube videos for your users.

[Code] php code:

function str_between($string, $start, $end){ $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); }function get_youtube_download_link(){    $youtube_link = $_GET['youtube'];    $youtube_page = file_get_contents($youtube_link);    $v_id = str_between($youtube_page, "&video_id=", "&");    $t_id = str_between($youtube_page, "&t=", "&");    $flv_link = "http://www.youtube.com/get_video?video_id=$v_id&t=$t_id";    $hq_flv_link = "http://www.youtube.com/get_video?video_id=$v_id&t=$t_id&fmt=6";    $mp4_link = "http://www.youtube.com/get_video?video_id=$v_id&t=$t_id&fmt=18";    $threegp_link = "http://www.youtube.com/get_video?video_id=$v_id&t=$t_id&fmt=17";    echo "\t\tDownload (right-click > save as):\n\t\t";    echo "FLV\n\t\t";    echo "HQ FLV (if available)\n\t\t";    echo "MP4\n\t\t";    echo "3GP

\n";}

46. Facebook-style timestamps

Facebook (x mins age, y hours ago etc)

[Code] php code:

function nicetime($date){    if(empty($date)) {        return "No date provided";    }         $periods         = array("second", "minute", "hour", "day", "week", "month", "year", "decade");    $lengths         = array("60","60","24","7","4.35","12","10");         $now             = time();    $unix_date         = strtotime($date);            // check validity of date    if(empty($unix_date)) {            return "Bad date";    }    // is it future date or past date    if($now > $unix_date) {            $difference     = $now - $unix_date;        $tense         = "ago";             } else {        $difference     = $unix_date - $now;        $tense         = "from now";    }         for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {        $difference /= $lengths[$j];    }         $difference = round($difference);         if($difference != 1) {        $periods[$j].= "s";    }         return "$difference $periods[$j] {$tense}";}

Syntax:

$ Date = ";

$ Result = nicetime ($ date); // 2 days ago

?>

The above are 46 useful PHP code snippets (3). 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.