返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 实现网页文件上传 及 文件展示
  • 854
分享到

PHP 实现网页文件上传 及 文件展示

php开发语言htmljavascriptcss 2023-09-02 22:09:53 854人浏览 独家记忆
摘要

目录 效果展示 部分内容及实现代码 文件上传 发送数据到当前页面  并使用php处理  当提交空白表单时 需要用js提前处理 不进行提交 提交过后判断文件格式是否接受 展示文件  获取文件地址  开始展示文件 美化或优化 完整代码 效果

目录

效果展示

部分内容及实现代码

文件上传

发送数据到当前页面  并使用php处理

 当提交空白表单时 需要用js提前处理 不进行提交

提交过后判断文件格式是否接受

展示文件

 获取文件地址

 开始展示文件

美化或优化

完整代码



效果展示

 

没学过PHP  其中php内容全靠复制粘贴

创建./upload  文件夹 用来存储文件

用到的技术(一点即可)

html      css       javascript       php



部分内容及实现代码



文件上传

参考:PHP 文件上传 | 菜鸟教程 (runoob.com)

文件上传参考菜鸟教程    其中也有改变的地方

发送数据到当前页面  并使用php处理

 当提交空白表单时 需要用js提前处理 不进行提交

            



提交过后判断文件格式是否接受

