Home > Article > Backend Development > 十个超级有用的PHP代码片断
十个超级有用的PHP代码片段
1. 发送短信
调用 TextMagic
API。
01 |
// Include the TextMagic PHP lib |
02 |
require ( 'textmagic-sms-api-php/TextMagicAPI.php' ); |
03 |
? |
04 |
// Set the username and password information |
05 |
$username = 'myusername' ; |
06 |
$password = 'mypassword' ; |
07 |
? |
08 |
// Create a new instance of TM |
09 |
$router = new TextMagicAPI( array ( |
10 |
???? 'username' => $username , |
11 |
???? 'password' => $password |
12 |
)); |
13 |
? |
14 |
// Send a text message to '999-123-4567' |
15 |
$result = $router ->send( 'Wake up!' , array (9991234567), true); |
16 |
? |
17 |
// |
2. 根据IP查找地址
01 |
function detect_city( $ip ) { |
02 |
? |
03 |
???????? $default = 'UNKNOWN' ; |
04 |
? |
05 |
???????? if (! is_string ( $ip ) || strlen ( $ip ) < 1 || $ip == '127.0.0.1' || $ip == 'localhost' ) |
06 | ???????????? $ip = '8.8.8.8' ; |
07 | ? |
08 | ???????? $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)' ; |
09 | ? |
10 | ???????? $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode( $ip ); |
11 | ???????? $ch = curl_init(); |
12 | ? |
13 | ???????? $curl_opt = array ( |
14 | ???????????? CURLOPT_FOLLOWLOCATION? => 1, |
15 |
???????????? CURLOPT_HEADER????? => 0, |
16 |
???????????? CURLOPT_RETURNTRANSFER? => 1, |
17 |
???????????? CURLOPT_USERAGENT?? => $curlopt_useragent , |
18 |
???????????? CURLOPT_URL?????? => $url , |
19 |
???????????? CURLOPT_TIMEOUT???????? => 1, |
20 |
???????????? CURLOPT_REFERER???????? => 'http://' . $_SERVER [ 'HTTP_HOST' ], |
21 |
???????? ); |
22 |
? |
23 |
???????? curl_setopt_array( $ch , $curl_opt ); |
24 |
? |
25 |
???????? $content = curl_exec( $ch ); |
26 |
? |
27 |
???????? if (! is_null ( $curl_info )) { |
28 |
???????????? $curl_info = curl_getinfo( $ch ); |
29 |
???????? } |
30 |
? |
31 |
???????? curl_close( $ch ); |
32 |
? |
33 |
???????? if ( preg_match( '{<li>City : ([^<]*)</li>}i' , $content , $regs ) )? { |
34 |
???????????? $city = $regs [1]; |
35 |
???????? } |
36 |
???????? if ( preg_match( '{<li>State/Province : ([^<]*)</li>}i' , $content , $regs ) )? { |
37 |
???????????? $state = $regs [1]; |
38 |
???????? } |
39 |
? |
40 |
???????? if ( $city != '' && $state != '' ){ |
41 |
?????????? $location = $city . ', ' . $state ; |
42 |
?????????? return $location ; |
43 |
???????? } else { |
44 |
?????????? return $default ; |
45 |
???????? } |
46 |
? |
47 |
???? } |
3. 显示网页的源代码
1 |
<?php // display source code |
2 | $lines = file( 'http://google.com/' ); |
3 | foreach ( $lines as $line_num => $line ) { |
4 |
???? // loop thru each line and prepend line numbers |
5 |
???? echo "Line #<b>{$line_num}</b> : " . htmlspecialchars( $line ) . "<br>\n" ; |
6 |
} |
4. 检查服务器是否使用HTTPS
1 |
if ( $_SERVER [ 'HTTPS' ] != "on" ) { |
2 |
???? echo "This is not HTTPS" ; |
3 |
} else { |
4 |
???? echo "This is HTTPS" ; |
5 |
} |
5. 显示Facebook fans数量
1 |
function fb_fan_count( $facebook_name ){ |
2 |
???? // Example: https://graph.facebook.com/digimantra |
3 |
???? $data = json_decode( file_get_contents ( "https://graph.facebook.com/" . $facebook_name )); |
4 |
???? echo $data ->likes; |
5 |
} |
6. 检测图片的主要颜色
01 |
$i = imagecreatefromjpeg( "image.jpg" ); |
02 |
? |
03 |
for ( $x =0; $x <imagesx( $i ); $x ++) { |
04 | ???? for ( $y =0; $y <imagesy( $i ); $y ++) { |
05 | ???????? $rgb = imagecolorat( $i , $x , $y ); |
06 | ???????? $r ?? = ( $rgb >> 16) & 0xFF; |
07 |
???????? $g ?? = ( $rgb >>? & 0xFF; |
08 |
???????? $b ?? = $rgb & 0xFF; |
09 |
? |
10 |
???????? $rTotal += $r ; |
11 |
???????? $gTotal += $g ; |
12 |
???????? $bTotal += $b ; |
13 |
???????? $total ++; |
14 |
???? } |
15 |
} |
16 |
? |
17 |
$rAverage = round ( $rTotal / $total ); |
18 |
$gAverage = round ( $gTotal / $total ); |
19 |
$bAverage = round ( $bTotal / $total ); |
7. 获取内存使用信息
01 |
echo "Initial: " .memory_get_usage(). " bytes \n" ; |
02 |
/* prints |
03 |
Initial: 361400 bytes |
04 |
*/ |
05 |
? |
06 |
// let's use up some memory |
07 |
for ( $i = 0; $i < 100000; $i ++) { |
08 |
???? $array []= md5( $i ); |
09 |
} |
10 |
? |
11 |
// let's remove half of the array |
12 |
for ( $i = 0; $i < 100000; $i ++) { |
13 |
???? unset( $array [ $i ]); |
14 |
} |
15 |
? |
16 |
echo "Final: " .memory_get_usage(). " bytes \n" ; |
17 |
/* prints |
18 |
Final: 885912 bytes |
19 |
*/ |
20 |
? |
21 |
echo "Peak: " .memory_get_peak_usage(). " bytes \n" ; |
22 |
/* prints |
23 |
Peak: 13687072 bytes |
24 |
*/ |
8. 使用 gzcompress() 压缩数据
01 |
$string = |
02 |
"Lorem ipsum dolor sit amet, consectetur |
03 |
adipiscing elit. Nunc ut elit id mi ultricies |
04 |
adipiscing. Nulla facilisi. Praesent pulvinar, |
05 |
sapien vel feugiat vestibulum, nulla dui pretium orci, |
06 |
non ultricies elit lacus quis ante. Lorem ipsum dolor |
07 |
sit amet, consectetur adipiscing elit. Aliquam |
08 |
pretium ullamcorper urna quis iaculis. Etiam ac massa |
09 |
sed turpis tempor luctus. Curabitur sed nibh eu elit |
10 |
mollis congue. Praesent ipsum diam, consectetur vitae |
11 |
ornare a, aliquam a nunc. In id magna pellentesque |
12 |
tellus posuere adipiscing. Sed non mi metus, at lacinia |
13 |
augue. Sed magna nisi, ornare in mollis in, mollis |
14 |
sed nunc. Etiam at justo in leo congue mollis. |
15 |