实际去实现功能,过程虽然痛苦,但是成功的喜悦又是那么引人兴奋。
还是对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个通宵。