2021-04-26 PHP判断客户端是否使用代理服务器 PHP判断客户端是否使用代理服务器 要判断客户端是否使用代理服务器,可以从客户端所发送的环境变量信息来判断。具体来说,就是看HTTP_VIA字段,如果这个字段设置了,说明客户端使用了代理服务器。1、没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示 2、使用透明代理服务器的情况:Transparent ProxiesREMOTE_ADDR = 代理服务器 IP HTTP_VIA = 代理服务器 IP (补充:这个字段由代理服务器填充,有时会填充网关信息等) HTTP_X_FORWARDED_FOR = 您的真实 IP 这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。 3、使用普通匿名代理服务器的情况:Anonymous ProxiesREMOTE_ADDR = 代理服务器 IP HTTP_VIA = 代理服务器 IP (补充:这个字段由代理服务器填充,有时会填充网关信息等) HTTP_X_FORWARDED_FOR = 代理服务器 IP 隐藏了您的真实IP,但是向访... 2021年04月26日 1,215 阅读 0 评论
2021-04-04 PHP取当天的0点和23点59分59秒的时间戳方法 PHP取当天的0点和23点59分59秒的时间戳方法 $year = date("Y"); $month = date("m"); $day = date("d"); $start = mktime(0,0,0,$month,$day,$year);//当天开始时间戳 $end = mktime(23,59,59,$month,$day,$year);//当天结束时间戳 2021年04月04日 1,146 阅读 0 评论
2021-03-24 Layui导出长数字变科学计数解决方法 Layui导出长数字变科学计数解决方法 在导出时遇到导出后的数据变科学计数,导致数据不准确,在field中返回数据时,使用templet进行处理下即可!table.render({ elem: '', url: '', method: 'post', cols: [[ {type:'checkbox'} ,{field:'id',title:'ID',width:80,sort:true} ,{field:'order_number',title:'订单编号',sort: true,templet:function(d){ return d.order_number+"\t"; }} ]] }) 2021年03月24日 1,319 阅读 0 评论
2021-03-22 PHP数组foreach循环嵌套优化 PHP数组foreach循环嵌套优化 2个多维数组,要把两个数组的其中几个字段去合并成一个新的数组,或者把其中一个数组的字段加到另外一个数组中//源数组 $array1 = ( 'detail' => array( [0] => array( 'name' : 'test', 'id' : 01 ), [1] => array( 'name' : 'test2', 'id' : 02 ) ) ); $array2 = ( 'detail' => array( [0] => array( 'id' : 01, 'age' : 11, ), [1] => array( 'id' : 02, 'age' : 22, ) ) ); //目标数... 2021年03月22日 1,228 阅读 0 评论
2021-03-21 ThinkPHP6 smarty模板引擎标签 ThinkPHP6 smarty模板引擎标签 controller文件public function index(){ $arr = [ [ 'id' => 1, 'name' => '小鱼' ], [ 'id' => 2, 'name' => '小虾' ], [ 'id' => 3, 'name' => '小黄' ] ]; View::assign('arr',$arr); return View::fetch(); } foreach标签的用法和PHP语法非常接近,用于循环输出数组或者对象的属性,详细说明{foreach $arr as $v} <div> <span>ID:{$v.id}</span> <span>姓名:{$v.n... 2021年03月21日 1,115 阅读 0 评论
2021-03-21 phpMyAdmin登录时间修改 phpMyAdmin登录时间修改 phpMyAdmin在使用过程中经常出现“登陆超时(1440秒未活动),请重新登录”,就是觉得很烦解决方法或者找到phpMyAdmin/libraries/config.default.php文件,修改$cfg['LoginCookieValidity'] = 1440,将1440修改成更大的值即可,比如86400 2021年03月21日 1,008 阅读 0 评论
2021-03-20 ThinkPHP获取所有控制器的名称和方法 ThinkPHP获取所有控制器的名称和方法 获取当前控制器的名称和方法request()->controller(); request()->action(); 获取所有控制器/** * 获取目录下的php文件名 根据thinkphp文件命名规则可以知道文件名和控制器的名称是一致的 * @param string $dir 控制器目录的路径 * @return array 返回获取的数组形式 */ function getControllers($dir) { $pathList = glob($dir . '/*.php'); $res = []; foreach($pathList as $key => $value) { $res[] = basename($value, '.php'); } return $res; } $controllers = getControllers('../app/admin/controller'); 获取所有控制器的方法名/** * 获取控制器的方法名的函数 此方法过滤父级Base控... 2021年03月20日 1,088 阅读 0 评论
2021-03-07 PHP推荐密码加密的方法 PHP推荐密码加密的方法 password_hash 函数password_hash 函数用于创建密码的散列(hash)PASSWORD_DEFAULT - 使用 bcrypt 算法 (PHP 5.5.0 默认)。 注意,该常量会随着 PHP 加入更新更高强度的算法而改变。 所以,使用此常量生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可超过60个字符(最好是255个字符)。PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。 这会产生兼容使用 "$2y$" 的 crypt()。 结果将会是 60 个字符的字符串, 或者在失败时返回 FALSE。PASSWORD_ARGON2I - 使用 Argon2 散列算法创建散列。password_verify 函数password_verify 函数用于验证密码是否和散列值匹配。参数说明密码:用户的密码。hash:一个由password_hash创建的散列值。返回值:如果密码和散列值匹配则返回TRUE,否则返回FALSE。示例$a = password_hash("123456",PASSWORD_... 2021年03月07日 1,143 阅读 0 评论
2021-03-04 PHP获取服务器操作系统相关信息的方法 PHP获取服务器操作系统相关信息的方法 PHP程式版本:echo PHP_VERSION; ZEND版本:echo zend_version(); MYSQL支持:echo function_exists (mysql_close)?"是":"否"; MySQL数据库持续连接 :echo @get_cfg_var("mysql.allow_persistent")?"是 ":"否"; MySQL最大连接数:echo @get_cfg_var("mysql.max_links")==-1 ? "不限" : @get_cfg_var("mysql.max_links"); 服务器操作系统:echo PHP_OS; 服务器端信息:echo $_SERVER ['SERVER_SOFTWARE']; 最大上传限制:echo get_cfg_var ("upload_max_filesize")?get_cfg_var ("upload_ma... 2021年03月04日 1,219 阅读 0 评论