|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?明天在做导出Excel的时分,老是要测试导出的Excel文件,频仍的下载和翻开,很贫苦就想着写段代码一挥而就服务端导出Excel==>下载Excel文件到当地==>并翻开的操纵。这里摘出PHP下载远端文件的计划,以备忘。个中第3种办法思索到文件过年夜时的功能成绩。3种计划:-rw-rw-r--1liuyuanliuyuan470Feb2018:12test1_fopen.php-rw-rw-r--1liuyuanliuyuan541Feb2018:06test2_curl.php-rw-rw-r--1liuyuanliuyuan547Feb2018:12test3_curl_better.php计划1,合用于小文件间接利用fopen()/file_get_contents()猎取文件流并用file_put_contents()写进<?php//anexamplexlsfileformbaiduwenku$url=http://bs.baidu.com/wenku4/%2Fe43e6732eba84a316af36c5c67a7c6d6?sign=MBOT:y1jXjmMD4FchJHFHIGN4z:lfZAx1Nrf44aCyD6tJqJ2FhosLY%3D&time=1392893977&response-content-disposition=attachment;%20filename=%22php%BA%AF%CA%FD.xls%22&response-content-type=application%2foctet-stream;$fp_input=fopen($url,r);file_put_contents(./test.xls,$fp_input);exec("libreoffice./test.xls",$out,$status);?> 计划2:经由过程Curl猎取内容<?php//anexamplexlsfileformbaiduwenku$url=http://bs.baidu.com/wenku4/%2Fe43e6732eba84a316af36c5c67a7c6d6?sign=MBOT:y1jXjmMD4FchJHFHIGN4z:lfZAx1Nrf44aCyD6tJqJ2FhosLY%3D&time=1392893977&response-content-disposition=attachment;%20filename=%22php%BA%AF%CA%FD.xls%22&response-content-type=application%2foctet-stream;$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);file_put_contents(./test.xls,curl_exec($ch));curl_close($ch);exec("libreoffice./test.xls",$out,$status);?> 第1,2种计划存在一个成绩,就是在写进当地磁盘之前,文件会被读进内存中,那末当文件很年夜的时分,大概会超越内存而溃散即便你的内存设置的充足的年夜,那这也是不别要的开支办理办法是:间接给CURL一个可写的文件流来让它本人来办理这个成绩(经由过程CURLOPT_FILE选项),如许就要先创立一个文件指针给它。<?php//anexamplexlsfileformbaiduwenku$url=http://bs.baidu.com/wenku4/%2Fe43e6732eba84a316af36c5c67a7c6d6?sign=MBOT:y1jXjmMD4FchJHFHIGN4z:lfZAx1Nrf44aCyD6tJqJ2FhosLY%3D&time=1392893977&response-content-disposition=attachment;%20filename=%22php%BA%AF%CA%FD.xls%22&response-content-type=application%2foctet-stream;$fp_output=fopen(./test.xls,w);$ch=curl_init($url);curl_setopt($ch,CURLOPT_FILE,$fp_output);curl_exec($ch);curl_close($ch);exec("libreoffice./test.xls",$out,$status);?> 终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。 |
|