下载的php总是损坏

2024-04-03

我有一个用 PHP 编写的下载脚本。我的视图文件脚本链接到 ids,然后选择与该 ID 匹配的所有数据。

然后使用该数据下载照片。我的照片在文件夹中重要吗?它被移动到一个文件夹,然后该目录被上传到MYSQL数据库。

目前的代码现在允许一些文件完美下载,然后大多数文件被损坏。有什么理由吗?

    Mysql table info...
    $cool = $_GET['id'];

  $sql = "SELECT id, type, name, size FROM upload WHERE id='$cool'";

   $result = mysql_query($sql, $db);
   $data = mysql_result($result, 0, "id");
   $name = mysql_result($result, 0, "name");
   $size = mysql_result($result, 0, "size");
   $type = mysql_result($result, 0, "type");

   header("Content-type: $type");
   header("Content-length: $size");
   header("Content-Disposition: attachment; filename=$name");
   header("Content-Description: PHP Generated Data");
   header('Content-Transfer-Encoding: binary');
   header('Expires: 0');
   header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
   header('Pragma: public');
   ob_clean();
   flush();
   readfile($name);
   exit();

发生这种情况是因为 PHP 在回显数据后发送了一些信息,解决方案是在回显数据后立即停止处理,为此添加exit();就在之后echo $data.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下载的php总是损坏 的相关文章

  • 使用 Laravel 4 验证多个文件上传

    如何在 Laravel 4 中验证上传文件的数组 我已将其设置为允许多个文件 并且已测试这些文件是否存在于 Input file files 数组中 但如何验证每个文件呢 这是我尝试过的 notesData array date gt In
  • Zend Framework 生成唯一的字符串

    我想生成一个唯一的 4 6 个字符长的字母数字字符串 以便与每个记录 用户 一起保存在数据库中 db 字段具有唯一索引 因此尝试保存预先存在的字符串会生成错误 现在我正在生成一个随机字符串并使用 try catch 因此在添加新记录时如果抛
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 如何在CoreData中保存多个条目?

    我有以下代码 执行时没有错误 问题是它只保存最后一个条目 Jack Daniels 3 如何更改此设置以便保存所有三个条目 let employees NSEntityDescription insertNewObjectForEntity
  • MS Access 的良好免费替代方案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android:更改WindowManager添加的View的LayoutParams

    我有叠加层View管理者WindowManager 就像在这个问题 http goo gl OD1ij 简而言之 它看起来像这样 WindowManager wm WindowManager getSystemService WINDOW
  • 在 IIS 7.5 上部署 ASP.NET MVC 应用程序时出现“未配置默认文档”错误

    开发 ASp NET MVC 5 应用程序 在开发计算机 Windows 7 x86 上运行没有问题 当我尝试在 IIS 7 5 Win Server 2008 R2 64 位 上部署它时 出现 3 个错误 无法识别的属性 targetFr
  • codeigniter 中的 is_unique 用于编辑功能

    我有要求 我可以在新的添加函数中对唯一值进行验证 例如 this gt form validation gt set rules email Email required valid email is unique users Email
  • Elasticsearch 多词过滤器

    我对 Elasticsearch 还很陌生 所以这是我的问题 我想用 elasticsearch 进行搜索查询并想用多个术语进行过滤 如果我想搜索用户 tom 那么我希望获得用户 isActive 1 isPrivate 0 和 isOwn
  • JavaScript 绘图库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于 JavaScript 交互式绘图库有什么建议吗 只需要绘制不同颜色的线条 多边形 文字即可 兼容
  • 类实例上元类的方法

    我想知道在元类上声明的方法会发生什么情况 我预计 如果您在元类上声明一个方法 它将最终成为一个类方法 但是 行为是不同的 例子 gt gt gt class A object classmethod def foo cls print fo
  • 目前Mono虚拟机的性能如何?

    网络上充斥着不同语言 编译器 虚拟机的各种性能测试 然而 几乎没有任何一个使用真实场景来测试性能 此外 在 Google 上搜索此类基准通常只会产生几年前的基准 因为这些基准有最多的时间来收集它们的链接 你们中有人真正了解不同虚拟机的当前性
  • 使用 antd 在组件中创建子菜单失败

    我正在使用 antd 3 5 4 我有一个包含用户管理项目的菜单 未登录时 菜单有一个带有登录页面链接的菜单项 登录后 菜单有一个子菜单 其中包含多个链接 包括注销 我只是对连接的用户进行简单的测试以显示链接或子菜单 当所有内容都在同一个文
  • 方案/球拍:画布操作

    1 正如标题所述 当我调整窗口大小时 我绘制的对象消失 但矩形保持原样 2 原点从左上角开始 但我希望它在左下角 3 除了绘图库之外 我找不到任何缩放功能 所以如果我希望实现这样的功能 一个选项是通过绘制更大的对象并刷新画布来 缩放 def
  • 使用 FileUpload 过滤文件扩展名

    我正在编写一个 ASP NET Web 应用程序 其中涉及使用FileUpload控制 此刻 这个特殊的FileUpload控件仅需要 zip 或 gz 文件类型 如果上传的文件类型不正确 则会向用户显示错误消息 该功能已经实现 我想要做的
  • Windows Phone 8.1 中的信标 - 没有可能性吗?

    首先 是的 我已经阅读了所有其他类似的问题 其次 我正在开发应用程序 WP 8 1 WinRT 它必须使用信标 我读了很多相关内容 我知道 如果不先配对 通常无法与 BLE 设备连接 但希望最后会破灭 所以我想问一下我有什么可能性 可以在代
  • 一次上传两个文件

    我正在尝试使用 codeigniters 上传类一次上传两个文件 两个文件字段 尽管提供了字段名称 codeigniter 仍会在第二个字段上产生错误 这是 codeigniter php 或 html 的限制 还是我只是错误地使用了该类
  • $concat mongodb 中的两个字段

    我有这两个集合 employees id NumberInt 0 name Max surname Power and loggableUser id NumberInt 0 employee NumberInt 1 现在我必须在以下查询中
  • 如何以递归方式将 React 组件渲染到自身中

    我有一个组件 即列表组件 列表组件可以渲染项目 通过组件ListItem 通过下面的内容可以轻松实现 import React from react import ListItem from list item list item clas
  • 如何使用 FastAPI 防止表单输入时页面重新加载

    我有一个使用 FastAPI 的简单程序 它将浮点值乘以 2 并将其显示在 HTML 中 该值通过 HTML 表单输入 我想知道如何获得动态显示的值 而无需在按 Enter 或按提交按钮时重新加载页面 以下是脚本 main py 和 dou
  • 在 C# 中用点和小数格式化数字[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要先 点 然后逗号 例如 1234567 这是一个数字或金钱的示例 我想要像 1 234 567 00 谁能给我答案 如果执行代码的计算
  • Gcc 卸载编译选项

    我正在尝试使用 Ubuntu 18 04 上的 gcc 10 CUDA 11 和此 CMakeLists txt 文件 或 OpenMP 版本 构建最简单的具有 GPU 卸载功能的 OpenMP 或 OpenACC C 程序 cmake m
  • 下载的php总是损坏

    我有一个用 PHP 编写的下载脚本 我的视图文件脚本链接到 ids 然后选择与该 ID 匹配的所有数据 然后使用该数据下载照片 我的照片在文件夹中重要吗 它被移动到一个文件夹 然后该目录被上传到MYSQL数据库 目前的代码现在允许一些文件完