插件使用背景
小说网站phpwind论坛,一个txt文件里就是一本小说,有近10万行文本,如果手工发布, 是不现实的. 所以.上传后.需要自动读取标题,自动按行切割为一个个小文件并按日期保存,前台读取时,每个楼层直接从各自对应的txt中读取,相当于内容静态化,可减轻数据库压力.
因为文件txt切割后,会很多.所以,应该以/年/月/日的结构存放.否则,一个目录中可能存在上100万个文件.会卡死
postupload_txt.php 文件请去这里下载
http://download.youkuaiyun.com/download/viqecel/10270545
一,修改require/postnew.php 文件,发帖子测试时,先用10几行的小文件,进行测试
找到下面两句,
list($atc_title,$atc_content)=check_data($action);
require_once(R_P.'require/postupload.php');
整体替换为下面的大段,注意看里面的文字说明,并自己做出修改
//--------------------------------------------------------------
//切割参数设置
$diplay_txt=1;//1表示开启大txt切割功能.并插入回复楼层中.0表示正常上传到主帖子,并只提供下载
$del_old_txt=1; //1表示删除原始大文件.0表示保留
$default_read_title=1;//0表示主帖内容手工填写 1表示不填主帖标题时,自动读txt的第一行为标题,要保证txt原文件第一行有内容,
$default_write_content='请分楼层阅读';//在前台发帖子,内容不想填写时,系统会自动填这里定义的默认内容.
//如果这样设置,$default_write_content=''; 即表示无默认内容,则发帖子时,需要手工填
$reply_need_lines=5;//每个新生成的小的txt文件包含多少行文字,注意空行也算作一行.设置过大加载时可能会卡死,注意合理设置.估计设置为800行差不多.
//下面的不需要修改.
if($diplay_txt==1&&$_FILES['atc_attachment1']['name']){
require_once(R_P.'require/postupload_txt.php');
}else{
list($atc_title,$atc_content)=check_data($action);
require_once(R_P.'require/postupload.php');
}
//--------------------------------------------------------------
二, 把发你的 require/postupload_txt.php 文件放在你的require目录中
三, 自动回复的楼层.默认内容为帖子为 auto_diplay_txt ,他作为标志符,不可以修改,当系统判断是 auto_diplay_txt 时,会自动显示txt小文件,而不是显示下载附件
四,修改根目录的 read.php (其实就是在后面增加了 ,$a_url)
在约362行
$read['downattach'][$at['aid']]=array($at['aid'],$at['name'],$at['size'],$at['hits'],$at['needrvrc'],$at['type'],$dfadmin,$at['desc']);
替换为
$read['downattach'][$at['aid']]=array($at['aid'],$at['name'],$at['size'],$at['hits'],$at['needrvrc'],$at['type'],$dfadmin,$at['desc'],$a_url);
五,模板修改 read.htm
把下面一大段,整体 替换
print <<<EOT
-->
<br><span class='tpc_content' $a_id>$read[content]</span><br>
<!--
EOT;
if($read['downattach']){
foreach($read['downattach'] as $attach){
if($attach){print <<<EOT
-->
<br><br>
<!--
EOT;
if($attach[7]){print <<<EOT
-->
描述:$attach[7]<br>
<!--
EOT;
}print <<<EOT
-->
附件: <img src='$imgpath/$stylepath/file/$attach[5].gif' align=absbottom>
<a href='job.php?action=download&pid=$read[pid]&tid=$tid&aid=$attach[0]' target='_blank'>
<font color=red>$attach[1]</font></a> ($attach[2] K) 下载次数:$attach[3]
<!--
EOT;
if($attach[4]){print <<<EOT
-->
需要{$db_rvrcname}:$attach[4]
<!--
EOT;
}if($attach[6]){print <<<EOT
-->
[<a href='job.php?action=deldownfile&pid=$read[pid]&tid=$tid&aid=$attach[0]'>删除</a>]
<!--
EOT;
}}}}
整体替换为
if($read[content]=='auto_diplay_text'){
foreach($read['downattach'] as $attach){
$ccc=file_get_contents($attach[8]);
print <<<EOT
-->
<br><span class="tpc_content">$ccc</span><br>
<!--
EOT;
}
}else{
print <<<EOT
-->
<br><span class='tpc_content' $a_id>$read[content]</span><br>
<!--
EOT;
if($read['downattach']){
foreach($read['downattach'] as $attach){
if($attach){
print <<<EOT
-->
<br><br>
<!--
EOT;
if($attach[7]){print <<<EOT
-->
描述:$attach[7]<br>
<!--
EOT;
}print <<<EOT
-->
附件: <img src='$imgpath/$stylepath/file/$attach[5].gif' align=absbottom>
<a href='job.php?action=download&pid=$read[pid]&tid=$tid&aid=$attach[0]' target='_blank'>
<font color=red>$attach[1]</font></a> ($attach[2] K) 下载次数:$attach[3]
<!--
EOT;
if($attach[4]){print <<<EOT
-->
需要{$db_rvrcname}:$attach[4]
<!--
EOT;
}if($attach[6]){print <<<EOT
-->
[<a href='job.php?action=deldownfile&pid=$read[pid]&tid=$tid&aid=$attach[0]'>删除</a>]
<!--
EOT;
}}}}
}