每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当php开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重要性。为了节约编码时间,笔者收集了一些较为实用的代码片段,帮助开发者提高工作效率。>>>
1) whois query using php ——利用php获取whois请求 利用这段代码,在特定的域名里可获得whois信息。把域名名称作为参数,并显示所有域名的相关信息。
?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
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是需要付费。
?1234567891011121314151617
the textmagic php librequire('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——获取内存使用率这段代码帮助你获取内存使用率。
?123456789101112131415161718192021222324
echo initial: .memory_get_usage(). bytes \n;/* printsinitial: 361400 bytes*/ // let's use up some memoryfor ($i = 0; $i $i++) { $array []= md5($i);} // let's remove half of the arrayfor ($i = 0; $i $i++) { unset($array[$i]);} echo final: .memory_get_usage(). bytes \n;/* printsfinal: 885912 bytes*/ echo peak: .memory_get_peak_usage(). bytes \n;/* printspeak: 13687072 bytes*/
4) display source code of any webpage——查看任意网页源代码如果你想查看网页源代码,那么只需更改第二行的url,源代码就会在网页上显示出。
?12345
$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请求。
?12345
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,就可检测出位置。
?123456789101112131415161718192021222324252627282930
function detect_city($ip) { $default = 'unknown'; if (!is_string($ip) || strlen($ip) $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; } }
7) detect browser language——查看浏览器语言检测浏览器使用的代码脚本语言。
?12345678910111213
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;}
8) check if server is https——检测服务器是否是https
?12345
if ($_server['https'] != on) { echo this is not https;}else{ echo this is https;}
9) generate csv file from a php array——在php数组中生成.csv 文件
?123456789101112
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;}
英文出自:designzum