欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP安全下載文件的方法

 更新時間:2016年04月07日 11:03:48   作者:ruxingli  
這篇文章主要介紹了PHP安全下載文件的方法,涉及PHP文件的編碼設置,轉(zhuǎn)換,判斷及下載的相關技巧,需要的朋友可以參考下

本文實例講述了PHP安全下載文件的方法。分享給大家供大家參考,具體如下:

<?php
header('Content-Type:text/html;Charset=utf-8');
define('ROOT_PATH', dirname(__FILE__));
/**
 * 下載文件
 * @param string $file_path 絕對路徑
 */
function downFile($file_path) {
  //判斷文件是否存在
  $file_path = iconv('utf-8', 'gb2312', $file_path); //對可能出現(xiàn)的中文名稱進行轉(zhuǎn)碼
  if (!file_exists($file_path)) {
    exit('文件不存在!');
  }
  $file_name = basename($file_path); //獲取文件名稱
  $file_size = filesize($file_path); //獲取文件大小
  $fp = fopen($file_path, 'r'); //以只讀的方式打開文件
  header("Content-type: application/octet-stream");
  header("Accept-Ranges: bytes");
  header("Accept-Length: {$file_size}");
  header("Content-Disposition: attachment;filename={$file_name}");
  $buffer = 1024;
  $file_count = 0;
  //判斷文件是否結(jié)束
  while (!feof($fp) && ($file_size-$file_count>0)) {
    $file_data = fread($fp, $buffer);
    $file_count += $buffer;
    echo $file_data;
  }
  fclose($fp); //關閉文件
}
downFile(ROOT_PATH . '/down/Sunset.jpg');
?>

說明:文件名稱可以接受中文名稱。文件格式為 utf-8。

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • phpmyadmin導入(import)文件限制的解決辦法

    phpmyadmin導入(import)文件限制的解決辦法

    最近一次在用phpmyadmin備份mysql數(shù)據(jù)庫時,沒有分段大小,一下子備份了一百多M的sql數(shù)據(jù);在導入的時候,提示超過2M導入限制,前一段時間,遇到過一次,后來利用網(wǎng)站后臺的自動分段處理了;這次又遇到這個問題,決心解決一下。
    2009-12-12
  • PHP使用XMLWriter讀寫xml文件操作詳解

    PHP使用XMLWriter讀寫xml文件操作詳解

    這篇文章主要介紹了PHP使用XMLWriter讀寫xml文件操作,結(jié)合實例形式分析了php基于XMLWriter針對xml文件進行讀寫操作相關實現(xiàn)技巧,并附帶相關源碼供讀者下載參考,需要的朋友可以參考下
    2018-07-07
  • php中strtotime函數(shù)性能分析

    php中strtotime函數(shù)性能分析

    strtotime()是php中的時間函數(shù);其功能是:將任何字符串形式的日期,時間轉(zhuǎn)換成對應的Unix 時間戳。今天我們是通過具體的實例來詳細分析下strtotime()函數(shù)的性能問題
    2016-11-11
  • sae使用smarty模板的方法

    sae使用smarty模板的方法

    這篇文章主要介紹了sae使用smarty模板的方法,大家參考使用吧
    2013-12-12
  • php根據(jù)日期或時間戳獲取星座信息和生肖等信息

    php根據(jù)日期或時間戳獲取星座信息和生肖等信息

    這篇文章主要介紹了php根據(jù)日期或時間戳獲取星座信息和生肖等信息的相關資料,需要的朋友可以參考下
    2015-10-10
  • PHP對象克隆clone用法示例

    PHP對象克隆clone用法示例

    這篇文章主要介紹了PHP對象克隆clone用法,結(jié)合實例形式分析了php淺克隆與深克隆的相關概念、特點與實現(xiàn)方法,需要的朋友可以參考下
    2016-09-09
  • PHP 木馬攻擊防御技巧

    PHP 木馬攻擊防御技巧

    實際上我們還可以通過設置各個文件夾的權(quán)限,來讓apache用戶只能執(zhí)行我們想讓它能干的事情,給每一個目錄建立一個單獨能讀寫的用戶。
    2009-06-06
  • php對象工廠類完整示例

    php對象工廠類完整示例

    這篇文章主要介紹了php對象工廠類,涉及php參數(shù)獲取、數(shù)組使用、對象創(chuàng)建等相關操作技巧,需要的朋友可以參考下
    2018-08-08
  • php JWT在web端中的使用方法教程

    php JWT在web端中的使用方法教程

    這篇文章主要給大家介紹了關于php JWT在web端中的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • php上傳文件的增強函數(shù)

    php上傳文件的增強函數(shù)

    php文件上傳的增強函數(shù)首先變得傻瓜簡單化,但并不是該函數(shù)的簡單化就影響他的超強功能,并且加上了強大的除錯功能這是一函數(shù),當然你可以把它變成一個類的方法!
    2010-07-07

最新評論