名称中带有 # 的文件名无法下载

乌诺

背景

我有一个在 CentOS 服务器上运行的 PHP 应用程序。前端使用 ajax 调用来调用 PHP 脚本。该脚本从服务器返回一个文件并将其下载到客户端。

问题

如果文件#名中有 ,则文件下载失败。

例子

File#Name.pdf = 没有正确下载

FileName.pdf = 下载是否正确

这是用于检索文件的 PHP,

if( isset($_GET['path'])) {
    $path = $_GET['path'];
    if(!file_exists($path)) {
        die('file not found');
    } else {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.$path);
        header('Content-Length: '.filesize($path));
        readfile($path);
        ob_clean();
        flush();
        exit;
    }
}

问题

为什么名称中的文件无法下载#

纳撒尼尔·格拉诺

啊,文件名是否来自 GET 请求?如果是这样,# 可能会被重写为 %23。尝试

$path = urldecode($_GET['path']);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法删除带有“?”的文件 在文件名中

来自分类Dev

PHP Force下载带有空格的文件名

来自分类Dev

使用ftplib下载文件名中带有空格的文件

来自分类Dev

批量下载文件名中带有日期的文件

来自分类Dev

文件名中带有逗号 (",") 的 Express 服务器文件下载

来自分类Dev

Firefox在文件名中带有空格的下载时出现问题

来自分类Dev

htaccess重写为名称文件名中带有井号(#)的文件

来自分类Dev

打开文件名称中带有“ =”的文件

来自分类Dev

打开文件名称中带有“ =”的文件

来自分类Dev

对文件名进行升序排序,其中bash中的名称带有破折号

来自分类Dev

查找和xargs正确处理名称中带有空格的文件名

来自分类Dev

打开(下载)名称中带有多个点的文件

来自分类Dev

下载名称中带有“/”或“\”的文件时出错

来自分类Dev

如何下载网址中没有文件名和文件扩展名的文件

来自分类Dev

Android视频视图:无法播放文件名中带有“%”字符的视频文件

来自分类Dev

无法删除/移动文件名中带有特殊字符的文件

来自分类Dev

使用带有原始文件名和扩展名的Google Drive API下载

来自分类Dev

名称中带有空格的文件

来自分类Dev

忽略名称中带有通配符的文件

来自分类Dev

无法从FileInputstream中读取带有俄语字符的文件名

来自分类Dev

无法引用文件名中带有空格的块 blob

来自分类Dev

libcurl:如何下载具有原始文件名的url?(等效于“ -O /-远程名称”)

来自分类Dev

无法移动或删除名称中带有\ r的文件

来自分类Dev

无法上传名称中带有空格的文件

来自分类Dev

无法移动名称中带有空格的文件

来自分类Dev

无法打开名称中带有问号的文件

来自分类Dev

文件夹名称中包含点(。)是不好的做法吗?带有多个点的文件名如何?

来自分类Dev

文件名中带有空格的grep文件

来自分类Dev

处理文件名中带有通配符的文件

Related 相关文章

  1. 1

    无法删除带有“?”的文件 在文件名中

  2. 2

    PHP Force下载带有空格的文件名

  3. 3

    使用ftplib下载文件名中带有空格的文件

  4. 4

    批量下载文件名中带有日期的文件

  5. 5

    文件名中带有逗号 (",") 的 Express 服务器文件下载

  6. 6

    Firefox在文件名中带有空格的下载时出现问题

  7. 7

    htaccess重写为名称文件名中带有井号(#)的文件

  8. 8

    打开文件名称中带有“ =”的文件

  9. 9

    打开文件名称中带有“ =”的文件

  10. 10

    对文件名进行升序排序,其中bash中的名称带有破折号

  11. 11

    查找和xargs正确处理名称中带有空格的文件名

  12. 12

    打开(下载)名称中带有多个点的文件

  13. 13

    下载名称中带有“/”或“\”的文件时出错

  14. 14

    如何下载网址中没有文件名和文件扩展名的文件

  15. 15

    Android视频视图:无法播放文件名中带有“%”字符的视频文件

  16. 16

    无法删除/移动文件名中带有特殊字符的文件

  17. 17

    使用带有原始文件名和扩展名的Google Drive API下载

  18. 18

    名称中带有空格的文件

  19. 19

    忽略名称中带有通配符的文件

  20. 20

    无法从FileInputstream中读取带有俄语字符的文件名

  21. 21

    无法引用文件名中带有空格的块 blob

  22. 22

    libcurl:如何下载具有原始文件名的url?(等效于“ -O /-远程名称”)

  23. 23

    无法移动或删除名称中带有\ r的文件

  24. 24

    无法上传名称中带有空格的文件

  25. 25

    无法移动名称中带有空格的文件

  26. 26

    无法打开名称中带有问号的文件

  27. 27

    文件夹名称中包含点(。)是不好的做法吗?带有多个点的文件名如何?

  28. 28

    文件名中带有空格的grep文件

  29. 29

    处理文件名中带有通配符的文件

热门标签

归档