ホームページ > バックエンド開発 > PHPチュートリアル > 十个超级有用的PHP代码片断

十个超级有用的PHP代码片断

WBOY
リリース: 2016-06-13 10:30:09
オリジナル
1000 人が閲覧しました

十个超级有用的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

//
result:? Result is: Array ( [messages] => Array ( [19896128] =>
9991234567 ) [sent_text] => Wake up! [parts_count] => 1 )





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.





&l

15
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート