9 very useful PHP code snippets,
In this article, we will share some of the most useful PHP code snippets I have collected. Let's take a look!
1. Create a data URI
Data URI is useful when embedding images into HTML, CSS, and JS to save HTTP requests and reduce the loading time of websites. The following function creates a data URI based on $ file.
function data_uri($file, $mime) { $contents=file_get_contents($file); $base64=base64_encode($contents); echo "data:$mime;base64,$base64";}
2. Merge JavaScript and CSS files
Another good suggestion for minimizing HTTP requests and saving page loading time is to merge your CSS and JS files. Although I suggest using specialized plug-ins (such as minify), it is also very easy to use PHP to merge files. Let's take a look:
function combine_my_files($array_files, $destination_dir, $dest_file_name){ if(!is_file($destination_dir . $dest_file_name)){ //continue only if file doesn't exist $content = ""; foreach ($array_files as $file){ //loop through array list $content .= file_get_contents($file); //read each file } //You can use some sort of minifier here //minify_my_js($content); $new_file = fopen($destination_dir . $dest_file_name, "w" ); //open file for writing fwrite($new_file , $content); //write to destination fclose($new_file); return '<script src="'. $destination_dir . $dest_file_name.'"></script>'; //output combined file }else{ //use stored file return '<script src="'. $destination_dir . $dest_file_name.'"></script>'; //output combine file }}
In addition, the usage is as follows:
$files = array( 'http://example/files/sample_js_file_1.js', 'http://example/files/sample_js_file_2.js', 'http://example/files/beautyquote_functions.js', 'http://example/files/crop.js', 'http://example/files/jquery.autosize.min.js', );echo combine_my_files($files, 'minified_files/', md5("my_mini_file").".js");
3. Check whether your email has been read
When sending an email, you want to know whether your email has been read. Here is a very interesting code snippet that records the IP addresses of your emails, as well as the actual date and time.
<?error_reporting(0);Header("Content-Type: image/jpeg");//Get IPif (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP'];}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];}else{ $ip=$_SERVER['REMOTE_ADDR'];}//Time$actual_time = time();$actual_day = date('Y.m.d', $actual_time);$actual_day_chart = date('d/m/y', $actual_time);$actual_hour = date('H:i:s', $actual_time);//GET Browser$browser = $_SERVER['HTTP_USER_AGENT'];//LOG$myFile = "log.txt";$fh = fopen($myFile, 'a+');$stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' . "\r\n";fwrite($fh, $stringData);fclose($fh);//Generate Image (Es. dimesion is 1x1)$newimage = ImageCreate(1,1);$grigio = ImageColorAllocate($newimage,255,255,255);ImageJPEG($newimage);ImageDestroy($newimage);?>
4. Extract keywords from webpages
As the title says: This code snippet allows you to easily extract META keywords from the web page.
$meta = get_meta_tags('http://www.emoticode.net/');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = array_map( 'trim', $keywords );// Remove empty values$keywords = array_filter( $keywords );print_r( $keywords );
5. Search for all links on the page
With DOM, you can easily capture all links on the webpage. Here is a working example:
$html = file_get_contents('http://www.example.com');$dom = new DOMDocument();@$dom->loadHTML($html);// grab all the on the page$xpath = new DOMXPath($dom);$hrefs = $xpath->evaluate("/html/body//a");for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); echo $url.'<br />';}
6. automatically convert the URL into clickable hyperlinks.
In WordPress, If You Want To automatically convert all URLs into clickable hyperlinks in a string, you can use the built-in function make_clickable () to achieve success. If you need to do this outside of WordPress, you can refer to the source code of this function in wp-uplodes/formatting. php:
function _make_url_clickable_cb($matches) {$ret = '';$url = $matches[2];if ( empty($url) )return $matches[0];// removed trailing [.,;:] from URLif ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {$ret = substr($url, -1);$url = substr($url, 0, strlen($url)-1);}return $matches[1] . "<a href=\"$url\" rel=\"nofollow\">$url</a>" . $ret;}function _make_web_ftp_clickable_cb($matches) {$ret = '';$dest = $matches[2];$dest = 'http://' . $dest;if ( empty($dest) )return $matches[0];// removed trailing [,;:] from URLif ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) {$ret = substr($dest, -1);$dest = substr($dest, 0, strlen($dest)-1);}return $matches[1] . "<a href=\"$dest\" rel=\"nofollow\">$dest</a>" . $ret;}function _make_email_clickable_cb($matches) {$email = $matches[2] . '@' . $matches[3];return $matches[1] . "<a href=\"mailto:$email\">$email</a>";}function make_clickable($ret) {$ret = ' ' . $ret;// in testing, using arrays here was found to be faster$ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_url_clickable_cb', $ret);$ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_web_ftp_clickable_cb', $ret);$ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret);// this one is not in an array because we need it to run last, for cleanup of accidental links within links$ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);$ret = trim($ret);return $ret;}
7. Download and save remote images on your server
Download an image from a remote server and save it on your own server. This is useful when you create a website and is easy to do. The following two lines of code can be used for you.
$image = file_get_contents('http://www.url.com/image.jpg');file_put_contents('/images/image.jpg', $image); //Where to save the image
8. Check the browser Language
If your website uses multiple languages, it can detect the browser language and use this language as the default language. The following code returns the language used by the client browser.
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;}
9. The full text shows the number of Facebook fans
If your website or blog has a Facebook page, you may want to display how many fans you have. This code snippet can help you get the number of Facebook fans. Do not forget to add your page ID in the second line. You can find the page ID at http://facebook.com/yourpagename/info.
<?php$page_id = "302807633129400";$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");$fans = $xml->page->fan_count;echo $fans;?>
The above is all the content of this article, hoping to help you learn.
Articles you may be interested in:
- Seven super practical PHP code snippets
- 10 practical PHP code snippets
- Handling code snippets with common strings in php
- Super practical seven PHP code snippets
- PHP security detection code snippets (SHARE)
- 19 ultra-practical PHP code snippets
- Share nine classic PHP code snippets
- 10 super useful PHP code snippets worth collecting
- 46 useful PHP code snippets