【问题标题】:How to generate image path by image ID如何通过图像 ID 生成图像路径
【发布时间】:2012-04-23 04:06:30
【问题描述】:


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

我可以做到
select max(image_id) from images

select image_id FROM images order by image_id desc limit 1


但每次用户想要上传图片时,它们似乎需要做很多工作。
是否有一些更简单的解决方案来获取最后一个 ID

【问题讨论】:

  • 你用的是mysqli还是PDO还是什么?
  • 我用的是mysqli,ID当然是auto_increment。如何以简单的方式获取最后插入的 ID。内置函数 Last_insert_id 在搜索前不插入新行就不起作用
  • 您没有在创建路径时插入 id?我不明白。
  • 在插入新图像之前,我需要知道最后插入图像的 ID。如果我没有插入新行,函数 last_insert_id 不会给出结果。例如:如果我昨天插入了一个新的表行,函数 last_insert_id 今天不会给出结果(将返回 0)。附言。 ID 为 auto_increment

标签: php image uploading


【解决方案1】:

您需要分几步完成。

  1. 用户上传图片
  2. 你在数据库中插入了一个骨架记录,所以你可以得到这个新记录的 ID
  3. 使用这个新 ID 处理/移动上传的文件
  4. 更新骨架记录以“激活”它

您不能在上传之前执行此操作,因为 PHP 直到上传完成后才会开始执行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 2012-03-12
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多