2014-01-18 60 views
0

我一直在这个文件上传php的工作了一段时间,但我无法得到它的工作。当我点击上传时,'if'语句变为false。PhP文件上传不起作用,直到上传

如果有人能指出我哪里出错了,那会很棒。

<?php 
    $name = $_FILES["file"]["name"]; 


    $tmp_name = $_FILES["file"]["tmp_name"]; 

    if(isset($name)) { 
     if(!empty($name)) { 

      $location = "uploads/"; 
      if(move_uploaded_file($tmp_name, $location . $name)) { 
       echo "Uploaded"; 
      } else { 
       echo $location . $name; 
       echo "<br>"; 
       echo $tmp_name; 
      } 

     } else { 
      echo "Please choose a file!"; 
     } 
    } 
?> 

<form action="index.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="file"><br><br> 
<input type="submit" value="Submit"> 
</form> 
+1

是isset($ N ame)或isset($文件).. ?? –

+0

@FranciscoCarvalho实际上'空($ _ FILES)',因为'$ _FILES'总是设置 – Yang

+0

尝试'var_dump($ _ FILES)'看看是否有任何上传 –

回答

3

你的$的位置可能是错的,试图传递一个绝对路径(在你的例子中,路径是相对于当前的工作目录,它可能是不可写)

+0

谢谢,工作完美。忘记将上传文件夹设为可写。 – user1476856

0

这工作,

<html> 
<head> 
<title>File Upload Form</title> 
</head> 
<body> 
This form allows you to upload a file to the server.<br> 

<form action="getfile.php" method="post"><br> 
Type (or select) Filename: <input type="file" name="uploadFile"> 
<input type="submit" value="Upload File"> 
</form> 

</body> 
</html> 

getfile.php

<html> 
<head> 
<title>Process Uploaded File</title> 
</head> 
<body> 
<?php 

move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'], 
     "../uploads/{$_FILES['uploadFile'] ['name']}") 

?> 
</body> 
</html> 
+1

这看起来真的离问题很远...... – fiskolin

+0

我的代码有效。我没有看到你的答案。 –