【发布时间】:2014-07-08 01:44:09
【问题描述】:
我正在为我的项目使用 CodeIgniter。
我有一个产品上传表单,用户将在其中提供标题、类别、描述等。该产品是数字下载的,因此他们也会上传。它是 PDF 或 .DOC。接下来,该表单使用户能够上传图片来代表他们的产品并帮助他们在网站上进行营销。提交后,表单会将大量内容存储到数据库中,包括作为主键的 auto_increment 上的项目 ID、产品图像的链接以及实际产品本身的链接(PDF 或 DOC)。用户只能为每个产品(或数据库中的每一行)拥有 1 个图像文件和 1 个产品文件。
我想创建一个简单的文件夹结构来处理上传。我在想这样的例子:
/Users/JohnDoe/Products/*/Product.pdf
和
/Users/JohnDoe/Products/*/Image.jpg
星号是项目 ID。
这是我无法弄清楚的问题。直到表单实际提交并通过验证,然后 MySQL auto_increment 计数器命中,才会生成项目 ID。在那之前我必须上传我的图片和产品,因为我也需要对它们进行表单验证。例如,我需要确保用户实际上是在上传 .PDF 文件而不是其他文件。
我是否应该继续提交表单,然后以我可以访问项目 ID 的方式对文件上传进行验证?如果文件上传验证失败,则删除新提交的项目数据。如果文件上传验证通过,请在 MySQL 行上更新以添加图像链接,然后将文件重命名为我想要的。
有处理这种情况的最佳实践吗?
【问题讨论】:
标签: php mysql forms codeigniter