當前位置:首頁 » 編程語言 » php輸出文件流

php輸出文件流

發布時間: 2023-05-01 08:19:50

A. php讀取文件並輸出

直接echo就可以了……
echo file_get_contents($requestUrl);
(各種錯誤處理啥的您自己看著辦吧)

B. php二進制流輸出文件出錯

你要的內容太多了,只能簡單的說下。fopen (PHP 3, PHP 4, PHP 5)fopen -- 打開文件或者 URL 說明resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )fopen() 將 filename 指定的名字資源綁定到一個流上。如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜索協議處理器(也被稱為封裝協議)來處理此模式。如果該協議尚未注冊封裝協議,PHP 將發出一條消息來幫助檢查腳本中潛在的問題並將 filename 當成一個普通的文件名繼續執行下去。 如果 PHP 認為 filename 指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是 PHP 可以訪問的,因此需要確認文件訪問許可權允許該訪問。如果激活了安全模式或者 open_basedir 則會應用進一步的限制。 如果 PHP 認為 filename 指定的是一個已注冊的協議,而該協議被注冊為一個網路 URL,PHP 將檢查並確認 allow_url_fopen 已被激活。如果關閉了,PHP 將發出一個警告,而 fopen 的調用則失敗。 注意: 所支持的協議列表見附錄 N。某些協議(也被稱為 wrappers)支持 context 和/或 php.ini 選項。參見相應的頁面哪些選項可以被設定(例如 php.ini 中用於 http wrapper 的 user_agent 值)。 注意: 對 context 的支持是 PHP 5.0.0 添加的。有關 context 的說明見參考 CLX, Stream Functions。注意: 自 PHP 4.3.2 起,對所有區別二進制和文本模式的平台默認模式都被設為二進制模式。如果在升級後腳本碰到問題,嘗試暫時使用 't' 標記,直到所有的腳本都照以下所說的改為更具移植性以後。 mode 參數指定了所要求到該流的訪問類型。可以是以下: 表 1. fopen() 中 mode 的可能值列表mode說明'r'只讀方式打開,將文件指針指向文件頭。 'r+'讀寫方式打開,將文件指針指向文件頭。 'w'寫入方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。 'w+'讀寫方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。 'a'寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。 'a+'讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。 'x'創建並以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調用失敗並返回 FALSE,並生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創建之。這和給 底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支持,僅能用於本地文件。 'x+'創建並以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調用失敗並返回 FALSE,並生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創建之。這和給 底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支持,僅能用於本地文件。 注意: 不同的操作系統家族具有不同的行結束習慣。當寫入一個文本文件並想插入一個新行時,需要使用符合操作系統的行結束符號。基於 Unix 的系統使用 \n 作為行結束字元,基於 Windows 的系統使用 \r\n 作為行結束字元,基於 Macintosh 的系統使用 \r 作為行結束字元。 如果寫入文件時使用了錯誤的行結束符號,則其它應用程序打開這些文件時可能會表現得很怪異。 Windows 下提供了一個文本轉換標記('t')可以透明地將 \n 轉換為 \r\n。與此對應還可以使用 'b' 來強制使用二進制模式,這樣就不會轉換數據。要使用這些標記,要麼用 'b' 或者用 't' 作為

如果幫助到您,請記得採納為滿意答案哈,謝謝!祝您生活愉快! vae.la

C. 請問通過介面返回的pdf的文件流,怎麼用php把這些文件流轉為pdf文件

直接將文件流內容寫入文件,而文件的後綴名設為 pdf 格式就可以了;PHP 不管保存文件流還是文本,都是用這種方式;

$path="demo.pdf";
$ret=file_put_contents($path,$arr['data']);
if($ret){
echo'保存成功';//然後可以取查看文件
}

D. php中怎麼實現文件下載功能

兩種方法:

1.直接做個超鏈接,地址為文件的地址

<ahref="文件地址">下載</a>

2.流輸出

<?php

$file=fopen('文件地址',"r");

header("Content-Type:application/octet-stream");

header("Accept-Ranges:bytes");

