`

【转载】php运用readfile函数实现下载文件权限判断

    博客分类:
  • PHP
阅读更多

转自:http://www.imphper.cn/imphper-php-view.php?view=single&id=89

本人有修改!

 

<?php
 
$file = get_file_address();// 文件的真实地址(支持url,不过不建议用url)   

if (file_exists($file))
{   
    header('Content-Description: File Transfer');   
    header('Content-Type: application/octet-stream');   
    header('Content-Disposition: attachment; filename='.basename($file));   
    header('Content-Transfer-Encoding: binary');   
    header('Expires: 0');   
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');   
    header('Pragma: public');   
    header('Content-Length: ' . filesize($file));   
    ob_clean();   //重要的就是这个函数的调用, 清空但不关闭输出缓存, 否则下载的文件头两个字符会是0a
    flush();   
    readfile($file);   // 输出文件内容
}   
?>  
 

 

 


 

 

 

-----------------------EOF------------------------

  • 大小: 39.8 KB
分享到:
评论
1 楼 chenchi 2013-01-14  
太感谢了!

相关推荐

    php readfile下载大文件失败的解决方法

    在PHP开发过程中,经常会遇到需要通过readfile函数下载大文件的需求。然而,直接使用readfile函数下载大文件时,可能会遇到文件只下载了一部分就提示下载完成的问题。这是因为PHP对执行脚本的内存使用有默认限制,...

    PHP文件管理系统源码.zip

    - 文件重命名:`rename()`函数实现文件或目录的重命名。 - 文件移动/复制:`rename()`也可用于移动文件,而`copy()`函数用于复制文件。 4. 目录操作 - 创建目录:`mkdir()`函数创建新目录。 - 遍历目录:`scandir()...

    PHP实现在线阅读PDF文件的方法

    最后,使用`readfile()`函数来直接输出PDF文件的内容,使用户可以直接在浏览器中打开和阅读PDF文件。 例如,代码片段中的`read_pdf()`函数是一个自定义的函数,它接受一个文件名作为参数。函数首先检查文件扩展名...

    php操作文件函数

    47. **readfile()**:直接输出文件内容,常用于下载文件。 48. **readlink()**:返回符号链接指向的实际路径。 49. **realpath()**:返回规范化且绝对化的路径。 50. **rename()**:重命名文件或目录。 51. **...

    php实现的压缩文件的上传与下载功能模块.rar

    - 要实现文件下载,可以使用PHP的`header()`函数设置响应头,如`Content-Type`(指定文件类型)和`Content-Disposition`(指定文件下载时的名称)。 - 使用`readfile()`或`file_get_contents()`函数读取文件内容,...

    简单的在线文件管理PHP

    这个"简单的在线文件管理PHP"系统主要利用了PHP的文件和目录操作函数,包括`scandir()`, `move_uploaded_file()`, `readfile()`, `unlink()`, `chmod()`, `chdir()`, `getcwd()`, `mkdir()`, 和 `rmdir()`等,实现...

    php实现文件管理与基础功能操作

    在实际应用中,这些函数和方法的组合使用可以实现各种复杂的文件管理和操作,比如文件上传、下载、移动、重命名、权限设置等。理解并熟练运用这些基础功能,是成为一名合格的PHP开发者的重要一步。在编写代码时,应...

    php 20个实例文件简单上传下载源码

    - `readfile()`或`file_get_contents()`函数读取文件内容并将其发送到浏览器,实现文件下载。 - 可以通过设置`Content-Type`和`Content-Disposition`头来指定文件类型和显示方式(直接显示还是作为附件下载)。 3...

    jquery+ajax+php文件下载.rar

    例如,使用PHP的`readfile()`函数可以直接输出文件内容,`header()`函数则可以设置Content-Type和Content-Disposition头,确保浏览器正确处理文件下载。 结合jQuery和Ajax,我们可以创建一个用户友好的文件下载体验...

    php使用 readfile&#40;&#41; 函数设置文件大小大小的方法

    在PHP编程中,`readfile()` 是一个非常实用的内置函数,它用于将文件内容直接输出到浏览器,而不需要先将其加载到内存中。...通过理解这些要点,你可以有效地使用PHP的`readfile()`函数处理各种大小的文件下载任务。

    php在线管理文件

    2. `readfile()`或`file_get_contents()`:这两个函数可以读取文件内容并输出到浏览器,配合`header()`函数实现文件的下载。 四、权限控制与安全 1. 用户认证与授权:在线管理文件系统需要对用户进行身份验证,...

    PHP文件下载过滤类

    然而,仅仅这样实现的文件下载可能存在安全风险,比如文件路径注入、非法文件类型下载等。因此,我们需要一个“过滤类”来增强安全性。这个`download.php`可能包含以下关键功能: 1. **文件路径验证**:确保文件...

    php实现下载功能

    使用`readfile()`函数可以一次性读取整个文件并直接输出到浏览器,这样浏览器就能开始接收文件。 ```php $file_path = 'path/to/yourfile.ext'; if (file_exists($file_path) && is_readable($file_path)) { ...

    基于HTTP PHP文件下载类.rar(很好很实用哦)

    在PHP中,我们可以利用内置的HTTP头函数来控制HTTP响应,实现文件下载功能。例如,`header()`函数可以用来设置HTTP响应头,告知浏览器应该以何种方式处理返回的数据。 ```php header('Content-Type: application/...

    PHP实例开发源码-八年 php文件管理器.zip

    下载文件则涉及到流式输出,通过设置HTTP响应头,利用`readfile()`函数逐块读取并输出文件内容,实现文件的动态下载。 目录遍历是文件管理器不可或缺的部分。PHP的`scandir()`函数可以列举指定目录下的所有文件和子...

    php实现防止食品音频被下载实例,完整php代码包括播放文件

    最后,使用`readfile()`函数读取并输出音频文件内容。 这样,当用户访问video.html时,浏览器会向vide.php发送请求,PHP脚本会验证用户并提供音频数据,而不是让用户直接下载文件。这种方法可以防止非授权用户获取...

    php实现的简单下载上传

    在PHP编程领域,实现文件的下载与上传是基础但至关重要的功能。对于初学者来说,理解并掌握这一技能能够为构建动态网站打下坚实的基础。本文将深入探讨PHP如何实现简单下载和上传功能,并提供相关的代码示例。 一、...

    PHP文件下载,开箱即用

    在PHP中实现文件下载功能是一项常见的任务,尤其对于Web开发者来说。"PHP文件下载,开箱即用"这个标题暗示我们将讨论如何通过简单的PHP代码来创建一个能够立即使用的文件下载功能。下面,我们将深入探讨PHP文件下载...

    PHP学习笔记之目录与文件操作

    `glob()`函数可以找到符合特定模式的文件,而递归函数配合`opendir()`, `readdir()`和`closedir()`可以实现深度遍历。 文件上传是Web应用中的常见需求。PHP提供了`$_FILES`全局数组来存储上传信息,`move_uploaded_...

Global site tag (gtag.js) - Google Analytics