<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            9個PHP代碼片段

            時間:2025-06-04 19:06:19 php語言 我要投稿
            • 相關推薦

            實用的9個PHP代碼片段

              在開發網站、app或博客時,代碼片段可以真正地為你節省時間。今天,我們就來分享一下我收集的一些超級有用的PHP代碼片段。一起來看一看吧!

              1.創建數據URI

              數據URI在嵌入圖像到HTML / CSS / JS中以節省HTTP請求時非常有用,并且可以減少網站的加載時間。下面的函數可以創建基于$file的數據URI。

              function data_uri($file, $mime) {

              $contents=file_get_contents($file);

              $base64=base64_encode($contents);

              echo "data:$mime;base64,$base64";

              }

              2.合并JavaScript和CSS文件

              另一個可以盡量減少HTTP請求和節省頁面加載時間的好建議是:合并你的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 ''; //output combined file

              }else{

              //use stored file

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

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

              error_reporting(0);

              Header("Content-Type: image/jpeg");

              //Get IP

              if (!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 . ' ' . " ";

              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.從網頁提取關鍵詞

              正如這小標題所說的那樣:這個代碼片段能讓你輕易地從網頁中提取元關鍵詞。

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

              使用DOM,你可以輕松地抓取來網頁上的所有鏈接。這里有一個工作示例:

              $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.'

              ';

              }

              6.自動轉換URL為可點擊的超鏈接

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

              function _make_url_clickable_cb($matches) {

              $ret = '';

              $url = $matches[2];

              if ( empty($url) )

              return $matches[0];

              // removed trailing [.,;:] from URL

              if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {

              $ret = substr($url, -1);

              $url = substr($url, 0, strlen($url)-1);

              }

              return $matches[1] . "$url" . $ret;

              }

              function _make_web_ftp_clickable_cb($matches) {

              $ret = '';

              $dest = $matches[2];

              $dest = 'http://' . $dest;

              if ( empty($dest) )

              return $matches[0];

              // removed trailing [,;:] from URL

              if ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) {

              $ret = substr($dest, -1);

              $dest = substr($dest, 0, strlen($dest)-1);

              }

              return $matches[1] . "$dest" . $ret;

              }

              function _make_email_clickable_cb($matches) {

              $email = $matches[2] . '@' . $matches[3];

              return $matches[1] . "$email";

              }

              function make_clickable($ret) {

              $ret = ' ' . $ret;

              // in testing, using arrays here was found to be faster

              $ret = preg_replace_callback('#([s>])([w]+?://[wx80-xff#$%&~/.-;:=,?@[]+]*)#is', '_make_url_clickable_cb', $ret);

              $ret = preg_replace_callback('#([s>])((www|ftp).[wx80-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("#(]+?>|>))]+?>([^>]+?)#i", "$1$3", $ret);

              $ret = trim($ret);

              return $ret;

              }

              7.在你的服務器上下載并保存遠程圖像

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

              $image = file_get_contents('http://www.url.com/image.jpg');

              file_put_contents('/images/image.jpg', $image); //Where to save the image

              8.檢測瀏覽器語言

              如果你的網站使用多種語言,那么檢測瀏覽器語言,并將這種語言作為默認語言會很有用。下面的代碼將返回客戶瀏覽器使用的語言。

              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個PHP代碼片段】相關文章:

            超級實用的9個PHP代碼片段07-25

            PHP調用的C代碼08-05

            PHP代碼優化技巧05-29

            PHP代碼運行流程08-14

            php語言字典代碼06-08

            php分頁類代碼04-30

            PHP實用的代碼實例08-12

            PHP代碼如何規范02-13

            php抓取https的內容的代碼03-28

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看