2020年5月26日

    1. <?php
    2. interface A
    3. {
    4. //定义常量
    5. const name="黑子";
    6. //定义接口方法
    7. //接口方法只能为公有
    8. public function demo();
    9. }
    10. //接口继承
    11. interface B extends A{
    12. const name2="鬼灭";
    13. public function demo2();
    14. }
    15. //使用接口
    16. //class Z implements B
    17. //class Z implements A,B
    18. //接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
    19. class Z implements B{
    20. public function demo(){
    21. echo self::name;
    22. }
    23. public function demo2(){
    24. echo self::name2;
    25. }
    26. }
    27. $obj=new Z();
    28. $obj->demo();
    29. $obj->demo2();
    30. ?>
    31. <!DOCTYPE html>
    32. <html>
    33. <head>
    34. <meta charset="UTF-8">
    35. <title>内容</title>
    36. </head>
    37. <body>
    38. <form action="demo2.php" method="post" enctype="multipart/form-data">
    39. <input type="file" name="f">
    40. <button>上传</button>
    41. </form>
    42. </body>
    43. </html>
    44. <?php
    45. var_dump($FILES);
    46. $isFile=is_uploaded_file($_FILES['f']['tmp_name']);
    47. if(! $isFile){
    48. exit("非法上传");
    49. }
    50. $moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
    51. if(! moveFile){
    52. exit("非法上传");
    53. }
    54. echo "已上传";
    55. ?>
    56. <?php
    57. interface A
    58. {
    59. //定义常量
    60. const name="黑子";
    61. //定义接口方法
    62. //接口方法只能为公有
    63. public function demo();
    64. }
    65. //接口继承
    66. interface B extends A{
    67. const name2="鬼灭";
    68. public function demo2();
    69. }
    70. //使用接口
    71. //class Z implements B
    72. //class Z implements A,B
    73. //接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
    74. class Z implements B{
    75. public function demo(){
    76. echo self::name;
    77. }
    78. public function demo2(){
    79. echo self::name2;
    80. }
    81. }
    82. $obj=new Z();
    83. $obj->demo();
    84. $obj->demo2();
    85. ?>
    86. <!DOCTYPE html>
    87. <html>
    88. <head>
    89. <meta charset="UTF-8">
    90. <title>内容</title>
    91. </head>
    92. <body>
    93. <form action="demo2.php" method="post" enctype="multipart/form-data">
    94. <input type="file" name="f">
    95. <button>上传</button>
    96. </form>
    97. </body>
    98. </html>
    99. <?php
    100. var_dump($FILES);
    101. $isFile=is_uploaded_file($_FILES['f']['tmp_name']);
    102. if(! $isFile){
    103. exit("非法上传");
    104. }
    105. $moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
    106. if(! moveFile){
    107. exit("非法上传");
    108. }
    109. echo "已上传";
    110. ?>
    111. <?php
    112. interface A
    113. {
    114. //定义常量
    115. const name="黑子";
    116. //定义接口方法
    117. //接口方法只能为公有
    118. public function demo();
    119. }
    120. //接口继承
    121. interface B extends A{
    122. const name2="鬼灭";
    123. public function demo2();
    124. }
    125. //使用接口
    126. //class Z implements B
    127. //class Z implements A,B
    128. //接口可以一次性使用实现多个,需要用逗号分隔开,同时所有接口内容不能重复
    129. class Z implements B{
    130. public function demo(){
    131. echo self::name;
    132. }
    133. public function demo2(){
    134. echo self::name2;
    135. }
    136. }
    137. $obj=new Z();
    138. $obj->demo();
    139. $obj->demo2();
    140. ?>
    141. <!DOCTYPE html>
    142. <html>
    143. <head>
    144. <meta charset="UTF-8">
    145. <title>内容</title>
    146. </head>
    147. <body>
    148. <form action="demo2.php" method="post" enctype="multipart/form-data">
    149. <input type="file" name="f">
    150. <button>上传</button>
    151. </form>
    152. </body>
    153. </html>
    154. <?php
    155. var_dump($FILES);
    156. $isFile=is_uploaded_file($_FILES['f']['tmp_name']);
    157. if(! $isFile){
    158. exit("非法上传");
    159. }
    160. $moveFile=move_uploaded_file($_FILES['f']['tmp_name'],__DIR__ ."./1.jpg");
    161. if(! moveFile){
    162. exit("非法上传");
    163. }
    164. echo "已上传";
    165. ?>

    对象接口
    用来限定使用接口的类的方法;(限定子类需要定义哪些方法)
    语法: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 判断文件是否合法上传,移动文件到新位置