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

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

市场化API的十个捷径 MongoDB和Cloudera结盟,欲征服大数据市场 红帽收购Inktank,将统一Gluster与Ceph? 那些巨头公司Logo是这么演变来的…… 以史为镜,剖析PaaS大迷局 “心脏出血”还不够?又曝OAuth和OpenID登录漏洞 走近讲师:搜狐于顺治讲述搜狐PaaS云平台实践之路 AppFlood 2014 Q1报告:亚洲和中东市场成为开发者出海首选 华为联合运营商构建能力开放平台 Facebook产品设计主管:揭秘公司如何招聘优秀设计师 【附信息图】美国因软件缺陷导致的十大事件 二十一世纪Windows简史 为什么用户体验和生态系统决定云公司的成败 三星Tizen,路漫漫其修远兮 用户体验是新优势,互联网会受到何种影响? 从GitHub看编程语言流行度 陈沙克:Openstack Horizon Icehouse Blueprint简介 叶琪:Hadoop不是万能的 要明确场景扬长避短 云网融合驱动数据中心技术聚变 给想持续编码CEO的4个建议 盘点开发者最喜爱的十大开源Xcode插件 Cloudera CTO:取代MapReduce 未来会加大Spark等框架投入 中航信资深分析师李洋:自主搭建云平台 助力民航业低成本迎接大数据挑战 安全狗创始人陈奋:借助Hadoop与Spark,欲打造服务器上的360 业界良心:Square开源Viewfinder,25万行代码全公布! 比尔·盖茨:核心业务Bing虽不赚钱,却不能拆分 不可错过,参加第六届中国云计算大会的十大理由 章津楠:未来三年,OpenStack将成为企业去V首选 EMC收购闪存初创公司DSSD,走出联合储存战略第一步 创业失败的七个原因及解决之道 集结号:最受开发者欢迎的跨平台游戏引擎 将10进制转换成16进制的函数是什么啊? VC高手,怎样以编程的方法实现磁带机的Backup 和 Restore. enmity,进来,我给你结帐.共200分 支援白菜300分,支持白菜个人网站建设:))) CMM 的缩写是什么? 想和大家讨论一下怎样系统的编制软件 如何实现和Word、CorelDRAW同样效果缩放位图 请问各位大哥大爷大妈大。。。。。。。。。。。。。哪里有支持 ASP 的服务器软件下载 我该如何控制IP地址??高手请进。。。 弱弱地问:关于SQL server中的中括号。 各位侠客帮忙啊,重新装系统出了问题!! 一点点小问题????? 请问在 WINDOWS98 下面,除了IIS,还有没有支持 PHP 的服务器软件呢? 在ADO中如何获取表名 关于ASN树的问题(snmp中的MIB的拓扑树) 你是高手你进来!!!!! 各位的顶级域名都在哪申请?价格/速度如何?大家都来说说! DirectX8的MultiFileReader过滤器怎么找不到? 关于用VB显示ado数据库中的图像字段问题 大家来谈谈Msdn如何有效利用 请各位帮忙查看我这段程序错在哪里 , 我是照书上做的 , 可就是无法保存. SQL plus 为何无法登录?? 谁要下载msdn? 紧急求救!寻找工作! 最新新消息~~~~~~~台灣地區中午地震最大震度花蓮市5級 有没有大连的公司要俺? 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了 怎样以编程的方法实现磁带机的Backup. 愿者请进,请各位留下自己的QQ或E-mail,以后大家可以多多交流!!! solaris unix8 的一个问题 asp是用什么软件的阿?我用了interdev,可是开始新建项目时就不行,叫你输入serve时,总是不对?应该输什么啊? 关于字符集 哪里有好的LAN管理软件??? 一个去美国的机会,保签(替朋友贴的,信誉没问题) 打印没有输出? 动态分配内存 因为本人准备过一段时间出去找软件开发工作,本人手头有一张高级程序员资格证书,但没有本科学历请问?? delphi6.0中 data access中怎么没有ttable 和tquery部件了, 该怎么办? 在w2k 下多用户的自动登录。。请指教? SubclassWindow的问题,急,多谢!!!! 高分求购高程经验 一个留学美国的机会,保签 本人手头只有一张高级程序员资格证书,但没有本科学历请问?? 请问如何制作多表头报表,有什么好的VCL吗? 关于水货手机的问题 Is there very large defferent between VB and delphi? Wise INSTALL 安装 DELPHI 出现了问题? 怎么能得到系统中所有窗体(包括其他应用程序打开的窗体)的句柄 bmp图像 网络是泡沫 网络文学是垃圾!! 请教WIN2000下协议绑定的问题 盘面里的黄金分割线怎么看滴……0.618 0.5 0.382 都有说法吗? 饮水机上的水,热水温度最高能达到多少度?另外喝自来水加热过的水好还是喝饮水机上的热水好? 长期饮用纯净水有利健康吗? 1.618黄金分割黄金分割 饮水机桶中的水会不会和烧开的热水混合?如果把自来水灌进桶里,当做饮用水好不好? 饮用纯净水和自来水相比哪个对身体好 黄金分割比例是0.618,这句话对吗要注意各种细节哦~ 饮水机的水是烧开的吗?有没有到100度?我想用自来水放到桶里来用不知行不行. 家庭过滤饮用的纯净水哪种对健康比较好?现在市场上提供的家庭用过滤饮用水装置有多种类型,价格从几百到几千不等.有的用反渗透膜把水过滤得除了H2O之外,几乎没有别的东西.有的(不用 黄金分割比是什么 我们家自来水烧开后特别难喝,现在每天喝饮水机过滤的水,长期喝有好处还是坏处阿?饮水机过滤的东西是碳粒我家水壶是不锈钢的,很干净的!没有水垢,自来水里应该不含碱(烧开的水没碱,没 长期饮用纯净水对身体好吗 黄金分割里较短线段与线段的比值= =就这样..不要小数带根号谢谢...是较短线段与线段的比值注意~较短线段较短线段较短线段较短线段..... 现在那些饮水机的水被反复反复的烧开,喝了这对身体有什么影响?据说烧开5分钟还是10分钟之后的水就不宜喝的了具休是几分钟啊?忘记了 末端直饮机出来的水是纯水还是矿物质水?直接饮用对健康有益吗?纯水是不能饮用的吧? 生活中的黄金分割的实例,差不多要3个,具体一点~~~ 饮水机是过滤的,现在不想用过滤桶,能用桶装水吗 桶装水和烧的自来水哪一个对身体健康更有利? 黄金分割有什么生活实际应用实例?我们今天学了黄金分割,但不知道究竟有什么用途`` 过滤饮水机用自来水过滤可以吗不要复制``我想买一个过滤饮水机``就是桶上有过滤东西的`自来水直接倒进去能喝吗? 喝烧开的水是不是比纯净水对身体好呢?> 生活中的黄金分割比,快一点,一定要写出比. 请问饮水机是买桶装水的好还是自来水过滤的好? 烧开的纯净水与没烧过的纯净水,混在一起喝, 能举例告诉我黄金分割广泛应用于生活用品的例子吗 美的的饮水机过滤器过滤之后水里有自来水味道? 喝烧开的自来水好 还是喝桶 装的纯净水好 【】“黄金分割”在生活中的例子?【】如题 美的饮水机过滤后的水直接饮用还有自来水的味道,能直接喝吗?新买的美的饮水机,带陶瓷加活性碳过滤的,过滤后的水还是有自来水的味道,可以直接饮用吗? 纯净水可以烧开喝嘛 我们喝什么水健康烧开的自来水致癌 婴幼儿喝桶装水好,还是自来水好? 在水处理中,超滤能除去水中的细菌病毒吗,超滤产水可以钦用吧我们公司用的就是超滤产水用作钦用水,但水质不得而知,最为严重的是喝这水有一种味道,有种土腥味,大家都不知道到底能不能 水二次烧开喝,对身体健康有影响吗?二次烧开的水是什么味道?蒸馏水一样的无味吗? 城市居民一般喝什么水,烧开的自来水,还是桶装水,还是买的矿泉水 自来水中细菌病毒含量多吗?加热煮沸能除去水中多少的细菌病毒? 如何饮水更健康? 专家:自来水烧开喝安全 喝什么水好呀?是烧开的自来水还是桶装水呢? 〓合格的糖果.饼干包装能抵挡细菌病毒吗?放在水中会入水吗 自来水烧开就是安全的饮用水吗? 桶装水健康还是家用电壶烧开的自来水好? 水可以冲走细菌和病毒吗如果只用清水洗碗,可以冲洗掉细菌和病毒吗?比如大肠肝菌和流感病毒,如果家里有人得了流感,那用过的碗单独用清水冲几分钟能去掉流感病毒吗 饮水机的水反复烧开能喝吗? 武汉的自来水和桶装水哪个更健康?(自来水有味道) 100度高温是不是可以杀灭所有的病毒和细菌? 有没有关于黄金分割线(黄金比例)详细的介绍?如:黄金分割线的来历、应用范围等等. 自来水安全吗?烧开就可以喝了吗? 喝桶装水好还是自来水更好? 黄金分割是比例中项吗? 饮水机一般把水烧到几度? 喝自来水好还是桶装水好 为什么只有黄金分割比例 饮水机里面的水一定需要烧开了才能喝吗? 用自来水烧水好还是用桶装水烧好? 黄金分割定律1.618还是0.618如题... 饮水机喝的水是用自来水烧的,红的一边是开水,蓝的一边接的水可以喝吗?拜托了各位 谢谢 自来水烧开了和桶装水有区别吗? 股市中黄金分割数据中出现了0.382 、0.5 、0.618 和1.382 、1.5、1.618这两组数据?应怎样区分 饮水机放自来水饮用对身体有害吗? 喝桶装水好还是自来水烧开好
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn