修改:config.inc.php在第一行加入$ip_prefix = ‘192.168.121.‘; if (substr($_SERVER[‘REMOTE_ADDR‘], 0, strlen($ip_prefix)) != $ip_prefix ) die(‘illegal access error‘);ip可以设置成你自己电脑的ip。如果是内网建议直接设置成自己的ip地址取代ip地址段。这样的话可以防止其它用户在内网中访问。如果是公网ip限制,直接使用即可。只是简单的限定,没有太大要求只是暂时限定,可以使用这种方式。临时性的限制用户去访问...
$r = new ReflectionClass($serv); print_r($r->getConstants()); print_r($r->getProperties()); print_r($r->getMethods());原文:http://my.oschina.net/epstar/blog/314032
本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下:一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析。如下html代码所示:复制代码 代码如下:<form action="?" method="post" enctype=‘multipart/form-data‘> 文件上传:<in...
现有某函数与对象如下: 复制代码 代码如下:var doubling=function(x){ return x*2; }; var obj={ val:100, }; 函数调用模式时,this被绑定到全局对象。这种情况在对象的属性与方法被初始化时也能够得到反应。现为ojb进行补充如下: 复制代码 代码如下:var obj={val:100, prop:function(){ var that=this; document.write(‘name: ‘+that+‘; type: ‘+typeof(that)+‘<br/>‘); return doublling(that.val); }(), get_prop:functi...
current();当前游标指向的数组单元值next();下一个数组单元值end()最后一个reset()复位prev()把数组指针往前一位写法:$arr=array(‘a‘,‘b‘,‘c‘,‘d‘);next($arr);echo current($arr); isset当值是null时falseisset判断一个变量是否存在array_key_exists(‘角标,数组名‘) 函数检查某个数组中是否存在指定的键名in_array(‘值‘,数组名);判断值是否存在 1、array_change_key_case():把数组中所有键更改为小写或大写。 array...
首先我们要先了解一下IP地址转换为整型(严格来说应该说是长整型)的原理~【转换原理】:假设IP为:w.x.y.z,则IP地址转为整型数字的计算公式为:intIP = 256*256*256*w + 256*256*x + 256*y + z【PHP的互转】:PHP的转换方式比较简单,它内置了两个函数int ip2long ( string $ip_address )和 string long2ip ( string $proper_address )可以直接调用使用~【Asp的互转】:自定义函数如下,‘.---------------------------------------...
概念介绍:工厂方法模式: 在学习工厂方法模式之前请首先阅读简单工厂模式工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中.工厂方法模式是简单工厂模式的进一步抽象和推广工厂方法模式的几个需要的对象:1、抽象工厂2、具体工厂:实现抽象工厂接口列出的方法,并且每个工厂对应各自的产品3、抽象产品4、具体产品 工厂方法模式里面的果园的例子,可以改写成工厂方法模式 , 大家可以自己实验。案例...
test.php 复制代码 代码如下:<?php $test = $_POST[ ‘test ‘]; echo ‘12 ‘; echo $test; echo $_POST[ ‘submit1 ‘]; echo $_POST[ ‘submit2 ‘]; if (isset($_POST[ ‘submit1 ‘]) && $_POST[ ‘submit1 ‘] == ‘submit1 ‘) { echo ‘ok1 ‘; } if (isset($_POST[ ‘submit2 ‘]) && $_POST[ ‘submit2 ‘] == ‘submit2 ‘) { // echo " <meta http-equiv=refresh content= ‘0; url=http://localhost:8000/php/index.p...
$str = "中华人民共和国";$len = mb_strlen($str,‘utf-8‘);if($len>=6){$str1 = mb_substr($str,0,2,‘utf-8‘);$str2 = mb_substr($str,$len-2,2,‘utf-8‘);}else{$str1 = mb_substr($str,0,1,‘utf-8‘);$str2 = mb_substr($str,$len-1,1,‘utf-8‘); }$this->assign(‘str1‘,$str1);$this->assign(‘str2‘,$str2);$this->assign(‘str‘,$str1.‘**‘.$str2);$this->assign(‘strold‘,substr_replace($str,‘*...
获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信息获取到,然后再分析跳转地址即可:复制代码 代码如下: $url = ‘http://t.cn/h5mwx‘; $headers = get_headers($url, TRUE); print_r($headers);//输出跳转到的网址 echo $headers[‘Location‘];附完整数组:复制代码 代码如下: Array ( [0] => HTTP/1.1 302 Moved Temporarily [L...
PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload1、__get、__set这两个方法是为在类和他们的父类中没有声明的属性而设计的__get( $property ) 当调用一个未定义的属性时访问此方法__set( $property, $value ) 给一个未定义的属性赋值时调用这里的没有声明包括当使用对象调用时,访问控制为proteced,p...
ngxin中安装php-fpm后,html静态页面没问题,不过,虽然phpinfo页面返回200状态码,但浏览却总是空白页,也没有任何报错。考虑应该是nginx已经将php页面转移给php处理了,所以问题应该在php的配置上,经过查找,发现需要在nginx中加入一句话:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;安装完nginx后,默认的fastcgi_params配置文件中没有上面这句。在nginx.conf中的 复制代码 代码如下:location ~ .php...
开发大型 PHP 项目的方法1 这篇文章介绍了在PHP中的面向对象编程(OOP,Object Oriented Programming)。我将向你演示如何通过使用一些OOP的概念和PHP的技巧来减少编码和提高质量。祝你好运! 面向对象编程的概念: 不同的作者之间说法可能不一样,但是一个OOP语言必须有以下几方面: 抽象数据类型和信息封装 继承 多态 在PHP中是通过类来完成封装的: --------------------------------------------------- class Something...
如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊复制代码 代码如下: <?php $arr = array(‘a‘,‘b‘,‘c‘,‘d‘); unset($arr[1]); print_r($arr); ?> print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():复制代码 代码如下: <?php $arr = array(‘a‘,‘b‘,‘c‘,‘...
C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的。ThinkPHP的配置文件采用PHP数组格式定义。由于采用了函数重载设计,所以用法较多,我们来一一说明下。设置参数 C(‘DB_NAME‘,‘thinkphp‘);表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样: C(‘db_name‘,‘thinkphp‘);但是...