文件上传

时间:2019-09-25
本文章向大家介绍文件上传,主要包括文件上传使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

type属性为 file 的 input 元素可以通过表单提交文件(上传文件),服务端PHP可以通过$_FILES获取上传的文件信息

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  
  var_dump($_FILES); //接收文件,使用一个 叫做 $_FILES 超全局成员
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
 
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

    <input type="text" name="bar"> -->
    <input type="file" name="img">

    <button>提交</button>

  </form>
</body>
</html>

①如果一个表单中有文件域(文件上传),必须将表单的 method 设置为 post , enctype 设置为 multipart / form-data

②接收文件,使用一个叫做 $_FILES 超全局成员

文件上传案例

<?php

   if($_SERVER['REQUEST_METHOD']==='POST')
   {
        postback();
   }


   function postback(){
        if(!isset($_FILES['fileUpload'])){
        $GLOBALS['message'] ="客户端提交的表单内容中根本没有文件域";
        return;
        }

        $fileUpload=$_FILES['fileUpload'];

        echo $fileUpload['error'];
        if($fileUpload['error'] !== UPLOAD_ERR_OK){
            $GLOBALS['message']="上传失败"; //服务端没有接收到上传的文件
            return;
        }

        $sourceDir = $fileUpload['tmp_name'];  //源文件在哪
        $targetDir = './targetDir/' . $fileUpload['name']; //目标放在哪
        $moved=move_uploaded_file($sourceDir,$targetDir);

        if(!$moved){
            $GLOBALS['message']="上传失败";
            return;
        }
   }


?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <input type="file" name="fileUpload">
    <button>上传</button>

    <?php  if(isset($message)):  ?>
    <?php  echo $message;?>
    <?php  endif ?>
</form>
</body>
</html>

①$filesUpload => arrar(5) {

  ["name"] => string

}

原文地址:https://www.cnblogs.com/shanlu0000/p/11587466.html