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

直接拿来用,九个超实用的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

Google与Facebook的产品研发之道 小米海外扩张第一步 红米进军新加坡 Google I/O大会时间已定,Google Glass真的来了? 精英团队PK全能型数据科学家,拼的可不只是数量 专攻移动支付?PayPal将面向全球开放移动SDK CoconutKit:iOS开发必备的开源组件库 个人隐私是如何“泄漏”的:国内外互联网企业隐私策略对比 惠普2014年Q1财报:净利润同比增16% PC业务逆势好转 “阅后即焚”挖谷歌墙角,GAE技术大牛跳槽Snapchat 日800万访客、20万RPS网站的5个9可用性架构 程序员想找好工作?那就学好Linux吧! 一周消息树:开源专家袁萌,国产COS操作系统是“杂种”,不是中国软件梦 移动周报:对话智能硬件云服务平台Yeelink Node.app:用Node.js API开发iOS“原生”应用 Google Project Tango:能3D捕捉的智能手机 成功打造Evernote API生态系统的五大经验 研发周报:Google与Facebook的产品研发之道 AMD高级副总裁Lisa Su访华 宣布引领AMD复兴的五大战略 一周热点:IBM新技术使网速达400G/s,硬盘会“烧掉”吗 特种作战,纽约极客企图建造现实中的“潘多拉星球” 领先Google 150年的数据可视化和“不务正业”的超级计算机 苹果会成为新微软的四大理由 雨血&#183;影之刃:参选2014年Unity游戏及应用大赛 AT&amp;amp;T联手IBM对抗AllSeen:“晚点和堵车”将成历史 微软WP春季更新将降低手机生产成本 意在开拓新兴市场 私人定制,十款最佳Node.js MVC框架 开发者“逆袭”,就等你一票! 基于多路云计算方案焕发新春 浪潮抢发E7 v2服务器 美国人眼中的腾讯 英特尔发布64位凌动处理器Merrifield 布局移动市场 OvershareKit:开源的iOS社交分享工具库 老兄给一些建议啊!用VB做什么毕业设计比较合适啊? 急,获取主板信息的问题! 请教finder的排序问题 mysql对一个数据库中表的数量有没有限制? 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 为什么我收到的邮件列表每次都是乱码?怎样打开? 大家帮看看这段代码哪出问题了,在线给分 求高效统计算法(在线等待,采纳着需要分来信200) 怎样将bcb中vcl 及其他组件改为activex??? 微软的面试题 treeview 控件在客户端的操作? 怎样在程序里找无标题的DLG! j2me中请问如果将textField中的内容写入到moto388手机的记事本中? 谁可以和我说一下LINUX是如配置的! 请问:如何在java通过xml文件和他的schema,既得到标签里的内容,有能够知道内容的类型 已修改的列 C++Test讨论区 菜鸟提问,大家不要笑我啊! 这里还有人在用Java IDE工具JawaBeginer的吗? 有谁知道aspopup控件的功能和作用--在线等待 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 简单的菜鸟问题!! 如何写WPE这种类型的软件? 向DX请教两个开发上的问题,请不吝赐教! java中字符串数组,转化为javascript数组,jsp页面显示为乱码,代码如下: 小问题一个 有关QuickStart中示例 求SQL语句,一表值通过另一表更新 关于activebar 2。0 请问哪个中译英的免费软件好一点啊? 大虾救命:TCP编程的客户端端口占用问题 关于记录集的关闭! 本人现在做一个例程时遇到问题,编译后什么反应都没有,请教~~~~ 参数传递问题 刷新 LPCSTR在哪个文件里定义的? 如何判断一个存储过程已经存在??(在线) 关于TOMCAT的配置问题? datawindow的checkbox里可以放图片吗? 关于COMS的问题 interbase 数据库损坏???? 在线等待(100) 怎样使得打印预览文档位于数据窗口的正中间.在线等待...谢谢 在VB中,用ADO怎么才能用oracle的DBLink传输数据 在VC中如何遍历注册表 我好着急,好难过为什么没有人回答 Google是不是又被封了?!这几天怎么都上不去... 如何自启动程序?? LPCSTR在哪个文件里定义的? 全局数据库的含义是什么?(菜鸟问题) 郁闷!有个总要求我哄她的gf,真是郁闷 哪里有vc和ActiveX控件的书籍下载(新手,请多照顾) 关于摩擦力的产生条件之一相对运动趋势这个相对运动趋势我不明白! eU=1/2mv^2. 这里面的eU. 是什么意思,这个式子又是什么意思 氯化钠有干燥作用吗 英语翻译 设加速电极电压为U1,偏转电极电压为U2.电子从加速电极射出时可以用动能定理表示速度1/2mv^2=eU1那么偏转电极上竖直方向速度Vy.书上Vy=at.不可以用动能定理吗?求高手指点 原始居民1、河姆渡 2、半坡 3、大汶口 距今年代,生活地区,原始家畜业,原始手工业,原始建筑业,分别怎么填?此链接的问题选答,不论怎么答都行,先答先采纳. 请问一下褐色的英文怎么说. 怎么答?快点快点给一百分一百分 历史填表题. 她的是褐色的怎么用英语说 如果点M(a,-3)在第三象限的角平分线上,则点M到y轴距离为 判断和填表题 已知圆C:x^2+y^2-2*x+4*y-4=o,是否存在斜率为1的直线m,使以m被圆c截得的弦AB为直径的圆过原点?若存在,求出直线m的方程;若不存在,说明理由. 中心极限定理.某书中共有100万个印刷符号,排版时每个符号被排错的概率为0.00001,校对时错中心极限定理.某书中共有100万个印刷符号,排版时每个符号被排错的概率为0.00001,校对时错误被发现 有关于tan cos sin 的公式可以提供下吗?还有tan^2 cos^2 sin^2 的转换公式.主要是倍角平方公式 已知圆C(x-1)方+(y-2)方=25及直线L:(2m+1)X+(m+1)y=7m+4(m∈R)由原点O到直线L距离算出::(5d2-9)m2+(6d2-12)m+2d2-4=0这里的d是什么我也知道是距离、这d怎么带进去的啊。 色素总吸收光谱远高于叶绿素a的吸收光谱的原因是 cos和tan怎么转换 new ipad是配smart cover还是配smart case好一点如果是smart cover有无必要选配真皮的,淘宝商城的店铺可信赖吗,有无必要再贴膜(会不会影响使用多点触控) 请问第二题怎么写. 机械能守恒定律难题及解析半径为r,质量不计的圆盘盘面与地面相垂直,圆心处有一个垂直盘面的光滑水平固定轴O,在盘的最右边缘固定有一个质量为m的小球A,在O点下方离O点r/2处固定一个质量 “弦” 念什么?拼音怎么写? 小力、小军和小斌各有若干元,小力先拿出自己钱数的一部分给小军和小斌,使小军、小斌每人的钱数增加一倍;然后小军也拿出一部分给小力、小斌,使现在小力、小斌每人的钱数增加一倍; 第二题的第5小题的填表怎么做? 弦的拼音? the new ipad搭配一个iPad Smart Case还是iPad Smart Cover?听说iPad Smart Case套在new ipad上尺寸会小一圈,而且没有Cover的质感好是么?都说iPad Smart Cover不错,如果买Cover还需要搭配什么保护ipad?两者到底哪个 第二题填表,学霸们交交我 “滑动摩擦力不一定阻碍物体的运动,它总是阻碍物体的相对运动”这句话不明白..可以举些例子吗? smart cover和smart case区别在哪里 一个平底锅,每次只能放两张饼,一张饼要煎两面,煎一面要1分钟的时间,那么煎三张至少需要几分钟?一个池塘里生长着一种荷叶,假设荷叶每天的数量增加一倍,这样下去,第七天荷叶回长满池塘. 一全正,二正弦,三正切,四余弦.怎么理解这句口诀? 高手专家看过来:Ipad4是用smart cover 还是用smart case?smart cover的便捷轻薄,smart case的全方位保护,真是纠结,各位大侠给个建议:Ipad4是用smart cover 还是用smart case亦或是smart cover+伴侣?说一说原因, 第一题填表怎么写? 口诀:(各象限符号为正的) 一全二正弦.三切四余弦是怎么得来的 已知椭圆x^2/a^2+y^2/b^2=1(a>b>0)的离心率=√6/3若原点到直线x+y-b=0的距离为√2, 质量为m,速度为v的子弹,能射入固定的木板L深,设阻力不变使子弹射入木板3L,子弹的速度应变为原来的几倍 一全二正弦, 80摄氏度时40克物质溶于50克水中,所形成的的溶液为不饱和溶液,为什么 水稻适合什么土生长? 一个角的正弦余余弦的和为-1/5,求正切 已知椭圆x^2/a^2+y^2/b^2=1(a>b>0)的离心率=√6/3若原点到直线x+y-b=0的距离为√2,求椭圆方程. 子弹的速度为v时,打穿一块木板后速度为零,木板对子弹的阻力恒定,那么子弹射入木板一半时的速度为多少A.v/2 B.v/24 C.v/3 D.根号2v/2 打篮球时投球入篮筐与惯性有关吗 30克甲物质投入到50克水中,充分震荡后有5克甲剩余,则所得溶液中其溶质,溶剂,溶液三者质量比为? 如果气体通过nacl溶液会带出水汽需要干燥,那么会不会带出nacl分子呢,是不是气体经过所有溶液都不会带出溶质分子呢? 为什么抛出去的篮球继续向上运动进入篮筐? 要造一容积为1的圆柱形有盖铁通,问如何设计底半径和高,能使材料最省? 浙江省的土壤是不是水稻土? 为什么我不拿篮球能碰到篮筐,可拿篮球后就碰不到了 一个容积是314升的圆柱形铁桶,从里面量底面半径是0.4米,这个铁桶高多少米、 Cl2气体加饱和NaOH溶液是否能让干燥红色布条褪色?加饱和NaCl溶液? X1=1 Xn+1=1+Xn/(1+Xn)求极限Xn 【急】电子在公式eU=1/2mv^2中e是多少?m又代多少? 什么是有机质土? 麻烦谁帮我提供点关于殡葬执法实施办法的文章那位大哥帮帮忙,给我提供点关于殡葬执法实施办法的文章.谢谢拉 物理中的动能定理中的 w=eU 做题时看见的, 氯化钠是气体吗 关于西周时期的殡葬制度的疑问以周礼,天子7天而殡,7月而葬,尸体要在棺材里停7个月才能下葬,简直难以想象啊!那时候中国又没有木乃伊的技术,棺椁再厚也不是真空,7个月下来肯定臭不可闻 59.96精确到0.1 6359保留三个有效数字 0.50023保留两个有效数字 53.214精确到百分位 水稻土是含有机质较高的土壤吗 统计显示韩国“女大男小”婚姻比率逐渐分析称受教育程度越高越易于维持婚姻长促招商引资 奥巴马向外国投资者“推销泰国代孕黑市剥削孕母 酬劳低至5.8美国加油站员工遭枪击 子弹打中手机躲为表彰军犬贡献 美军方为军犬设国家纪全球首次大规模男性裸体展 法国美术展日本一男子摔死1岁女儿 只因其哭闹不巴基斯坦一亲政府部落长老与6名家人被西班牙一煤矿瓦斯泄漏致6人死 直升机日本诺贝尔医学奖得主为募资发薪水跑马美国加油站员工遭枪击 子弹打中手机躲穆兄会领导人将首次在埃及受审 原定于穆兄会领导人将首次在埃及受审 原定于日本一男子摔死1岁女儿 只因其哭闹不飓风袭击德国致多地交通瘫痪 乘客被困新华国际时评:“三无”安倍何谈“领袖中美就推动朝鲜半岛无核化和重启六方会俄圣彼得堡将遭强飓风袭击 涅瓦河水位日本一办公室里种大麻盈利逾千万日元 美国14名男子因向未成年人传播色情图成年残疾人托养机构首设一页繁华一页寂首都高校排球联赛落幕小马抢足风头高铁动卧票预售期30天今日开售北京男篮找回自己范冰冰肥美登场三条地铁新线公布首末车时间沪指3100点 创49月新高机关事业单位“吃空饷”曼彻斯特双雄拒绝冷门嘉禾车队大丰收北汽股份在香港上市你以为是鱼腩?错了!佩兰还在调阵容近八成家长不认同“学习好就行”本报推荐北京体彩销量破60亿一站式购物中心首进房山你以为是鱼腩?错了!本报推荐
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