找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 753|回复: 12

php 论坛里上传附件的相关代码   是那一段啊

[复制链接]
发表于 2005 年 3 月 21 日 09:54:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  php 论坛里发贴的时候上传附件的相关代码   是那一段啊
我怎么找不到的
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
 楼主| 发表于 2005 年 3 月 21 日 10:17:03 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
顶下
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 3 月 21 日 10:20:30 | 显示全部楼层
具体是那个版本啊
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 3 月 21 日 10:34:44 | 显示全部楼层
任意的都行
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 3 月 21 日 10:49:47 | 显示全部楼层
phpwind的是在
require/postupload.php
这个文件
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 3 月 21 日 10:51:07 | 显示全部楼层
phpwind\require\postupload.php
  1. <?php
  2. !function_exists('readover') && exit('Forbidden');
  3. $ifopload=0;
  4. $windupload='';$attt=$timestamp;
  5. $oldattachdb=explode("|",$winddb['attach']);
  6. $attachs=array();
  7. for($i=1;$i<=$db_attachnum+1;$i++){
  8.       if(is_array(${'atc_attachment'.$i})){
  9.              $atc_attachment=${'atc_attachment'.$i}['tmp_name'];
  10.              $atc_attachment_name=${'atc_attachment'.$i}['name'];
  11.              $atc_attachment_size=${'atc_attachment'.$i}['size'];
  12.       }else{
  13.              $atc_attachment=${'atc_attachment'.$i};
  14.              $atc_attachment_name=${'atc_attachment'.$i.'_name'};
  15.              $atc_attachment_size=${'atc_attachment'.$i.'_size'};
  16.       }
  17.       $needrvrc=${'atc_downrvrc'.$i};
  18.       !is_numeric($needrvrc) && $needrvrc=0;
  19.       if(!$atc_attachment || $atc_attachment== 'none'){
  20.              continue;
  21.       } elseif(function_exists('is_uploaded_file') && !is_uploaded_file($atc_attachment)){
  22.              continue;
  23.       } elseif(!($atc_attachment && $atc_attachment['error']!=4)){
  24.              continue;
  25.       }
  26.       /*
  27.       * 附件上传功能开关
  28.       */
  29.       if(!$db_allowupload){
  30.              showmsg('upload_close');
  31.       }
  32.       /**
  33.       *版块权限判断
  34.       */
  35.       if(($atc_attachment1||$atc_attachment2||$atc_attachment3||$atc_attachment4) && $foruminfo['allowupload'] && strpos($foruminfo['allowupload'],','.$groupid.',')===false && $windid!=$manager){
  36.              Showmsg('upload_forum_right');
  37.       }
  38.       /**
  39.       *用户组权限判断
  40.       */
  41.       if(($atc_attachment1||$atc_attachment2||$atc_attachment3||$atc_attachment4) && !$foruminfo['allowupload'] && $gp_allowupload==0){
  42.              Showmsg('upload_group_right');
  43.       }
  44.       if ($atc_attachment_size>$db_uploadmaxsize && $windid!=$manager){
  45.              Showmsg('upload_size_error');
  46.       }
  47.       $available_type = explode(' ',trim($db_uploadfiletype));
  48.       $attach_ext = substr(strrchr($atc_attachment_name,'.'),1);
  49.       $attach_ext=strtolower($attach_ext);
  50.       if($attach_ext == 'php' || empty($attach_ext) || !@in_array($attach_ext,$available_type)){
  51.              Showmsg('upload_type_error');
  52.       }
  53.       
  54.       if($oldattachdb[0]<$tdtime){
  55.              $oldattachdb[0]=$tdtime;
  56.              $oldattachdb[1]=1;
  57.       } else{
  58.              if($oldattachdb[1]>=$gp_allownum){
  59.                     Showmsg('upload_num_error');
  60.              } else{
  61.                     $oldattachdb[0]=$timestamp;
  62.                     $oldattachdb[1]++;
  63.              }
  64.       }
  65.       $db->update("INSERT INTO pw_attachs(fid,hits) VALUES('$fid',0)");
  66.       $aid=$db->insert_id();
  67.       $fileuplodeurl=$fid.'_'.$aid.'.'.$attach_ext;//写入帖子的附件名称 为动态附件做准备[:windupload]为判断是否有附件 为下载附件次数做准备
  68.       if($db_attachdir) {
  69.              switch($db_attachdir) {
  70.                     case 1: $savedir = 'Fid_'.$fid; break;
  71.                     case 2: $savedir = 'Type_'.$attach_ext; break;
  72.                     case 3: $savedir = 'Mon_'.date('ym'); break;
  73.                     case 4: $savedir = 'Day_'.date('ymd'); break;
  74.              }
  75.              $attachdir = $attachpath.'/'.$savedir;
  76.              if(!is_dir($attachdir)) {
  77.                     @mkdir($attachdir, 0777);
  78.                     @fclose(@fopen($attachdir.'/index.html', 'w'));
  79.              }
  80.              $fileuplodeurl= $savedir.'/'.$fileuplodeurl;
  81.       }
  82.       $source=$attachpath.'/'.$fileuplodeurl;//版块id_文件名_时间.类型
  83.       if(function_exists("move_uploaded_file") && @move_uploaded_file($atc_attachment, $source)){
  84.              chmod($source,0777);
  85.              $attach_saved = TRUE;
  86.       }elseif(@copy($atc_attachment, $source)){
  87.              chmod($source,0777);
  88.              $attach_saved = TRUE;
  89.       }elseif(is_readable($atc_attachment) && $attcontent=readover($atc_attachment)){
  90.              $attach_saved = TRUE;
  91.              writeover($source,$attcontent);
  92.              chmod($source,0777);
  93.       }
  94.       if(empty($attach_saved)){
  95.              $db->update("DELETE FROM pw_attachs WHERE aid='$aid'");
  96.              Showmsg('upload_error');
  97.       }
  98.       if (eregi("\.(gif|jpg|png|bmp|swf)$",$atc_attachment_name) && function_exists('getimagesize') && !getimagesize($source)){
  99.              @unlink($source);
  100.              $db->update("DELETE FROM pw_attachs WHERE aid='$aid'");
  101.              Showmsg('upload_content_error');
  102.       }
  103.       if (eregi("\.(gif|jpg|jpeg|png|bmp|swf)$",$atc_attachment_name)){
  104.              $ifupload=1;
  105.              if(eregi("\.swf$",$atc_attachment_name)){
  106.                     $type='zip';
  107.              }else{
  108.                     $type='img';
  109.              }
  110.       } elseif(eregi("\.(zip|rar)$",$atc_attachment_name)){
  111.              $ifupload=3;
  112.              $type='zip';
  113.       } elseif(eregi("\.txt$",$atc_attachment_name)){
  114.              $safecheckdb=readover($source);
  115.              if (strpos($safecheckdb,"onload")!==false && strpos($safecheckdb,"submit")!==false && strpos($safecheckdb,"post")!==false && strpos($safecheckdb,"form")!==false){
  116.                     @unlink($source);
  117.                     $db->update("DELETE FROM pw_attachs WHERE aid='$aid'");
  118.                     Showmsg('upload_content_error');
  119.              } else{
  120.                     $ifupload=2;
  121.                     $type='txt';
  122.              }
  123.       } else{
  124.              $ifupload=3;
  125.              $type='zip';
  126.       }
  127.       
  128.       $size=ceil(filesize("$attachpath/$fileuplodeurl")/1024);
  129.       $attachs[$aid]=array('aid'=>$aid,'name'=>stripslashes($atc_attachment_name),'type'=>$type,'attachurl'=>$fileuplodeurl,'needrvrc'=>$needrvrc,'size'=>$size,'hits'=>0);
  130.       $atc_attachment_name=addslashes($atc_attachment_name);
  131.       $db->update("UPDATE pw_attachs SET name='$atc_attachment_name',type='$type',size='$size',attachurl='$fileuplodeurl',needrvrc='$needrvrc' WHERE aid='$aid'");
  132. }
  133. $winddb['attach']=$oldattachdb[0]."|".$oldattachdb[1];
  134. $attachs=$attachs ?  addslashes(serialize($attachs)):'';
  135. ?>
复制代码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 3 月 21 日 11:10:23 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
谢谢
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 3 月 21 日 11:16:47 | 显示全部楼层
这是一个上传程序  ,我加到了办公系统bbs下的post  文件里  ,就是把论坛加了个上传功能.
我新建了uploads  文件夹  
现在要怎么处里   ACTION  _URL_  ??
  1. :<form enctype="multipart/form-data" action="_URL_" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  3. Send this file: <input name="userfile" type="file">
  4. <input type="submit" value="Send File">
  5. </form>
  6. <?php
  7. $uploaddir = '/var/www/uploads/';
  8. $uploadfile = $uploaddir. $_FILES['userfile']['name'];
  9. print "<pre>";
  10. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
  11. print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
  12. print_r($_FILES);
  13. } else {
  14. print_r($_FILES);
  15. }
  16. print "</pre>";
  17. ?>
复制代码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 3 月 21 日 11:18:02 | 显示全部楼层
顶一下
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 3 月 21 日 11:20:07 | 显示全部楼层
找姜运涛吧!
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 18 日 19:54 , Processed in 0.020384 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表