php文件 防链 代码暂存

$fp=fopen("aaa.txt","r");


<?php


//$fp=fopen("aaa.txt","r");
//echo "ok";
//1.判断文件是否存在.
//2. 绝对路径和相对路径
/*if(!file_exists("aaa.txt")){
echo "文件不存在!";
exit();
}else{
$fp=fopen("aaa.txt","r");
echo "文件打开成功";
//....关闭
fclose($fp);
}*/
//使用die处理


/* if(!file_exists("aaa.txt")){
die("文件不存在");
}else{
//打开文件操作
}
echo "ok";*/


file_exists("aaa.txt") or die("文件不存在!!!");


echo "ok";




?>
--------------------------------------
<?php


//自定义错误函数
function  my_error3($errno,$errmes){
$err_info="错误号是:".$errno."--".$errmes;
echo $err_info;
//把这个错误信息保存
//\r\n 表示向文件输入一个回车换行
//<br/> 表示向网页输出一个回车换行
date_default_timezone_set("Asia/Chongqing");

error_log("时间是".date("Y-m-d G-i-s")."-".$err_info."\r\n",3,"d:/myerr.txt");
}


function my_error4($errno,$errmes){
echo "出大事了".$errno;
exit();
}


//指定E_USER_WARNING 错误级别的函数

//set_error_handler("my_error4",E_USER_ERROR);
set_error_handler("my_error3",E_USER_WARNING);



$age=700;
if($age>120){
//调用触发器,时候同时指定错误级别.
trigger_error("输入年龄过大1",E_USER_WARNING);
//exit();
}


echo "ok";


?>
---------------------------------------
<?php


/* function A(){

//调用方法
//添加用户
//我需要这样做,addUser和updateUser都成功,才算成功
$res1=addUser("shunping");


//修改用户
$res2=updateUser("xiaoming");

//删除用户
//deleteUser();...


if($res1 && $res2 ){
echo "真的成功!";
}else{
echo "失败";
}
}


//添加用法
function addUser($username){

if($username=="shunping"){
//添加成功
return true;
}else{
//失败
return false;
}
}


//修改用户
function updateUser($username){
if($username=="xiaoming"){
//修改成功
return true;
}else{
return false;
}
}


A();*/


//我们使用异常机制


try{
echo "<br/>11111111111111111111";
addUser("shunping");
echo "<br/>222222222222222222222";
updateUser("xxx");
echo "<br/>3333333333333333";
}
//catch 捕获  Exception 是异常类(是php定义好一个类)
catch(Exception $e){
echo "失败信息 =".$e->getMessage();
}


function addUser($username){

if($username=="shunping"){
//添加ok
}else{
//添加error
//抛出异常,可以这样成返回了一个异常
throw new Exception("添加失败");
}
}


function updateUser($username){
if($username=="xiaoming"){
//正常修改
}else{
throw new Exception("修改失败");
}
}


?>
-----------------------------------------------
<?php



function checkNum($val){

if($val>100){
throw new Exception("err_no1: 这个数据过大");
}else{
echo "输入的值是正常";
}


}


try{
checkNum(300);


}catch(Exception $e){

echo $e->getMessage()."--".$e->getLine();

}






?>
----------------------------------------
<?php




//定义一个顶级异常处理器
function my_exception($e){
echo "我是顶级异常处理".$e->getMessage();
}
//修改默认的顶级异常处理函数(器)
set_exception_handler("my_exception");


function a1($val){


if($val>100){
throw new Exception ("val>100");
}
}


function a2($val){

if($val=="hello"){
throw new Exception ("不要输入hello");
}
}


try{
a2("hello");
}catch(Exception $e){
//获取.
//echo $e->getMesage();
//可以继续抛出,这时将会启动php默认的异常处理器来处理
//你可以自己定义一个顶级异常处理.
throw $e;
}







?>
-----------------------------------------


<?php




//定义了一个异常
class MyException1 extends Exception{




}


class MyException2 extends Exception{


}


function A(){


throw new MyException1("a");
}


function B(){
throw new MyException2("b")
}


function C(){


try{
A();//抛出MyException1
B();//抛出MyException2
}catch(Exception1 $e1){
$e1->getMessage();
}catch(Exception2 $e2){
$e2->getMesage();
}
}




?>
----------------------------------------------
<?php


try{
    
// $i=8/0;
$fp=fopen("aaa.txt","r");

}catch(Exception $e){
echo "ok";
echo $e->getMessage();
}


?>
---------------------------
<?php


echo time();


//输出当前日期 实际
//默认时期是UTC ,我们中国8
//设置 1. 页面设置 2. 在php.ini设置
date_default_timezone_set("Asia/Chongqing");
//格式
echo date("Y-m-d G-i-s");


?>
---------------------------------------------




<?php


//print_r($_SERVER);
//foreach($_SERVER as $key=>$val){
// echo "$key=$val <br/>";
//}
//可以指定取出访问该页面的ip
//echo "朋友你的ip是:".$_SERVER['REMOTE_ADDR'];


if($_SERVER['REMOTE_ADDR']=="192.168.1.100"){
//跳转到一个警告页面
header("Location: err.php");
}
?>
-------------
<?php


//没有防止.
//获取REFERER

if(isset($_SERVER['HTTP_REFERER'])){
//取出来
//判断 $_SERVER['HTTP_REFERER'] 是不是以 http://localhost/http 开始->函数
if(strpos($_SERVER['HTTP_REFERER'],"http://localhost/http")==0){
echo "韩顺平的账号信息..";
}else{
//跳转到警告页面
header("Location: warning.php");
}
}else{
//跳转到警告页面
header("Location: warning.php");
}




?>

时间:
Y 代表4位年  G 24小时格式 g12小时格式
y代表2位年    H 24小时格式 h12小时格式   


 小写是有前导0的,大写没有前导0
echo date("y-m-d")

 错误处理  异常处理
错误处理时一个重要的部分,如果缺少错误检测代码,那么程序
看上去很不专业,也为安全风险打开了大门


 文件处理:
  其中c++对文件处理更加的复杂
  文件是很古老很复杂的东西
  file中  file_exists 检文件或目录是否存在
 \\  或者/都可以
 相对路径  绝对路径
 错误处理方式:
    简单的die()语句
    自定义错误和错误触发器
    错误日志
    fclose($fp);
  die("文件不存在"); 如果文件是图片,则先显示在销毁
   简单的die()语句
    file_exists("aa.txt") or  die("文件不存在");
 创建自定义错误函数(处理器)--介绍
 该函数必须有能力处理至少2个参数(error level ,error message)
 error_function(error_level,......)
默认处理错误方式 php中    .........
------------------------------------------
改变系统默认的构造函数
----------------
错误触发器:错误处理器 区别
触发器往往是处理逻辑错误
处理器是处理系统错误
调用触发器
  trigger_error("输入年龄大")
--------------
时间:
Y 代表4位年  G 24小时格式 g12小时格式
y代表2位年    H 24小时格式 h12小时格式   


 小写是有前导0的,大写没有前导0
echo date("y-m-d")


  异常


   异常处理用于在指定的错误 异常情况发生时改变脚本
 的正常流程,这种情况成为异常。
   如果异常被抛出时,其后的代码不会继续执行,php会
 尝试查找匹配的catch代码块
   如果异常没有被捕获,而且又没有使用 set_exception_handler()
   作相应的处理,那么将是一个致命的错误,并且输出
“Uncaught Exception” (未捕获异常)的错误信息。


 try{
 } catch(Exception e){
 //捕获异常并处理,通常情况下抛出一个异常
 //1.自己处理
 //2.自己不处理,将其抛出
 throw e;
 }
 
  php中处理异常
  1.基本语法
  2.


  ----------------------------
  $refer=$_SERVER['HTTP_REFERER'];
if($refer==null||strpos($refer,"http://localhost/test")!=0){
//跳转到错误页面;
header('Location: err.php');
}




---------------
基本结构


请求行
消息头
                            <----空行
消息体(实体内容)
举例:

你可能感兴趣的:(php文件 防链 代码暂存)