我有一个移动应用程序将一些数据发送到我的PHP Web服务。数据由一些文本项目和一个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
文本刚刚上传,但目前我没有成功。有任何想法吗?
由于存在名称冲突的风险,我不会用一个人的教名作为文件名,但不是使用[UUID-OSSP]的唯一标识符(http://www.postgresql.org /docs/current/interactive/uuid-ossp.html)模块。 – 2013-05-13 17:07:11
@ClodoaldoNeto感谢您的建议。我现在纯粹测试代码,用户将在移动应用程序中输入自己的文件名,并为其分配一个唯一的ID。 – WebDevDanno 2013-05-13 17:37:34