if($_SERVER["REQUEST_METHOD"] == "POST" && empty($_POST["file"]) !== false){        $allowedExts = array("gif", "jpeg", "jpg", "png","zip","rar","tar",'tgz',"txt","xml","html","CSS","js");        $temp = explode(".", $_FILES["file"]["name"]);        // echo $_FILES["file"]["size"];        $extension = end($temp);     // 获取文件后缀名        if ((($_FILES["file"]["type"] == "image/gif")        || ($_FILES["file"]["type"] == "image/jpeg")        || ($_FILES["file"]["type"] == "image/jpg")        || ($_FILES["file"]["type"] == "image/pjpeg")        || ($_FILES["file"]["type"] == "image/x-png")        || ($_FILES["file"]["type"] == "image/png")        || ($_FILES["file"]["type"] == "application/octet-stream")        || ($_FILES["file"]["type"] == "application/x-tar")        || ($_FILES["file"]["type"] == "application/x-compressed")        || ($_FILES["file"]["type"] == "application/x-zip-compressed")        || ($_FILES["file"]["type"] == "text/plain")        || ($_FILES["file"]["type"] == "text/xml")        || ($_FILES["file"]["type"] == "text/html")        || ($_FILES["file"]["type"] == "text/css")        || ($_FILES["file"]["type"] == "text/javascript")        )        && ($_FILES["file"]["size"] < 20480000)           && in_array($extension, $allowedExts)){        if ($_FILES["file"]["error"] > 0){        echo "错误:: " . $_FILES["file"]["error"] . "
"; } else{ echo ' '; move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); } } else{ echo ' '; } }


常见文件类型

常用的MIME类型.doc     application/msWord.docx   application/vnd.openxmlfORMats-officedocument.wordprocessingml.document.rtf       application/rtf.xls     application/vnd.ms-excel application/x-excel.xlsx    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.ppt     application/vnd.ms-powerpoint.pptx    application/vnd.openxmlformats-officedocument.presentationml.presentation.pps     application/vnd.ms-powerpoint.ppsx   application/vnd.openxmlformats-officedocument.presentationml.slideshow.pdf     application/pdf.swf    application/x-shockwave-flash.dll      application/x-msdownload.exe    application/octet-stream.msi    application/octet-stream.chm    application/octet-stream.cab    application/octet-stream.ocx    application/octet-stream.rar     application/octet-stream.tar     application/x-tar.tgz    application/x-compressed.zip    application/x-zip-compressed.z       application/x-compress.wav   audio/wav.wma   audio/x-ms-wma.wmv   video/x-ms-wmv.mp3 .mp2 .mpe .mpeg .mpg     audio/mpeg.rm     application/vnd.rn-realmedia.mid .midi .rmi     audio/mid.bmp     image/bmp.gif     image/gif.png    image/png.tif .tiff    image/tiff.jpe .jpeg .jpg     image/jpeg.txt      text/plain.xml     text/xml.html     text/html.css      text/css.js        text/javascript.mht .mhtml   message/rfc822

展示文件

想着图片之类的还展示图片  其他类型的使用文件名字 + 链接跳转过去 下载或其他

先用php获取文件地址   全部放到数组里   然后对数组遍历输出即可。

 获取文件地址

$prin = traverseDir('./upload');$num = count($prin);    function traverseDir($dirPath=false,$type='all'){    //检测是否为文件夹    if(!$dirPath||!is_dir($dirPath)){        return false;    }    $files = array();    //增加一个@抑制错误    if(@$handle = opendir($dirPath)){       while(($file=readdir($handle))!==false){           //排除'.'当前目录和'..'上级目录           if($file != '..' && $file != '.'){               //只记录文件               if($type == 'file'){                   if(is_dir($dirPath.DIRECTORY_SEPARATOR.$file)){                       //如果是文件夹,则重新遍历该文件的文件                       $files[$file] = traverseDir($dirPath.DIRECTORY_SEPARATOR.$file,'file');                       //把文件存入数组中                        foreach($files[$file] as $k => $v){if(is_file($v)){    $files[] = $v;    //删除源数组中的对应文件路径    unset($files[$file][$k]);}                        }                       //删除源数组中的对应文件路径数组                       unset($files[$file]);                   }else{                       //如果是文件则直接存入数组                       $files[] = $dirPath.DIRECTORY_SEPARATOR.$file;                   }               }else{//记录含文件                    if(is_dir($dirPath.DIRECTORY_SEPARATOR.$file)){                        //如果是文件夹,则重新遍历该文件的文件                        $files[$file] = traverseDir($dirPath.DIRECTORY_SEPARATOR.$file);                    }else{                        //如果是文件则直接存入数组                        $files[] = $dirPath.DIRECTORY_SEPARATOR.$file;                    }               }           }       }closedir($handle);    }    return $files;}

 开始展示文件

    for($i=0;$i<$num;++$i){            if($i%5==0){                echo '
    '; } $name = substr($prin[$i],9); if(strpos($name,'.png')!== false || strpos($name,'.jpg')!== false){ echo '
  • '; } else{ echo '
  • '.$name.'
  • '; } }

美化或优化


  1.  由于php发送表单时,会跳转到别的页面    两种方法解决

    一 使用ajax传输数据   可惜我不会

    二 跳转过去后   再使用js跳转过来 

  2. input的美化   

    可以使input标签隐藏  然后用另外的标签来代替input

    利用javascrip实现



完整代码

 $v){if(is_file($v)){    $files[] = $v;    //删除源数组中的对应文件路径    unset($files[$file][$k]);}                        }                       //删除源数组中的对应文件路径数组                       unset($files[$file]);                   }else{                       //如果是文件则直接存入数组                       $files[] = $dirPath.DIRECTORY_SEPARATOR.$file;                   }               }else{//记录含文件                    if(is_dir($dirPath.DIRECTORY_SEPARATOR.$file)){                        //如果是文件夹,则重新遍历该文件的文件                        $files[$file] = traverseDir($dirPath.DIRECTORY_SEPARATOR.$file);                    }else{                        //如果是文件则直接存入数组                        $files[] = $dirPath.DIRECTORY_SEPARATOR.$file;                    }               }           }       }closedir($handle);    }    return $files;}echo 'beink    

来源地址:https://blog.csdn.net/qq_53950686/article/details/126928349

--结束END--

本文标题: PHP 实现网页文件上传 及 文件展示

本文链接: https://lsjlt.com/news/391550.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP 实现网页文件上传 及 文件展示
    目录 效果展示 部分内容及实现代码 文件上传 发送数据到当前页面  并使用php处理  当提交空白表单时 需要用js提前处理 不进行提交 提交过后判断文件格式是否接受 展示文件  获取文件地址  开始展示文件 美化或优化 完整代码 效果...
    99+
    2023-09-02
    php 开发语言 html javascript css
  • PHP实现文件上传
    上传文件的必备三个条件: 上传到后台的文件 method = "post";(不可以为get方法) enctype = "multipart/form-data";(注意哦,是data,不是date) 三者缺一不可 后台PHP的$_FIL...
    99+
    2023-09-02
    php 服务器 开发语言
  • php如何实现文件夹上传文件
    这篇“php如何实现文件夹上传文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现文件夹上传文件”文章吧。一、什...
    99+
    2023-07-05
  • vue文件批量上传及进度条展示的实现方法
    目录主要实现功能上传初始化逻辑uploadStore()multiUpload() multiRun()uploadAsync(fileInfo)总结主要实现功能 1.多文...
    99+
    2022-12-24
    vue实现批量上传 vue 多文件上传 vue进度条样式
  • Spring boot实现文件上传实例(多文件上传)
    文件上传主要分以下几个步骤:(1)新建maven java project;(2)在pom.xml加入相应依赖;(3)新建一个表单页面(这里使用thymleaf);(4)编写controller;(5)测试;(6)对上传的文件做一些限制;(...
    99+
    2023-05-31
    spring boot 文件上传
  • Node.js实现文件上传的示例
    文件上传指的是将用户本地的文件上传到服务器中。 上传文件需要处理两个位置: 客户端 客户端如何上传文件? 上传文件的表单项需要指定为input,type是file 要上传文件必须将表单enc...
    99+
    2022-06-04
    示例 文件上传 Node
  • PHP---文件上传
    目录 一、文件上传的概念 二、文件上传的步骤 (1)表单的制作 三、$_FILES详解 (1)name (2)tmp_name (3)type (4)error (5)size  四、移动临时文件到目标位置  五、多文件上传 (1)同名表单...
    99+
    2023-09-03
    服务器 运维 php
  • php多文件上传怎么实现
    在PHP中实现多文件上传,可以通过使用HTML表单和PHP来处理上传的文件。以下是一个简单的示例代码: 创建一个HTML表单用于上...
    99+
    2024-03-06
    php
  • 如何利用文件函数实现PHP文件上传
    今天就跟大家聊聊有关如何利用文件函数实现PHP文件上传,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如果你是一个电脑爱好者,不知道PHP的话你就太落伍了,如果想知道PHP的相关知识,...
    99+
    2023-06-17
  • Node.js实现文件上传
    在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为。 google 了一番之后, 明白了浏览器无非就是利用htt...
    99+
    2022-06-04
    文件上传 Node js
  • vue实现文件上传
    本文实例为大家分享了vue实现文件上传的具体代码,供大家参考,具体内容如下 记录问题,方便回顾 1、使用elementUI的 el-upload插件进行上传。 2、使用input。 ...
    99+
    2024-04-02
  • ASP.NET实现文件上传
    本文实例为大家分享了ASP.NET实现文件上传的具体代码,供大家参考,具体内容如下 .NET中C/S和B/S上传文件不同 B/S中文件上传和C/S中的文件上传性质完全不一样 在C/S...
    99+
    2024-04-02
  • React+Koa实现文件上传的示例
    目录背景 服务端依赖 后端配置跨域后端配置静态资源访问 使用 koa-static-cache后端配置requst body parse 使用 koa-bodyparser前端依赖 ...
    99+
    2024-04-02
  • golang Gin上传文件返回前端及中间件实现示例
    目录上传文件文件返回给前端中间件中间件调用两种方式单个中间件多个中间件上传文件 package main import ( "fmt" "github.com/gin-gonic...
    99+
    2024-04-02
  • PHP cURL 文件上传
    本篇文章将指导如何使用 cURL 和 CURLFile 类将图像文件发送到服务器。 这个想法是将图像文件从一个页面发布到另一个页面上的另一个页面。 Index.php:首先,我们将文件 i...
    99+
    2024-02-27
  • SpringBoot实现单文件与多文件上传
    目录一、公共文件存储代码1.FileUploadUtils.java2.FileUtils.java3.MimeTypeUtils.java4.FileException.java5...
    99+
    2024-04-02
  • php怎么实现文件上传功能
    在PHP中,可以使用`$_FILES`超全局变量来处理文件上传功能。首先,在HTML表单中设置`enctype="multipart...
    99+
    2023-08-14
    php
  • PHP实现文件上传和下载的示例代码
    目录1.效果图2.首先是封装好的图片类(缩放及生成水印)1.GDBasic.php2.Image.php3.ajax类封装文件1.index.php2.图片相关功能处理3.封装好的文...
    99+
    2024-04-02
  • PHP+JS实现文件分块上传的示例代码
    目录一、分块上传流程二、实现代码HTMLJSPHP我们在上传大文件时,可能会由于服务器的原因导致文件上传失败,文件过大时由于服务器的配置或响应事件过长导致上传文件失败,这时候我们可以...
    99+
    2022-11-13
    PHP JS文件分块上传 PHP 文件分块上传 PHP 文件上传
  • Python+django实现文件上传
    1、文件上传(input标签) (1)html代码(form表单用post方法提交) <input class="btn btn-primary col-md-1" style="margin:...
    99+
    2022-06-04
    文件上传 Python django
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作