php输出header
1. php 输出视频流怎样设置header
header 好像不识别变量吧
我这也有一个函数 但是只能播放mp4的文件 如果你的能播放其他的视频格式求分享
function PutMovie($file) {
header("Content-type: video/mp4");
header("Accept-Ranges: bytes");
$size = (filesize($file));
if(isset($_SERVER['HTTP_RANGE'])){
header("HTTP/1.1 206 Partial Content");
list($name, $range) = explode("=", $_SERVER['HTTP_RANGE']);
list($begin, $end) =explode("-", $range);
if($end == 0) $end = $size - 100;
}
else {
$begin = 0; $end = $size - 100;
}
header("Content-Length: " . ($end - $begin + 1));
header("Content-Disposition: filename=".basename($file));
header("Content-Range: bytes ".$begin."-".$end."/".$size);
$fp = fopen($file, 'rb');
fseek($fp, $begin);
while(!feof($fp)) {
$p = min(1024, $end - $begin + 1);
$begin += $p;
echo fread($fp, $p);
}
fclose($fp);exit;
}
2. 在PHP输出头写入header("Content-type: text/html; charset=utf-8");出现如下问题
根据Warning信息
因为你已经加过一次header了
重复添加会出来警告
3. php 如何获取 客户端http header
<?php
$dir=$HTTP_GET_VARS["dir"];//.......取得上个页面传递来的路径
$file=$HTTP_GET_VARS["file"];//.......取得传递来的文件名
$url=parse_url($HTTP_REFERER);/*......取得前一页面的URL地址,并将其放入一个数组中*/
if($url[host]!=$HTTP_HOST){echo"要下载本软件请到<ahref=http://www.df365.org>东方小屋</a>";exit;}/*检查来源网站是不是自己的网站,如果不是,返回“要下载本……”*/
if(empty($dir))$dir="/";//......如果路径名为空,则为指定根目录
if(empty($file)){echo"未指定要下载的文件!";exit;}/*如果文件名为空,返回“未指定……”*/
$rootdir="文件存放的根目录";//......你的下载路径根目录
$realurl=$rootdir.$dir;//.......取得你的下载目录
chdir($realurl);//......将当前目录转到下载目录中
if(!file_exists($file)){echo"对不起,此链接已经失效,请在下载页面上向我们报告,谢谢!";exit;}//......测试文件是否存在
$filename=$file;
//发送文件头信息
header("Cache-control:private");//fixforIE
header("Content-Type:application/octet-stream");
header("Content-Length:".filesize($filename));
header("Content-Disposition:attachment;filename=$filename");
$fp=fopen($filename,'r');//以读取方式打开指定文件
fpassthru($fp);//**CORRECT**以二进制方式读取文件
fclose($fp);//关闭文件
?>
4. php如何在header()函数之前输出内容
PHP 中 header()函数的作用是给客户端发送头信息。
什么是头信息?
这里只作简单解释,详细的自己看http协议。
在 HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和 体内容,这里的头信息不是HTML中的<head></head>部分,同样,体内容也不是<BODY>< /BODY>。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全 部东西。
头信息有什么用呢?
头信息的作用很多,最主要的有下面几个:
1、跳转:当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。
2、指定网页的内容: 同样一个XML文件,如果头信息中指定:Content-type: application/xml 的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type: text/xml 的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)
不知道大家有没有注意,有些时候在一些网站下载东西,点下载连接以后,结果浏览器将这个附件当成网页打开 了,里面显示的都是乱码,这个问题也和头信息有关。有时候浏览器根据Content-type 来判断是打开还是保存,这样有时就会判断错误(主要是网站设计者忘记写Content-type)。其实,还有一个可以来指定该内容为附件、需要保存,这 个就是:Content-Disposition: attachment; filename="xxxxx"
// 指定内容为附件
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// 打开文件,并输出
readfile('original.pdf');
5. php中header执行后没有输出
<?php
$testStr="aaa";
$testStr="ccccccccc";
echo$testStr;
@header("HTTP/1.1304NotModified");
?>
这样写就行了。
至于为什么要把echo写在header的前面,你自己已经回答了,呵呵。顶你一个!
6. php的header之前不能有\输出和空格为啥我有,却不报错
第一张图如果之前有ob_start则echo的内容不会被输出,所以header前没有输出
第二张图,header前没有任何输出,11行是一个赋值语句,并没有向浏览器发送任何数据
7. php 检验header前是否有输出的判断语句
header前有输出怎么办,小涛分享一段代码,可以用这个方法来判断一下啊,哈哈:
if (!headers_sent($filename, $linenum)) {
@header(“Location:$url”);
exit;
}
else
{
$t = “在文件$filename第$linenum行有字符输出,不能跳转,请更正 “;
echo $t;
exit;
}
8. PHP文件插入header("Content
header()前不能有任何输出的。这和你用什么记事本没关系。
9. 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);
?>
(9)php输出header扩展阅读:
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 或 |),这样可以报告所有需要的各级别错误。
例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别
10. php 图片输出header问题
这个是使用了php的图像处理函数,imagejpeg,或者是imagepng,取决于你的文件类型,详情可以查手册,这两个函数的作用