>
快捷搜索:

php程序的国际化完成格局_php技艺_脚本之家

- 编辑:皇家国际app -

php程序的国际化完成格局_php技艺_脚本之家

手续生机勃勃:搭建意况 1,首先查看你的php扩展目录下是否有php_gettext.dll这一个文件,若无,那就必要你 下载二个只怕从其它地点拷贝一个,然后嵌入php扩张目录。 2,张开php.ini,查找”;extension=php_gettext.dll“ ,然后去除注释,重启apache。 步骤二:原理教学 倘令你的远非国际化的顺序里犹如此的代码,echo "你好";,而国际化的前后相继你要写成 echo gettext;,然后再在安排文件里丰裕“你好”相呼应的立陶宛共和国语“Hi”。 这时,中华夏族民共和国地区浏览都会在显示器上输出“你好”,而United States地域浏览都会在显示器上输出 “Hi”。约等于说,最后显示怎么是依靠你的配备文件而定的,若是找不到布署文件, 才会输出程序里面包车型地铁内容。 步骤三:编码测量检验 1,我们在d:www下边新建文件hi.php,详细代码如下 复制代码 代码如下:

复制代码 代码如下:

抓取远程内容,早前一直都在用file_get_content函数,其实早就精晓有curl这么叁个好东西的留存,不过看了一眼后感到使用颇有些复杂,未有file_get_content那么粗略,再不怕必要也超级小,所以并未有读书使用curl。直到近期,要做多个网页小偷程序的时候才发觉file_get_content已经完全不能够满意急需了。笔者感到,在读取远程内容的时候,file_get_content除了运用比curl便捷以外,其余都未有curl好。

