php文件上传及下载附带显示文件及目录功能

yizhihongxing

PHP文件上传及下载附带显示文件及目录功能是web开发中常见的一个功能,下面我将结合相关代码,详细讲解这个功能的完成过程:

一、文件上传

文件上传是指将本地电脑上的文件上传到服务器端,以下是实现文件上传的步骤:

1.创建上传表单

在HTML中创建一个form表单,其中enctype属性设置为multipart/form-data,表示这是一个带文件上传的表单:

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>

2.处理上传文件

在服务器端的PHP代码中处理上传的文件,使用php的内置函数move_uploaded_file进行文件上传,下面是一个上传文件的php代码示例:

if ($_FILES["file"]["error"] > 0) {
    echo "错误:" . $_FILES["file"]["error"] . "<br>";
} else {
    if (file_exists("upload/" . $_FILES["file"]["name"])) {
        echo $_FILES["file"]["name"] . "已经存在。";
    } else {
        move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
        echo "文件已经保存到: upload/" . $_FILES["file"]["name"];
    }
}

3.上传文件的存储

上传的文件一般保存在服务器端,这里我们创建一个upload目录,通过move_uploaded_file函数将上传的文件保存在该目录下。如果文件已经存在,则不进行保存并提示用户该文件已经存在。

二、文件下载

文件下载是指从服务器端下载文件到本地电脑,以下是实现文件下载的步骤:

1.创建下载链接

在HTML中创建一个链接,点击链接即可下载文件,链接的href属性是一个指向服务器端php文件的url,该php文件负责文件下载的处理:

<a href="download.php?file=文件名">文件下载</a>

2.处理下载文件

在服务器端的PHP代码中处理下载文件,使用php的内置函数readfile进行文件下载,下面是一个下载文件的php代码示例:

$file = "upload/".$_GET['file'];  //获取要下载的文件名

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".basename($file));
header("Content-Length: ".filesize($file));
readfile($file);
exit();

三、显示文件及目录

以下是显示文件及目录的步骤:

1.显示当前目录下的文件和目录

在服务器端的PHP代码中使用PHP的内置函数scandir获取当前目录下的文件列表,使用foreach循环输出。

$base_path = 'upload/';
$filesnames = scandir($base_path);
foreach ($filesnames as $name) {
    if ($name != '.' && $name != '..') {
        echo $name . '<br/>';
    }
}

2.显示指定目录下的文件和目录

加入一个参数dir,用来指定要显示的目录,代码如下:

$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
$base_path = 'upload/' . $dir;
$filesnames = scandir($base_path);
foreach ($filesnames as $name) {
    if ($name != '.' && $name != '..') {
        if (is_dir($base_path . '/' . $name)) {
            echo "<a href='?dir=$dir/$name'>$name</a><br/>";
        } else {
            echo $name . '<br/>';
        }
    }
}

在这段代码中,我们加入了当前目录的参数dir,如要显示的是upload目录下的文件或文件夹,则dir传递的是空值。如果要显示upload目录下的子目录或文件,则传递相应文件夹名字。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php文件上传及下载附带显示文件及目录功能 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 微信小程序url与token设置详解

    针对“微信小程序url与token设置详解”的问题,我会提供详细的攻略,并在过程中举例说明。 微信小程序url与token设置详解 什么是url与token 在使用微信小程序开发框架中,url与token是非常重要的概念。其中,url(Uniform Resource Locator),中文翻译为统一资源定位符,是一种用于描述互联网上物理位置的字符串格式的起…

    PHP 2023年5月30日
    00
  • php将数组存储为文本文件方法汇总

    下面我将详细讲解“php将数组存储为文本文件方法汇总”的完整攻略。 1. 介绍 在PHP编程中,经常需要将数组持久化地存储到文本文件中。下面就是一些将PHP数组存储为文本文件的方法,以及如何在读取时使用它们。 2. 将数组存储为CSV文件 CSV(Comma Separated Values)是一种常见的文本文件格式,通常用于存储和交换表格数据。如果要将PH…

    PHP 2023年5月26日
    00
  • 详述php渗透全过程(组图)

    以下是详述PHP渗透全过程的完整攻略。 1.概述 PHP渗透是现代网络安全领域里一项非常重要的技能和工作,其主要目的是找出PHP应用程序中的安全漏洞并尝试利用它们获得系统访问权限或敏感数据。在进行PHP渗透前,我们需要了解以下知识:- PHP基础语法和操作方法;- 常见的Web漏洞及其检测方法和利用工具;- 经验丰富的安全漏洞挖掘技巧。 2.渗透全过程 2.…

    PHP 2023年5月26日
    00
  • PHP抓取网页、解析HTML常用的方法总结

    以下是关于“PHP抓取网页、解析HTML常用的方法总结”的完整攻略: 1. 前言 在开发Web应用时,我们常常需要从外部网站中获取信息。为此,我们需要学会如何使用PHP抓取网页,并解析HTML页面。本文将介绍PHP中常用的网页抓取和HTML页面解析方法,并提供两个示例说明。 2. PHP抓取网页常用的方法 使用PHP抓取网页有多种方法,以下是三种常用的方法:…

    PHP 2023年5月27日
    00
  • php微信公众号js-sdk开发应用

    下面是关于PHP微信公众号JS-SDK开发应用的完整攻略: 什么是JS-SDK JS-SDK 是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。通过使用 JS-SDK,网页开发者可以轻松地在微信内嵌入即时通讯、地理位置定位等微信原生功能,为微信用户提供丰富的网页应用体验。 开发步骤 1. 配置开发环境 首先需要注册微信公众平台账号,并在开发者中心…

    PHP 2023年5月27日
    00
  • PHP中的表达式简述

    下面是关于PHP中的表达式简述的攻略: 什么是表达式 在编程中,表达式是由变量、常量、操作符和函数组合而成的可求值的代码片段。表达式的运行结果称为“值”。 PHP中的表达式分类 算术表达式:由一个操作符和一个的或多个操作数组成的表达式,可以进行加、减、乘、除、模等运算。 示例: $a = 10; $b = 5; $c = $a + $b; // $c 的值为…

    PHP 2023年5月23日
    00
  • php正则表达式的基本语法总结

    PHP正则表达式的基本语法总结 正则表达式是处理文本的最强工具之一,可以广泛应用于搜索引擎、编辑器和其他文本处理工具中。本篇文章将介绍PHP正则表达式的基本语法,涵盖字符串搜索、替换和匹配等内容。 1. PHP正则表达式的基本语法 1.1 匹配模式 正则表达式使用“/”符号包裹匹配模式。例如,要匹配字符串中的“hello”可以使用以下模式: $pattern…

    PHP 2023年5月26日
    00
  • 全面屏时代的微边框 戴尔XPS 15-9570笔记本电脑详细图文评测

    全面屏时代的微边框 戴尔XPS 15-9570笔记本电脑详细图文评测 背景 在当今科技发展日新月异的时代,全面屏手机越来越普及,各大电脑厂商也纷纷推出了全面屏电脑。而其中,戴尔的XPS系列被称为全面屏电脑的代表之一。本次评测将详细讲解戴尔XPS 15-9570笔记本电脑的特点和性能,为大家提供选购参考。 特点 微边框设计 全面屏电脑的最大特点就是采用了微边框…

    PHP 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部