10 Super useful PHP snippets, _php tutorial

Source: Internet
Author: User
Tags knowledge base

10 super-useful PHP snippets that are worth collecting,


PHP is the most widely used programming language in web development in the world, although it is often criticized, degraded, and joked. PHP's biggest drawback is too simple, grammar is not rigorous, framework system is weak, but this is its biggest advantage, a bit of programming background of ordinary people, only need to learn PHP half a day, you can start to develop Web applications.

Some people on the Internet to summarize the characteristics of several programming languages, I think it is quite reasonable:

Copy the Code code as follows:
PHP is: Quick and Dirty
Java is: Beauty and slowly
Ruby is: Quick and Beauty
Python is: Quick and simple

In the popular popularity of PHP, online summed up a lot of useful PHP code snippets, these snippets in when you encounter similar problems, paste the past can be used, very efficient, very time-saving. Putting the good code that these programmers have summed up in their own knowledge base is a good habit of learning programmers.

A, blacklist filter
Copy Code code is as follows:
function Is_spam ($text, $file, $split = ': ', $regex = False) {
$handle = fopen ($file, ' RB ');
$contents = fread ($handle, FileSize ($file));
Fclose ($handle);
$lines = Explode ("n", $contents);
$arr = Array ();
foreach ($lines as $line) {
List ($word, $count) = Explode ($split, $line);
if ($regex)
$arr [$word] = $count;
Else
$arr [Preg_quote ($word)] = $count;
}
Preg_match_all ("~". Implode (' | ', Array_keys ($arr)). " ~ ", $text, $matches);
$temp = Array ();
foreach ($matches [0] as $match) {
if (!in_array ($match, $temp)) {
$temp [$match] = $temp [$match] + 1;
if ($temp [$match] >= $arr [$word])
return true;
}
}
return false;
}

$file = ' spam.txt ';
$str = ' This string has cat, dog word ';
if (Is_spam ($str, $file))
Echo ' This is spam ';
Else
Echo ' This was not spam ';
Ab:3
Dog:3
cat:2
monkey:2

Second, random color generator
Copy Code code is as follows:
function Randomcolor () {
$str = ' # ';
for ($i = 0; $i < 6; $i + +) {
$randNum = rand (0, 15);
Switch ($randNum) {
Case: $randNum = ' A ';
Case One: $randNum = ' B ';
Case: $randNum = ' C ';
Case: $randNum = ' D ';
Case: $randNum = ' E ';
Case: $randNum = ' F ';
}
$str. = $randNum;
}
Return $str;
}
$color = Randomcolor ();

Three, download files from the network
Copy Code code is as follows:
Set_time_limit (0);
//Supports all file types
//URLs here:
$url = ' http://somsite.com/some_video.flv ';
$pi = PathInfo ($url);
$ext = $pi [' extension '];
$name = $pi [' filename '];

Create a new CURL resource
$ch = Curl_init ();

Set URL and other appropriate options
curl_setopt ($ch, Curlopt_url, $url);
curl_setopt ($ch, Curlopt_header, false);
curl_setopt ($ch, Curlopt_binarytransfer, true);
curl_setopt ($ch, Curlopt_autoreferer, true);
curl_setopt ($ch, curlopt_followlocation, true);
curl_setopt ($ch, Curlopt_returntransfer, true);

Grab URL and pass it to the browser
$opt = curl_exec ($ch);

Close CURL resource, and free up system resources
Curl_close ($ch);

$saveFile = $name. '. '. $ext;
if (Preg_match ("/[^0-9a-z._-]/i", $saveFile))
$saveFile = MD5 (Microtime (TRUE)). '. '. $ext;

$handle = fopen ($saveFile, ' WB ');
Fwrite ($handle, $opt);
Fclose ($handle);
Iv. Alexa/google Page Rank

