直接用表单POST,在php.ini中修改upload_max_filesize=100M,还要注意不要超时!

解决方案 »

  1.   

    直接用表单POST,在php.ini中修改upload_max_filesize=100M,还要注意不要超时!
      

  2.   

    还要改 post_max_size = 100M
      

  3.   

    嗯。注意html表单中上传最大值。
    如果php工作在非安全模式,在程序开始部分加上 set_time_limit(0);
    这样可以保证页面不会超时。安全模式下无效。
      

  4.   

    注意html表单中上传最大值在那里设置?
    还有不用php函数直接用form就能上传文件嘛?
    具体怎么操作?
      

  5.   

    还有post_max_size = 100M
    upload_max_filesize=100M
    我都改了还是不行
      

  6.   

    换用move_uploaded_file涵数.
    在页面里加上set_time_limit(0)
    在表单里加上
    <input type="hidden" name="MAX_FILE_SIZE" value="104857600">
      

  7.   

    myblessu(寒飞) 
    move_uploaded_file这个函数在php的帮助里找不到您能给出具体的参数嘛?谢谢
      

  8.   

    move_uploaded_file
    (PHP 4 >= 4.0.3)move_uploaded_file -- 将上传的文件移动到新位置
    说明
    bool move_uploaded_file ( string filename, string destination)
    本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。 如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。 如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。 这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。 注: 当 安全模式(safe mode) 被激活,PHP 将检查您将要操作的文件或者目录与正在执行的脚本是否有相同的 UID。注: move_uploaded_file() 不会受到正常的安全模式 UID 限制。但这不会不安全,因为 move_uploaded_file() 仅作用于通过 PHP 上传的文件。 
    警告 
    如果目标文件已经存在,将会被覆盖。 
     参见 is_uploaded_file(),以及文件上传处理一章中的简单使用例子。 
      

  9.   

    换用那个函数了
    开始鼠标是漏斗状态表示在执行可是10分钟后就恢复到提交页,文件没有上传成功
    我传的文件是45.m的rm文件
      

  10.   

    不应该呀.文件上传处理一些注意事项对 MAX_FILE_SIZE 设置的值,不能大于 ini 设置中 upload_max_filesize 选项设置的值。其默认值为 2M 字节。 如果内存限制设置被激活,您可能需要将 memory_limit 设置的更大些,请确认 memory_limit 的设置足够的大。 如果 max_execution_time 设置的值太小,脚本运行的时间可能会超过该设置。因此,也请保证 max_execution_time 足够的大。 注: max_execution_time 仅仅只影响脚本本身运行地时间。任何其它花费在脚本运行之外的时间,诸如用函数 system() 对系统的调用、sleep() 函数的使用、数据库查询、文件上传等,在计算脚本运行的最大时间时都不包括在内。 如果 post_max_size 设置的值太小,则较大的文件会无法被上传。因此,请保证 post_max_size 的值足够的大。 不使您操作的文件有效化,可能意味着用户能够访问其它目录下的敏感信息。 请注意 CERN httpd 似乎会丢弃它从客户端获得的 content-type mime 头信息中第一个空格后所有的内容,基于这一点,CERN httpd 不支持文件上传特性。 鉴于文件路径的表示方法有很多种,我们无法确保用使用各种外语的文件名(尤其是包含空格的)能够被正确的处理。 
      

  11.   

    myblessu(寒飞)请问这个您做过测试能上传是吗?
    我用 move_uploaded_file() 传1m的文件显示上传成功返回值为1
    可是在相应的上传目录中找不到那个上传文件
      

  12.   

    为什么最后时这个样子?您正在查看的页目前不可用。Web 站点可能遇到技术困难,或者您需要调整您的浏览器设置。 --------------------------------------------------------------------------------请尝试以下操作:单击刷新按钮,或以后再试。如果在地址栏中键入地址,请确保其拼写正确。要查看连接设置,请单击工具菜单,然后单击 Internet 选项。在连接选项卡上,单击局域网设置。 这些设置应该与您局域网(LAN)管理员或 Internet 服务提供商(ISP)所提供的相匹配。 
    如果您的网络管理员允许,Microsoft Windows 可以检查您的网络并自动查找网络连接设置。
    如果您希望 Windows 进行尝试并查找,请单击检测网络设置。 
    某些站点要求 128-位的连接安全性。单击帮助菜单,然后单击关于 Internet Explorer 可以查看您所安装的安全性长度。 
    如果您要到达某安全站点,请确保您的安全设置能够支持。请单击工具菜单,然后单击 Internet 选项。在高级选项卡上,滚动到安全部分,复选 SSL 2.0、SSL 3.0、TLS 1.0、PCT 1.0 设置。 
    单击后退按钮,尝试其他链接。 找不到服务器或发生 DNS 错误
    Internet Explorer  
      

  13.   

    超过2M的东西理论上都不应该从表单上传,你还不如直接开一个ftp匿名服务器那
      

  14.   

    upload_sub.php的form<form  enctype="multipart/form-data" action="upload_process.php?passwo3rd=pkipkjklkl956&use3r=lyuedu&psww=kjlkl&Check1=lyunet&Check2=123&ps=lyupk&ps=495995&ppp=pkeclipr&Check1=<? echo($Check1);?>&Check2=<? echo($Check2); ?>&&use3r=lyuedu&psww=kjlk&PHID=bbb1f0d0b9e7382a33766845a9e0efd1" method="post">
                  <input  type="hidden"  name="MAX_FILE_SIZE" value="33000000">
                  <br>
                  描述文件名(少于40字符) 
                  <input name="file_view_name" type="text" size="40">
                  <br>
                  请选择文件类别:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  <select name="select">
                    <?
          require('common.php');
              if(!$id_link)
              {echo"无法连接数据库";
               exit();
              }
            

    $query="select * from $table_type order by add_date";
            $result=mysql_db_query("$dbname",$query);        if(mysql_num_rows($result)!=0)
               {
                  while($r=mysql_fetch_array($result))
                       {$file_type=$r["file_type"];
                        echo "'<option value=$file_type>$file_type</option>'";
                
             
                         }

                 }
    mysql_free_result($result);//释放内存  
    mysql_close();?>
                  </select>
                  <br>
                  内容描述:<br>
                  <textarea name="textarea" cols="50" rows="10"></textarea>
                  <br>
                  请选取文件: 
                  <input name="userfile" type="file">
                  .rar.zip 
                  <input name="submit" type="submit" value="上传文件">
                  <a href="guanli.php?passwo3rd=pkipkjklkl956&use3r=lyuedu&psww=kjlkl&Check1=lyunet&Check2=123&ps=lyupk&ps=495995&ppp=pkeclipr&Check1=<? echo($Check1);?>&Check2=<? echo($Check2); ?>&use3r=lyuedu&psww=kjlk&PHID=bbb1f0d0b9e7382a33766845a9e0efd1"><font color="3AADE9">返回管理页面</font> 
                  </a> </form>
    upload_process.php<?
    require('common.php');
    if(!$id_link)
    {echo"无法连接数据库";
     exit();
     }
    $file_view_name=str_replace(" ","",$file_view_name);//将上传的文件的文件中的半角和全角空格删除
    $file_view_name=str_replace(" ","",$file_view_name);//这样使删除文件程序可以正常运行
    if($file_view_name=="")
    {echo  "您没有输入文件名,该文件名用于显示在本站中,等侍请重新输入!!!";
     echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",1000);</script>";//将下面的java代码删除可以看到到网页的整体框架
    exit();
    }$cp=$userfile_name;//***比较上传的文件名中是否含有空格如有则不能上传***
    $compare=str_replace(" ","",$cp);//***比较上传的文件名中是否含有空格如有则不能上传***
    $compare=str_replace(" ","",$cp);//***比较上传的文件名中是否含有空格如有则不能上传***
    if(!($compare==$userfile_name))//***比较上传的文件名中是否含有空格如有则不能上传***
    {echo "您选择的原文件中有空格请删除或者改名后再上传!"; exit();
     }
    if( copy($userfile,"./uploadfile/soft/".$userfile_name))
    {
    echo "<font color=red >上传成功!</font><br>";
    echo $userfile."-用户上传到服务器上的文件临时存放的名称<br>";
    echo $userfile_name."-在用户机器上该文件的原始名称<br>";
    echo $userfile_size."-上传文件的实际字节数<br>";
    echo $userfile_type."-如果用户的游览器提供了这个信息的话,它表示mime的类型,如image/gif<br>";
     
    $current_date=date('Y-m-d H:i:s');
    $address='./uploadfile/soft/'.$userfile_name;
      $query="insert into $table_file(file_type,file_name,file_view_name,file_describe,file_address,file_date)values('$select','$userfile_name','$file_view_name','$textarea','$address','$current_date') ";
      /*执行此插入记录的SQL语句*/
      $result=mysql_db_query($dbname,$query,$id_link);
      /* 判断SQL语句的执行是否发生错误,若是则提示插入失败,并给出相应的错误号;若执行成功,则提示记录插入成功*/
        if(!$result){
             $errno=mysql_errno();
             $error=mysql_error();
          echo'<html><head><title>Error</title></head><body>';
          echo'SQL 插入失败.';
      echo'<br>';
      echo'<font color=red>可能上传的文件和服务器上的名请改名后上传!等侍自动返回!</font>';
          echo"<br>Error:($errno)$error<br>";   echo'<br>';
          echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",1500);</script>";
          echo'</body></html>';
      
          exit();
          }
         echo '<p>记录插入成功</p>';
      echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'upload_sub.php?Check1=$Check1&Check2=$Check2'\",3000);</script>";
     
    exit();
    }else
    {echo "<font color=red >文件上传失败,可能路径错误或者文件太大</font><br>";
     echo "<font color=red >请与管理员联系!</font>";
    echo "<script language=\"javascript\" type=\"text/javascript\">setTimeout(\"location.href = 'guanli.php?Check1=$Check1&Check2=$Check2'\",1500);</script>";   } ?>
    只要服务器端配置能上传大文件就可以上传无限大内容
    我已经利用此方法成功上传 480M内容.
    代码中难免有些垃圾希望你挑着使用.如有不懂可以问我.
    [email protected]
    http://inber.51.net
    银贝尔
      

  15.   

    服务器端配置能上传大文件是指php.ini文件吧
    我都设成1000M了还是不行
    跟服务的配置是否有关
      

  16.   

    你内存不够 传不了100M的 这个是HTTP协议的错
    我有个用ftp协议控件 留下联系方式 我给你 
    不单100M 1G都能传 还可以断点续传
      

  17.   

    这么大的东西还是用ftp协议上传比较好
      

  18.   

    努力研究控件。应该可以,不要指望php