Я сделал страницу загрузки, которая должна загружать файлы и задавать их имя в базе данных. Он работает просто отлично с изображениями, но звуковые форматы и другие, похоже, не работают.
Вот как выглядит моя часть html
<form method = "post" enctype = "multipart/form-data">
<div class = "card card-login">
<?= FH::csrfInput() ?>
<div class = "card-header text-center" data-background-color = "rose" >
<h3 class = "card-title">Upload</h3>
</div>
<div class = "card-content">
<div class = "input-group">
<span class = "input-group-addon">
</span>
<div class = "form-group label-floating">
<label class = "control-label"><h4>Chose a name for the file</h4></label>
<br>
<input type = "textd" name = "name" id = "name" class = "form-control" value = "">
</div>
<br><br>
<div class = "form-group label-floating">
<label class = "control-label"><h4>Choose a file</h4></label>
<br>
<input type = "file" id = "file" name = "file" >
</div>
</div>
</div>
<div class = "footer text-center">
<div class = "file-upload">
<label for = "submit" class = "file-upload__label">
<div class = "isa_error_class">
<?= FH::displayErrors($this->displayErrors)?>
</div>
<button class = "btn btn-wd btn-lg" data-background-color = "rose">Submit</button>
</label>
<input type = "submit" name = "submit" value = "Submit" class = "file-upload__input">
</div>
</div>
</form>
И есть часть php
if ($this->request->isPost())
{
$this->request->csrfCheck();
$upload->assign($this->request->get());
$upload->user_id = Users::currentUser()->id;
$upload->name .= "." . pathinfo($_FILES['file']['name'] , PATHINFO_EXTENSION);
$value = pathinfo($_FILES['file']['name'] , PATHINFO_EXTENSION);
$upload->format = Upload::setFormat($value);
$dir = Users::currentUser()->id;
if (move_uploaded_file($_FILES["file"]["tmp_name"],'files' . DS . $dir . DS . $upload->name ))
{
if ($upload->save())
{
Router::redirect('upload');
}
else
{
$upload->addErrorMessage('file','There were a problem saving in the database.');
}
}
else
{
$upload->addErrorMessage('file','There were a problem uploading it.');
}
}
DS — это разделитель. Форматы изображений работают идеально, но другие форматы - нет. Любые идеи ?






Вы должны проверить, разрешили ли вы file_uploads = On в своем php.ini, а также проверить максимальный размер файла upload_max_filesize= 20M и убедиться, что вы его не передаете.
@KrishnaJonnalagadda стоит проверить, никогда не знаешь
Привет, @Valentin Grigorean, FYI, по умолчанию file_uploads будет включен