说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

直接拿来用,九个超实用的PHP代码片段(二)

HTML文档下载 WORD文档下载 PDF文档下载
当PHP开发者花费数个小时为网页编码或创建应用时,他们深知这些代码的重要性。为了帮助开发者节约编码时间,笔者收集了一些较为实用的代码片段,帮助开发者提高工作效率。

每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当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 librequire('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";/* printsInitial: 361400 bytes*/// let's use up some memoryfor ($i = 0; $i < 100000; $i++) {	$array []= md5($i);}// let's remove half of the arrayfor ($i = 0; $i < 100000; $i++) {	unset($array[$i]);}echo "Final: ".memory_get_usage()." bytes \n";/* printsFinal: 885912 bytes*/echo "Peak: ".memory_get_peak_usage()." bytes \n";/* printsPeak: 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;}
英文出自:Designzum

Facebook真的要做“Facebook Phone”? 程序员,都去写一写前端代码吧 清除山寨和广告应用,“豌豆洗白白”服务上线 谷歌另类“开源” 程度仍不及Facebook和Twitter 想在云中分一份蛋糕? 不妨试试“山寨” 为何乔布斯脾气怪糟 却能让一群最优秀的人为他卖命? 单页Web设计案例+技巧攻略(多图) IE10里的捕捉模式和响应式设计 在“亚马逊商店”出售自己:产品经理这么找工作 【CTO俱乐部第92期】大规模存储与电商架构演化实战分享 刘黎明:PaaS是非主流业务,要与IaaS融合 个人手机游戏开发者之死 为什么苹果的应用审核是个笑话? 程序员性格怪癖是才华横溢的表现,还是危险分子的征兆? JavaScript Source Map详解 8条学习编程的可靠建议 一周消息树:亲爱的GitHub,我们怎么访问不了你? [回顾] 2012年几大编程语言就业趋势分析 研发周报:微软无视W3C 拒绝遵循WebRTC标准 移动周报:夫妻档闯江湖 事业爱情双丰收 当服务器遇见锤子:第六届AWS全球创业大赛落幕 C# DataTable 和List之间相互转换的方法 iPad如何在三年内改变世界 划时代的成果:新DNA存储技术 轻而易举装下世界 谷歌产品设计:Larry Page的魅力革命 开源移动统计工具Countly更新 支持Unity 3D DailyCost传奇设计师访谈,彰显HTML5移动应用优势 如何成为一名架构师? Apache Hadoop集群的安全性架构 Wood Camera开发者访谈:我们如何冲到榜首的 代码审查:程序员内炼之道 请问一个关于visual studio.net的问题 在线求解,很急,谢谢 程序是SQL Server2000+Delphi6的三层结构,打包问题,大侠请帮忙!(200) ¥¥火星人都不会的问题!巨难!欢迎各位! 这里有没有兄弟写过“万邦“图形采集(winbond)的应用程序没有 关于输入法 为什么ASP页面关闭后,session中的值还存在呢? 到底有没有官方出的VS6.0中文版?? 请问怎样给一个buffer中所有数据清0 test 数据采集问题,高手指教!!!急 为何我修改了打印纸尺寸但不起作用? 请问大家现在MCSE的题目变了没有啊? 共同学习 高人指点一下 DataGrid如何实现如下功能? 如何在图片框中按鼠标时知道当前鼠标在图片框中的坐标?谢谢! 【骂人】destroy(只想灌的爽)进来 散分~~~~前5名!谢~ 请教两个问题,专家请进! 请问在什么地方可以找的计算机方面的中英文对照翻译? Dll向主窗口发送自定义消息? 如何用MoveWindow()和SetWindowPos()来改变窗口大小(最好有个例子)! script参数怎样传输到applet中 怎样把jpg转换位BMP,在线急等 我要开放mssql的访问,在防火墙中是不是只要开放1433端口就可以了? 外面买的2000安装盘有的里面只有一个程序,叫什么ghost,好象运行它后就可以非常快的安装2000,请问这个ghost是用哪个软件做的? 系统初始化把所有数据库里面的内容删除,保留表的结构,这是怎么实现的? 如何将AnsiString转换成LPCWSTR? 我想请问一下,当panel显示时如果下面有<select >控件是,这个控件不被盖住,结果好象panel破了下一样,请问题怎么办!谢谢 如何把这个程序转换成java程序,我够菜的:( 高分请教如何实现本地网址过滤?就好像反黄软件,或公安的监控软件一样。 又有问题了 谁能贴一个关于TQUERY,TTABLE等控件的数据库应用的详细使用 我会jsp+servlet sql server完成小项目 找相关工作还咬什么? vs.net的问题,看看你遇到过没有? 答者有分!怎样用超链接调outlook发邮件? 怎样把不同机子上的vc++模块连到一块 关于自增自减运算符的问题-缘引老师的教案 在SCO上配置Informix遇到n多问题 急!寻解线性代数方程组的算法程序或者相关资料 假设在 MDI 程序中打开了3个文档,现在想将其中一个文档提到前面显示 php语法的一个小问题 MM,有个难题急需解决(关于 DateTimePicker控件的) 请看图,长得巨像梁朝伟的工地民工!! §§如何从Variant变量中取出有符号long型值? 关于vc++和visual prolog的接口问题 Exchange 2000 Lotus connector 怎样把<<石器时代>>游戏里的图片和动画弄出来??? 有关PHP使用相对路径访问ACCESS数据库的方法。 大版主,特别是阿信,进来看! 第四周期中,第一电离能最小的元素是 谁给我些关于长跑的好句好段或作文啊,急啊!越多越好! 当面对死亡时,你是怎样的一种态度?这次的汶川大地震让我感触良多,人的生命是那么的脆落,我们随时都有可能像这样瞬间遭受到死亡的威胁,换位思考,如果是你,你会是以什么样的心态去面对 肝贮脂细胞与脂肪细胞的区别 电离能大小的问题Mg的电离能为什么大于Al的,可以用钻穿效应解释么?还有,S的电离能为什么比P的稍小些? 一个人要如何面对死亡当病魔到来时,要用什么样的心情去对待它,又有几人能很好的去处理呢? 东海一览的速读训练课程好用吗?有没有人用过? 冒几是什么意思 拉屎吃屎吃屎拉屎吃屎吃屎拉屎吃屎吃屎拉屎吃屎吃屎拉屎拉屎吃屎吃屎拉屎吃屎吃屎拉屎吃屎吃屎拉屎吃屎吃屎拉屎、、谁吃屎的、有赏 求细菌穿刺实验详细过程 O和P的第一电离能如何比大小 阿尔法射线、贝塔射线能杀菌吗? na的第一电离能na不是3s能级半充满吗?为什么电离能小呢? S,F,N,P第一电离能大小如何比较,最好能详细点 英语翻译Dolorosa,flumenosa,desolata,lacrimabilaDolorosa,flumenosa,plorata “不同细胞的基因经过不同的重组,所以合成的蛋白质不一样”错在哪? 颜色 英文怎么讲是颜色的这个词是 颜色 这个词 王安石《泊船瓜洲》的拼音 骨骼肌细胞和肝细胞中表达的基因与细胞中所含的总的基因哪个多? 速求原图.快 英语翻译再增加一个:信任 Al..Na..F..Cl这四种元素第一电离能由小到大的排列顺序是? 三个100pf电容并联等效一个300pf电容不?主要是指在频率特性方面~谢谢 为什么磷的第一电离能比硫高呢? 在郊外偶然捡到一神器,这是什么枪上的?摔地上会炸吗? 我先感冒咳嗽 头发热会不会是手足口病呀 患者信息:11岁 一花一四季,一爱一人生,一花一世界,一叶一菩提 能和爱情联系起来么? 文中“被上帝咬过的苹果”是比喻“被蛀虫的烂苹果”是比喻求大神帮助 世界上有什么动物一生下来就不喝水?注意:是一生都不喝水的 一花一世界.一叶一追寻.一曲一场叹.一生爱一人.一世思一人.为他而活.为他而梦.为他而醉.在他怀中枯委有何妨? 人的手上都有什么细菌?如什么大肠杆菌什么的?这各种细菌分别会给人类带来哪些病害?各有多少呢?希望各位网友快赐教,快 生物与非生物的区别是什么?拜托各位大神 一叶一菩提,一草一木皆因果;一花一世界,一人一生皆为空. 求大神解答语文题:文中划线句的比喻把__比作 __,两者的相似点是 ______.这一比喻形象生动地阐述了作者的独特见解.(划线句:相交多年的密友,就如同沙漠中的古陶,摔碎一件就少一件,再也 用英语介绍学校,怎么办?听说你是学英语专业的, 英语作文 You're suppose to choose one of the three people to attend your New Year's Party.They'reLincoln,Michael Jackson,Einstein.Develop an article of about 150 words to explain the reason why you've chosen this particular person. 如何诊断细菌病害 涂装UV机是什么意思? 该怎样面对死亡?害怕亲人离去,害怕自己死后什么都不知道,虽然自己出生前也是一无所有,可正因为活过才知道生命的可贵,害怕一觉睡去再也醒不过来,仿佛自己没有来过这个世界? 番茄有几种细菌病害 问几句英语翻译 1.我认为学英语听说一样重要 2 今晚电视上放映什么节目?3 那些登山者救了自己 踩到狗屎意味着什么. 冒味是什么意思 点豆腐的卤水到哪里去买?化工品店里有没有? 怎么面对死亡?我爸爸得了癌症,我怎么面对爸爸将来某天的死亡?别复制,我不怕死 我不知道我爸爸是什么面对的 你们只要告诉我该什么面对就行了(我今年17岁) 冒出是什么意思 y粒子有质量吗 踩到狗屎意味着什么?急 冒称是什么意思 α粒子的质量是多少? 如何面对死亡? 我做公交车K46路的那个“K”是什么意思啊? 冒是什么意思 为何使用氯化钙处理基因工程中的细胞的通透性而不能用氯化氢来处理,原因是什么?从高中必修二的教师参考书里可以找到说明但无详细的解释。 元素周期表中O CL电离能大小如何比较C N CL Br I O CL又如何比较 多巴胺产生于脑内哪个部位? 怎么判断那个粒子质量大 帮我解释下k46和旋的含义,在c调上举几个例子 第一电离能的大小比较?已知X、Y元素同周期,且电负性X>Y,则第一电离能:YAl,就出现了与之相反的结果) 一个氢原子发射一个光子,氢原子的运动方向如何?原子接收一个光子其运动方向...原子的运动方向与光子运动方向,会成一定角度吗,请高手给与指教. 大学教会你什么?两大美制军机入驻台湾 下一步军购欲争多伦多市长福特最近麻烦不断芬兰外交部长期遭入侵 媒体乱猜中俄黑苏格兰部长为中国教师要签证 英称将严美媒称“画狗大师”小布什要给政坛老友多伦多市长福特最近麻烦不断美国国务院称在钓鱼岛问题上立场未变外交部:美国不是钓鱼岛争议当事方 应“不稳定之弧”挑战全球反恐 跨界军事博尔特自爆在北京拒吃中餐 吃了100小泉之子等日高官“不动产和储蓄”为零缅甸传奇双胞胎重聚 八岁即建“上帝军斯诺登发公开信谴责美英 吁全球性解决埃及“世纪审判”再被推迟纽约商品交易所黄金期货市场4日上涨叙利亚强调将在战乱期间保障民众医疗条北京中小学禁售碳酸饮料引争议 被指管油价4日上涨美元对主要货币汇率4日下跌俄大力保护文化遗产联系服务群众畅通“最后一公里”李经:《创新劳动价值论》修订版出版座贵州凤冈县“四直为民”联系服务群众 王强:提升县域治理能力广东人均用水量连续10年负增长朱德主持的一次民主生活会国际新闻早报:俄外长说西方制裁无法达千年格萨尔在中国藏区焕发新生“大学校训传播社会主义核心价值观”研加沙:医生为死去孕妇剖腹产 救出孩子莎娃糖果遭英国政客质疑 或因糖分过量2014.07.29 00:45:2沈阳逃犯驾车挟持两名人质被擒俄罗斯悬赏高额奖金 寻找破解匿名加密张杰辉:扎实推进政府网站建设和安全管河北省将突出抓好省市两级政府门户网站非法售卖“毒豆芽” 4小商贩番禺被批街坊们,广州图书馆已经重新开馆啦!郑州沿黄快速通道明年4月建成通车惨!前巴西国脚遭球迷围殴 挨打第2天三年如何实现育儿购车目标?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