试一下这段代码是否可用..可用既证明你的服务器没什么问题...<? 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><? } ?>
还是不行... ./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
@extract($_POST, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);加上下面一句话估计可以
@extract($_FILES[UploadFile], EXTR_SKIP, 'UploadFile');
是 @extract($_FILES[UploadFile], EXTR_PREFIX_ALL, 'UploadFile');
本地:2000ser+iis+php5+mysql
同样的程序,在服务器上可以上传文件,但是本地就不行,请问是什么原因?是不是服务器还需开启某项功能?请教
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><?
}
?>
./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
我水平低可以讲下这个“\\”是做什么用吗
在Windows服务器下是可以的,但在Linux下你换下面的代码试试(我以前也遇到过类似的问题)?
$UploadPath =getenv("DOCUMENT_ROOT")."/DOC/"当时我就是这么做的:)