首页 > 解决方案 > (PHP)如果尚未创建帖子的ID,如何将其附加到文件名?

问题描述

1)用户正在创建帖子,帖子的ID尚未创建,仅在创建帖子的页面中

2)用户通过ajax上传图片

我想做的是附上帖子的ID,因为当帖子被删除时,具有该ID的文件也需要删除,但是我该如何以某种方式绑定它们

预测mysql的下一个ID是不安全的,因为它可能随时被其他用户添加其他帖子而改变

将文件上传到临时文件夹,并在创建帖子后将它们移动到具有适当 ID 的上传文件夹,但是如果用户取消帖子创建,文件将保留在那里...

标签: php

解决方案


好吧,我想你需要在你的数据库中创建另一个列,你的帖子也存储在图像表中:

  1. 让我们称之为标识符
  2. 然后当用户上传图像时,创建一个随机字符串并将其存储在会话或变量中。
  3. 现在将图像路径与相同的变量一起存储在 images 列中,并将变量添加到列identifier中。
  4. 您将唯一标识符存储在会话中,现在当用户提交其他帖子元素时,您可以从会话中获取它并更新第二个表中的标识符列。

要创建随机字符串,请使用以下函数:

function getRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

这种方式与文件或帖子元素首先出现的内容无关紧要,您对每个帖子都有一个唯一标识符,当您必须删除帖子时,只需从该行获取标识符并删除所有相关图像并删除记录从第二张桌子!


推荐阅读