用于书城中下载TXT全文其中有若干个txt文件,现在用户点击下载,自动把所有TXT合并成一个TXT下载给用户。
但是不能在自己服务器上面生成合并好的txt,这样太占空间。看了半天的书,没摸到门头。请高手指教!
但是不能在自己服务器上面生成合并好的txt,这样太占空间。看了半天的书,没摸到门头。请高手指教!
解决方案 »
- 求个mysql语句
- 不加其他标签能不能控制各个不同input的样式?
- 简单问题
- 寻国外 稳定虚拟主机空间服务商
- 用phpmail发送邮件乱码的问题
- PHP + MYSQL 查询结果,如何控制每一条的输出?
- 用php在win2000下怎么实现发送email?
- 求助!如何实现CSDN里的分页显示!
- PHP+MySQL怎么实现图像文件(*.jpg,*.gif)的存储和提取显示???
- 我要怎样才能在本窗口内打开一个新的窗口???????
- 登陆成功 Warning: Cannot modify header information - headers already sent by (output
- 页面跳转问题
先把.txt变成.htm文件. 然后用HTML的iframe就把它们拼凑成一个完整的网页.其实网民自己也会手工合并.
请问具体如何实现呢? 碰到跟LZ一样的问题好像下面的代码可以,用流输出,具体我没测试过,LZ看看吧,有时间我再测试下,可能只要将
print fread($fp, $chunk); 循环输出就可以了,外面再套一个读取数据表的循环 function sendFile($file,$mime, $overrideFileName=''){
global $vm_mainframe;
// send headers
header("Content-Type: $mime");
list($start,$len) = vmConnector::http_rangeRequest(filesize($file));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Accept-Ranges: bytes'); //application mime type is downloadable
if(strtolower(substr($mime,0,11)) == 'application'){
if( $overrideFileName == '') {
$filename = basename($file);
} else {
$filename = $overrideFileName;
}
header('Content-Disposition: attachment; filename="'.$filename.'";');
}
$chunksize = 1*(1024*1024);
// send file contents
$fp = @fopen($file,"rb");
if($fp){
fseek($fp,$start); //seek to start of range $chunk = ($len > $chunksize) ? $chunksize : $len;
while (!feof($fp) && $chunk > 0) {
@set_time_limit(0); // large files can take a lot of time
print fread($fp, $chunk);
flush();
$len -= $chunk;
$chunk = ($len > $chunksize) ? $chunksize : $len;
}
fclose($fp);
}else{
header("HTTP/1.0 500 Internal Server Error");
print "Could not read $file - bad permissions?";
$vm_mainframe->close(true);
}
}