通過PHP將檔案以流的方式傳送客戶端
以前在ASP下,通過BASP21實現類似功能。現在將PHP版本整理在這裡。
通過以下程式碼中所使用的技術可以實現如下幾個可能的需求
1、在有模板的基礎上,針對客戶的定製下載。
2、一些瀏覽器本身能夠表示的檔案型別(如txt檔案),可以通過將頭資訊Content-Type改為 header("Content-Type: application/force-download");進行強制下載。
3、對於一些動態生成檔案,比如TXT/CSV等檔案,將臨時檔案及時刪除
<?php /** * 本程式實現了將測試檔案[test.pdf]建立副本,並將副本讀入 * 記憶體,以流的方式傳送給客戶端瀏覽器,最終刪除副本的操作。 * * 本文可以實現的需求: * 1、在有模板的基礎上,針對客戶的定製下載。 * 2、一些瀏覽器本身能夠表示的檔案型別(如txt檔案),可以通過將頭資訊Content-Type * 改為 header("Content-Type: application/force-download");進行強制下載。 * 3、對於一些動態生成檔案,比如TXT/CSV等檔案,可以將臨時檔案及時刪除 * @author
[email protected] 2015/05/05 */ // 檔名副檔名 $fileExName = ".pdf"; // 原始檔案檔名 $oldFileMainName = "testfile"; // 獲得時間戳 YYYYMMDDHHMISS $timestamp = date ( "YmdHis", time () ); // 新檔名 $newFileName = $oldFileMainName . $timestamp; // 複製檔案 if (! copy ( $oldFileMainName . $fileExName, $newFileName . $fileExName )) { die ( "failed to copy" ); } // 設定下載頭資訊 header ( "Content-Type: application/pdf" ); header ( "Content-Disposition: attachment; filename=20150505.pdf" ); // 檔案流輸出到瀏覽器 readfile ( $newFileName . $fileExName ); // 刪除檔案 @unlink ( $newFileFullName ); ?>
相關推薦
通過PHP將檔案以流的方式傳送客戶端
以前在ASP下,通過BASP21實現類似功能。現在將PHP版本整理在這裡。 通過以下程式碼中所使用的技術可以實現如下幾個可能的需求 1、在有模板的基礎上,針對客戶的定製下載。 2、一些瀏覽器本身能夠表示的檔案型別(如txt檔案),可以通過將頭資訊Content-Type改為
將檔案以流的形式另存為下載
string strFile = Server.MapPath("/images/526763.pdf"); using (FileStream fs = new FileStream(strFile, FileMode.Open)) { byte[] bytes = new byte[(
將檔案以流的形式傳給前端,前端點選按鈕下載
function getagimislog(btn){ var filePath = document.getElementById("filepath").innerHTML;var tr = btn.parentNode.parentNode;var tds = tr.getElementsByTagN
java上傳檔案以流方式判斷型別
package com.omg.utils; /** * 檔案型別枚取 */ public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47
將圖片檔案以流的方式寫入到jsp頁面
最近專案中要求提供一個servlet供使用者訪問,用來將使用者照片直接顯示在網頁上,這個和驗證碼有點類似,只是圖片內容來自於檔案,沒什麼新東西,現在將部分關鍵實現程式碼貼在下面,以備參考。 response.setContentType("image/jpeg"); //設定返回
將圖片檔案以二進位制方式儲存和恢復
/** * 將圖片轉換成二進位制 * * @return */ static String getImageBinary() { BASE64Encoder encoder = new sun.misc.BASE64Encoder(); //本地圖片 Fil
C++使用curl庫 以位元組流方式 傳送 https同步請求
//在資料頭設定 Content-Typeapplication/octet-stream 否則可能會預設因為有字元 & 造成無法正確傳輸; // 設定訊息頭 curl_slist *header = NULL; header = cur
關於RS485通訊中使用STM32串列埠以DMA方式傳送資料丟失位元組的問題
1、開發平臺 計算機作業系統:WIN7 64位; 開發環境:Keil MDK 5.14; MCU:STM32F407ZET6; STM32F4xx韌體庫:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0; 串列埠除錯助手; 2、問題描述 &
Python以json方式傳送資料
今天在爬一個網站的時候遇到了這個問題,感謝老哥的解決方案 import urllib2 import json data = { 'a': 123, 'b': 456 } headers = {'Content-Type': 'app
SQLserver C#將圖片以二進位制方式儲存到資料庫,再從資料庫讀出圖片
一 儲存到資料庫 1、建立資料表UserPhoto userID為varchar(50) 設定為標識列unique不能重複 alter table UserPhoto add unique(UserID) &n
使用Tor以加密方式傳送BCH
Tor(The Onion Router)是第二代洋蔥路由(onion routing)的一種實現,使用者通過Tor可以在網上進行匿名交流,它之所以被稱為Onion是因為它的結構就跟洋蔥相同,你只能看出它的外表,而想要看到核心就必須把它層層剝開。該專案最初是由美國海軍研究
php將檔案每一行讀到一個數組裡面去
我現在需要把一個txt的檔案,讀到一個數組,最快的方法: $texts = file($filepath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
php將圖片以二進位制儲存到mysql資料庫並顯示
<?phpinclude('./conn.php');if ($_POST['submit']) { if ($_FILES['image']['size']) { $names = $_FILES['image']['name']; $arr = explo
SQL Server儲存過程郵件傳送以表格方式傳送
BEGIN SET NOCOUNT ON; --初始化 Declare @MailTo nvarchar(max) Declare @MailCc nvarchar(max) Declare @MailBcc nvarchar(max) Declare @Ma
Java呼叫Linux下的shell命令並將結果以流的形式返回
這篇文章寫,Java呼叫 Linux的shell命令 並將結果以流的形式返回。 下面直接上程式碼,程式碼都是打了註釋的。 十分淺顯易懂。 import java.io.BufferedReader
smartupload實現 jsp頁面上傳檔案 將檔案以二進位制形式儲存在資料庫
<%@page import="com.sys.utils.DBConnection"%> <%@ page language="java" import="java.sql.*,com.jspsmart.upload.*"%> <jsp:us
將程式碼以Eval方式加密、解密
Eval加密方式是常用的JavaScript安全措施,但有些開源軟體實在不怎麼厚道,解密就成為了必要手段。下面這個網站有不錯的解密功能,前提是你必須把沒有加密的方式保留。 http://tool.115soft.com/Tools/Eval.aspx
串列埠以DMA方式傳送(TX)資料
實驗:控制串列埠一以DMA方式傳送(TX)資料 一、初始化DMA 對STM32任何模組使用前都要對其初始化、首先就是初始化外設時鐘,檢視時鐘 數可知DMA時鐘由AHB得來。 初始化時鐘:RCC->AHBENR|=1<<0;
如何將檔案以16進位制寫入檔案
怎麼把檔案以16進位制寫入檔案呢。比如,開啟Editplus,開啟一個exe檔案或者其他,會顯示如下: 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 B8 00 00 00 00 00 00 00 40 00 00 00
ASP.Net將圖片以二進位制方式存入資料庫,並讀取
今天研究了一下如何將圖片已二進位制形式存入資料庫,然後再從中讀取顯示在頁面上。下面我會貼出一些關鍵程式碼。 1.將圖片存入資料庫 前臺程式碼: <asp:FileUpload ID="FileUploadImage" runat="server" />後臺程式