PHP获取301重定向页面跳转后真实URL地址
获取301状态肯定没问题。
代码如下 | 复制代码 |
function getrealurl($url){ ['Location'])-1]; |
补充:get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头
代码如下 | 复制代码 |
$url = 'http://111cn.net'; print_r(get_headers($url)); |
结果
代码如下 | 复制代码 |
Array |
使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll)
开启php curl函数库的步骤
1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini的路径*/
2).把php5/libeay32.dll,ssleay32.dll复制到系统目录windows/下
3).重启apache
php curl
代码如下 | 复制代码 |
<?php include_once('curl.class.php'); //CURLOPT_SSL_VERIFYPEER => false, //支持SSL加密 cul处理类 <?php Public function __construct($dir){ /** /** private function getTemporaryCookieFileName($dir='.') { |
例子2
代码如下 | 复制代码 |
<?php 用法 GET用法: $curl = new Curl(); POST用法 $curl = new Curl(); |
注意:在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了
例子
代码如下 | 复制代码 |
<?php echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); |
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。
代码如下 | 复制代码 |
|
PHP星期几获取代码:
代码如下 | 复制代码 |
date(“l”); //data就可以获取英文的星期比如Sunday |
获取中文星期几:
代码如下 | 复制代码 |
$weekarray=array(“日”,”一”,”二”,”三”,”四”,”五”,”六”); //先定义一个数组 echo “星期”.$weekarray[date("w")]; |
获取指定日期是:
代码如下 | 复制代码 |
$weekarray=array(“日”,”一”,”二”,”三”,”四”,”五”,”六”); |
PHP函数Date()获取当前时间
代码如下 | 复制代码 |
<?php echo $showtime=date("Y-m-d H:i:s");?> |
输出当前时间:2008-10-12 02:32:17
怪了,实际时间是:2008-10-12 10:32:17
看看PHP手册的“例子 1. date() 例子”第一行多了一个 时区设置
// 设定要用的默认时区。自 PHP 5.1 可用
代码如下 | 复制代码 |
date_default_timezone_set(UTC); |
原来php5.1.开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和北京时间正好差8个小时。
如何设置可以得到正确的PHP时间?
1、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
2、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore
这样就可以实现输出的是北京时间了。
例如:php.ini文件中包含了以下的设置:
代码如下 | 复制代码 |
register_globals = Off post_max_size = 8M |
PHP部分我们可以这样获取:
代码如下 | 复制代码 |
<?php echo 'display_errors = ' . ini_get('display_errors') . "\n"; echo 'register_globals = ' . ini_get('register_globals') . "\n"; echo 'post_max_size = ' . ini_get('post_max_size') . "\n"; echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n"; echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size')); ?> |
如果想获取整个php.ini里的变量值,我们可以用ini_get的加强函数 ini_get_all()
ini_get_all()函数以数组的形式返回整个php的环境变量
当然如果你只是想了解下php的配置信息用
<?php
phpinfo();
?>
接着向下看
php手册中有一个例子
代码如下 | 复制代码 |
<?php /* Our php.ini contains the following settings: display_errors = On register_globals = Off post_max_size = 8M */ echo ‘display_errors = ‘ . ini_get(’display_errors’) . “\n”; //显示错误是否打开 echo ‘register_globals = ‘ . ini_get(’register_globals’) . “\n”; //全局变量是否打开 echo ‘post_max_size = ‘ . ini_get(’ post_max_size’) . “\n”; //最多能提交的文件大小 echo ‘post_max_size+1 = ‘ . (ini_get(’post_max_size’)+1) . “\n”; ?> |
输出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
PHP配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作。比如你想操作字符串过滤,但是又不清楚magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:
代码如下 | 复制代码 |
/* 字符串过滤函数 */ function stringFilter($str) |
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:
/* 变量检测函数 */
代码如下 | 复制代码 |
function getGetVar($var) { if (ini_set(’register_gobals’)) { return $var; } else { return $_GET['var']; } } |
当然,你可以用PHP配置函数ini_get()做很多用途,自己慢慢体会。
补充
1.ini_get()获取配置参数,ini_set()设置配置参数
代码如下 | 复制代码 |
|
2.ini_get_all()获取所有配置信息
代码如下 | 复制代码 |
|
3.ini_restore()恢复配置信息到原始值
代码如下 | 复制代码 |
<?php echo ini_get('display_errors'); //1 |
相关文章
Spring Boot项目@RestController使用重定向redirect方式
这篇文章主要介绍了Spring Boot项目@RestController使用重定向redirect方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-02- 这篇文章主要介绍了微信小程序 页面跳转传递值几种方法详解的相关资料,需要的朋友可以参考下...2017-01-16
- 这篇文章主要介绍了cmd命令的重定向输出 2>&1详解,需要的朋友可以参考下...2020-08-28
IE6中链接A的href为javascript协议时不在当前页面跳转
切页面时有时用链接A来替代按钮,这样做有几个好处 鼠标放上时默认有手状效果(不用添加cursor:pointer) 可以添加低版本IE都支持的伪类 如果点击时页面要整体刷新,即跳转,这时IE6则不尽人意,如下 复制代码 代码如下: <p>...2014-06-07- 老谢目前做了一个新站,全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则既可: 代码如下 复制代码 RewriteEngine On Rew...2016-01-28
- 对于单页应用,官方提供了vue-router进行路由跳转的处理,这篇文章主要给大家介绍了Vue.js实战之利用vue-router实现跳转页面的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。...2017-04-03
- 大家知道,DOS下有一个不为大家所常用的命令——重定向命令,这个小东西非常有用,灵活的使用这个命令可以给我们带来很大的方便——无论是入侵还是防守抑或是系统应用,都会带来很大的便利,今天就让 我们来看几个重定向命令在安全方面的应用实例...2020-06-30
- 比如,我有一个开发一个黄页源码上转到了脚本之家。之前定了一个演示程序地址: http://www.jb51.net 而现在这个域名需要用来作其它的站,又不杀望原来的演示地址失效怎么办呢。那我就可以利用PHP REFERER来判断来源如果...2013-10-04
- 这篇文章主要介绍了详解nginx配置url重定向-反向代理 ,nginx的重定向和nginx的反向代理的原理还是有区别的。有兴趣的可以了解一下。...2016-12-31
- 第一种: 复制代码 代码如下: <script language="javascript"type="text/javascript"> window.location.href="http://shanghepinpai.com"; </script> 第二种: 复制代码 代码如下: <script language="javascript"> aler...2014-05-31
- 这篇文章主要介绍了ASP.NET MVC3 实现全站重定向的简单方法,有需要的朋友可以参考一下...2021-09-22
- 以前也没怎么关注301重定向,第一因为没有网站要重定向,第二对于不带www的域名我都是用的转发到带www的域名。...2016-01-27
- 这篇文章主要介绍了微信小程序 详解页面跳转与返回并回传数据的相关资料,需要的朋友可以参考下...2017-02-19
- 这篇文章主要介绍了Windows cmd命令行输入输出重定向问题,需要的朋友可以参考下...2020-06-30
- 在服务器中301与302对于搜索引擎来讲一个是永久的跳新的地址了,一个是告诉你暂时到了一个新地址了,那么我们在php中怎么实现301永久重定向和302临时重定向呢,下面我们一...2016-11-25
- 本篇文章主要介绍了[译]ASP.NET Core 2.0 网址重定向的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-09-22
Ruby rails 页面跳转(render和redirect_to)
今天在做R.R.log的时候发现个问题,在修改密码的时候如果没有通过校验,没有显示校验错误的信息。...2020-06-30- 大家应该都知道请求重定向和请求转发都是web开发中资源跳转的方式,这篇文章主要给大家介绍了关于Spring MVC重定向与转发的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2021-09-07
springboot如何重定向携带数据 RedirectAttributes
这篇文章主要介绍了springboot如何重定向携带数据 RedirectAttributes,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-16- 这篇文章主要介绍了Nginx下配置301重定向的正确方法例子,本文给出了常用的配置方法例子和正确的配置例子,需要的朋友可以参考下...2016-01-27