Входной файл mp3 возвращает 0

Когда я пытаюсь ввести файл 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

Alex 28.05.2019 09:05

это показывает это сейчас, я отформатировал это неправильно, извините

arnekick 28.05.2019 09:07
print_r($_FILES['muziek']) какой точный ответ?
Alex 28.05.2019 09:07

vardump возвращает null для аудио, а для аудиоконтекста говорит, что он не определен

arnekick 28.05.2019 09:08

пожалуйста, перечитайте мой предыдущий комментарий. это отличается от того, что вы предполагали.

Alex 28.05.2019 09:10

Массив ( [name] => Pigeon John - The Bomb [Official Video].mp3 [type] => [tmp_name] => [error] => 1 [size] => 0 )

arnekick 28.05.2019 09:11

Ну вот: [error] => 1

04FS 28.05.2019 09:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
8
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Загрузка файлов может завершиться неудачей по разным причинам. https://www.php.net/manual/en/features.file-upload.errors.php

Ваш терпит неудачу, потому что он слишком большой:

Value: 1; The uploaded file exceeds the upload_max_filesize directive in 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

arnekick 28.05.2019 09:19

Это локально или удаленно? Xampp или другой?

Alex 28.05.2019 09:21

local я нашел это, пытаясь найти настройку, есть ли способ сделать ее неограниченной?

arnekick 28.05.2019 09:24

на xampp он находится в c:\xampp\php\php.ini. вы можете установить его как 200M или что-то еще. я думаю, что есть ограничение. возможно, вам также придется изменить post_max_size ... просто обратите внимание: на хостинговых средах вам повезет, если ваш провайдер позволит вам загрузить более 10M. так что вам, возможно, придется ввести что-то, называемое «фрагментированием» (среди прочего, оно есть в dropzone).

Alex 28.05.2019 09:34

я размещаю его сам, у меня было несколько старых компьютеров с работы, и я поставил туда Linux-сервер

arnekick 28.05.2019 11:49

Другие вопросы по теме