Home  >  Article  >  Backend Development  >  十个超级有用的PHP代码片断

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

WBOY
WBOYOriginal
2016-06-13 10:30:09984browse

十个超级有用的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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn