2010-02-08 110 views
1

將上傳的文件移動到本地目錄時出現問題。PHP文件上傳,文件不會移動到本地目錄

運行以下代碼時,輸​​出總是「錯誤上傳文件」。它似乎總是不符合'move_uploaded_media'函數的條件,因此$ result沒有被設置?

有沒有明顯的錯誤?

<?php 

$page_title = 'Admin | Multimedia Portfolio'; 

include('includes/admin_header.html'); 

if(isset($_POST['submitted'])) 
{ 
    $uploadDir = 'files/'; 

    $fileName = $_FILES['userfile']['name']; 
    $tmpName = $_FILES['userfile']['tmp_name']; 
    $fileSize = $_FILES['userfile']['size']; 
    $fileType = $_FILES['userfile']['type']; 

    $filePath = $uploadDir . $fileName; 

    $result = move_uploaded_file($tmpName, $filePath); 
    if (!$result) { 
     echo "Error uploading file"; // Here is were the it always gets caught 
     exit; 
    } 

    require_once('mysql_connect.php'); 

    if(!get_magic_quotes_gpc()) 
    { 
     $fileName = addslashes($fileName); 
     $filePath = addslashes($filePath); 
    } 

    $query = "INSERT INTO files (name, size, type, path) VALUES ('$fileName', '$fileSize', '$fileType', '$filePath')"; 

    mysqli_query($dbc, $query) or die('Error, query failed : ' . mysql_error()); 

    mysqli_close($dbc); 

    echo "<br>Files uploaded<br>"; 

    } 

?> 

<div id="content-wrap"> 

<h1>Upload Media</h1> 

<div id="content"> 

    <form method="post" action="upload.php" encytype="multipart/form-data"> 

    <fieldset> 

     <div class="entry"> 

       <label>Which media <span class="highlight">file</span> would you like to upload?</label> 
       <input type="file" name="userfile" id="userfile" size="30" /> 

      </div> 

       <fieldset id="button"> 
       <input type="submit" value="Register" /> 
       <input type="hidden" name="submitted" value="TRUE" /> 
      </fieldset> 

     </fieldset> 

    </form> 

</div> 

</div> 

<?php 

include('includes/admin_footer.html'); 

?> 

回答

5

不知道是否有更多的,但你必須encytype,而不是enctype<form>

+0

太棒了!非常感謝你,我幾個小時一直盯着PHP的這一部分,這是多麼的慷慨。再次感謝非常快速的回答。 – Ronnie

1

您可能還需要對臨時文件執行is_uploaded_file()檢查,以確保...