header("Accept-Length:".filesize('文件地址'));

header("Content-Disposition:attachment;filename=文件名稱");

echofread($file,filesize('文件地址'));

fclose($file);

?>

推薦第二種

因為第一種方法只能下載瀏覽器不能解析的文件,比如rar啊,腳本文件之類。如果文件是圖片或者txt文檔,就會直接在瀏覽器中打開。

而第二種方法是直接輸出的文件流,不存在上述問題。

你可以檢查一下你傳值過來的路徑是否正確,還有,流輸出後面不要再進行任何操作了。

拓展資料:

集成開發環境是一種集成了軟體開發過程中所需主要工具的集成開發環境,其功能包括但不僅限於代碼高亮、代碼補全、調試、構建、版本控制等。一些常見的PHP IDEs如下:

  • Zend Studio:商業版,Zend官方出品,基於eclipse

  • Eclipsewith PDT:免費

  • Coda:商業版,針對Mac用戶

  • NetBeans:免費,功能強大

  • PHP Storm:商業版

  • AptanaStudio:免費

  • PhpEd:商業版

  • KomodoIDE/Edit:IDE為商業版,Edit可免費使用

  • Adobe Dreamweaver:商業版

  • 除去集成開發環境,具備代碼高亮功能的常見文本編輯器因其輕巧靈活也常被選作開發工具,例如:Notepad++、Editplus、SublimeText、Everedit(國人開發)等等。

PHP的特性包括:

1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。

2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。

3. PHP支持幾乎所有流行的資料庫以及操作系統。

4. 最重要的是PHP可以用C、C++進行程序的擴展!

參考資料:網路:PHP

E. php將圖片文件轉換成二進制輸出的方法

本文實例講述了php將圖片文件轉換成二進制輸出的方法。分享給大家供大家參考。具體實現方法如下:
1
2
3
4
header(
Content-type:
image/jpeg);
$PSize
=
filesize('1.jpg');
$picturedata
=
fread(fopen('1.jpg',
r),
$PSize);
echo
$picturedata;
就這么簡單4行代碼,就將圖片以二進制流的形式輸出到客戶端了,和打開一張圖片沒有任何區別。
這里需要注意的是,發送的header要根據具體情況而定,不一定都是image/jpeg。JPG的就是image/jpeg,但PNG的就是image/png.不同類型的圖片輸出不同的頭部。

F. PHP 文件下載直接輸出在瀏覽器頁面上是怎麼回事,求高手講解

需要設置一下header,指明當前頁面要傳輸一個數據流
Header("Content-type: application/octet-stream");
再將要下載團衡的文塌啟做旁氏件附加到頁面上:
Header("Content-Disposition: attachment; filename=" . $file_name);
然後用fread將文件輸出

G. php處理位元組流

位元組流是由位元組組成的,
位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的

字元流和位元組流都是什麼
流就是stream. 一個連續的位元組隊列。

流是程序輸入或輸出的一個連續的位元組序列,設備(例如滑鼠,鍵盤,磁碟,屏幕和列印機)的輸入和輸出都是用流來處理的。在C語言中,所有的流均以文件的形式出現---不一定是物理磁碟文件,還可以是對應與某個輸入/輸出源的邏輯文件

流(streams)在I/O系統中是一種I/O機制和功能,或者稱為streams子系統。它本身並不是一個物理設備的概念。
引入流的目的:
傳統的字元設備驅動程序框架有許多缺點,這表現在:
。內核與字元設備驅動程序間介面的抽象層次太高
。內核沒有為字元設備提供可靠的緩沖區分配和管理功能
。許多系統對字元設備的界面是把數據看成是FIFO(先進先出)的位元組流,因此沒有識別消息邊界,區分普通設備和控制信息,以及判定不同消息優先順序的能力,也沒有位元組流流量控制
。在網路數據傳輸設備中這些問題更突出。網路中數據傳輸是基於消息或數據分組的。
流的概念:
用通訊中的術語來說,流是全雙工的處理過程,它是內核中驅動程序和用戶進程之間的數據傳輸通道。
從流的構造上來說,它由一個流頭,一個流驅動程序尾,以及其間的零個或若干個可選模塊構成 。流頭是一個用戶級介面,它允許用戶應用程序通過系統調用介面來訪問流。驅動程序尾與底層設備通信。在流的中間的模塊是處理數據的。

