> 백엔드 개발 > 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