您好,欢迎访问一九零五行业门户网

19个超实用的PHP代码片段_PHP教程

每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当php开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重要性。为了节约编码时间,小编收集了一些较为实用的代码片段,帮助开发者提高工作效率
1) whois query using php ——利用php获取whois请求  利用这段代码,在特定的域名里可获得whois信息。把域名名称作为参数,并显示所有域名的相关信息。  代码如下:function whois_query($domain) {       // fix the domain name:      $domain = strtolower(trim($domain));      $domain = preg_replace('/^http:\/\//i', '', $domain);      $domain = preg_replace('/^www\./i', '', $domain);      $domain = explode('/', $domain);      $domain = trim($domain[0]);       // split the tld from domain name      $_domain = explode('.', $domain);      $lst = count($_domain)-1;      $ext = $_domain[$lst];       // you find resources and lists       // like these on wikipedia:       //      // http://de.wikipedia.org/wiki/whois      //      $servers = array(          biz => whois.neulevel.biz,          com => whois.internic.net,          us => whois.nic.us,          coop => whois.nic.coop,          info => whois.nic.info,          name => whois.nic.name,          net => whois.internic.net,          gov => whois.nic.gov,          edu => whois.internic.net,          mil => rs.internic.net,          int => whois.iana.org,          ac => whois.nic.ac,          ae => whois.uaenic.ae,          at => whois.ripe.net,          au => whois.aunic.net,          be => whois.dns.be,          bg => whois.ripe.net,          br => whois.registro.br,          bz => whois.belizenic.bz,          ca => whois.cira.ca,          cc => whois.nic.cc,          ch => whois.nic.ch,          cl => whois.nic.cl,          cn => whois.cnnic.net.cn,          cz => whois.nic.cz,          de => whois.nic.de,          fr => whois.nic.fr,          hu => whois.nic.hu,          ie => whois.domainregistry.ie,          il => whois.isoc.org.il,          in => whois.ncst.ernet.in,          ir => whois.nic.ir,          mc => whois.ripe.net,          to => whois.tonic.to,          tv => whois.tv,          ru => whois.ripn.net,          org => whois.pir.org,          aero => whois.information.aero,          nl => whois.domain-registry.nl      );       if (!isset($servers[$ext])){          die('error: no matching nic server found!');      }       $nic_server = $servers[$ext];       $output = '';       // connect to whois server:      if ($conn = fsockopen ($nic_server, 43)) {          fputs($conn, $domain.\r\n);          while(!feof($conn)) {              $output .= fgets($conn,128);          }          fclose($conn);      }      else { die('error: could not connect to ' . $nic_server . '!'); }       return $output;  }  2) text messaging with php using the textmagic api ——使用textmagic api 获取php test信息 textmagic引入强大的核心api,可轻松将sms发送到手机。该api是需要付费。   代码如下:the textmagic php lib  require('textmagic-sms-api-php/textmagicapi.php');   // set the username and password information  $username = 'myusername';  $password = 'mypassword';   // create a new instance of tm  $router = new textmagicapi(array(      'username' => $username,      'password' => $password  ));   // send a text message to '999-123-4567'  $result = $router->send('wake up!', array(9991234567), true);   // result:  result is: array ( [messages] => array ( [19896128] => 9991234567 ) [sent_text] => wake up! [parts_count] => 1 )  3) get info about your memory usage——获取内存使用率 这段代码帮助你获取内存使用率。  代码如下:echo initial: .memory_get_usage(). bytes \n;  /* prints initial: 361400 bytes */   // let's use up some memory  for ($i = 0; $i $line) {       // loop thru each line and prepend line numbers      echo line #{$line_num} : . htmlspecialchars($line) .  \n;  }  5) create data uri's——创建数据uri 通过使用此代码,你可以创建数据uri,这对在html/css中嵌入图片非常有用,可帮助节省http请求。 代码如下:function data_uri($file, $mime) {    $contents=file_get_contents($file);    $base64=base64_encode($contents);    echo data:$mime;base64,$base64;  } 6) detect location by ip——通过ip检索出地理位置 这段代码帮助你查找特定的ip,只需在功能参数上输入ip,就可检测出位置。  代码如下:function detect_city($ip) {           $default = 'unknown';           if (!is_string($ip) || strlen($ip) 1,              curlopt_header      => 0,              curlopt_returntransfer  => 1,              curlopt_useragent   => $curlopt_useragent,              curlopt_url       => $url,              curlopt_timeout         => 1,              curlopt_referer         => 'http://' . $_server['http_host'],          );           curl_setopt_array($ch, $curl_opt);           $content = curl_exec($ch);           if (!is_null($curl_info)) {              $curl_info = curl_getinfo($ch);          }           curl_close($ch);           if ( preg_match('{  city : ([^ 40.770623, 'long' => -73.964367);  $point2 = array('lat' => 40.758224, 'long' => -73.917404);  $distance = getdistancebetweenpointsnew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);  foreach ($distance as $unit => $value) {      echo $unit.': '.number_format($value,4).'  ';  }  the example returns the following:  代码如下:miles: 2.6025  feet: 13,741.4350  yards: 4,580.4783  kilometers: 4.1884  meters: 4,188.3894 11.完善curl功能  代码如下:function xcurl($url,$ref=null,$post=array(),$ua=mozilla/5.0 (x11; linux x86_64; rv:2.2a1pre) gecko/20110324 firefox/4.2a1pre,$print=false) {      $ch = curl_init();      curl_setopt($ch, curlopt_autoreferer, true);      if(!empty($ref)) {          curl_setopt($ch, curlopt_referer, $ref);      }      curl_setopt($ch, curlopt_url, $url);      curl_setopt($ch, curlopt_header, 0);      curl_setopt($ch, curlopt_followlocation, 1);      curl_setopt($ch, curlopt_returntransfer, 1);      if(!empty($ua)) {          curl_setopt($ch, curlopt_useragent, $ua);      }      if(count($post) > 0){          curl_setopt($ch, curlopt_post, 1);          curl_setopt($ch, curlopt_postfields, $post);          }      $output = curl_exec($ch);      curl_close($ch);      if($print) {          print($output);      } else {          return $output;      }  }12.清理用户输入 代码如下:.*?@si',   // strip out javascript    '@]*?>@si',            // strip out html tags    '@@siu',    // strip style tags properly    '@@'         // strip multi-line comments  );     $output = preg_replace($search, '', $input);    return $output;  }?>$val) {            $output[$var] = sanitize($val);        }    }    else {        if (get_magic_quotes_gpc()) {            $input = stripslashes($input);        }        $input  = cleaninput($input);        $output = mysql_real_escape_string($input);    }    return $output;}?>13.通过ip(城市、国家)检测地理位置代码如下:function detect_city($ip) {           $default = 'hollywood, ca';           if (!is_string($ip) || strlen($ip) 1,              curlopt_header      => 0,              curlopt_returntransfer  => 1,              curlopt_useragent   => $curlopt_useragent,              curlopt_url       => $url,              curlopt_timeout         => 1,              curlopt_referer         => 'http://' . $_server['http_host'],          );           curl_setopt_array($ch, $curl_opt);           $content = curl_exec($ch);           if (!is_null($curl_info)) {              $curl_info = curl_getinfo($ch);          }           curl_close($ch);           if ( preg_match('{         city : ([^ 100){         $strength = 100;     }     return $strength; }  var_dump(password_strength(correct horse battery staple)); echo
; var_dump(password_strength(super monkey ball)); echo
; var_dump(password_strength(tr0ub4dor&3)); echo
; var_dump(password_strength(abc123)); echo
; var_dump(password_strength(sweet)); 15.检测浏览器语言,只提供可用的$availablelanguages作为数组(‘en', ‘de', ‘es')代码如下:function get_client_language($availablelanguages, $default='en'){       if (isset($_server['http_accept_language'])) {           $langs=explode(',',$_server['http_accept_language']);           //start going through each one          foreach ($langs as $value){               $choice=substr($value,0,2);              if(in_array($choice, $availablelanguages)){                  return $choice;               }           }      }       return $default;  }  16.创建数据url 代码如下:function data_uri($file, $mime) {    $contents=file_get_contents($file);    $base64=base64_encode($contents);    echo data:$mime;base64,$base64;  } 17.创建更加友好的页面标题seo url 输入示例:$title = “this foo's bar is rockin' cool!”; echo makeseoname($title); //returns: //this-foos-bar-is-rockin-cool  代码如下:function make_seo_name($title) {      return preg_replace('/[^a-z0-9_-]/i', '', strtolower(str_replace(' ', '-', trim($title))));  }18.终极加密功能 代码如下:// f(ucking) u(ncrackable) e(ncryption) function by blackhatdbl (www.netforme.net)  function fue($hash,$times) {      // execute the encryption(s) as many times as the user wants      for($i=$times;$i>0;$i--) {          // encode with base64...          $hash=base64_encode($hash);          // and md5...          $hash=md5($hash);          // sha1...          $hash=sha1($hash);          // sha256... (one more)          $hash=hash(sha256, $hash);          // sha512          $hash=hash(sha512, $hash);       }      // finaly, when done, return the value      return $hash;  } 19a.tweeter feed runner——使用任意twitter名,可在任意页面上加载用户资源。 代码如下:      public function loadtimeline($user, $max = 20){           $this->twiturl .= 'statuses/user_timeline.xml?screen_name='.$user.'&count='.$max;           $ch        = curl_init();           curl_setopt($ch, curlopt_url, $this->twiturl);           curl_setopt($ch, curlopt_returntransfer, true);           $this->xml = curl_exec($ch);           return $this;       }       public function gettweets(){           $this->twitterarr = $this->gettimelinearray();           $tweets = array();           foreach($this->twitterarr->status as $status){               $tweets[$status->created_at->__tostring()] = $status->text->__tostring();           }           return $tweets;       }       public function gettimelinearray(){           return simplexml_load_string($this->xml);       }       public function formattweet($tweet){           $tweet = preg_replace(/(http(.+?))( |$)/,$1$3, $tweet);           $tweet = preg_replace(/#(.+?)(\h|\w|$)/, #$1$2, $tweet);           $tweet = preg_replace(/@(.+?)(\h|\w|$)/, @$1$2, $tweet);           return $tweet;       }    19b. tweeter feed runner——用于在主题中创建文件,比如:example.php代码如下:loadtimeline(phpsnips)->gettweets();   foreach($feed as $time => $message){       echo .$twitter->formattweet($message).
at: .$time.
;   }   
http://www.bkjia.com/phpjc/741819.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/741819.htmltecharticle每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当php开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重...
其它类似信息

推荐信息