当前位置:  编程技术>php
本页文章导读:
    ▪php下获取客户端ip地址的函数       代码如下:function getip() { $IP=getenv('REMOTE_ADDR'); $IP_ = getenv('HTTP_X_FORWARDED_FOR'); if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_; return $IP; } 下面这个比较好的 代码如下:function getIP() { if (isset($_SERVER)) .........
    ▪PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡       例子:(简 > 繁)面包 > 麵包 (zh-tw)寮国 > 老撾 (zh-hk)中国人寿 > 中國人壽 (zh-hk)罗纳尔多 > 朗拿度 (zh-hk)(繁 > 簡)記憶體 > 内存 (zh-cn)布殊 > 布什 (zh-cn)資料庫 > 数据库(zh-cn).........
    ▪PHP 模拟$_PUT实现代码       PHP里有$_GET,$_POST,但是没有$_PUT,所以如果需要使用它的话,则你不得不自己模拟一下: 代码如下: $_PUT = array(); if ('PUT' == $_SERVER['REQUEST_METHOD']) { parse_str(file_get_contents('php://input'), $_PUT); } .........

[1]php下获取客户端ip地址的函数
    来源: 互联网  发布时间: 2013-11-30
代码如下:

function getip() {
$IP=getenv('REMOTE_ADDR');
$IP_ = getenv('HTTP_X_FORWARDED_FOR');
if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_;
return $IP;
}

下面这个比较好的
代码如下:

function getIP()
{
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv( "HTTP_X_FORWARDED_FOR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}

    
[2]PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
    来源: 互联网  发布时间: 2013-11-30
例子:(简 > 繁)面包 > 麵包 (zh-tw)寮国 > 老撾 (zh-hk)中国人寿 > 中國人壽 (zh-hk)罗纳尔多 > 朗拿度 (zh-hk)(繁 > 簡)記憶體 > 内存 (zh-cn)布殊 > 布什 (zh-cn)資料庫 > 数据库(zh-cn)使用方法
1. 下载 MediaWiki: (http://www./codes/25190.html),解压在路径如:/var/lib/mediawiki-1.13.3

2. 下载 mediawiki-zhconverter(上面的文件已经集成了),解压及把 mediawiki-zhconverter.inc.php 复制到你 PHP 程序中

3. 在你的程序中设置 MediaWiki 路径, 及引用 mediawiki-zhconverter

define("MEDIAWIKI_PATH", "/var/lib/mediawiki-1.14.0/");require_once "mediawiki-zhconverter.inc.php";4. 作出转换

/* MediaWikiZhConverter::convert( "字词", "转换目标"); 转换目标可选值为 zh, zh-cn, zh-tw, zh-sg, zh-hk*/echo MediaWikiZhConverter::convert("面包", "zh-tw");echo MediaWikiZhConverter::convert("記憶體", "zh-cn");echo MediaWikiZhConverter::convert("罗纳尔多", "zh-hk");5. 完成

支持版本
下列MediaWiki 版本已证实可以兼容本程式 (http://download.wikimedia.org/mediawiki):

PHP4: 1.6.10, 1.6.11
PHP5: 1.12.0, 1.13.3
如非必要,请使用 PHP5 版本。

打包下载地址http://xiazai.http://www./codes/25190.html

    
[3]PHP 模拟$_PUT实现代码
    来源: 互联网  发布时间: 2013-11-30
PHP里有$_GET,$_POST,但是没有$_PUT,所以如果需要使用它的话,则你不得不自己模拟一下:
代码如下:

$_PUT = array();
if ('PUT' == $_SERVER['REQUEST_METHOD']) {
parse_str(file_get_contents('php://input'), $_PUT);
}

通过php://input得到的数据是raw data,所以需要用parse_str解析一下。

不过需要说明的是,当表单是enctype="multipart/form-data"类型的时候(就是上传文件那种类型),这种方法是无效的(此时php://input为空),一旦PHP发现请求的Content-Type是multipart/form-data,就会无条件的代你处理表单数据,然后保存到$_FILES里,此时无法得到raw data,只能用一些偏门方法,以apache为例,修改httpd.conf(为了使用RequestHeader语法,请先激活header模块):
代码如下:

<Location "/demo.php">
RequestHeader set Content-Type foobar
</Location>

通过重置Content-Type请求头为foobar(只要不是multipart/form-data即可),此时php://input就有数据了,不过原本应有的$_FILES数据却不存在了,所以基本上只有演示上的意义,如果想得到raw data,只能自己根据数据生成,在PEAR里有类似的实现:HTTP_Request2_MultipartBody。

浏览器一般只允许使用GET/POST方法,虽然可以通过JS来发送PUT方法,但是还得编写代码,相对而言,使用命令行下的CURL命令则显得方便很多,在开发测试时很有用,所以学习一下还是必要的:

curl -X PUT http://www.domain.com/demo.php -d "id=1" -d "title=a"

这样就会通过PUT方法发送id, title数据,测试时demo.php的代码就类似上面的php://input,不细说了。

补充:注意php.ini里的always_populate_raw_post_data设置。

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文... iis7站长之家
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3