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

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

个性化推荐服务商百分点宣布B轮融资1000万美金 全球著名互联网企业背后的开源力量 基础设施对决Facebook vs. Google:差距绝不是一点点 Amazon Q2财报同比转亏,但AWS反其道而行:高歌猛进! 开拓海外市场的两年:海外上线小技巧 SDCC 2013首批讲师名单出炉 一线工程师唱主角 [开源推荐] 跨平台的.NET运行环境 Mono 3.2发布 Heroku发布API平台Beta版 采用OAuth2.0安全授权 大数据时代:移动数据能为我们带来什么? iOS开发经验谈:如何提高应用开发效率? 贝索斯:你否定亚马逊的现在 我决定亚马逊的未来 谷歌新产品Chromecast:一夜之间价格从35美元飙至100美元 移动周报:苹果5周年限免神作,BADLAND开发者访谈 开源平台Cloud Foundry获IBM和百度支持,步入高速发展的“黄金期” GDK仍未发布 谷歌鼓励Glass开发者可提前用Android SDK开发 Adobe发布PhoneGap 3.0 支持命令行工具 初级vs.高级开发者 哪个性价比更高? 一周观察:Cloud Foundry生态圈渐成型 数据分析中的10个注意点,让你更了解用户体验、行为及需求 压不垮就奋行!Dropbox Datastore API给初创NimbusBase带来的启示 史上14大最具创新意义的科技发明 亚马逊应用商店:给应用开发者一个国际舞台 白帽黑客英年早逝:R.I.P,Barnaby Jack 苹果发布支持iTunes Radio服务的iTunes 11.1测试版 诺基亚将发布Treasure Tag配件 让你再也不怕丢东西 从三大互联网巨头布局,看移动时代的商业逻辑 亚马逊应用商店:一个开发者走向世界的机会? 企业级App探索:开发者们的正途在哪里? 如何有效地在海外市场推广产品? 网站转化率统计分析及优化方案 从资深设计师那我们能学到什么? 谁知道怎么验证一个用户名和一个密码是不是在WINDOWS2000中添加过的?而且正确? 。。。谁能给我发一个“智能狂拼2”的下载连接地址 请求--网页评比规则? 在visual.net上无法调试存储过程。急。求救 asp加密程序 我用SQL server+DElphi中的ADO做数据应用程序,数据库备份后,怎样实现数据库的恢复? 贴子太多了,看不过来了,大力liuri出来讲讲 sqlserver 用 jdbc出错 ,Microsoft][SQLServer 2000 Driver for JDBC]Error setting up static cursor cache 如何在C#中用代码控制本地FTP服务打开和关闭?99分,中秋快乐. 关于dll的问题,在线求教 昨晚,我抱了我MM一下!开心呀!散分! 有什么软件可以使上网不受防火墙的限制? 一个C的图形函数,请问怎样用的? 数据库查询语句执行错误 web页面的activex控件怎么调用服务器上的动态连接库?? 中秋散分 【泰坦】祝大家中秋节快乐!(1) 纯jsp聊天室的页面刷新问题 这个MSDN是不是常说的那个MSDN资料库? 一句sql语句问题 【泰坦】祝大家中秋节快乐!(2) 我的触发器为什么没有响应啊。在线等啊 pb9.0+sql server 2000,怎样制作程序发布? pb给dll传递结构数组的问题。急!!! pb9.0+sql server 2000,怎样制作程序发布? 为什么关闭MSDEV的时候,会导致它占用90%以上的CPU时间??? 如何在代理中同時讓兩個套表同時結案 菜鸟问题:我想把一个CString类型转换成LPBYTE类型应该怎么弄? 如何在JRUN3.1中连接SQLSERVER, 我的web server用的是IIS5 怎么样在JSP中显示 WORD 或 WPS 格式的文件? 如何在servlet 中存储数组用javabean 取数组用JSP显示(在线等,急,谢谢) 如何使Response.Redirect "xxx.htm"打开的网页是满屏显示! 鄙视民工的人,给你讲个故事听。 庆祝中秋佳节,大散分~ 中秋节到了,与大家同庆,散点分!!!祝大家开心呀! VC的bug!!! 游戏、网络、图形等版块正在整顿中,有意见或建议欢迎提出!! 如何进一步提高C语言的功力???? 学习JSP的过程中遇到的问题(问题1),请进!!! 大家说一下网上下载的水晶报表crystal report 9.0会过期吗!!买一套要好几万的! 有个问题想请教,关于数码相机生成的图片的格式及存储方式! 在网站上数据保密问题 我用Inet控件下载文件时,经常会遇到无法结束程序的问题? 我在用电脑的时候,有时会提示我们插入WIN98光盘,但我现在用的这台,它会自动扫描的,自动查找,是怎么回事啊,在线等啊。 请问有DOS下的C++编译器吗???哪里下载?? 如何指定DataGrid的列宽呀 求boundschecker下载地址 怎么实现放大缩小的功能? 广州一妓女出租屋中被杀 被单缠身只穿一条内裤 关于setup Factory 和wise installer制作安装程序的问题 500分求解,解决问题结贴 关于细胞增殖会的人说下嘛,我在此先感谢你们了0a 劲的前鼻音与后鼻音有什么区别 伊林公式的使用 一座尺寸38mX25mX8m(高)的大厅 共有1200个席位.装修表面是硬表面 平均吸声系数0.05 每个席位占有地面面积0.6㎡ 如果坐在席位上的听众每位吸声量是0.4㎡,空席位吸声量是0.28㎡ 这下面这个公式,是怎么推理的呢?还有等号什么时候成立呢? 若x,y满足log[4cos²(xy)+1/4cos²(xy)]=lny-y/2+ln(e²/2),则ycos4x的值为 音标cal结尾与ca结尾的怎么读?/音标cal结尾与ca结尾的读法是什么 比如historical 与historic读是区别是什么?historical的cal的读法是不是和michael结尾的chael一样的读法? 化学Ca(OH2)怎么读 《荷兰牧场》文中哪些内容属于动态描写,哪些内容属于静态描写?2011年6月19日19时回答完毕 斑点热立克次体检测试剂,哪家公司有的卖?又好用的?急! 北京城是按照哪种风水建造的 恙虫病怎么拼音 联合国首次主动攻击非洲叛军 或抛弃被叙总统要求西方为日内瓦会议停止资助叙新书显示挪威杀人魔在母亲逝世前曾向其旅游局:明年节假日方案仍在研究 将参以色列批准新建1500套定居点住房遭澳大利亚药物管理局警告当地人勿饮壮阳法国部分知识分子反对将嫖娼列为违法引韩国防长称将重组国军网络司令部 提高韩国防长称将重组国军网络司令部 提高第6届义乌森博会开幕 25个境外展团斯诺登不会赴德就监听事件作证 可在俄攻城掠地之下外资品牌失色王菲刘嘉玲搂着好开心专家提醒父母应对少儿情商负起责任曼城登上榜首 曼联迎六连胜IPO重启 年底债基发行主投“打新”粤50家金融机构荣登《信息时报》“金郎平:霍奇连路都不能走海信VIDAA TV强势出击首届新广州人歌唱大赛落幕广大附中文化节上演口才PK 表演名著“铁血战士”将诞生骨翠我们不会白头偕老众火之神总裁之代婚新娘闯荡修真界如果爱下去冷情总裁:老公是我的风流三国2终成眷属天乾至尊残酷总裁的新婚逃妻古市楼旅游绳武楼旅游观海园旅游和谐钟塔旅游黄金广场旅游照金香山旅游陈炉旅游三原城隍庙旅游柴埠溪旅游莘庄公园旅游银滩湿地公园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