位元組流與字元流主要的區別是他們的的處理對象

位元組流是由位元組組成的,字元流是由字元組成的. Java里字元由兩個位元組組成.

位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的
但實際中很多的數據是文本,又提出了字元流的概念,它是按虛擬機的encode來處理,也就是要進行字元集的轉化。在從位元組流轉化為字元流時,實際上就是byte[]轉化為String時,
public String(byte bytes[], String charsetName)
有一個關鍵的參數字元集編碼,通常我們都省略了,那系統就用操作系統默認的lang

流式傳輸主要指將整個音頻和視頻及三維媒體等多媒體文件經過特定的壓縮方式解析成一個個壓縮包,由視頻伺服器向用戶計算機順序或實時傳送。在採用流式傳輸方式的系統中,用戶不必像採用下載方式那樣等到整個文件全部下載完畢,而是只需經過幾秒或幾十秒的啟動延時即可在用戶的計算機上利用解壓設備對壓縮的A/V、3D等多媒體文件解壓後進行播放和觀看。此時多媒體文件的剩餘部分將在後台的伺服器內繼續下載。

H. 介面如何通過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等文件,可以將臨時文件及時刪除
*@authorDensin.Tian@CisternData2015/05/05
*/
//文件名擴展名
$fileExName=".pdf";

//原始文件文件名
$oldFileMainName="testfile";

//獲得時間戳YYYYMMDDHHMISS
$timestamp=date("YmdHis",time());

//新文件名
$newFileName=$oldFileMainName.$timestamp;


//復制文件
if(!($oldFileMainName.$fileExName,$newFileName.$fileExName)){
die("failedto");
}

//設置下載頭信息
header("Content-Type:application/pdf");
header("Content-Disposition:attachment;filename=20150505.pdf");

//文件流輸出到瀏覽器
readfile($newFileName.$fileExName);

//刪除文件
@unlink($newFileFullName);


---------------------

I. php遠端pdf轉文件流

Able2Extract是一款文件轉換工具。可以將PDF、HTML和Text格式的文件中的數據轉換為格式化的Excel表、空早Word文檔、PPT文檔、HTML文檔和text文件。內置有PDF文件瀏覽器。支持多種文字,包括中文、日斗碧雀文、俄文、希臘文等。不需要安裝AdobeAcrobat。專業版除了提供標准版的所有功能,還可以對掃描的或者圖片格式的PDF文件進慧余行轉換。

J. php遍歷輸出文件夾下所有txt文件

可以,使用glob函數可以非常容易搞定,支持通配符。

<?php
header('Content-type:text/html;charset=utf-8');
$i=1;
foreach(glob('/file/*.txt')as$txt)
{
echo'第'.$i.'個文件'.basename($txt).'的內容是:';
echofile_get_contents($txt);
$i++;
echo'<hr/>';
}
熱點內容
安卓模擬器10開配什麼電腦 發布:2025-07-19 16:30:36 瀏覽:804
sql2008鏈接伺服器 發布:2025-07-19 16:23:47 瀏覽:845
香港阿里騰訊雲伺服器報價 發布:2025-07-19 16:18:52 瀏覽:416
日語翻譯存儲安全 發布:2025-07-19 16:18:09 瀏覽:212
虛擬機訪問主機ip 發布:2025-07-19 16:16:37 瀏覽:998
dz手機源碼 發布:2025-07-19 16:14:50 瀏覽:704
如何利用伺服器掛機器人 發布:2025-07-19 16:13:35 瀏覽:531
解壓縮已 發布:2025-07-19 16:02:46 瀏覽:580
預處理編譯鏈接 發布:2025-07-19 15:59:03 瀏覽:874
文件夾無限打開 發布:2025-07-19 15:57:01 瀏覽:277