‘壹’ php header 不能跳转
怪了,本地都可以,上传到服务器怎么又不可以了呢,奇怪了。
可能是你的程序没有上传完,在执行header前的语句是报错了,那样就无法转向,因为header之前不能有任何输出内容,除非你使用了缓存,你可以在session_start();之前添加下面的语句启用缓存试试看:
ob_start();
‘贰’ php中header头设置无效的原因可能有哪些
一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息。
如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information – headers already sent by ….”错误。
就是说在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数。
‘叁’ PHP中使用header("Content-type: image/gif")无效
这不是你的配置问题,你要明确一点,只要是你使用了header("Content-type: image/gif");那么这个网页就是以gif图片的形式输出的,如果你在页面中添加了其它内容,比如HTML代码,或者有echo输出,那么就会导致网页无法正常识别,从而导致乱码的出现!因为网页已经是默认的图片格式,它的整个网页就已经相当于是一张图片了,你再去输入其它的东西必然是会乱码的。一般来说,由PHP生成的图片都是单独存一个网页,其它页要调用这个图片的时候,只需设置一个<img src="生成图片的网页">就行了!
‘肆’ php header 函数不能正常跳转的几种解决办法
PHP页面跳转一、header()函数
header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。
header()函数的定义如下:
void header (string string [,bool replace [,int http_response_code]])
可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。
第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。
2.在用header前不能有任何的输出。
3.header后的PHP代码还会被执行。例如,将浏览器重定向到冠威博客
< ?php
//重定向浏览器
header("Location: http://www.guanwei.org");
//确保重定向后,后续代码不会被执行
exit;
?>
PHP页面跳转二、Meta标签
Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。
若设置content="秒数;url=网址",则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到冠威博客。
< meta http-equiv="refresh" content="1;url=http://www.guanwei.org">
例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到www.guanwei.org。
< ?php
$url = "http://www.guanwei.org"; ?>
< html>
< head>
< meta http-equiv="refresh" content="1; url=< ?php echo $url; ?>">
< /head>
< body>
页面只停留一秒……
< /body>
< /html>
PHP页面跳转三、javaScript(常用、推荐)
例如,此代码可以放在程序中的任何合法位置。
< ?php
$url = "http://www.guanwei.org";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
?>
‘伍’ PHP文件插入header("Content-type: text/html; charset=utf-8"); 报错
header("Conten-type:text/html;charset=utf-8");
写错了 少个 t应该是
header("Content-type:text/html;charset=utf-8");
或者这样:
<?php
header("Content-type:text/html;charset=gb2312");
$dir="d:/";
$fp=opendir($dir);
while(($file=readdir($fp))!==false){
echo $file."<br>";
}
closedir($fp);
?>
PHP中header('content-type:text/html;charset="utf-8')和error_reporting()的作用
1.header
PHP文件插入header("Content-type: text/html; charset=utf-8");
相当于页面里面的<meta http-equiv="Content-Type" content="text/html; charset=utf-8">;
目的:防止页面出现乱码
2.error_reporting
定义和用法:error_reporting()设置PHP的报错级别并返回当前级别。
函数语法:error_reporting(report_level)
如果参数 level 未指定,当前报错级别将被返回。下面几项是level可能的值:
1:E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2:E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4:E_PARSE 编译时解析错误。解析错误只由分析器产生。
8:E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16:E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32:E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
64:E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128:E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256:E_USER_ERROR 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512:E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024:E_USER_NOTICE 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048:E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096:E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191:E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP6.0)任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。
例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别