没有把colsedir函数包含进来line20
检查文件路径是不是有误??line10

解决方案 »

  1.   

    修该后如下:<?   
         if($MyFile!="none")
                    {
                         $v=opendir(" \\temp");
                            if($v==0)
                           {
                           mkdir(" \\temp");
                           $v=opendir(" \\temp");
                               }
                         $up=copy($MyFile,"\\temp\\$MyFile_name");
                    if ($up==1)
                     {
                        print("the file load success!");
                      }
                        else
                          {
                           print("the fiel load future!");
                            }
                         unlink($MyFile);
                              colsedir($v);
                     }
            else
                        {
                             print("your file  don\'t exist!");
                          }
                                
                      ?>
       错误依然到底怎么改?
      

  2.   

    colsedir($v);大哥,是closedir($v);
      

  3.   

    <?
    $destfilename=$name;       //此处的$name需要在前一个HTM里增加一个获得文件名的JS函数,因为提交后,$MyFile的值是系统产生的临时字符串,而非源文件名。     if(!empty($MyFile)){                    if(!@dir("temp")){  //加个@可以防止出现警告语句                       mkdir("temp",0777);
                           $handle=opendir("temp");                     }                     $up=copy($MyFile,"temp/$destfilename");                     if ($up==1){
                           print("the file load success!");
                         }
                         else{
                           print("the fiel load future!");
                         }
                         closedir($handle);
         }
         else{
                         print("your file  don\'t exist!");
         }?>
      

  4.   

    HTM可以考虑这么写:
    <HEAD>
    <TITLE>
     文件上传  
    </TITLE><script language='JScript'>function checkdata() {    var a=myform.MyFile.value; myform.name.value=a;}</script></HEAD>
    <BODY><TABLE>
    <FORM NAME=myform ACTION="up.php" ENCTYPE="multipart/form-data" METHOD="POST" onsubmit="return checkdata()"> <TR>
    <TD>文件上传</TD>
    <TD>
    <INPUT NAME="MyFile" TYPE="File" size="20">
    </TD>
    </TR>

    <TR>
    <TD COLSPAN="2">
    <INPUT NAME="submit" VALUE="上传" TYPE="submit">
    <input type="hidden" name="name">
    </TD>
    </TR>
    </form>
    </TABLE></BODY>
    </HTML>
      

  5.   

    你的程序运行后显示的是:your file  don\'t exist!
      还有请教一下:怎么htm里加js函数:请你在上面的htm中说明:谢谢!!
      

  6.   

    $destfilename=basename($name);小改动!我写错了这一句
      

  7.   

    你的程序运行后任然显示的是:your file  don\'t exist!
     我不知道问题在那?大家帮忙看看!  
    我的upload_tmp_dir =c:\temp
      

  8.   

    下面是我学习PHP时写的一个小的文件上传程序,先简单介绍一下:此段代码,支持两种上传方式,一种是COPY函数上传,一种是FTP上传,还可设置三种目标文件的文件名,还可设置文件上传大小限制,如果有什么问题可给我发EMAIL,我的邮箱是:[email protected],下面是代码:
    //**
    此文件是选择文件用的,可同时上传五个,文件名随意<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>请选择要上传的文件</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
      <p>&nbsp;</p>
      <p><font size="5"><strong><em>请选择要上传的文件:</em></strong></font></p>
      <hr size="1">
      <p>&nbsp;</p>
      <table width="500" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
        <tr bgcolor="#FFFFFF"> 
          <td><div align="right"><font size="2">文件1:</font></div></td>
          <td><font size="2"> 
            <input name="file1" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件2:</font></div></td>
          <td><font size="2"> 
            <input name="file2" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td height="26"><div align="right"><font size="2">文件3:</font></div></td>
          <td><font size="2"> 
            <input name="file3" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件4:</font></div></td>
          <td><font size="2"> 
            <input name="file4" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件5:</font></div></td>
          <td><font size="2"> 
            <input name="file5" type="file" size="40">
            </font></td>
        </tr>
      </table>
      <p align="center"> 
        <input type="submit" name="cmdUp" value="上传">
      </p>
    </form>
    </body>
    </html>//**此文件是真正的上传部分,修改此文件的头部变量即可做到相关选项的设置<?
    $UpFileType=1; //设置文件上传的方法:0代表使用PHP的COPY函数进行上传,1代表使用FTP方式上传
    $FileSize=1024; //设置文件上传的单个文件大小
    $FileNameSetting=2; //设置上传后的文件名规则:0代表使用原文件名,1代表使用当前时间(精确到秒),2代表使用当前时间加文件名//当$UpFileType的值为0时需要设置以下变量:
    $UploadPath="upload/"; //设置文件上传的路径//当$UpFileType的值为1时需要设置以下变量:
    $FTPServer="server"; //设置FTP服务器地址
    $FTPPort="21"; //设置FTP服务器端口号
    $FTPUsername="administrator"; //设置FTP登录用户名
    $FTPPassword=""; //设置FTP登录密码
    $FTPPath="/ppp/"; //设置上传后的FTP路径if($UpFileType==0)
    {
    for($i=1;$i<6;$i++)
    {
    $FileTemp1="file".$i;
    $FileTemp2="file".$i."_name";
    $FileTemp3="file".$i."_size";
    if(($$FileTemp2!="") && ($$FileTemp2!="none"))
    {
    if(file_exists($$FileTemp1))
    {
    if($$FileTemp3<=$FileSize)
    {
    switch($FileNameSetting)
    {
    case 0:
    $FileTemp4=$$FileTemp2;
    break;
    case 1:
    $FileTemp4=date("YmdHis").$i;
    break;
    case 2:
    $FileTemp4=date("YmdHis").$$FileTemp2;
    break;
    }
    if(@copy($$FileTemp1,$UploadPath.$FileTemp4))
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
    }
    }
    else
    {
    $FileTemp5.="<br>文件".$i."未选择。";
    }
    }
    }
    if($UpFileType==1)
    {
    $ftpconn=@ftp_connect($FTPServer,$FTPPort);
    if($ftpconn)
    {
    $ftplogin=@ftp_login($ftpconn,$FTPUsername,$FTPPassword);
    if($ftplogin)
    {
    $ftpcd=@ftp_chdir($ftpconn,$FTPPath);
    if($ftpcd)
    {
    for($i=1;$i<6;$i++)
    {
    $FileTemp1="file".$i;
    $FileTemp2="file".$i."_name";
    $FileTemp3="file".$i."_size";
    if(($$FileTemp2!="") && ($$FileTemp2!="none"))
    {
    if(file_exists($$FileTemp1))
    {
    if($$FileTemp3<=$FileSize)
    {
    switch($FileNameSetting)
    {
    case 0:
    $FileTemp4=$$FileTemp2;
    break;
    case 1:
    $FileTemp4=date("YmdHis");
    break;
    case 2:
    $FileTemp4=date("YmdHis").$$FileTemp2;
    break;
    }
    $ftpput=@ftp_put($ftpconn,$FileTemp4,$$FileTemp1,1);
    if($ftpput)
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
    }
    }
    else
    {
    $FileTemp5.="<br>文件".$i."未选择。";
    }
    }
    }
    else
    {
    $FileTemp5.="<br>改变FTP服务器上的目录失败,请检查FTP的相关设置";
    }
    }
    else
    {
    $FileTemp5.="<br>登录FTP服务器失败,请检查FTP的相关设置";
    }
    }
    else
    {
    $FileTemp5.="<br>连接FTP服务器失败,请检查FTP的相关设置";
    }
    }
    echo $FileTemp5;
    ?>
      

  9.   

    补充一点呀第二个文件名应该是:upload.php
      

  10.   

    补充一点呀第二个文件名应该是:upload.php
      

  11.   

    太麻烦了吧~~ ukta(ukta) 朋友,我的程序运行环境是WEB方式,上传路径也是在WEBROOT里的,我觉得你所用的实际路径:c:\tmp 没有什么实际意义。
      

  12.   

    UP.PHP 改进<?$strary=explode("\\",$name);$destfilename=$strary[count($strary)-1];//$destfilename=basename($name);  因为很多空间不支持这个函数echo $destfilename;
         if(!empty($MyFile)){                    if(!@dir("temp")){                       mkdir("temp",0777);                     }                     $handle=opendir("temp");                     $up=copy($MyFile,"temp/$destfilename");                     if ($up==1){
                           print("<br>the file load success!");
                         }
                         else{
                           print("<br>the fiel load future!");
                         }
                         closedir($handle);
         }
         else{
                         print("your file  don\'t exist!");
         }?>
      

  13.   

    QQKiKi(KiKi):
           我已经试用了你的程序,运行是正确的。
           但是我发现,如果我上传的文件比较大。
           比如:对于15m的文件,我发现这时上传的
           速度非常非常的慢,不知,你试过没有。
           不知道,你有没有什么解决办法?
            请,赐教
      

  14.   

    QQKiKi(KiKi) 你好:
     我在我的单机上运行上传,通过apache和php来上传,
     不知有没有好的方法!
      

  15.   

    传文件的原理就是用二进制流,读写!over,呵呵
      

  16.   

    ukta(ukta) 朋友:如果你想提高速度,只要简单的在HTM文件里把表单里的这一项去掉即可:enctype="multipart/form-data" 我不太明白这个编码类型是什么意思,反正去掉之后,在本地传输速度和复制速度一样快了。