在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');
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的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)