У меня есть мобильное приложение, которое отправляет некоторые данные на веб-службу PHP. Данные состоят из некоторых текстовых элементов и строки с кодировкой base64 (которая будет декодирована в изображение).Вставить путь к файлу изображения в базу данных PostgreSQL
Я хочу сохранить текстовые данные в некоторые столбцы данных, а затем окончательный текстовый столбец, содержащий путь к загружаемому изображению. У меня есть каталог под названием usersImages/
, в котором я хотел бы хранить все изображения, полученные пользователем, но когда я загружаю данные, мой PHP-скрипт в настоящее время не вставляет ничего в базу данных.
PHP файл:
$conn = pg_connect("database_credentials");
/* GET DATA */
$name = $_POST['name'];
$s_name = pg_escape_string($name);
$description = $_POST['desc'];
$s_desc = pg_escape_string($description);
$latitude = $_POST['lat'];
$longitude = $_POST['lng'];
$project = $_POST['project'];
$encoded_photo = $_POST['snap'];
echo $encoded_photo;
$photo = base64_decode($encoded_photo);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('usersImages/test.jpg', 'wb');
fwrite($file, $photo);
fclose($file);
$res = pg_query("INSERT INTO records (name, description, latitude, longitude, project, imagepath) VALUES ('$s_name', '$s_desc', '$latitude', '$longitude', '$project', '$file')");
Что я хочу сделать:
Я хочу все данные, которые хранятся в виде текста с последней колонкой imagepath
, содержащей путь к изображению I только что загрузили, но на данный момент у меня нет успеха. Есть идеи?
Поскольку существует риск столкновения имя, я бы не использовать человека данное имя в качестве имени файла, но уникальный идентификатор в использовании вместо [UUID-OSSP] (http://www.postgresql.org /docs/current/interactive/uuid-ossp.html). –
@ClodoaldoNeto благодарю вас за ваш совет. Я просто проверяю код на данный момент, пользователь будет вводить собственное имя файла в мобильном приложении и ему будет присвоен уникальный идентификатор. – WebDevDanno