實際去實現功能,過程雖然痛苦,但是成功的喜悅又是那麼引人興奮。
還是對php不熟,買的清華的書也到了,可以重頭到尾夯實下基礎,作爲服務端程序,執行邏輯功能的重要語言,還是有必要把中級技能拿到手。
php兩種輸出文件的方式,一種超鏈接,一種數據流。
先選了數據流,將python執行完的word文件輸出到客戶端,但是一直報xml錯誤。
自己的php裏面有一部分響應表單傳入參數的代碼,然後是調用python的代碼,最後是輸出文件的代碼,測試了服務器上的文件格式沒有問題,單獨用一個php做文件流輸出,下載下來的文件也沒問題。但是當把執行python和輸出文件流的代碼都放進php,就提示xml錯誤,雖然word能修復打開,但是體驗感很受影響。
看了下書,可以採用輸出href的方式,所以:
在執行python的php中,echo一個href,href指向另一個輸出文件的php。
echo "<a href='output.php' title=''>下載生成的文件</a>";
這樣在output.php中即可做輸出文件流的方法,又可以做輸出後刪除服務器上文件的方法。
當然,直接在python的php裏echo文件的href好像也行,但是由於在同一頁面,不清楚用戶什麼時候下載,也沒法去刪除服務器上下完的文件。不然會造成文件堆積,所以還是輸出一個新php的鏈接,在鏈接裏做流輸出和清文件的工作,讓下載和清除綁定在一個php中。
可能過兩週再來看這個問題,會覺得很簡單或者有更好的辦法,但是現在是用已知有限的知識,想盡辦法來解決困難,對思路的鍛鍊仍然很重要。話說回來,今天遇到一個以前解決的Python問題,雖然水平已經提高很多,但是竟然也要翻以前的博客,再看當時的思路,而且最後感嘆那個時刻真的是天才。爲了那個問題煎熬了兩週,中間穿插了3個通宵。