function Page_rank ($page, $type = ' Alexa ') {
Switch ($type) {
Case ' Alexa ':
$url = ' http://alexa.com/siteinfo/';
$handle = fopen ($url. $page, ' R ');
Break
Case ' Google ':
$url = ' http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info: ';
$handle = fopen ($url. ' http://' $page, ' R ');
Break
}
$content = Stream_get_contents ($handle);
Fclose ($handle);
$content = Preg_replace ("~ (n|t|ss+) ~", "', $content);
Switch ($type) {
Case ' Alexa ':
if (Preg_match (' ~ (. +?) ~im ', $content, $matches)) {
return $matches [2];
}else{
return FALSE;
}
Break
Case ' Google ':
$rank = Explode (': ', $content);
if ($rank [2]! = ")
return $rank [2];
Else
return FALSE;
Break
Default
return FALSE;
Break
}
}
Alexa Page Rank:
Echo ' Alexa Rank: '. Page_rank (' techug.com ');
Echo '
';
Google Page Rank
Echo ' Google Rank: ' Page_rank (' techug.com ', ' Google ');

V. Mandatory download of files
Copy the Code code as follows:
$filename = $_get[' file ']; Get the Fileid from the URL
Query the file ID
$query = sprintf ("select * from tableName where id = '%s '", Mysql_real_escape_string ($filename));
$sql = mysql_query ($query);
if (mysql_num_rows ($sql) > 0) {
$row = Mysql_fetch_array ($sql);
Set some headers
Header ("Pragma:public");
Header ("expires:0");
Header ("Cache-control:must-revalidate, Post-check=0, pre-check=0");
Header ("Content-type:application/force-download");
Header ("Content-type:application/octet-stream");
Header ("Content-type:application/download");
Header ("content-disposition:attachment; Filename= ". basename ($row [' FileName '])."; ");
Header ("Content-transfer-encoding:binary");
Header ("Content-length:". FileSize ($row [' FileName ']);

@readfile ($row [' FileName ']);
Exit (0);
}else{
Header ("Location:/");
Exit;
}

VI. Display the user's Gravatar avatar via email
Copy code code as follows:
$gravatar _link = ' Http://www.gravatar.com/avatar/'. MD5 ($comment _author_email). '? s=32 ';
Echo ';

Seven, get RSS subscriptions via Curl
Copy code code as follows:
$ch = Curl_init ();
curl_setopt ($ch, Curlopt_url, ' https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4 ');
curl_setopt ($ch, curlopt_returntransfer,1);
curl_setopt ($ch, curlopt_connecttimeout,2);
$content = curl_exec ($ch);
$subscribers = Get_match ('/circulation= ' (. *) "/isu ', $content);
Curl_close ($ch);

Eight, time difference calculation function
Copy code code as follows:
function ago ($time)
{
$periods = Array ("Second", "Minute", "Hour", "Day", "Week", "Month", "year", "decade");
$lengths = Array ("", "" "" "", "7", "4.35", "N", "ten");

$now = time ();

$difference = $now-$time;
$tense = "Ago";

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] ' ago ';
}

Nine, cut the picture
Copy the Code code as follows:
$filename = "Test.jpg";
List ($w, $h, $type, $attr) = getimagesize ($filename);
$src _im = Imagecreatefromjpeg ($filename);

$src _x = ' 0 '; Begin X
$src _y = ' 0 '; Begin Y
$src _w = ' 100 '; Width
$src _h = ' 100 '; Height
$DST _x = ' 0 '; Destination X
$dst _y = ' 0 '; Destination y

$DST _im = Imagecreatetruecolor ($src _w, $src _h);
$white = Imagecolorallocate ($dst _im, 255, 255, 255);
Imagefill ($dst _im, 0, 0, $white);

Imagecopy ($dst _im, $src _im, $dst _x, $dst _y, $src _x, $src _y, $src _w, $src _h);

Header ("Content-type:image/png");
Imagepng ($dst _im);
Imagedestroy ($dst _im);

Ten, check whether the website is down
Copy the Code code as follows:
function Visit ($url) {
$agent = "mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) "; $ch =curl_init ();
curl_setopt ($ch, Curlopt_url, $url);
curl_setopt ($ch, curlopt_useragent, $agent);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_verbose,false);
curl_setopt ($ch, Curlopt_timeout, 5);
curl_setopt ($ch, Curlopt_ssl_verifypeer, FALSE);
curl_setopt ($ch, curlopt_sslversion,3);
curl_setopt ($ch, Curlopt_ssl_verifyhost, FALSE);
$page =curl_exec ($ch);
echo Curl_error ($ch);
$httpcode = Curl_getinfo ($ch, Curlinfo_http_code);
Curl_close ($ch);
if ($httpcode >=200 && $httpcode <300) return true;
else return false;
}
if (Visit ("http://www.google.com"))
echo "Website OK". " n ";
Else
echo "Website down";

http://www.bkjia.com/PHPjc/946761.html www.bkjia.com true http://www.bkjia.com/PHPjc/946761.html techarticle 10 Super useful snippets of PHP code, even though PHP is often criticized, be degraded, be a joke open, it turns out that PHP is the world's most widely used in web development ...

  • 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.