消除办法: 使用PHP消亡使用file_get_contents函数,但是优劣势若是url不能访谈,会并发终止程序问题使用curl重临,然后判别是还是不是科学执行使用get_headers函数,依据HTTP重返值查看是或不是有200 使用js化解: 使用原生的js函数ActiveXObject,仅扶植ie内核的浏览器 使用jq扩大本文重要介绍PHP清除办法中的第二种,这几个办法少之又少用到,可是认为又兴起还不易, get_headers必要扶持 php_openssl协助 查看phpinfo看看是或不是开启 allow_url_fopen=on 改良php.ini,运维使用远程展开 函数介绍: array get_headers ( string $url [, int $format ] ) get_headers(卡塔尔国再次来到八个数组,包蕴有服务器响应二个 HTTP 乞求所发送的标头。假若战败则赶回 FALSE 并产生一条 E_WA奔驰M级NING 级其余错误新闻。 假诺将可选的 format 参数设为 1,则 get_headers(卡塔尔 会拆解深入分析相应的音讯并设定数组的键名。 举例:

复制代码 代码如下: //推断远程文件 function check_remote_file_exists { $curl = curl_init; // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true卡塔尔; // 发送诉求 $result = curl_exec; $found = false; // 假使央求未有发送战败 if { // 再检查http响应码是不是为200 $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if { $found = true; } } curl_close; return $found; } 这几天在弄二个html5音乐广播的网址,想让自个儿的iphone和ipad爽生龙活虎爽,前端接纳jquery的一个插件jplayer,经过改建之后效果还行。 后台接纳PHP,定期收罗百度的VCD。 考虑到自个儿服务器空间菊紧,当然只可以搜集DVD地址,文件并未下载到本地。思考到百度DVD路径常常变,实在是蛋疼,于是必得依期判别一下MP5路线还对不对,于是就有了PHP判别远程文件是还是不是留存这篇软文。开端用get_headers(卡塔尔(قطر‎方法,后来听别人说存在成效问题,于是不利用此施工方案,可是也许有意依旧无意生龙活虎提吧,下边看看get_headers函数的成效: 复制代码 代码如下: //私下认可效果 print_r(get_headers("")); 结果: Array ( [0] => HTTP/1.1 200 OK [1] => Date: Thu, 02 Jun 2011 02:47:27 GMT [2] => Server: Apache [3] => P3P: CP=" OTI DSP COR IVA OUR IND COM " [4] => Set-Cookie: BAIDUID=7F6A5A2ED03878A7791C89C526966F3A:FG=1; expires=Fri, 01-Jun-12 02:47:27 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1 [5] => Last-Modified: Thu, 20 Jan 2011 07:15:35 GMT [6] => ETag: "65e-49a41e65933c0" [7] => Accept-Ranges: bytes [php程序的国际化完成格局_php技艺_脚本之家。8] => Content-Length: 1630 [9] => Cache-Control: max-age=315360000 [10] => Expires: Sun, 30 May 2021 02:47:27 GMT [11] => Connection: Close [12] => Content-Type: image/gif ) //加参数1的效果 print_r(get_headers("", 1)); 结果: Array ( [0] => HTTP/1.1 200 OK [Date] => Thu, 02 Jun 2011 02:49:28 GMT [Server] => Apache [P3P] => CP=" OTI DSP COR IVA OUR IND COM " [Set-Cookie] => BAIDUID=4D875812FC482C0ADE4F5C17068849EE:FG=1; expires=Fri, 01-Jun-12 02:49:28 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1 [Last-Modified] => Thu, 20 Jan 2011 07:15:35 GMT [ETag] => "65e-49a41e65933c0" [Accept-Ranges] => bytes [Content-Length] => 1630 [Cache-Control] => max-age=315360000 [Expires] => Sun, 30 May 2021 02:49:28 GMT [Connection] => Close [Content-Type] => image/gif ) 怎么样,get_headers函数依然不错的啊,不过既然功效有题目,这只可以不事情发生以前思索了,curl就不错,上边看看curl的做法 复制代码 代码如下: function check_remote_file_exists { $curl = curl_init; // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'卡塔尔国; //不加那个会回来403,加了才回来准确的200,原因不明 // 发送须求 $result = curl_exec; $found = false; // 假若央浼未有发送战败 if { // 再自己商酌http响应码是还是不是为200 $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if { $found = true; } } curl_close; return $found; } $exists = check_remote_file_exists(''); echo $exists ? '存在' : '不存在'; $exists = check_remote_file_exists(''); echo $exists ? '存在' : '不存在';

当时你运维改程序,只会输出“Hi”。但大家是炎黄人,大家不认得“Hi”, 大家只认知“你好”,这个时候就要布署文件出台。配置文件的成形经常依赖生机勃勃款工具。 下载地址: 安装好之后,为了在随机目录里采纳,须要把“安装路线/bin”增多到系统景况变量里。 手续四:配置文件的扭转 1,我们倘若你的工具已经设置好,並且可以在随便目录使用。今后就要运维cmd,并把 路线切换成d:www上边,相当于hi.php所在目录。 键入xgettext -d hi hi.php --from-code=gb2312,然后试行,此时你能够看见新生成一个hi.po文件,注意:--from-code=gb2312,此中gb2312还足以是utf-8。 2,展开hi.po文件,显示如下: 复制代码 代码如下: # SOME DESCRIPTIVE TITLE. # Copyright YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSIONn" "Report-Msgid-Bugs-To: n" "POT-Creation-Date: 2009-01-19 17:47+0800n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn" "Last-Translator: FULL NAME n" "Language-Team: LANGUAGE n" "MIME-Version: 1.0n" "Content-Type: text/plain; charset=CHARSETn" "Content-Transfer-Encoding: 8bitn" #: hi.php:6 msgid "Hi!" msgstr "" 今后有三个地点须要改过, 1:"Content-Type: text/plain; charset=CHAENCORESETn" 2:msgstr "" 把1中的CHAEvoqueSET校勘成gb2312,然后把2改动成msgstr "你好"。 3,键入msgfmt -o hi.mo hi.po,奉行,当时生成hi.mo文件。 然后在d:www下新建localezh_CnLC_MESSAGES目录,把hi.mo拷到那边就能够了。 4,今后重启apache,再度运维,荧屏上得以出口“你好”。 其余: 假诺利用utft-8编码的话,须要选取 bind_textdomain_codeset; 相应的要把hi.po里的CHA本田UR-VSET改成utf-8,还亟需把hi.po保存成utf-8格式, 再度生成hi.mo就行了。 计算: 大家都梦想大家写的前后相继能够被公众居然国际遍布采用,像老品牌的wordpress的 国际化使用的也是她。gettext照旧特别准确的,简单易用,

* @param array $ArrayData the array to sort. * @param string $KeyName1 the first item to sort by. * @param string $SortOrder1 the order to sort by("SORT_ASC"|"SORT_DESC") * @param string $SortType1 the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING") * @return array sorted array. */ function sysSortArray($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR") { if) { return $ArrayData; } $ArgCount = func_num_args(); for($I = 1;$I < $ArgCount;$I ++) { $Arg = func_get_arg; if { $KeyNameList[] = $Arg; $SortRule[] = '$'.$Arg; } else { $SortRule[] = $Arg; } } foreach($ArrayData AS $Key => $Info) { foreach($KeyNameList AS $KeyName) { ${$KeyName}[$Key] = $Info[$KeyName]; } } $EvalString = 'array_multisort.',$ArrayData);'; eval ; return $ArrayData; } //################# 示例 ################# $arr = array( array( 'name' => '学习', 'size' => '1235', 'type' => 'jpe', 'time' => '一九二三-11-13', 'class' => 'D', 卡塔尔国, array( 'name' => '中华夏族民共和国武术', 'size' => '153', 'type' => 'jpe', 'time' => '二〇〇五-11-13', 'class' => 'J', State of Qatar, array( 'name' => '编制程序', 'size' => '35', 'type' => 'gif', 'time' => '壹玖玖柒-11-13', 'class' => 'A', 卡塔尔(قطر‎, array( 'name' => '中国武功', 'size' => '65', 'type' => 'jpe', 'time' => '1921-02-13', 'class' => 'D', 卡塔尔(قطر‎, array( 'name' => '中中原人民共和国武术', 'size' => '5', 'type' => 'icon', 'time' => '壹玖柒零-12-13', 'class' => 'C', 卡塔尔, 卡塔尔国; print_r; //注意:根据数字艺术排序时 153 比 65 小 $temp = sysSortArray($arr,"class","SORT_ASC","type","SORT_DESC","size","SORT_ASC","SORT_STRING"); echo "

