Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167507
  • 博文数量: 64
  • 博客积分: 3366
  • 博客等级: 中校
  • 技术积分: 765
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-10 10:32
文章分类

全部博文(64)

文章存档

2012年(5)

2011年(22)

2010年(37)

我的朋友

分类: 系统运维

2012-01-27 21:31:47

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 || $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 = '' . 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;
  • }
  • }

3. 显示网页的源代码
  • $lines = file('');
  • foreach ($lines as $line_num => $line) {
  • // loop thru each line and prepend line numbers
  • echo "Line #{$line_num} : " . htmlspecialchars($line) . "
    \n";
  • }

4. 检查服务器是否使用HTTPS
  • if ($_SERVER['HTTPS'] != "on") {
  • echo "This is not HTTPS";
  • }else{
  • echo "This is HTTPS";
  • }

5. 显示Faceboo**丝数量
  • function fb_fan_count($facebook_name){
  • // Example:
  • $data = json_decode(file_get_contents("".$facebook_name));
  • echo $data->likes;
  • }

6. 检测图片的主要颜色
  • $i = imagecreatefromjpeg("image.jpg");
  • for ($x=0;$x
  • for ($y=0;$y
  • $rgb = imagecolorat($i,$x,$y);
  • $r = ($rgb >> 16) & 0xFF;
  • $g = ($rgb >> & 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 < 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
  • */

8. 使用 gzcompress() 压缩数据
  • $string =
  • "Lorem ipsum dolor sit amet, consectetur
  • adipiscing elit. Nunc ut elit id mi ultricies
  • adipiscing. Nulla facilisi. Praesent pulvinar,
  • sapien vel feugiat vestibulum, nulla dui pretium orci,
  • non ultricies elit lacus quis ante. Lorem ipsum dolor
  • sit amet, consectetur adipiscing elit. Aliquam
  • pretium ullamcorper urna quis iaculis. Etiam ac massa
  • sed turpis tempor luctus. Curabitur sed nibh eu elit
  • mollis congue. Praesent ipsum diam, consectetur vitae
  • ornare a, aliquam a nunc. In id magna pellentesque
  • tellus posuere adipiscing. Sed non mi metus, at lacinia
  • augue. Sed magna nisi, ornare in mollis in, mollis
  • sed nunc. Etiam at justo in leo congue mollis.
  • Nullam in neque eget metus hendrerit scelerisque
  • eu non enim. Ut malesuada lacus eu nulla bibendum
  • id euismod urna sodales. ";
  • $compressed = gzcompress($string);
  • echo "Original size: ". strlen($string)."\n";
  • /* prints
  • Original size: 800
  • */
  • echo "Compressed size: ". strlen($compressed)."\n";
  • /* prints
  • Compressed size: 418
  • */
  • // getting it back
  • $original = gzuncompress($compressed);

9. 使用PHP做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:
  • //
  • //
  • //
  • $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;
  • }

10. 通过Email发送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;
阅读(1140) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~