2016-01-28 88 views
1

我試圖上傳mp3格式文件到使用PHP的文件夾中。但是,這下面的編碼不起作用。請問有人能幫我嗎?將mp3文件上傳到文件夾不起作用

define("UPLOAD_DIR", "mp3_upload_folder/"); 
if (!empty($_FILES["myFile"])) 
     { 
     $myFile = $_FILES["myFile"]; 

     if ($myFile["error"] !== UPLOAD_ERR_OK) 
      { 
      echo "<p>An error occurred.</p>"; 
      exit; 
      } 
    // verify the file is a GIF, JPEG, or PNG 
    $fileType = exif_imagetype($_FILES["myFile"]["tmp_name"]); 

     // ensure a safe filename 
     $name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]); 

     // don't overwrite an existing file 
     $parts = pathinfo($name); 

     $sanjiv=$_POST['user_id']; 
     $name= $sanjiv.".".$parts["extension"]; 
     // preserve file from temporary directory 
     $success = move_uploaded_file($myFile["tmp_name"], 
      UPLOAD_DIR . $name); 
     if (!$success) { 
      echo "<p>Unable to save file.</p>"; 
      exit; 
     } 
+0

喲容易找到足夠的信息你可能會刪除檢查,看看文件是否是一個圖像。 – Luke

回答

0

這個工作,並確保它有權寫入mp3_upload_folder。我認爲它還缺乏完整的解決方案,但我對這個問題缺乏全面的瞭解。

<!DOCTYPE html> 
<html> 
<head> 

</head> 
<body> 
<?php 

define("UPLOAD_DIR", "./mp3_upload_folder/"); 
if (!empty($_FILES["myFile"])) { 
    $myFile = $_FILES["myFile"]; 

    if ($myFile["error"] !== UPLOAD_ERR_OK) { 
     echo "<p>An error occurred.</p>"; 
     exit; 
    } 

    // ensure a safe filename 
    $name = $myFile["name"]; //preg_replace("/[^A-Z0-9\.\-]/i", "_", $myFile["name"]); //this is pointless if you're not using it 

    // don't overwrite an existing file 
    $parts = pathinfo($name); 

    $name= $_POST['user_id'].".".$parts["extension"]; 
    // preserve file from temporary directory 
    $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR .$name); 
    if (!$success) { 
     echo "<p>Unable to save file.</p>"; 
     exit; 
    } 
} 

?> 
<form method="post" enctype="multipart/form-data"> 
    <input type="text" value="testUserId" name ="user_id"/> 
    <input type="file" name="myFile"/> 
    <input type="submit"/> 
</form>  

</body> 
</html> 

另外,還要確保您編輯服務器設置,以及你的php設置上傳文件大小(在php.ini):

的post_max_size

Upload_max_size(可能是您的罪犯默認爲2M)

我不知道你使用的服務器,但可以通過谷歌搜索服務器類型和「最大上傳大小」

+0

它允許圖像文件。但是當我嘗試上傳mp3文件時,它會打印以下消息「發生錯誤」。 – sanju

+0

您可能需要更改一些設置爲php或您的服務器本身。我相應地更新了答案。 –