Входной mp3-файл возвращает 0 - PullRequest
0 голосов
/ 28 мая 2019

Когда я пытаюсь ввести файл 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, звук не должен быть нулевым

1 Ответ

0 голосов
/ 28 мая 2019

Загрузка файлов может быть неудачной по разным причинам. 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 имеет встроенную библиотеку загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...