成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

迅速掌握PHP導出Word文檔原理

開發(fā) 后端
我們在這篇文章中向大家講述了PHP導出Word文檔的原理。只有對原理了解深刻,才能真正掌握到這一方法的真髓,提高自己對PHP語言的理解程度。

PHP語言可以被我們用來實現(xiàn)很多功能。比如在網(wǎng)站建設中,我們經(jīng)常會用到網(wǎng)頁導出數(shù)據(jù)的情況。今天就為大家介紹有關PHP導出Word文檔的原理。#t#

一般,有2種方法可以導出doc文檔,一種是使用com,并且作為php的一個擴展庫安裝到服務器上,然后創(chuàng)建一個com,調(diào)用它的方法。安裝過office的服務器可以調(diào)用一個叫word.application的com,可以生成word文檔,不過這種方式我不推薦,因為執(zhí)行效率比較低(我測試了一下,在執(zhí)行代碼的時候,服務器會真的去打開一個word客戶端)。理想的com應該是沒有界面的,在后臺進行數(shù)據(jù)轉換,這樣效果會比較好,但是這些擴展一般需要收費。

第2種方法,就是用PHP導出Word文檔內(nèi)容直接寫入一個后綴為doc的文件中即可。使用這種方法不需要依賴第三方擴展,而且執(zhí)行效率較高。

word本身的功能還是很強大的,它可以打開html格式的文件,并且能夠保留格式,即使后綴為doc,它也能識別正常打開。這就為我們提供了方便。但是有一個問題,html格式的文件中的圖片只有一個地址,真正的圖片是保存在其他地方的,也就是說,如果將HTML格式寫入doc中,那么doc中將不能包含圖片。那我們?nèi)绾蝿?chuàng)建包含圖片的doc文檔呢?我們可以使用和html很接近的mht格式。

mht格式和html很類似,只不過在mht格式中,外部鏈接進來的文件,比如圖片、Javascript、CSS會被base64進行編碼存儲。因此,單個mht文件就可以保存一個網(wǎng)頁中的所有資源,當然,相比html,它的尺寸也會比較大。

mht格式能被word識別嗎?我將一個網(wǎng)頁保存成mht,然后修改后綴名為doc,再用word打開,OK,word也可以識別mht文件,并且可以顯示圖片。

好了,既然doc可以識別mht,下面就是考慮如何將圖片放入mht了。由于html代碼中的圖片的地址都是寫在img標簽的src屬性中,因此,只要提取html代碼中的src屬性值,就可以獲得圖片地址。當然,有可能您獲取到的是相對路徑,沒關系,加上URL的前綴,改成絕對路徑就可以了。有了圖片地址,我們就可以通過file_get_content函數(shù)獲取到圖片文件的具體內(nèi)容,然后調(diào)用base64_encode函數(shù)將文件內(nèi)容編碼成base64編碼,***插入到mht文件的合適位置即可。

***,我們有兩種PHP導出Word文檔方法將文件發(fā)送給客戶端,一種是先在服務器端生成一個doc文檔,然后將這個doc文檔的地址記錄下來,***,通過header("location:xx.doc");就可以讓客戶端下載這個doc。還有一種是直接發(fā)送html請求,修改HTML協(xié)議的header部分,將它的content-type設置為application/doc,將content-disposition設置為attachment,后面跟上文件名,發(fā)送完html協(xié)議以后,直接將文件內(nèi)容發(fā)送給客戶端,也可以讓客戶端下載到這個doc文檔。

責任編輯:曹凱 來源: cnitblog.com
相關推薦

2009-12-04 14:23:33

PHP JSON加密函

2009-12-11 16:39:08

PHP引號轉義

2009-12-14 15:54:34

Ruby轉義字符

2009-12-16 10:57:16

Ruby文件鎖

2009-12-14 17:23:31

2024-06-17 12:25:49

2009-12-14 16:35:28

Ruby文件行數(shù)計算

2009-12-18 14:19:45

Ruby on Rai

2009-10-29 13:38:05

VB.NET Shar

2010-01-11 14:28:14

VB.NET操作Exc

2009-12-09 17:56:27

PHP加密解密

2010-01-12 10:19:02

VB.NET操作GDI

2014-03-07 16:23:36

轉換器PDFWord

2010-01-07 11:07:20

VB.NET讀取INI

2009-06-28 22:56:00

虛擬化桌面虛擬化問題

2009-12-04 14:09:52

PHP JSON應用

2009-12-08 15:48:19

PHP文章分頁

2010-01-08 18:10:44

VB.NET實現(xiàn)任務欄

2009-11-17 17:38:37

PHP Session

2009-11-20 09:24:10

PHP多維數(shù)組排序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲欧美另类一区二区三区 | 中文字幕av亚洲精品一部二部 | 一区二区高清 | 日本电影网站 | 国产欧美一区二区三区免费 | 久久午夜国产精品www忘忧草 | 成人毛片一区二区三区 | 国产欧美日韩一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 亚洲一区二区三区在线 | 国产91精品久久久久久久网曝门 | 毛片一级网站 | 99精品在线 | 久久久久国产一区二区三区四区 | 成人在线观看免费爱爱 | 亚洲精品在线看 | 久久青青| 亚洲国产一区视频 | 欧美日韩国产一区二区三区 | 91精品国产一区二区三区蜜臀 | 精品一二区 | 午夜极品 | 久久精品国产久精国产 | 特黄毛片| 国产精品三级久久久久久电影 | 亚洲 欧美 日韩在线 | 午夜久久久 | 日日干日日射 | 久久亚洲天堂 | www久久久| 日韩一区二区三区精品 | 欧美日韩精品免费 | 国产美女在线看 | 久久久精品网 | 麻豆视频国产在线观看 | 久久99精品国产99久久6男男 | 欧美精品一区二区在线观看 | 久久久久久久久久久久久久av | 日本视频在线播放 | 色av一区 | 精品一区二区三区四区 |