function nocache_headers() {
@ header('Expires: Thu, 01 Jan 1970 00:00:01 GMT');
@ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
@ header('Cache-Control: no-cache, must-revalidate, max-age=0');
@ header('Pragma: no-cache');
}
nocache_headers();
?>
Html+Asp+Php+Jsp:4种语言禁止浏览器缓存页面的方法
HTTP:
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">
ASP
response.addHeader("pragma","no-cache")
response.addHeader("Cache-Control","no-cache, must-revalidate")
PHP
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
JSP:
response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");
php禁止浏览器使用缓存页面
//设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
//设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
//告诉客户端浏览器不使用缓存,HTTP 1.1 协议
header("Cache-Control: no-cache, must-revalidate");
//告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议
header("Pragma: no-cache");
?>
php调用mysql存储过程的实例,供十个,有需要的朋友可以参考下。
实例一:无参的存储过程
$conn = mysql_connect()('localhost','root','root') or die ("数据连接错误!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query()($sql);//创建一个myproce的存储过程
$sql = "call test.myproce();";
mysql_query($sql);//调用myproce的存储过程,则数据库中将增加一条新记录。
实例二:传入参数的存储过程
create procedure myproce2(in score int)
begin
if score >= 60 then
select 'pass';
else
select 'no';
end if;
end;
";
mysql_query($sql);//创建一个myproce2的存储过程
$sql = "call test.myproce2(70);";
mysql_query($sql);//调用myproce2的存储过程,看不到效果,可以在cmd下看到结果。
实例三:传出参数的存储过程
create procedure myproce3(out score int)
begin
set score=100;
end;
";
mysql_query($sql);//创建一个myproce3的存储过程
$sql = "call test.myproce3(@score);";
mysql_query($sql);//调用myproce3的存储过程
$result = mysql_query('select @score;');
$array = mysql_fetch_array($result);
echo '<pre>';print_r($array);
实例四:传出参数的inout存储过程
create procedure myproce4(inout sexflag int)
begin
SELECT * FROM user WHERE sex = sexflag;
end;
";
mysql_query($sql);//创建一个myproce4的存储过程
$sql = "set @sexflag = 1";
mysql_query($sql);//设置性别参数为1
$sql = "call test.myproce4(@sexflag);";
mysql_query($sql);//调用myproce4的存储过程,在cmd下面看效果
实例五:使用变量的存储过程
create procedure myproce5(in a int,in b int)
begin
declare s int default 0;
set s=a+b;
select s;
end;
";
mysql_query($sql);//创建一个myproce5的存储过程
$sql = "call test.myproce5(4,6);";
mysql_query($sql);//调用myproce5的存储过程,在cmd下面看效果
实例六:case语法
create procedure myproce6(in score int)
begin
case score
when 60 then select '及格';
when 80 then select '及良好';
when 100 then select '优秀';
else select '未知分数';
end case;
end;
";
mysql_query($sql);//创建一个myproce6的存储过程
$sql = "call test.myproce6(100);";
mysql_query($sql);//调用myproce6的存储过程,在cmd下面看效果
实例七:循环语句
create procedure myproce7()
begin
declare i int default 0;
declare j int default 0;
while i<10 do
set j=j+i;
set i=i+1;
end while;
select j;
end;
";
mysql_query($sql);//创建一个myproce7的存储过程
$sql = "call test.myproce7();";
mysql_query($sql);//调用myproce7的存储过程,在cmd下面看效果
实例八:repeat语句
create procedure myproce8()
begin
declare i int default 0;
declare j int default 0;
repeat
set j=j+i;
set i=i+1;
until j>=10
end repeat;
select j;
end;
";
mysql_query($sql);//创建一个myproce8的存储过程
$sql = "call test.myproce8();";
mysql_query($sql);//调用myproce8的存储过程,在cmd下面看效果
实例九:loop语句
$sql = "
create procedure myproce9()
begin
declare i int default 0;
declare s int default 0;
loop_label:loop
set s=s+i;
set i=i+1;
if i>=5 then
leave loop_label;
end if;
end loop;
select s;
end;
";
mysql_query($sql);//创建一个myproce9的存储过程
$sql = "call test.myproce9();";
mysql_query($sql);//调用myproce9的存储过程,在cmd下面看效果
实例十:删除存储过程
实现思路:
1、在表单页面动态生成多个文件提交框,这里注意一下,多个文件提交框的名字要设置为数组,否则只有一个文件会上传。
此时在$_FILES数组构造方式是这样:$_FILES["files"][xxxxfileProperty][xxxcount]; 比如说我要知道第一个文件的error值:$_FILES["userfiles"]["error"][0] ,第一个文件客户端名字:$_FILES["userfiles"]["name"][0]等等。
2、接收端接收,操作和单个的是一样,只是需要做个循环,有多少个文件做多少次循环,以便所有的文件都能正确发送。
示例代码:
表单页面
文章标题: <input name="title" type="text"/> 标题不能为空!
<br /> 淘吧名字: <input name="bar_name" type="text"/>
<?php
echo "请选择一个!\t(";
for ($i=0; $i<count($name); $i++ ){
echo mb_convert_encoding($name[$i]["name"],"UTF-8","GB2312");
echo " ";
}
echo ")";
?>
<br />
<textarea name="text" cols="90" rows="20"></textarea>
<?php
for ($i=0;$i<3;$i++){
echo "<input name=\"userfile[]\" type=\"file\"/>";
}
echo "<input name=\"i\" type=\"hidden\" value=\"$i\" />";
?>
</td></tr>
</table>
<table align="center" cellpadding="0" cellspacing="0"><tr><td>
<input name="submit" type="submit" value="确定提交"/>
<input name="reset" type="reset" value="重新来过"/>
</form>
处理页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>提交</title>
</head>
<body>
<?php
$title=$_POST["title"];
$text=$_POST["text"];
$name=$_POST["name"];
$count=$_POST["i"];
include_once("数据库连接文件");
if (empty($title)||empty($text)||empty($bar_name)){
echo "标题或内容不能空
die("<br /><a href=/index.html"index.php\">重新来过</a>");
}
/*这里是数据查询语言取出要用的数据*/
if(in_array("0", $_FILES['userfile']['error'])){//上传文件开始
$uploaddir= 'attfile/';//设置上传的文件夹地址
$FILES_EXT=array('.gif','.jpg','.mp3','.3gp');//设置允许上传文件的类型
$MAX_SIZE = 20000000;//设置文件上传限制20000000byte=2M
for ($i=0;$i<$count;$i++){
$FILES_NAME=$_FILES['userfile']['name'][$i];//客户端文件名
//取出文件后缀名,strrpos()从标记开始前字节个数(不算标记),substr()显示从第strrpos()之后的字符
$file_ext=substr($FILES_NAME,strrpos($FILES_NAME,"."));
//检查文件大小
if($_FILES['userfile']['size'][$i]>$MAX_SIZE){
echo "文件大小超程序允许范围!";
exit;
}
//检查文件类型
if(in_array($file_ext, $FILES_EXT)){
$_FILES['userfile']['name'][$i]=date("YmdHis").rand(10000,1000000).$file_ext;
//echo $_FILES['userfile']['name'][$i];
$uploadfile = $uploaddir.$_FILES['userfile']['name'][$i];//上传后文件的路径及文件名
//echo $uploadfile;
//用move函数生成临时文件名,并按照 $_FILES['userfile']['name']上传到$uploaddir下
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile)) {
//将上传后的路径写入到数据库中
$post_id=(int)$post_id;
$uploadfile="attfile/".$_FILES['userfile']['name'][$i];
$sql=插入语句
$stmt=$db->prepare($sql);
$stmt->execute();
print "<br />文件\n{$FILES_NAME}\n上传成功!";
} else {
print "上传错误! 以下是上传的信息:\n";
print_r($_FILES);
}
}
else{
echo "{$FILES_NAME}\n不是允许上传的文件类型!";
exit;
}
}
}
?>
</body>
</html>