Когда я пытаюсь ввести файл 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-файл, звук не должен быть нулевым
это показывает это сейчас, я отформатировал это неправильно, извините
print_r($_FILES['muziek'])
какой точный ответ?
vardump возвращает null для аудио, а для аудиоконтекста говорит, что он не определен
пожалуйста, перечитайте мой предыдущий комментарий. это отличается от того, что вы предполагали.
Массив ( [name] => Pigeon John - The Bomb [Official Video].mp3 [type] => [tmp_name] => [error] => 1 [size] => 0 )
Ну вот: [error] => 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
Это локально или удаленно? Xampp или другой?
local я нашел это, пытаясь найти настройку, есть ли способ сделать ее неограниченной?
на xampp он находится в c:\xampp\php\php.ini. вы можете установить его как 200M или что-то еще. я думаю, что есть ограничение. возможно, вам также придется изменить post_max_size
... просто обратите внимание: на хостинговых средах вам повезет, если ваш провайдер позволит вам загрузить более 10M. так что вам, возможно, придется ввести что-то, называемое «фрагментированием» (среди прочего, оно есть в dropzone).
я размещаю его сам, у меня было несколько старых компьютеров с работы, и я поставил туда Linux-сервер
я не вижу здесь ссылки на
$_FILES