PHP文件中未将文件放入文件夹

问题描述:

我在这段代码试过无数的尝试,我知道HTML是正确的,但是PHP是棘手PHP文件中未将文件放入文件夹

<html> 
<body> 
<?php 
echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 
$uploaddir = '/var/www/Megan/'; 
$uploadfile = $uploaddir . basename($_FILES['file']['name']); 
move_uploaded_file($_FILES["file"]["tmp_name"], 
$uploadfile); 
echo "Stored in: " . "$uploaddir" . $_FILES["file"]["name"]; 
?> 
<h1>File upload successful!</h1> 
<form method="get" action="/megan"> 
<input type="submit" value="Continue"/> 
</form> 
</body> 
</html> 

帮我解决这个问题

+0

检查文件的上传目录path.Also添加表单 - 属性ENCTYPE =“多/表单数据” –

嘿试试这个简单的代码,我认为这会帮助你,并根据你的要求添加你的代码。

<form enctype="multipart/form-data" method="post"> 
<input type="file" name="file" /> 
<input type="submit" name="submit" value="upload" /> 
</form> 
<?php 
     $name=$_FILES['file']['name']; 
     $temp=$_FILES['file']['tmp_name']; 
     $dir="var/www/Megan/"; 
     move_uploaded_file($temp,$dir.$name); 
    ?> 

  1. 要开始,你的假设是,HTML是正确的也是错误的。文件上传表单需要是方法=“POST”

    需要
  2. 你的一个表单元素是一个文件选择器:

    <input type="file" name="file"> 
    
  3. 你开始form标签,需要一个额外的参数:

    <form method="post" enctype="multipart/form-data"> 
    
  4. 只有在表单已经POSTED的情况下,PHP才应该运行,在这种情况下,变量$ _POST已设置。所以,把你的PHP代码内

    if($_POST) { 
        //php here 
    } 
    

可能是你的上传目录是只读或写保护

<?php 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    $uploaddir = '/var/www/Megan/'; 
    $uploadfile = $uploaddir . basename($_FILES['file']['name']); 
    chmod($uploadfile, 0777); 

    if($_FILES['file']['error']==0) { 
     if(move_uploaded_file($_FILES["file"]["tmp_name"], $uploadfile)){ 
      echo "Stored in: " . "$uploaddir" . $_FILES["file"]["name"]; 
     } else { 
      echo "error!!"; 
     } 
    } else { 
      echo "An error has occurred.<br/>Error Code: " . $_FILES["file"]["error"]; 
    } 
?>