首页 > Web开发 > 详细

文件上传

时间:2019-09-25 22:21:48      阅读:82      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!