1、本地的php与服务器一致吗?
2、虽然有说明:// 允许程序在 register_globals = off 的环境下工作
实际上这个程序只能在register_globals = on 时运行

解决方案 »

  1.   

    楼上说的对$UploadFile_name 是不对的下面两句话没有对$_FILES进行处理
    @extract($_POST, EXTR_SKIP);
    @extract($_GET, EXTR_SKIP);加上下面一句话估计可以
    @extract($_FILES[UploadFile], EXTR_SKIP, 'UploadFile');
      

  2.   

    哦错了,不是 @extract($_FILES[UploadFile], EXTR_SKIP, 'UploadFile');
    是   @extract($_FILES[UploadFile], EXTR_PREFIX_ALL, 'UploadFile');
      

  3.   

    谢谢回复,但是好像还没解决问题我把问题再描述下:服务器:linux
    本地:2000ser+iis+php5+mysql
    同样的程序,在服务器上可以上传文件,但是本地就不行,请问是什么原因?是不是服务器还需开启某项功能?请教
      

  4.   

    试一下这段代码是否可用..可用既证明你的服务器没什么问题...<?
    if ($_POST)
    {
    $uploaddir = './datafile/';
    $uploadfile = $uploaddir.$_FILES['userfile']['name'];
    echo $uploadfile;
    echo "<br>";
    echo $_FILES['userfile']['tmp_name'];
    echo "<br>";
    echo  $uploaddir . $_FILES['userfile']['name'];
    print "<pre>";
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
       print "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
       print_r($_FILES);
    } else {
       print "Possible file upload attack!  Here's some debugging info:\n";
       print_r($_FILES);
    }
    print "</pre>";
    }
    else
    {?>
    <form enctype="multipart/form-data" action="" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="Send File">
    </form><?
    }
    ?>
      

  5.   

    还是不行...
    ./datafile/data.txt
    D:\Program Files\PHP\uploadtemp\php293.tmp
    ./datafile/data.txtWarning:  move_uploaded_file(./datafile/data.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in E:\workArea\php\edge\web\test5.php on line 12Warning:  move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Program Files\PHP\uploadtemp\php293.tmp' to './datafile
      

  6.   

    $UploadPath = AddSlashes(dirname($PATH_TRANSLATED))."\\Doc\\"; 
    我水平低可以讲下这个“\\”是做什么用吗
      

  7.   

    在PHP文件同一目录下建立几个文件夹datafile
      

  8.   

    哦,这里说的PHP文件是指那个上传程序文件...嘿嘿,不是PHP的核心程序
      

  9.   

    2000下开发的程序放到linux下跑要小心两者之间的区别
      

  10.   

    $UploadPath = AddSlashes(dirname($PATH_TRANSLATED))."\\Doc\\"
    在Windows服务器下是可以的,但在Linux下你换下面的代码试试(我以前也遇到过类似的问题)?
    $UploadPath =getenv("DOCUMENT_ROOT")."/DOC/"当时我就是这么做的:)