1. 使用textmagic api发送消息 可能有的时候,你需要发送一些短信给你的客户,那么你绝对应该看看textmagic。它提供了非常简单的api来实现这个功能。但是不是免费的。
// include 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 )
2. 通过ip判断来源 这是一个非常实用的代码片段,可以帮助你通过ip来判断访客来源。下面的方法通过接收一个参数,然后返回ip所在地点。如果没有找到,则返回unknown。
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 : ([^> & 0xff; $b = $rgb & 0xff; $rtotal += $r; $gtotal += $g; $btotal += $b; $total++; }}$raverage = round($rtotal/$total);$gaverage = round($gtotal/$total);$baverage = round($btotal/$total);
7. 了解你的内存使用情况 为了优化你的脚本,你需要了解服务器上的ram使用情况。这个代码片段将帮助你了解内存使用,并且打印初始、最终以及峰值使用情况。
echo initial: .memory_get_usage(). bytes \n;/* printsinitial: 361400 bytes*/// let's use up some memoryfor ($i = 0; $i 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;}
10. 不显示php错误而发送电子邮件取代之 如果你不想在页面中显示php错误,也可以通过email来获取错误信息。下面的代码可以帮助你实现。
; $email .= . print_r($vars, 1) .
; $headers = 'content-type: text/html; charset=iso-8859-1' . \r\n; // email the error to someone... error_log($email, 1, 'you@youremail.com', $headers); // make sure that you decide how to respond to errors (on the user's side) // either echo an error message, or kill the entire project. up to you... // the code below ensures that we only die if the error was more than // just a notice. if ( ($number !== e_notice) && ($number < 2048) ) { die(there was an error. please try again later.); }}// we should use our custom function to handle errors.set_error_handler('nettuts_error_handler');// trigger an error... (var doesn't exist)echo $somevarthatdoesnotexist; 英文原文:10 super useful php snippets you probably haven’t seen
