$uploaddir = '../c';改为$uploaddir = '../c/';

解决方案 »

  1.   

    因为在$uploadfile = $uploaddir. $_FILES['userfile']['name'];这句里
    $uploadfile为"../c/filename"
    如果你是$uploaddir = '../c',那么就少了个/
      

  2.   

    to surfchen(SurfCHen)我改了路径,返回结果还是这样.
    Possible file upload attack!  Here's some debugging info:
    Array
    (
        [userfile] => Array
            (
                [name] => 行业资源.doc
                [type] => application/msword
                [tmp_name] => /tmp/phpiIrvIv
                [error] => 0
                [size] => 27136
            ))
      

  3.   

    我的文件路径结构是这样的
    datafile这个文件夹处于upload.php的同一级目录里。
    upload.php
    <?
    if ($_POST)
    {
    $uploaddir = './datafile/';
    $uploadfile = $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><?
    }
    ?>
    在windows2K+IIS和UNIX+APACHE都测试通过。
    http://yubeinet.com/surfchen/upload.php UNIX+APACHE
    http://surfchen.vicp.net/php/upload.php windows2K+IIS