简略的php文件上传(实例)

阅读量:30
2021-04-17

简单的php文件上传(实例)

PHP上传类太多,这里提供一个简单的php文件上传,一个文件就可以搞定上传。

把下面代码另存为uploads.php

复制代码代码如下:

?
??
??
?????
??? ??
??? 简易文件上传 - ??
??

??
??

??
请选择文件:
??
???
??
??? ??

??

??

??

??

??
??
function file_list($dir,$pattern=""){??
??? $arr=array();??
??? $dir_handle=opendir($dir);??
??? if($dir_handle){??
??????? while(($file=readdir($dir_handle))!==false){??
??????????? if($file==='.' || $file==='..'){??
??????????????? continue;??
??????????? }??
??????????? $tmp=realpath($dir.'/'.$file);??
??????????? if(is_dir($tmp)){??
??????????????? $retArr=file_list($tmp,$pattern);??
??????????????? if(!empty($retArr)){??
??????????????????? $arr[]=$retArr;??
??????????????? }??
??????????? } else {??
??????????????? if($pattern==="" || preg_match($pattern,$tmp)){??
??????????????????? $arr[]=$tmp;??
??????????????? }??
??????????? }??
??????? }??
??????? closedir($dir_handle);??
??? }??
??? return $arr;??
}??
$d_root = $_SERVER['DOCUMENT_ROOT'];??
$store_dir = "$/";// 上传文件的储存位置??
if (!is_dir($store_dir)) {??
??? mkdir($store_dir,0777,true);??
}??
$file_arr = file_list($store_dir);??
foreach ($file_arr as $v=>$k) {??
??? $d_root_no = strlen($d_root);??
??? $l = substr($k,$d_root_no);??
??? echo $v.'号文件下载地址为:? '.$_SERVER['SERVER_ADDR'].$l.'
';??
}??
$upload_file=isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';??
$upload_file_name=isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';??
$upload_file_size=isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';??
if($upload_file){??
??? $file_size_max = 1000*1000*200;// 200M限制文件上传最大容量(bytes)??
??? if (!is_dir($store_dir)) { ?//
??????? mkdir($store_dir,0777,true);??
??? }??
??? $accept_overwrite = 1;//是否允许覆盖相同文件??
??? // 检查文件大小??
??? if ($upload_file_size > $file_size_max) {??
??????? echo "对不起,你的文件容量大于规定";??
??????? exit;??
??? }??
??? // 检查读写文件??
??? if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {??
??????? echo "存在相同文件名的文件";??
??????? exit;??
??? }??
??? //复制文件到指定目录??
??? if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {??
??????? echo "复制文件失败";??
??????? exit;??
??? }??
}??
if (isset($_FILES['upload_file'])) {??
??? echo "

你上传了文件:";??
??? echo isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';??
??? echo "
";??
??? //客户端机器文件的原名称。??

??? echo "文件的 MIME 类型为:";??
??? echo isset($_FILES['upload_file']['type'])?$_FILES['upload_file']['type']:'';??
??? //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“/gif”。??
??? echo "
";??

??? echo "上传文件大小:";??
??? echo isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';??
??? //已上传文件的大小,单位为字节。??
??? echo "
";??

??? echo "文件上传后被临时储存为:";??
??? echo isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';??
??? //文件被上传后在服务端储存的临时文件名。??
??? $erroe = isset($_FILES['upload_file']['error'])?$_FILES['upload_file']['error']:'';??
??? switch($erroe){??
??? case 0:??
??????? echo "上传成功"; break;??
??? case 1:??
??????? echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;??
??? case 2:??
??????? echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break;??
??? case 3:??
??????? echo "文件只有部分被上传"; break;??
??? case 4:??
??????? echo "没有文件被上传"; break;??
??? case 6:??
??????? echo "没有缓存目录"; break;??
??? case 7:??
??????? echo "上传目录不可读"; break;??
??? case 8:??
??????? echo "上传停止"; break;??
??? default :??
??????? echo "没有选择上传文件"; break;??
??? }??
??? echo "";??
}??
?>??
??
?

声明:本文原创发布星网无限,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@处理

相关文章

相关视频


  • PHP使用curl采集
  • php函数
  • php 修饰符介绍
  • php字符串函数
  • 简略的php文件上传(实例)
  • Python3 File 方法
  • ASP FileSystemObject
  • ASP File
  • Ruby File 类和方法
  • Java Stream、File、IO

网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论

  • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第1张
  • 专题推荐

    • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第2张独孤九贱-php全栈开发教程

      全栈 100W+

      主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

    • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第3张玉女心经-web前端开发教程

      入门 50W+

      主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

    • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第4张天龙八部-实战开发教程

      实战 80W+

      主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

    作者信息
    简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第5张

    星网无限

    认证0级讲师

    发布技术文章
    • 最新文章
    • 热门排行

      简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第8张

    • PHP中preg_match函数使用详解(附代码实例)
    • PHP读取文件的两种方式:file_get_contents和fread(附代码实例)
    • 解析PHP中的namespace(命名空间)
    • PHP中时间的密码date()函数
    • 关于php-fpm7.0慢查询设置及说明
    • 解析PHP多进程编程
    • PHP中的array()详解
    • 详解PHP扫描图片转点阵、二维码转点阵

      简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第9张

    • 循环大量数据导致内存超出,不增加内存如何解决该问题
    • VPN是什么
    • 最全最详细的PHP面试题(带有答案)
    • PHP四大主流框架的优缺点总结
    • PHPstorm破解方法
    • 简略的php文件上传(实例)
    • php是什么文件?如何打开?四种打开php格式文件方法(图)
    • 实现回拨 AGI(PHP)
    推荐视频教程
  • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第10张javascript初级视频教程
  • 简略的php文件上传(实例) (https://www.xwwx.net/) 主题模板 第11张jquery 基础视频教程
  • 视频教程分类
    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程

    THE END

    发表评论

    相关推荐

    • 有关fgets()函数的文章推荐10篇

      以下正文:这篇文章主要介绍了PHP文件读写操作相关函数总结,本文总结了fwrite()、fread()、fgets()、fgetc()、file()、readf ...

      阅读量:68
      2021-04-19
    • php递归与无限分类实例详解

      这篇文章主要介绍了php实现递归与无限分类的方法,涉及php的递归操作技巧,需要的朋友可以参考下本文实例讲述了php实现递归与 ...

      阅读量:47
      2021-04-19
    • CI框架中zip类的使用

      CI框架自带的zip类简单实用,本文就来简单说一下ci框架的zip类的使用,需要的朋友可以参考下CI框架自带的zip类简单实用,本文 ...

      阅读量:46
      2021-04-18
    • SWFUpload插件上传文件的代码

      这篇文章主要介绍了文件上传之SWFUpload插件(代码),实现此代码主要分为两部分:1.前台文件和 2.后台文件upload.php,需要 ...

      阅读量:46
      2021-04-18
    • 关于destoon的URL Rewrite设置方法

      这篇文章主要介绍了destoon的URL Rewrite(伪静态)设置方法,需要的朋友可以参考下1、如果您的服务器支持.htaccess,则无需设 ...

      阅读量:49
      2021-04-18