PHP header问题

PHP header问题,第1张

在b上的代码

<php if(!isset($_POST["username"])){

改为

<php if(!isset($_GET["username"])){

另外,你这个跳转流程看着有点蛋疼- -!

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Cache-Control: no-cache, must-revalidate");

header("Pragma: no-cache");

这几句是为了不让浏览器对页面的数据进行缓存,使页面每次被访问时,显示的都是最新的数据。

header(’P3P: CP=”NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM”‘);

IE的安全机制(W3C制定)是不允许Iframe里面读取/写入Cookie的。只有在返回的数据头部加入此的代码,Iframe引用的页面才能设置和使用Cookie。

其实curl里面早就有对HEAD协议的支持// 只需要在你的代码中加上这样一行,就会自动选择head协议

curl_setopt($ch, CURLOPT_NOBODY, true);

如果你要读取

Content-Length

,那么只需要在curl_exec后// 读取的header里的Content-Length值

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);

需要说明的是HEAD协议虽然被大部分服务器支持,但也不是说所有的服务器都支持,有的服务器为了防抓取,在设置中干掉了这个协议。而

Content-Length

也不是必须的字段,你应该做到如果有这个值,而且超过了最大值,可以返回错误,如果没有这个值,或者没有超过最大值,就必须自己通过已经下载的内容大小来判断。

至于你说的最大资源下载长度,我还没看到这个设置项,不过这个问题有一个更加美好的解决方案,那就是用到

CURLOPT_HEADERFUNCTION和CURLOPT_WRITEFUNCTION

两个回调,那么就只需要一次请求即可完成所有的判断,而且可以随时断掉$size = 0;$max_size = 123456;

curl_setopt($ch, CURLOPT_HEADERFUNCTION, function ($ch, $str) {

// 第一个参数是curl资源,第二个参数是每一行独立的header!

list ($name, $value) = array_map('trim', explode(':', $str, 2));

$name = strtolower($name);

// 判断大小啦

if ('content-length' == $name) {

if ($value $max_size) {

return 0; // 返回0就会中断读取}}});

// 对于没有content-length的,我们一边读取一边判断

curl_setopt($ch, CURLOPT_WRITEFUNCTION, function ($ch, $str) use (&$size) {

$len = strlen($str);

$size += $len;

if ($size $max_size) {

//定义编码

header( 'Content-Type:text/html;charset=utf-8 ');

//Atom

header('Content-type: application/atom+xml');

//CSS

header('Content-type: text/css');

//Javascript

header('Content-type: text/javascript');

//JPEG Image

header('Content-type: image/jpeg');

//JSON

header('Content-type: application/json');

//PDF

header('Content-type: application/pdf');

//RSS

header('Content-Type: application/rss+xml; charset=ISO-8859-1');

//Text (Plain)

header('Content-type: text/plain');

//XML

header('Content-type: text/xml');

// ok

header('>

接受POST请求用$_POST['表单name的值']

接受GET请求用$_GET['表单name的值']

接受所有请求用$_REQUEST['表单name的值']

实例:

html:

<form action="phpphp" method="POST"> <input type="text" name="username" value="你好"><input type="submit" value="提交"></form>

php:

<php$username = $_POST['username']; echo "你输入的值为:"$username;//这里会输出 你输入的值为:你好>

希望对你有帮助

以上就是关于PHP header问题全部的内容,包括:PHP header问题、php header()函数问题、PHP 中关于header的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9877718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存