<?
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><?
}
?>

解决方案 »

  1.   

    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{
    copy(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])); //再copy一下,
    }
      

  2.   

    估计是WINDOWS和LINUX路径问题?
    WINDOWS下是c:\wwww
    linux 是 /etc/user/wwww
      

  3.   

    而且在错误日志里会报错说:此文件admin.css,style_cn.css未找到。报404.err的错(脚本不能找到或者不能执行)。但是上述两个文件根本就在我的程序里没有出来过。不知道这是什么原因?
      

  4.   

    有些服务器是要权限的。那777代表只是这个文档,可能上传文件的函数你没有权限。你最好用php探针测试一下。