国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

非常有用的9個(gè)PHP代碼片段

2024-05-04 23:44:49
字體:
供稿:網(wǎng)友
這篇文章主要為大家介紹了非常有用的9個(gè)PHP代碼片段,在開發(fā)網(wǎng)站、app或博客時(shí),代碼片段可以真正地為你節(jié)省時(shí)間,感興趣的小伙伴們可以參考一下
 

本文我們就來分享一下我收集的一些超級(jí)有用的PHP代碼片段。一起來看一看吧!
1.創(chuàng)建數(shù)據(jù)URI

數(shù)據(jù)URI在嵌入圖像到HTML / CSS / JS中以節(jié)省HTTP請(qǐng)求時(shí)非常有用,并且可以減少網(wǎng)站的加載時(shí)間。下面的函數(shù)可以創(chuàng)建基于$file的數(shù)據(jù)URI。

function data_uri($file, $mime) { $contents=file_get_contents($file); $base64=base64_encode($contents); echo "data:$mime;base64,$base64";}

2.合并JavaScript和CSS文件

另一個(gè)可以盡量減少HTTP請(qǐng)求和節(jié)省頁(yè)面加載時(shí)間的好建議是:合并你的CSS和JS文件。雖然我更建議大家使用專用插件(例如minify),但使用PHP來合并文件也非常容易。我們來看一下:

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

并且,用法是這樣的:

$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.查看你的電子郵件是否已讀

當(dāng)發(fā)送電子郵件時(shí),你會(huì)希望知道你的郵件是否已讀。這里有一個(gè)非常有趣的代碼片段,它可以記錄閱讀你郵件的IP地址,以及實(shí)際的日期和時(shí)間。

<?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.從網(wǎng)頁(yè)提取關(guān)鍵詞

正如這小標(biāo)題所說的那樣:這個(gè)代碼片段能讓你輕易地從網(wǎng)頁(yè)中提取元關(guān)鍵詞。

$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.查找頁(yè)面上的所有鏈接

使用DOM,你可以輕松地抓取來網(wǎng)頁(yè)上的所有鏈接。這里有一個(gè)工作示例:

$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.自動(dòng)轉(zhuǎn)換URL為可點(diǎn)擊的超鏈接

在WordPress中,如果你想在字符串中自動(dòng)轉(zhuǎn)換所有的URL成可點(diǎn)擊的超鏈接,那么使用內(nèi)置函數(shù)make_clickable()可以讓你心想事成。如果你需要在WordPress之外這么做,那么你可以在wp-includes/formatting.php參考該函數(shù)的源代碼:

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.在你的服務(wù)器上下載并保存遠(yuǎn)程圖像

在遠(yuǎn)程服務(wù)器上下載一個(gè)圖像,并將其保存在自己的服務(wù)器上,在建立網(wǎng)站時(shí)很有用,而且這也很容易做到。下面的這兩行代碼就能為你辦到。

$image = file_get_contents('http://www.url.com/image.jpg');file_put_contents('/images/image.jpg', $image); //Where to save the image

8.檢測(cè)瀏覽器語(yǔ)言

如果你的網(wǎng)站使用多種語(yǔ)言,那么檢測(cè)瀏覽器語(yǔ)言,并將這種語(yǔ)言作為默認(rèn)語(yǔ)言會(huì)很有用。下面的代碼將返回客戶瀏覽器使用的語(yǔ)言。

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.全文顯示Facebook粉絲的數(shù)量

如果你的網(wǎng)站或博客有一個(gè)Facebook的頁(yè)面,那么你可能想要顯示你有多少個(gè)粉絲。這個(gè)代碼片段可以幫助你獲取Facebook粉絲的數(shù)量。不要忘記在第二行添加你的頁(yè)面ID。頁(yè)面ID可以在地址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;?>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 德格县| 珠海市| 海淀区| 亚东县| 昌黎县| 达孜县| 洪洞县| 东山县| 浠水县| 永德县| 芮城县| 湖州市| 宁安市| 南汇区| 吉水县| 油尖旺区| 梅河口市| 宜丰县| 尼玛县| 肇庆市| 乌审旗| 大冶市| 乌苏市| 京山县| 吐鲁番市| 海宁市| 雅江县| 毕节市| 玉龙| 麻栗坡县| 清苑县| 舒城县| 昔阳县| 桓台县| 太仆寺旗| 黔西县| 尉犁县| 辽宁省| 牡丹江市| 宁乡县| 开平市|