Я пытаюсь загрузить несколько файлов и сохранить их путь к базе данных, используя slim
framework. Проблема в том, что когда я тестирую код с помощью почтальона, он загружает только один файл и сохраняет только этот файл в базу данных. (Я использую multifileupload[]
в качестве ключа и типа файла для загрузки двух или более файлов с одним вводом.)
Мой код ниже:
$app->post('/uploadfile',function(Request $request, Response $response, array $args) {
$decodedsenttoke = $request->getAttribute('decoded_token_data');
$directory = $this->get('upload_directory');
$uploadedFiles = $request->getUploadedFiles();
foreach ($uploadedFiles['multifileupload'] as $uploadedFile) {
if ($uploadedFile->getError() === UPLOAD_ERR_OK) {
$pathOfUploadedFiles = "http://someaddress.com/uploads/";
$filename = moveUploadedFile($directory, $uploadedFile);
$pathOfUploadedFiles .= $filename;
$input = $request->getParsedBody();
$insertsql = "INSERT INTO files (picturelink , picturetitle , appointid)"
."VALUES (:picturelink , :picturetitle , :appointid )";
$this->db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');
$sth = $this->db->prepare($insertsql);
$sth->bindParam("picturelink", $pathOfUploadedFiles);
$sth->bindParam("picturetitle", $input['picturetitle']);
$sth->bindParam("appointid", $input['appointid']);
$sth->execute();
$insertArray = array('message'=>'inserted');
return $this->response->withJson($insertArray);
}
}
});