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

php利用header函數(shù)下載各種文件

 更新時間:2016年08月24日 09:33:02   作者:※WYF※  
這篇文章主要為大家詳細介紹了php利用header函數(shù)下載各種文件的代碼,感興趣的小伙伴們可以參考一下

本文實例為大家分享了php header函數(shù)下載文件實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

http://www.php.net/manual/en/function.readfile.php

<?php
/**
* 下載文件
* header函數(shù)
*
*/


dl_file($_GET ['filename']);

function dl_file($file)
{
 $file = ".//images//" . $file;
 //First, see if the file exists
 
 if (! is_file ( $file ))
 {
  die ( "<b>404 File not found!</b>" );
 }
 
 // Gather relevent info about file
 $len = filesize ( $file );
 $filename = basename ( $file );
 $file_extension = strtolower ( substr ( strrchr ( $filename, "." ), 1 ) );
 
 // This will set the Content-Type to the appropriate setting for the file
 switch ($file_extension)
 {
  case "pdf" :
   $ctype = "application/pdf";
   break;
  case "exe" :
   $ctype = "application/octet-stream";
   break;
  case "zip" :
   $ctype = "application/zip";
   break;
  case "doc" :
   $ctype = "application/msword";
   break;
  case "xls" :
   $ctype = "application/vnd.ms-excel";
   break;
  case "ppt" :
   $ctype = "application/vnd.ms-powerpoint";
   break;
  case "gif" :
   $ctype = "image/gif";
   break;
  case "png" :
   $ctype = "image/png";
   break;
  case "jpeg" :
  case "jpg" :
   $ctype = "image/jpg";
   break;
  case "mp3" :
   $ctype = "audio/mpeg";
   break;
  case "wav" :
   $ctype = "audio/x-wav";
   break;
  case "mpeg" :
  case "mpg" :
  case "mpe" :
   $ctype = "video/mpeg";
   break;
  case "mov" :
   $ctype = "video/quicktime";
   break;
  case "avi" :
   $ctype = "video/x-msvideo";
   break;
  
  // The following are for extensions that shouldn't be downloaded
  // (sensitive stuff, like php files)
  case "php" :
  case "htm" :
  case "html" :
  case "txt" :
   die ( "<b>Cannot be used for " . $file_extension . " files!</b>" );
   break;
  
  default :
   $ctype = "application/force-download";
 }
 
 
 $file_temp = fopen ( $file, "r" );
 
 
 // Begin writing headers
 header ( "Pragma: public" );
 header ( "Expires: 0" );
 header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
 header ( "Cache-Control: public" );
 header ( "Content-Description: File Transfer" );
 // Use the switch-generated Content-Type
 header ( "Content-Type: $ctype" );
 // Force the download
 $header = "Content-Disposition: attachment; filename=" . $filename . ";";
 header ( $header );
 header ( "Content-Transfer-Encoding: binary" );
 header ( "Content-Length: " . $len );
 
 
 //@readfile ( $file );
 echo fread ( $file_temp, filesize ( $file ) );
 fclose ( $file_temp );
 
 exit ();
}

?>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法

    php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法

    這篇文章主要介紹了php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家使用的時候注意方法,需要的朋友可以參考下
    2017-10-10
  • Laravel框架控制器,視圖及模型操作圖文詳解

    Laravel框架控制器,視圖及模型操作圖文詳解

    這篇文章主要介紹了Laravel框架控制器,視圖及模型操作,結(jié)合實例形式詳細分析了laravel框架控制器,視圖及模型的基本功能、原理與相關(guān)操作使用技巧,需要的朋友可以參考下
    2019-12-12
  • 淺談PHP面向?qū)ο笾L問者模式+組合模式

    淺談PHP面向?qū)ο笾L問者模式+組合模式

    下面小編就為大家?guī)硪黄獪\談PHP面向?qū)ο笾L問者模式+組合模式。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • nginx簡單配置多個php服務(wù)實例教程

    nginx簡單配置多個php服務(wù)實例教程

    nginx安裝剛安裝好是不能訪問php文件的,需要我們進行配置,下面這篇文章主要給大家介紹了關(guān)于nginx簡單配置多個php服務(wù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • PHP之多條件混合篩選功能的實現(xiàn)方法

    PHP之多條件混合篩選功能的實現(xiàn)方法

    今天小編就為大家分享一篇PHP之多條件混合篩選功能的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 利用php + Laravel如何實現(xiàn)部署自動化詳解

    利用php + Laravel如何實現(xiàn)部署自動化詳解

    這篇文章主要給大家介紹了關(guān)于利用php + Laravel如何實現(xiàn)部署自動化的相關(guān)資料,文中通過示例代碼介紹非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • PHP中is_file()函數(shù)使用指南

    PHP中is_file()函數(shù)使用指南

    php中is_file()函數(shù)是用來判斷文件是否存在,使用方法也非常的簡單,有需要的小伙伴可以參考下。
    2015-05-05
  • php實現(xiàn)微信小程序訂閱消息推送(access_token獲取緩存刷新)

    php實現(xiàn)微信小程序訂閱消息推送(access_token獲取緩存刷新)

    這篇文章主要為大家介紹了php實現(xiàn)微信小程序訂閱消息推送包含access_token獲取緩存刷新示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • ThinkPHP框架整合微信支付之Native 掃碼支付模式一圖文詳解

    ThinkPHP框架整合微信支付之Native 掃碼支付模式一圖文詳解

    這篇文章主要介紹了ThinkPHP框架整合微信支付之Native 掃碼支付模式一,結(jié)合圖文形式詳細分析了thinkPHP整合微信支付接口的掃碼支付功能相關(guān)操作步驟、實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2019-04-04
  • 淺談使用 PHP 進行手機 APP 開發(fā)(API 接口開發(fā))

    淺談使用 PHP 進行手機 APP 開發(fā)(API 接口開發(fā))

    做過 API 的人應(yīng)該了解,其實開發(fā) API 比開發(fā) WEB 更簡潔,但可能邏輯更復雜,因為 API 其實就是數(shù)據(jù)輸出,不用呈現(xiàn)頁面,所以也就不存在 MVC(API 只有 M 和 C),那么我們來探討下,如何使用php進行手機API接口開發(fā)
    2014-08-08

最新評論