超实用的19个PHP代码示例
这篇文章主要为大家详细介绍了超实用的19个PHP代码示例,具有一定的参考价值,可以用来参考一下。
1) Whois query using PHP ——利用PHP获取Whois请求
利用这段代码,在特定的域名里可获得whois信息。把域名名称作为参数,并显示所有域名的相关信息。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | <code> 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: // // <a href="http://de.wikipedia.org/wiki/Whois">http://de.wikipedia.org/wiki/Whois</a> // $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 ; } </code> |
TextMagic引入强大的核心API,可轻松将SMS发送到手机。该API是需要付费。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <code>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 ) </code> |
这段代码帮助你获取内存使用率。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <code> echo "Initial: " .memory_get_usage(). " bytes \n" ; /* prints Initial: 361400 bytes */ // let's use up some memory for ( $i = 0; $i < 100000; $i ++) { $array []= md5( $i ); } // let's remove half of the array for ( $i = 0; $i < 100000; $i ++) { unset( $array [ $i ]); } echo "Final: " .memory_get_usage(). " bytes \n" ; /* prints Final: 885912 bytes */ echo "Peak: " .memory_get_peak_usage(). " bytes \n" ; /* prints Peak: 13687072 bytes */ </code> |
如果你想查看网页源代码,那么只需更改第二行的URL,源代码就会在网页上显示出。
代码如下:
1 2 3 4 5 6 7 | <code><?php /* php教程 www.512Pic.com */ // display source code $lines = file('http://google.com/'); foreach ($lines as $line_num => $line) { // loop thru each line and prepend line numbers echo "Line #{$line_num} : " . htmlspecialchars( $line ) . " \n"; } </code> |
通过使用此代码,你可以创建数据Uri,这对在HTML/CSS中嵌入图片非常有用,可帮助节省HTTP请求。
代码如下:
1 2 3 4 5 | <code> function data_uri( $file , $mime ) { $contents = file_get_contents ( $file ); $base64 = base64_encode ( $contents ); echo "data:$mime;base64,$base64" ; } </code> |
这段代码帮助你查找特定的IP,只需在功能参数上输入IP,就可检测出位置。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <code> function detect_city( $ip ) { $default = 'UNKNOWN' ; if (! is_string ( $ip ) || strlen ( $ip ) < 1 || $ip == '127.0.0.1' || $ip == 'localhost' ) $ip = '8.8.8.8' ; $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)' ; $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode( $ip ); $ch = curl_init(); $curl_opt = array ( CURLOPT_FOLLOWLOCATION => 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 : ([^<]*) }i', $content , $regs ) ) { $city = $regs [1]; } if ( preg_match(‘{ State/Province : ([^<]*) }i', $content , $regs ) ) { $state = $regs [1]; } if ( $city !=” && $state !=” ){ $location = $city . ‘, ‘ . $state ; return $location ; } else { return $default ; } } </code> |
检测浏览器使用的代码脚本语言。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <code> 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 ; } </code> |
代码如下:
1 2 3 4 5 | <code> if ( $_SERVER [ 'HTTPS' ] != "on" ) { echo "This is not HTTPS" ; } else { echo "This is HTTPS" ; } </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | <code> function generateCsv( $data , $delimiter = ',' , $enclosure = '"' ) { $handle = fopen ( 'php://temp' , 'r+' ); foreach ( $data as $line ) { fputcsv ( $handle , $line , $delimiter , $enclosure ); } rewind ( $handle ); while (! feof ( $handle )) { $contents .= fread ( $handle , 8192); } fclose( $handle ); return $contents ; } </code> |
10.查找Longitudes与Latitudes之间的距离
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <code> function getDistanceBetweenPointsNew( $latitude1 , $longitude1 , $latitude2 , $longitude2 ) { $theta = $longitude1 - $longitude2 ; $miles = (sin( deg2rad ( $latitude1 )) * sin( deg2rad ( $latitude2 ))) + ( cos ( deg2rad ( $latitude1 )) * cos ( deg2rad ( $latitude2 )) * cos ( deg2rad ( $theta ))); $miles = acos ( $miles ); $miles = rad2deg( $miles ); $miles = $miles * 60 * 1.1515; $feet = $miles * 5280; $yards = $feet / 3; $kilometers = $miles * 1.609344; $meters = $kilometers * 1000; return compact( 'miles' , 'feet' , 'yards' , 'kilometers' , 'meters' ); } $point1 = array ( 'lat' => 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).' '; } </code> |
代码如下:
1 2 3 4 5 | <code>miles: 2.6025 feet: 13,741.4350 yards: 4,580.4783 kilometers: 4.1884 meters: 4,188.3894</code> |
11.完善cURL功能
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <code> 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 ; } }</code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <code><?php /* php教程 www.512Pic.com */ function cleanInput( $input ) { $search = array ( '@<script[^>]*?>.*?</script>@si' , // Strip out javascript '@<[\/\!]*?[^<>]*?>@si' , // Strip out HTML tags '@<style[^>]*?>.*?</style>@siU' , // Strip style tags properly '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments ); $output = preg_replace( $search , '' , $input ); return $output ; } ?> <?php /* php教程 www.512Pic.com */ function sanitize( $input ) { if ( is_array ( $input )) { foreach ( $input as $var => $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 ; } ?></code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <code> function detect_city( $ip ) { $default = 'Hollywood, CA' ; if (! is_string ( $ip ) || strlen ( $ip ) < 1 || $ip == '127.0.0.1' || $ip == 'localhost' ) $ip = '8.8.8.8' ; $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)' ; $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode( $ip ); $ch = curl_init(); $curl_opt = array ( CURLOPT_FOLLOWLOCATION => 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 : ([^<]*) }i ', $content, $regs) ) { $city = $regs[1]; } if ( preg_match(' { State/Province : ([^<]*) }i ', $content, $regs) ) { $state = $regs[1]; } if( $city!=' ' && $state!=' ' ){ $location = $city . ' , ' . $state ; return $location ; } else { return $default ; } } </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <code> function password_strength( $string ){ $h = 0; $size = strlen ( $string ); foreach ( count_chars ( $string , 1) as $v ){ $p = $v / $size ; $h -= $p * log( $p ) / log(2); } $strength = ( $h / 4) * 100; if ( $strength > 100){ $strength = 100; } return $strength ; } </code> |
var_dump(password_strength("Correct Horse Battery Staple"));echo "<br>";var_dump(password_strength("Super Monkey Ball"));echo "<br>";var_dump(password_strength("Tr0ub4dor&3"));echo "<br>";var_dump(password_strength("abc123"));echo "<br>";var_dump(password_strength("sweet"));
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <code> 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 ; } </code> |
16.创建数据URL
代码如下:
1 2 3 4 5 | <code> function data_uri( $file , $mime ) { $contents = file_get_contents ( $file ); $base64 = base64_encode ( $contents ); echo "data:$mime;base64,$base64" ; } </code> |
输入示例:$title = “This foo's bar is rockin' cool!”; echo makeseoname($title); //RETURNS: //this-foos-bar-is-rockin-cool
代码如下:
1 2 3 | <code> function make_seo_name( $title ) { return preg_replace( '/[^a-z0-9_-]/i' , '' , strtolower ( str_replace ( ' ' , '-' , trim( $title )))); }</code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <code> // 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 ; } </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <code> 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 ; } </code> |
代码如下:
1 2 3 4 | <code>loadTimeline( "phpsnips" )->getTweets(); foreach ( $feed as $time => $message ){ echo "<div class='tweet'>" . $twitter ->formatTweet( $message ). "<br />At: " . $time . "</div>" ; } </code> |
注:关于超实用的19个PHP代码示例的内容就先介绍到这里,更多相关文章的可以留意