【问题标题】:Input mp3 file returns 0输入 mp3 文件返回 0
【发布时间】:2019-10-13 15:46:13
【问题描述】:

当我尝试输入 mp3 文件时,$_FILES 返回 null

控制器:

$audio = $_FILES['muziek']['tmp_name'];

if ($audio != ''){
     $audioContent = file_get_contents($audio);
     $this->load->model('muziek_model');
     $this->muziek_model->insertMuziek($audioContent);
}
var_dump($audio);
var_dump($audioContent);

查看:

<?php echo form_open_multipart('Muziek/uploadMuziek');?>
<table>
    <tr>
        <td><?php echo form_label('MP3 Bestand:', 'muziek'); ?></td>
        <td><input type="file" name="muziek" id="muziek" accept=".mp3" style="margin-left: 10px; padding-bottom: 35px; color: black" class="btn btn-login form-control login-formcontrol bg-white"/></td>
    </tr>
    <tr>
        <td></td>
        <td>
            <?php echo form_submit('knop', 'Uploaden', 'class = "btn btn-login login-formcontrol"'); ?>
        </td>
    </tr>
</table>
<?php echo form_close();?>

当我选择一个 mp3 文件时,音频不应该为空

【问题讨论】:

  • 我在这里没有看到对$_FILES 的引用
  • 它现在显示我格式错误对不起
  • print_r($_FILES['muziek']) 的确切响应是什么?
  • vardump 为音频返回 null 并且音频内容是未定义的

标签: php mysql codeigniter blob mp3


【解决方案1】:

文件上传失败的原因有很多。 https://www.php.net/manual/en/features.file-upload.errors.php

你的失败了,因为它太大了:

值:1;上传的文件超过了upload_max_filesize 指令 在 php.ini 中。

如果您有权访问php.ini,则可以更改此变量以使其接受更大的文件。

即使您成功执行此操作,我也建议您在尝试对可能存在或不存在的文件执行操作之前检查上传错误if(!isset($_FILES['muziek']['tmp_name']) || $_FILES['muziek']['error'] !== 0) { echo 'error'; }

我个人使用:https://github.com/verot/class.upload.php

但 Codeigniter 有一个内置的上传库。

【讨论】:

  • 我无法让它工作,我试过你是否偶然知道 php.ini 文件的位置
  • 这是本地的还是远程的? Xampp 还是其他?
  • 本地我发现它我试图找到设置有没有办法让它无限制?
  • 在 xampp 上它位于 c:\xampp\php\php.ini。您可以将其设置为 200M 或其他任何值。我认为有一个限制。您可能还需要更改post_max_size... 请注意:在托管环境中,如果您的提供商允许您上传超过 10M 的数据,您将很幸运。所以你可能不得不建立一种叫做“分块”的东西(dropzone 有它,等等)。
  • 我自己托管它我有一些旧的工作电脑,我在那里放了一个 linux 服务器
猜你喜欢
  • 2016-12-28
  • 2022-12-03
  • 1970-01-01
  • 2018-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
  • 1970-01-01
相关资源
最近更新 更多