zoukankan      html  css  js  c++  java
  • 9段高效率开发PHP程序的代码

    php是世界上最好的语言

      在php网站开发中,大家都希望能够快速的进行程序开发,如果有能直接使用的代码片段,提高开发效率,那将是起飞的感觉。今天由杭州php工程师送出福利来了,以下9段高效率开发PHP程序的代码可节省大量开发时间的php代码片段。

      一、查看邮件是否已被阅读

      当发送邮件后,我们都会想知道到底这个邮件是否已被对方阅读,监控邮件的打开率,这个时候我们就可以使用下面的这段代码显示对方IP地址记录阅读的实际日期和时间。

      view sourceprint?

      error_reporting(0);

      Header("Content-Type:

      image/jpeg");

      //Get IP

      if

      (!emptyempty($_SERVER['HTTP_CLIENT_IP']))

      {

      $ip=$_SERVER['HTTP_CLIENT_IP'];

      }

      elseif

      (!emptyempty($_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);

      ?>

      二、从网页中提取关键字

      如果想从网页中提取关键字,那么不妨可以试试下面这段代码,轻松实现:

      viewsourceprint?

      $meta = get_meta_tags('http://www. maiziedu.com /');

      $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 );

      三、查找页面上的所有链接

      使用DOM,可以轻松从任何页面上抓取链接,代码示例如下:

      view sourceprint?

      $html = file_get_contents('http://www.maiziedu.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.'';

      }

      四、自动转换URL,跳转至超链接

      在WordPress中,如果你想自动转换URL,跳转至超链接页面,你可以利用内置的函数make_clickable()执行此操作。如果你想基于WordPress之外操作该程序,那么你可以参考wp-includes/formatting.php源代码。

      view sourceprint?

      function _make_url_clickable_cb($matches) {

      $ret = '';

      $url =

      $matches[2];

      if (

      emptyempty($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 (

      emptyempty($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]+?://[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("#(]+?>|>))]+?>([^>]+?)#i",

      "$1$3",$ret);

      $ret =

      trim($ret);

      return $ret;

      }

      五、创建数据URL

      数据URL可以直接嵌入到HTML/CSS/JS中,以节省大量的HTTP请求。下面的这段代码可利用$file轻松创建数据URL。

      view sourceprint?

      function

      data_uri($file, $mime) {

      $contents=file_get_contents($file);

      $=_encode($contents);

      echo

      "data:$mime;,$";

      }

      六、从服务器上下载&保存一个远程图片

      当你在利用php程序搭建网站时,从远程服务器下载某张图片并且将其保存在自己的服务器上,这一操作会经常用到。代码如下:

      view sourceprint?

      $image =

      file_get_contents('');

      file_put_contents('/images/image.jpg',

      $image);//Where to save the

      image

      七、移除Remove Microsoft Word HTML Tag

      当你使用Microsoft Word会创建许多Tag,比如font,span,style,class等。这些标签对于Word本身而言是非常有用的,但是当你从Word粘贴至网页时,你会发现很多无用的Tag。因此,下面的这段代码可帮助你删除所有无用的Word HTML Tag。

      view sourceprint?

      function

      cleanHTML($html) {

      ///

      /// Removes all

      FONT and SPAN tags, and all Class and Style

      attributes.

      /// Designed to

      get rid of non-standard Microsoft Word HTML tags.

      ///

      // start by

      completely removing all unwanted tags

      $html =

      ereg_replace("<(/)?(font|span|del|ins)[^>]*>","",$html);

      // then run

      another pass over the html (twice), removing unwanted

      attributes

      $html =

      ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<1>",$html);

      $html =

      ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<1>",$html);

      return $html

      }

      八、检测浏览器语言

      如果你的网站上有多种语言,那么可以使用这段代码作为默认的语言来检测浏览器语言。该段代码将返回浏览器客户端使用的初始语言。

      view sourceprint?

      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;

      }

      九、显示Facebook粉丝数量

      如果你的网站或者博客上有内链的Facebook页面,你或许想知道拥有多少粉丝。这段代码将帮助你查看Facebook粉丝数,记住,别忘了在你的页面ID第二行添加该段代码。

      view sourceprint?

      $page_id = "YOUR PAGE-ID";

      $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;

      ?>

      结束语

      要成为一个出色的程序员,掌握一些技巧,高效开发相关程序应用,是必不可少的。以上分析的这9个代码片段,如果你还是一个php新人,那么请你熟练掌握,在你要实现这些代码对应功能的时候,它们将大大的缩短你的开发时间,提高你的开发效率。

    PHP是世界上最好的语言
  • 相关阅读:
    使用mail架包发送邮件javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connec
    java容器 Map Set List
    COJ 1686:记忆化搜索
    POJ 3694:桥
    COJ 1685:贪心+set
    COJ 1687:Set
    COJ 1684:线段树
    POJ 3693:RMQ+后缀数组
    URAL 1297:后缀数组求最长回文串
    POJ 1743:后缀数组
  • 原文地址:https://www.cnblogs.com/proginn/p/5581030.html
Copyright © 2011-2022 走看看