溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

9段高效率開發(fā)PHP程序的代碼

發(fā)布時(shí)間:2020-05-24 23:22:47 來源:網(wǎng)絡(luò) 閱讀:218 作者:jjrc521 欄目:web開發(fā)

一、查看郵件是否已被閱讀

  當(dāng)發(fā)送郵件后,我們都會(huì)想知道到底這個(gè)郵件是否已被對(duì)方閱讀,監(jiān)控郵件的打開率,這個(gè)時(shí)候我們就可以使用下面的這段代碼顯示對(duì)方IP地址記錄閱讀的實(shí)際日期和時(shí)間。

  view sourceprint?

  error_reporting(0);

  Header("Content-Type:

  p_w_picpath/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 . ' '

  ."\r\n";

  fwrite($fh,

  $stringData);

  fclose($fh);

  //Generate Image

  (Es. dimesion is 1x1)

  $newp_w_picpath =

  ImageCreate(1,1);

  $grigio =

  ImageColorAllocate($newp_w_picpath,255,255,255);

  ImageJPEG($newp_w_picpath);

  ImageDestroy($newp_w_picpath);

  ?>

  二、從網(wǎng)頁中提取關(guān)鍵字

  如果想從網(wǎng)頁中提取關(guān)鍵字,那么不妨可以試試下面這段代碼,輕松實(shí)現(xiàn):

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

  }

  四、自動(dòng)轉(zhuǎn)換URL,跳轉(zhuǎn)至超鏈接

  在WordPress中,如果你想自動(dòng)轉(zhuǎn)換URL,跳轉(zhuǎn)至超鏈接頁面,你可以利用內(nèi)置的函數(shù)make_clickable()執(zhí)行此操作。如果你想基于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;

  }

  五、創(chuàng)建數(shù)據(jù)URL

  數(shù)據(jù)URL可以直接嵌入到HTML/CSS/JS中,以節(jié)省大量的HTTP請(qǐng)求。下面的這段代碼可利用$file輕松創(chuàng)建數(shù)據(jù)URL。

  view sourceprint?

  function

  data_uri($file, $mime) {

  $contents=file_get_contents($file);

  $=_encode($contents);

  echo

  "data:$mime;,$";

  }

  六、從服務(wù)器上下載&保存一個(gè)遠(yuǎn)程圖片

  當(dāng)你在利用php程序搭建網(wǎng)站時(shí),從遠(yuǎn)程服務(wù)器下載某張圖片并且將其保存在自己的服務(wù)器上,這一操作會(huì)經(jīng)常用到。代碼如下:

  view sourceprint?

  $p_w_picpath =

  file_get_contents('');

  file_put_contents('/p_w_picpaths/p_w_picpath.jpg',

  $p_w_picpath);//Where to save the

  p_w_picpath

  七、移除Remove Microsoft Word HTML Tag

  當(dāng)你使用Microsoft Word會(huì)創(chuàng)建許多Tag,比如font,span,style,class等。這些標(biāo)簽對(duì)于Word本身而言是非常有用的,但是當(dāng)你從Word粘貼至網(wǎng)頁時(shí),你會(huì)發(fā)現(xiàn)很多無用的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

  }

  八、檢測(cè)瀏覽器語言

  如果你的網(wǎng)站上有多種語言,那么可以使用這段代碼作為默認(rèn)的語言來檢測(cè)瀏覽器語言。該段代碼將返回瀏覽器客戶端使用的初始語言。

  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粉絲數(shù)量

  如果你的網(wǎng)站或者博客上有內(nèi)鏈的Facebook頁面,你或許想知道擁有多少粉絲。這段代碼將幫助你查看Facebook粉絲數(shù),記住,別忘了在你的頁面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;

  ?>

  結(jié)束語

  要成為一個(gè)出色的程序員,掌握一些技巧,高效開發(fā)相關(guān)程序應(yīng)用,是必不可少的。以上分析的這9個(gè)代碼片段,如果你還是一個(gè)php新人,那么請(qǐng)你熟練掌握,在你要實(shí)現(xiàn)這些代碼對(duì)應(yīng)功能的時(shí)候,它們將大大的縮短你的開發(fā)時(shí)間,提高你的開發(fā)效率。


程序員杭州軟件測(cè)試杭州APP開發(fā)杭州PHP工程師

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI