2020年5月26日
<?php
interface A
{
//定义常量
const name="黑子";
//定义接口方法
//接口方法只能为公有
public function demo();
}
//接口继承
interface B extends A{
const name2="鬼灭";
public function demo2();
}
//使用接口
//class Z implements B
//class Z implements A,B
//接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
class Z implements B{
public function demo(){
echo self::name;
}
public function demo2(){
echo self::name2;
}
}
$obj=new Z();
$obj->demo();
$obj->demo2();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>内容</title>
</head>
<body>
<form action="demo2.php" method="post" enctype="multipart/form-data">
<input type="file" name="f">
<button>上传</button>
</form>
</body>
</html>
<?php
var_dump($FILES);
$isFile=is_uploaded_file($_FILES['f']['tmp_name']);
if(! $isFile){
exit("非法上传");
}
$moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
if(! moveFile){
exit("非法上传");
}
echo "已上传";
?>
<?php
interface A
{
//定义常量
const name="黑子";
//定义接口方法
//接口方法只能为公有
public function demo();
}
//接口继承
interface B extends A{
const name2="鬼灭";
public function demo2();
}
//使用接口
//class Z implements B
//class Z implements A,B
//接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
class Z implements B{
public function demo(){
echo self::name;
}
public function demo2(){
echo self::name2;
}
}
$obj=new Z();
$obj->demo();
$obj->demo2();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>内容</title>
</head>
<body>
<form action="demo2.php" method="post" enctype="multipart/form-data">
<input type="file" name="f">
<button>上传</button>
</form>
</body>
</html>
<?php
var_dump($FILES);
$isFile=is_uploaded_file($_FILES['f']['tmp_name']);
if(! $isFile){
exit("非法上传");
}
$moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
if(! moveFile){
exit("非法上传");
}
echo "已上传";
?>
<?php
interface A
{
//定义常量
const name="黑子";
//定义接口方法
//接口方法只能为公有
public function demo();
}
//接口继承
interface B extends A{
const name2="鬼灭";
public function demo2();
}
//使用接口
//class Z implements B
//class Z implements A,B
//接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
class Z implements B{
public function demo(){
echo self::name;
}
public function demo2(){
echo self::name2;
}
}
$obj=new Z();
$obj->demo();
$obj->demo2();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>内容</title>
</head>
<body>
<form action="demo2.php" method="post" enctype="multipart/form-data">
<input type="file" name="f">
<button>上传</button>
</form>
</body>
</html>
<?php
var_dump($FILES);
$isFile=is_uploaded_file($_FILES['f']['tmp_name']);
if(! $isFile){
exit("非法上传");
}
$moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
if(! moveFile){
exit("非法上传");
}
echo "已上传";
?>
对象接口
用来限定使用接口的类的方法;(限定子类需要定义哪些方法)
语法:interface 接口名{
[类常量]
[接口方法]
}
接口名与类名的规则一样;
接口=>类
文件上传
网页表单:写一个post表单,添加一个文件框;
php代码:首先由php将保存到电脑(系统)的临时缓存目录
再由php代码接收到文件信息,然后根据文件信息进行校验(文件类型,文件大小,文件上传错误) 校验通过后,则可以进行文件保存
文件信息:
$_FILES[f][name] 文件名称
$_FILES[f][type] 文件类型
$_FILES[f][tmp_name] 文件的临时保存位置,当当前文件执行完毕时则自动删除
$_FILES[f][error] 文件的错误信息,是数字,大于0则有错误
$_FILES[f][size] 文件大小
文件保存功能
is_uploaded_file(文件名):bool 判断是否通过http post 上传
move_uploaded_file(源文件,新文件):bool 判断文件是否合法上传,移动文件到新位置