好东西要大家一起分享,上次分享了十个,这次再来十个超级有用的php代码片段。
1. 发送短信
调用 textmagic api。
// include 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 )
2. 根据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 : ([^> & 0xff; $b = $rgb & 0xff; $rtotal += $r; $gtotal += $g; $btotal += $b; $total++; } } $raverage = round($rtotal/$total); $gaverage = round($gtotal/$total); $baverage = round($btotal/$total);
7. 获取内存使用信息
echo initial: .memory_get_usage(). bytes \n; /* prints initial: 361400 bytes */ // let's use up some memory for ($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. 通过email发送php错误
<?php // our custom error handler function nettuts_error_handler($number, $message, $file, $line, $vars){ $email = an error ($number) occurred on line $line and in the file: $file. $message
; $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;
是不是也很精彩,和之前的一起收藏吧
