【问题标题】:Sending MP3 file to server将 MP3 文件发送到服务器
【发布时间】:2014-05-03 19:08:20
【问题描述】:

我有问题。我正在编写一个简单的表单来将文件上传到服务器。我可以发送任何没有 mp3 的文件,我不知道为什么。 add2.php:

{
    $max_size = 104857600;
    if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
        if ($_FILES['plik']['size'] > $max_size) {
            echo 'Error! File is too big!';
        } else {
            echo 'I have file, name: '.$_FILES['plik']['name'];
            $nazwa= $_FILES['plik']['name'];

            mysql_query("INSERT INTO files (name) values ('{$nazwa}') ");

            echo '<br/>';
            if (isset($_FILES['plik']['type'])) {
                echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
            }

            move_uploaded_file($_FILES['plik']['tmp_name'],
            $_SERVER['DOCUMENT_ROOT'].'/music/'.$_FILES['plik']['name']);
        }
    } else {
        echo 'Error with sending file!';
    }

当我尝试发送 mp3 时,我得到“发送文件时出错!”。

编辑:

<form action="add2.php" method="POST" ENCTYPE="multipart/form-data">
<input type="file" name="plik"/><br/>
<input type="submit" value="Send file"/>
</form>';

【问题讨论】:

  • 上传代码在哪里?我的猜测是你没有编码类型。此外,您的代码非常不安全。使用 PDO 或类似的准备好的/参数化查询来避免 SQL 注入攻击。不要让用户指定您办公桌上文件的名称……当然也不要将用户上传的文件保存在您的 Web 服务器的文档根目录中。有人可以上传something-evil.php 并运行他们想要的任何东西。
  • 我用表单插入代码

标签: php mysql


【解决方案1】:

我在我的机器上测试过,看看:

您的 mp3 文件似乎无法上传,因此 $_FILES 数组中缺少该文件。这可能是由于其与图像文件相比的大小。

请检查php.ini 中的upload_max_filesizepost_max_size 设置,并允许大于您的mp3 文件。

字体:How to upload mp3 files

【讨论】:

  • 对于那些阅读本文的人:$_FILES["file"]["type"] == "audio/mp3"; 是用于这种情况的数组(假设您已经修复了 php.ini 内存问题)。
猜你喜欢
  • 2015-05-26
  • 2021-12-05
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 2016-06-06
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多