每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当PHP开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重要性。为了节约编码时间,笔者收集了一些较为实用的代码片段,帮助开发者提高工作效率。>>>
点击查看PHP代码片段(一)
1) Whois query using PHP
——利用PHP获取Whois请求
利用这段代码,在特定的域名里可获得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:
//
// <a
href="http://de.wikipedia.org/wiki/Whois">http://de.wikipedia.org/wiki/Whois</a>
//
$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;
}
2) Text messaging with PHP
using the TextMagic API ——使用TextMagic API 获取PHP Test信息
TextMagic引入强大的核心API,可轻松将SMS发送到手机。该API是需要付费。
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 )
3) Get info about your
memory usage——获取内存使用率
这段代码帮助你获取内存使用率。
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
*/
4) Display source code of
any webpage——查看任意网页源代码
如果你想查看网页源代码,那么只需更改第二行的URL,源代码就会在网页上显示昆明国防医院。
<?php // display source
code $lines = file(‘http://google.com/‘); foreach ($lines as $line_num =>
$line) {
// loop thru each line and
prepend line numbers
echo "Line #{$line_num} : "
. htmlspecialchars($line) . "
\n";
}
5) Create data
uri’s——创建数据uri
通过使用此代码,你可以创建数据Uri,这对在HTML/CSS中嵌入图片非常有用,可帮助节省HTTP请求。
function data_uri($file,
$mime) {
$contents=file_get_contents($file);
$base64=base64_encode($contents);
echo
"data:$mime;base64,$base64";
}
6) Detect location by
IP——通过IP检索出地理位置
这段代码帮助你查找特定的IP,只需在功能参数上输入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 =
‘http://ipinfodb.com/ip_locator.php?ip=‘ . 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; } }
7) Detect browser
language——查看浏览器语言
检测浏览器使用的代码脚本语言。
function
get_client_language($availableLanguages, $default=‘en‘){
if
(isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE‘])) {
$langs=explode(‘,‘,$_SERVER[‘HTTP_ACCEPT_LANGUAGE‘]);
foreach ($langs as
$value){
$choice=substr($value,0,2);
if(in_array($choice,
$availableLanguages)){
return $choice;
}
}
}
return $default;
}
8) Check if server is
HTTPS——检测服务器是否是HTTPS
if ($_SERVER[‘HTTPS‘] !=
"on") {
echo "This is not
HTTPS";
}else{
echo "This is
HTTPS";
}
9) Generate CSV file from a
PHP array——在PHP数组中生成。csv 文件
function generateCsv($data,
$delimiter = ‘,‘, $enclosure = ‘"‘) {
$handle =
fopen(‘php://temp‘, ‘r+‘);
foreach ($data as $line)
{
fputcsv($handle, $line,
$delimiter, $enclosure);
}
rewind($handle);
while (!feof($handle))
{
$contents .= fread($handle,
8192);
}
fclose($handle);
return
$contents;
}
直接拿来用,超实用的PHP代码片段(二),码迷,mamicode.com