我用php写了一个简单的文件上传的页面,显示上传成功了,但
(1)、对应目录下却没有上传的文件【tmp目录下没有文件,也没有生成upload目录和文件】。
(2)、move_uploaded_file的参数顺序,代码中上一行的为错误的,下一行正确,与教材上的相反。求大神解惑。upload.html<form action = "upload_file.php" method = "post" enctype = "multipart/form-data">
<label for = "file">Filename</label>
<input type = "file" name = "file" id = "file"/>
<br>
<input type = "submit" name = "submit" value = "上传"/></form>
upload.php<?php
if($_FILES["file"]["error"] > 0)
{
echo "Error : ".$_FILES["file"]["error"]."<br>";
}
else
{
echo "Upload: ".$_FILES["file"]["name"]."<br>";
echo "Type: ".  $_FILES["file"]["type"]."<br>";
echo "Size: ".($_FILES["file"]["size"]/1024)."KB<br>";
echo "Stored in: ".$_FILES["file"]["tmp_name"]."<br>";

if(file_exists("upload/".$_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]." already exists.";
}
else
{
//move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);// 报错
move_uploaded_file("upload/".$_FILES["file"]["name"],$_FILES["file"]["tmp_name"]);
echo "<br><br><br> Storeed in: "."upload/".$_FILES["file"]["name"];
}
}?>
运行结果:
Upload: d.txt
Type: text/plain
Size: 2.439453125KB
Stored in: E:\wamp\tmp\php4A7.tmpStoreed in: upload/d.txtphp上传文件没有生成文件和目录

解决方案 »

  1.   

    move_uploaded_file会返回一个值的。看这个方法是否执行成功。路径存在?写入权限?
      

  2.   

    Warning: move_uploaded_file(upload/d.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'E:\wamp\tmp\php4D5.tmp' to 'upload/d.txt' 
      

  3.   

    当前目录下没有upload目录? 先创建应该就可以了。
      

  4.   

    感谢各位,我在当前目录下建了upload目录(先前建错了,建成了uploaded),并运行上一句,结果正确运行。
      

  5.   

    但是E:\wamp\tmp\ 目录下仍没有生成相应临时文件。
      

  6.   

    但是E:\wamp\tmp\ 目录下仍没有生成相应临时文件。
    要看配置。看配置在哪个目录。phpinfo