1.前端代碼php
<!DOCTYPE html> <html> <head> <title>PHP生成Word文檔</title> <meta charset="utf-8"> </head> <body> <h1 style="text-align: center">xxx的簡歷</h1> <h3>編號:000001</h3> <table border="1" cellpadding="3" cellspacing="0" > <tr > <td width="93" valign="center" colspan="2" >姓名</td> <td width="160" valign="center" colspan="4" >xxx</td> <td width="89" valign="center" colspan="2" >學歷</td> <td width="156" valign="center" colspan="3" >xxx</td> <td width="125" colspan="2" rowspan="4" align="center" valign="middle" > <img src="./img.jpg" width="120" height="120" /> </td> </tr> <tr > <td width="93" valign="center" colspan="2" >性別</td> <td width="72" valign="center" colspan="2" >xxx</td> <td width="88" valign="center" colspan="2" >出生年月</td> <td width="89" valign="center" colspan="2" >xxx</td> <td width="68" valign="center" >戶籍地</td> <td width="87" valign="center" colspan="2" >xxx</td> </tr> <tr > <td width="93" valign="center" colspan="2" >身高</td> <td width="72" valign="center" colspan="2" >xxxcm</td> <td width="88" valign="center" colspan="2" >體重</td> <td width="89" valign="center" colspan="2" >xxxkg</td> <td width="68" valign="center" >婚姻情況</td> <td width="87" valign="center" colspan="2" >xxx</td> </tr> <tr > <td width="93" valign="center" colspan="2" >手機</td> <td width="160" valign="center" colspan="4" >xxx</td> <td width="89" valign="center" colspan="2" >Email</td> <td width="156" valign="center" colspan="3" >xxx</td> </tr> <tr > <td width="93" valign="center" colspan="2" style="width:93px;">家庭住址</td> <td width="530" valign="center" colspan="11" >xxx</td> </tr> <tr > <td width="93" valign="center" colspan="2" rowspan="3">求職意向</td> <td width="93" valign="center" colspan="2">但願從事職業</td> <td width="200" valign="center" colspan="2">xxx</td> <td width="93" valign="center" colspan="2">但願薪資</td> <td width="200" valign="center" colspan="5">xxx元/月</td> </tr> <tr> <td width="93" valign="center" colspan="2" >但願工做地區</td> <td width="200" valign="center" colspan="2" >xxx</td> <td width="93" valign="center" colspan="2" >食宿要求</td> <td width="200" valign="center" colspan="5" >xxx</td> </tr> <tr> <td width="93" valign="center" colspan="2" >目前情況</td> <td width="200" valign="center" colspan="9" >xxx</td> </tr> <tr> <td width="93" valign="center" style="color: red">自我評價</td> <td width="570" valign="center" colspan="12" >xxx</td> </tr> <tr> <td width="93" valign="center" >工做經歷</td> <td width="570" valign="center" colspan="12" >xxx</td> </tr> <tr> <td width="93" valign="center" >教育經歷</td> <td width="570" valign="center" colspan="12" >xxx</td> </tr> <tr> <td width="93" valign="center" >培訓經歷</td> <td width="570" valign="center" colspan="12" >xxx</td> </tr> </table> <p><a href="./1.php">點擊下載</a></p> </body> </html>
後臺代碼:html
<?php //獲取1.html文檔的內容(包括html代碼) $result = file_get_contents('./1.html'); echo "$result"; // /////////////////////保存/////////////////////////// //打開緩衝區 ob_start(); header("Cache-Control: public"); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); //判斷瀏覽器類型 if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) { header('Content-Disposition: attachment; filename=test.doc'); }else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) { Header('Content-Disposition: attachment; filename=test.doc'); } else { header('Content-Disposition: attachment; filename=test.doc'); } //不使用緩存 header("Pragma:no-cache"); //過時時間 header("Expires:0"); //輸出所有內容到瀏覽器 ob_end_flush(); ?>
網頁運行結果:前端
下載word打開效果:瀏覽器
原理:緩存
首先獲取到要下載的前端頁面的html代碼(file_get_contents方法),而後對文檔流進行相關配置,最後輸出便可。app
目前不能把圖片下載到word裏面,哪位大神有想法,歡迎留言交流。spa