php代码实现form表单中文件的上传

<?php
  //1、注意:文件上传之后的信息都存储在$_FILES全局变量中。
  // print_r($_FILES);
  //2、判断用户是否提交数据
  if(!empty($_FILES)){
    //3、获取当前上传文件的类型
    $type=$_FILES["myFile"]["type"];
    //echo $type;  //打印出来的结果是image/png
    //3、strpos($mystring, $findme)  查找$findme在$mystring首次出现的位置。
    if(strpos($type,"image/")===0){
      $filename=$_FILES["myFile"]["name"];
      // echo $filename;
      // 4、获取当前文件的扩展名
      //strrchr ($haystack ,$needle ) 截取从$needle字符串开始到$haystack结尾的字符串。
      $extention = strrchr($filename,".");
      // 5、生成一个随机的文件名称
      $myname = time().rand(1000,9999).$extention;
      // 6、移动文件到指定的文件夹upload中,这样就完成了单文件的上传操作
      move_uploaded_file($_FILES['myFile']['tmp_name'],'./upload/'.$myname);
    }
  }
  else{
    echo "你选择的不是一张图片";
  } 
?>


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <!-- 1、文件上传必须设置method="post" -->
  <!-- 2、文件上传必须为form设置enctype="multipart/form-data" -->
  <!-- 3、当点击提交之后,文件数据就会作为参数提交到服务器上-->
  <!-- 4、将action设置成<?php echo $_SERVER['PHP_SELF'] ?>,是指将当前页面设置为后台的处理页面,仅仅是为了方便,并且当当前文档的名称改变时,他也会随之改变。当然是可以分离出来的。
  <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
    文件选择:<input type="file" name = "myFile">
    <br>
    <input type="submit">
  </form>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/Redase/article/details/83272594