有临时文件目录,权限都是最大
改了之后的错误:
Notice: Undefined variable: MyFile in c:\inetpub\wwwroot\submit.php on line 8
Warning: unlink() failed (Permission denied) in c:\inetpub\wwwroot\submit.php on line 8

解决方案 »

  1.   

    給你一個上傳文件的例子
    <?
    if($submit && $testfile<> "none") {
      $path="./"; 
      $filename="pppppppp.txt";
     
      if (!@copy($testfile,$path.$filename)) {
          echo "复制文件失敗...<br/>\n";
          exit();
      }
      @unlink($testfile);
       echo"上傳成功!";
       exit();
    }
    ?>
    <form action="<?php echo $PHP_SELF;?>" method="post"  enctype="multipart/form-data">
    <input name="testfile" type="file" size=20 enctype="multipart/form-data">
    <input type=submit name=submit value="開始上傳">
    </form>
      

  2.   

    上帝啊,还是不行
    我把 $MyFile=$_POST['MyFile'];
     这行改成$MyFile=$_FILES['MyFile'];
    错误是这样的,Notice: Array to string conversion in c:\inetpub\wwwroot\submit.php on line 8(unlink($MyFile);)
    Warning: unlink() failed (No such file or directory) in c:\inetpub\wwwroot\submit.php on line 8
    但是文件可以上传上去了
      

  3.   

    看一下PHP.INI文件里track_vars的值是不是等于ON!
      

  4.   

    谢谢你
    我的php是4.2
    里边没有 track_vars=on
    但是Note - track_vars is ALWAYS enabled as of PHP 4.0.3
      

  5.   

    <?php
       echo $_FILES['MyFile']['tmp_name'];
      If(is_uploaded_file($_FILES['MyFile']['tmp_name']))
      { //copy($MyFile,"C:/$MyFile_name");
        copy($_FILES['MyFile']['tmp_name'], "c:\temp\upload\" . $_FILES['MyFile']['name']);
     }
      else
        echo"你没有上传任何文?";
    ?>
    你不需要删除临时文件,因为脚本运行结束后临时文件会自动删除。
    缺省的当前路径是脚本所在目录(在linux下是这样的),你应该确信你是否有权在这个目录下写文件。
    还有一个情况(在NT中),IIS服务器是以系统管理员身份运行的。默认情况下文件是保存在系统管理员的文档目录中的。而访问web服务器时将以匿名身份进行操作,所以也可能出现这种情况。你保存文件时最好用绝对路径。