有临时文件目录,权限都是最大
改了之后的错误:
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
改了之后的错误:
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
<?
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>
我把 $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
但是文件可以上传上去了
我的php是4.2
里边没有 track_vars=on
但是Note - track_vars is ALWAYS enabled as of PHP 4.0.3
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服务器时将以匿名身份进行操作,所以也可能出现这种情况。你保存文件时最好用绝对路径。