首页后端开发PHPPHP中怎样做上传文件的功能

PHP中怎样做上传文件的功能

时间2024-03-25 06:32:03发布访客分类PHP浏览1494
导读:这篇文章给大家分享的是“PHP中怎样做上传文件的功能”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“PHP中怎样做上传文件的功能”吧。 本文实例讲述了P...
这篇文章给大家分享的是“PHP中怎样做上传文件的功能”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“PHP中怎样做上传文件的功能”吧。



本文实例讲述了PHP上传文件的方法。分享给大家供大家参考,具体如下:

Demo1.php

form enctype="multipart/form-data" action="Demo2.php" method="post">
    
  input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
    
  上传文件: input type="file" name="userfile" />
    
  input type="submit" value="上传" />
    
/form>
    

Demo2.php

?php
  //接受上传文件
  //$_FILES;
    
  //存在,但是空值
  //[userfile][name] 表示上传的文件名
  //[userfile][type] 表示文件类型:例如,jpg 的文件类型为:image/jpeg
  //[userfile][tmp_name]表示上传的文件临时存放的位置 C:\WINDOWS\temp\php28.tmp
  //[userfile][error]表示错误类型,表示没有任何错误。
  //[userfile][size]表示上传文件的大小
  print_r($_FILES);
    
  echo 'br/>
    ';
    
  //is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的
  //通过 HTTP POST 上传后,文件会存放在临时文件夹下
  $fileMimes = array('image/jpeg','image/pjpeg','image/gif','image/png','image/x-png');

  //判断类型是否是数组里的一种
  if(is_array($fileMimes)){

    if(!in_array($_FILES['userfile']['type'],$fileMimes)){
    
      echo "script>
    alert('本站只允许 jpg,png,gif 图片');
    history.back();
    /script>
    ";
    
      exit;

    }

  }
    
  //创建一个常量
  define('URL',dirname(__FILE__).'\uploads');
    
  echo URL;

  //判断目录是否存在
  if(!is_dir(URL)){
    
    mkdir(URL,0777);
 //最大权限0777,意思是如果没有这个目录,那么就创建
  }
    
  define('MAX_SIZE',2000000);
    
  if($_FILES['userfile']['size'] >
 MAX_SIZE){
    
    echo "script>
    alert('上传不得超过 2 M');
    history.back();
    /script>
    ";
    
    exit;

  }
    
  //还有两个问题要验证
  //第二个问题,只允许 JPG 文件
// if($_FILES['userfile']['type'] != 'image/jpeg' &
    &
 $_FILES['userfile']['type'] != 'image/pjpeg'){
    
//   echo "script>
    alert('本站只允许 JPG 图片');
    history.back();
    /script>
    ";
    
//   exit ;

// }

// switch ($_FILES['userfile']['type']){
    
//   case 'image/jpeg'://火狐
//     break;
    
//   case 'image/pjpeg':
//     break;
    
//   case 'image/gif':
//     break;
    
//   case 'image/png'://火狐
//     break;
    
//   case 'image/x-png'://IE
//     break;
    
//   default: echo "script>
    alert('本站只允许 jpg,png,gif 图片');
    history.back();
    /script>
    ";
    
//   exit ;

// }
    
  //第一个问题,如果上传错误,怎么办
  if($_FILES['userfile']['error']>
0){

    switch ($_FILES['userfile']['error']){
    
      case 1:echo "script>
    alert('上传文件超过约定值1');
    history.back();
    /script>
    ";
    
      break;
    
      case 2:echo "script>
    alert('上传文件超过约定值2');
    history.back();
    /script>
    ";
    
      break;
    
      case 3:echo "script>
    alert('部分被上传');
    history.back();
    /script>
    ";
    
      break;
    
      case 4:echo "script>
    alert('没有被上传');
    history.back();
    /script>
    ";
    
      break;

    }
    
    exit;

  }

  if(is_uploaded_file($_FILES['userfile']['tmp_name'])){

    //就在这里移动了
    //move_uploaded_file -- 将上传的文件移动到新位置
    //第一个参数,写上临时文件的地址,
    //第二个参数,第二个参数要写上你要存在的地址
    //先去判断这个目录是否存在
    //如果想屏蔽掉警告,直接加上 @
    if(!move_uploaded_file($_FILES['userfile']['tmp_name'],URL.'/'.$_FILES['userfile']['name'])){
    
      //如果移动失败,就失败
      echo '移动失败';
    
      exit;

    }

  }
else{
    
    echo "script>
    alert('临时文件夹找不到上传的文件');
    history.back();
    /script>
    ";
    
    exit;

  }
    
  //全部通过就上传成功了
  //必须传一个值给Demo3.php
  //文件上传的地址
  echo "script>
    alert('文件上传成功');
    location.href='Demo3.php?url=".$_FILES['userfile']['name']."';
    /script>
    ";
    
?>
    

Demo3.php

?php
  $url = $_GET['url'];
    
  echo "img src=\"uploads/".$url."\"/>
    ";
    
?>
    

感谢各位的阅读,以上就是“PHP中怎样做上传文件的功能”的内容了,通过以上内容的阐述,相信大家对PHP中怎样做上传文件的功能已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

PHP上传文件

若转载请注明出处: PHP中怎样做上传文件的功能
本文地址: https://pptw.com/jishu/652601.html
php中怎么使用docker运行workerman JQuery中dom表示什么,能够用来做什么呢

游客 回复需填写必要信息