Здравствуйте, разработчики.
Чтобы создать автоматическую c функцию Drag n 'Drop в PHP для загрузки файлов, я застрял в обновлении данных после сохранения первого файла. Действительно, я храню в своей базе данных таблицу JSON, которая содержит имя файла, его путь и тип.
Это выглядит примерно так:
{
"1": {
"name": "1",
"path": "/files/project/customer1/pictures/",
"type": "jpeg"
}
}
Однако, если сейчас я добавлю другой файл, я не смогу найти решение, чтобы добавить его в соответствии с моей JSON структурой.
Я бы хотел, чтобы следуйте этой логике c:
{
"1": {
"name": "img1",
"path": "/files/project/customer1/pictures/",
"type": "jpeg"
},
"2": {
"name": "img2",
"path": "/files/project/customer1/pictures/",
"type": "jpeg"
}
}
Вот условие, которое я сделал. Я использую библиотеку MEDOO в PHP, поэтому функция обновления .
перед функцией получает все после "." восстановите тип файла.
<?php
if ($error == "") {
echo $_FILES["$name"]["name"] . " a bien été téléchargé";
$jsonOrig = '';
$jsonOrig = $database->get($table, 'attachment', ['id' => $table_id]);
$database->update(
$table,
['attachment' => Core::jsonify(
$jsonOrig,
['name' => $this->before('.', $_FILES["$name"]["name"]), 'path' => '/files/' . $path . '/', 'type' => $ext],
1
)],
['id' => $table_id]
);
}
Функция jsonify позволяет автоматически генерировать JSON.
<?php
public static function jsonify($jsonOrig = array(), $jsonAdd, $where = "")
{
header('Content-Type: application/json');
if (!is_array($jsonOrig)) {
$jsonOrig = json_decode($jsonOrig, true);
}
if (!is_array($jsonAdd)) {
$jsonAdd = json_decode($jsonAdd, true);
}
if (empty($where)) $jsonOrig[] = $jsonAdd;
else $jsonOrig[$where] = $jsonAdd;
return json_encode($jsonOrig, JSON_PRETTY_PRINT);
}
Вот однажды использованная функция
// parameter one = input file name
// parameter two = The path where the file will be uploaded
// parameter three = table name database
// parameter four = id where add the json file in the database
$Files->addFile('file', 'projets/client2/photos', 'articles', 54);
Заранее благодарю за помощь.