将mp3文件上传到文件夹不起作用


Upload mp3 file into folder is not working

我正在尝试使用 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;
        }

这有效,并确保它有权写入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)

我不确定您使用的是哪种服务器,但是通过谷歌搜索服务器类型和"最大上传大小"可以轻松找到信息。