PHP案例:下载文件(特色:只能下载上传的文件哦))

简介: PHP案例:下载文件(特色:只能下载上传的文件哦))

先上传后下载哦我使用的是phpstudy

请在www目录下创建一个uploads文件夹

代码

<?php
$link=mysqli_connect('localhost','root','root','a');//链接数据库(数据库软件账号密码都是root.数据库是a)
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');//字符串utf8
$file=dirname(__FILE__);
$file1=str_replace('\\', '/',$file);//获取绝对路径D:/phpstudy_pro/WWW
foreach($_FILES as $file){//遍历传过来的两个及以上的文件
        $fileNum=count($file['name']);
            for ($i=0; $i < $fileNum; $i++) { 
        $file3="/uploads/".$file['name'][$i];//获取路径
         $today = date();//获取日期
                        echo move_uploaded_file($_FILES['file']['tmp_name'][$i],$file1.$file3);
         $sql = "INSERT INTO upload(name,time,path)
         VALUES ('{$file['name'][$i]}','{$today}','{$file3}')";//插入到数据库中
         mysqli_query($link,$sql);//运行
            }
      echo json_encode(["code"=>200,"msg"=>'保存成功',"data"=>$file['name']]);//显示
    }

效果

代码

<?php
$request = $_FILES['file'];//获取传上来的文件
$dl = $request['name'];//获取文件
$file=dirname(__FILE__);
    $path=str_replace('\\', '/',$file)."/uploads/";//获取绝对路径D:/phpstudy_pro/WWW/uploads/
    if ($dl != "" && is_file($path.$dl)) {//如果文件没有名字的话。或者不是下载指定目录下的话,return 0;
          header("Content-Description: File Transfer");
          header("Content-Type: application/octet-stream");
        header("Content-Disposition: attachment; filename= ".$path.$dl);
          header("Content-Transfer-Encoding: binary");
          header("Connection: Keep-Alive");
          header("Expires: 0");
          header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
          header("Pragma: public");
          header("Content-Length: " . filesize($path.$dl));//文件大小
          readfile($path.$dl);//读取文件
          exit;
      }

效果:


相关文章
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
PHP 计算机视觉 UED
Buzz库:PHP图像处理中的异步图像下载和保存
Buzz库:PHP图像处理中的异步图像下载和保存
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
PHP
PHP遍历文件并同步上传到服务器
在进行网站迁移时,由于原网站的图片文件过多,采用打包下载再上传的方式耗时过长,且尝试使用FTP工具从旧服务器传输至新服务器时失败。为解决此问题,特使用PHP编写了一款工具,该工具能扫描指定目录下的所有`.webp`图像文件,并将其上传至新的服务器,极大地提高了迁移效率。
256 16
|
存储 安全 数据库连接
php.ini 文件的用途是什么?
【8月更文挑战第29天】
271 1
|
Java 应用服务中间件 PHP
PHP——调用java文件中的方法
PHP——调用java文件中的方法
186 0
PHP——调用java文件中的方法
进入靶场,出现一张照片,右击查看源代码,发现有一个注释的source.php文件
这段代码实现了一个网站上弹出的促销海报动画效果,包含一个关闭按钮。当促销海报弹出时,会在三秒后开始抖动一两下。海报使用固定定位居中显示,带有阴影和圆角,关闭按钮位于右上角。可以通过修改时间参数调整弹出时间。
127 0