2012-04-22 411 views
0


上传图像之前,系统必须知道上传路径。
图像路径由图像ID生成。
例如:图像123456有这个路径图像/ 123/456
当然,图像ID将=最后插入的图像ID + 1
如何获取上次上传的图像的ID(数据存储在数据库中)

如何通过图像ID生成图像路径

我能做
select max(image_id) from images

select image_id FROM images order by image_id desc limit 1


但他们似乎是很多每次某个用户想要上传图片时的工作量。
是否有一些简单的解决方案获得最后的ID

+0

你使用mysqli或PDO还是什么? – 2012-04-22 19:47:07

+0

我使用mysqli,当然ID是auto_increment。如何以简单的方式获取最后插入的ID。内置函数Last_insert_id在搜索前没有插入新行就不起作用 – phpEnthusiast 2012-04-22 19:50:20

+0

在路径创建时没有插入id?我不明白。 – Blake 2012-04-22 19:53:04

回答

0

您需要在几个步骤中完成。

  1. 用户上传的图像
  2. 你插入一个模板记录在数据库中,这样你就可以得到这个新纪录的ID
  3. 过程/移动上传的文件,使用这种新的ID
  4. 更新骨架记录到'激活'它

在上传之前不能这样做,因为PHP在上载完成后才开始执行。

为了最大限度的安全,您可以在事务中执行数据库操作。如果上传有任何问题(错误的文件类型,上传失败,无法处理文件等),您只需回滚该事务,并且一切都恢复正常。

+0

感谢这个步骤,真的很有用的信息! – phpEnthusiast 2012-04-22 20:08:17