php中curl和file_get_content的有的比较

简易的例证: 复制代码 代码如下:

"; print_r; ?>

重中之重分化:

能够见到科学再次来到 -----------------------测量检验ok 优点劣点: 须要allow_url_fopen=on 开启,有点和file_get_contents函数使用口径相像,可是再次来到值超级少,能够动用 function_exists判定该方法是或不是足以应用

学习才察觉,curl援助广大商量,有FTP, FTPS, HTTP, HTTPS, GOPHE宝马X3, TELNET, DICT, FILE以致LDAP,也等于说,它能产生非常多file_get_content做不到的思想政治工作。curl在php能够完毕远程获取和征集内容;达成PHP网页版的FTP上传下载;实现模拟登录;完毕接口对接,数据传输;达成模拟Cookie;下载文件断点续传等等,作用特别精锐。

刺探curl一些主干的运用后,才发觉实际上并轻易,只可是记住里面有个别安装参数,难弄一点,然而大家铭记多少个常用的就可以了。

开启curl:

因为PHP暗中同意是不辅助curl成效的,因而风度翩翩旦要用curl的话,首先必要在php.ini中开启该成效,即去掉 ;extension= php_curl.dll 后边的分店,然后保留后重启apache/iis就好了。

基本语法:复制代码 代码如下:$my_curl = curl_init(卡塔尔; //起头化叁个curl对象curl_setopt($my_curl, CURLOPT_UXC60L, "//www.jb51.net"卡塔尔(قطر‎; //设置你须要抓取的U奥迪Q7Lcurl_setopt($my_curl,CURLOPT_RETU大切诺基NTRANSFEHaval,1卡塔尔(قطر‎; //设置是将结果保存到字符串中依然出口到荧屏上,1意味着将结果保存到字符串$str = curl_exec; //执行哀告echo $str; //输出抓取的结果curl_close; //关闭url请求

近年亟需得到外人网址上的音乐数据。用了file_get_contents函数,然而接连会蒙受获取失利的标题,就算依据手册中的例子设置了晚点,可大多数时候不会立见作用:

$config['context'] = stream_context_create(array('http' => array('method' => "GET",'timeout' => 5//这几个超时时间不平稳,平常不奏效卡塔尔(قطر‎卡塔尔卡塔尔;

本文由皇家国际app发布,转载请注明来源:php程序的国际化完成格局_php技艺_脚本之家