【问题标题】:upload image, then put file path into a form上传图片,然后将文件路径放入表单
【发布时间】:2012-04-16 08:19:52
【问题描述】:

我只需要一些关于我正在创作的东西的方向的建议。

这是一个简单的基于 php 的网页,供我们办公室的体育和社交成员使用,允许他们创建、编辑、查看和删除活动,供所有成员查看。一日游、烧烤之类的活动。

到目前为止,除了作为活动徽标之外,我已经按照自己的意愿进行了所有工作。

目前,事件都存储在mysql数据库中,在一个表中,事件的每个方面都有一列;时间、日期、价格、地点等。

我还有两列用于活动徽标,一列用于场地徽标,一列用于一般活动徽标。

我需要的建议是创建一个页面的最佳方式,该页面允许用户将图像上传到服务器,浏览已上传的图像,选择一个,并在创建时将其文件路径输入文本输入事件。

有人可以就解决此问题的最佳方法提出建议,或者提供一种选择和输入活动徽标的替代方法吗?

谢谢

【问题讨论】:

  • 为什么不使用google-calender及其分享功能,或者facebook群组?
  • 上传的图像(或其文件路径)没有分配给事件,需要浏览,没有存储在数据库中?它们只是上传到服务器上的某个地方?
  • 嗨,老实说,这是因为我想边做边学,我喜欢做这种事情,这意味着我们可以拥有我们想要的功能并自己管理它。
  • @Martin,是的,目前我认为将它们作为基本文件上传到文件夹会更好。我曾尝试将它们存储在数据库中,但在使用 php 命令检索它们时永远无法让它们显示在页面上。如果我能做到这一点,那将是我的首选方法。

标签: php mysql image upload filenames


【解决方案1】:

Uploadify jQuery 插件非常适合批量和/或 AJAX 上传。我处理你的情况的方式是这样的:

  1. 将所有图像与表单显示在同一页面上,并为每个图像提供一个相关的单选按钮,并将图像路径作为按钮的值,因此用户只需检查他们想要使用的图像,
  2. 如果用户想要上传图片,请使用 Uploadify 插件和它的 AJAX 回调函数来动态填充现有的单选按钮列表。

我对您的问题发表的评论,询问您是否存储图像(或其文件路径)是因为我认为通过查询数据库来检索上传的图像列表会更容易(并且更清晰)。就我个人而言,我不会将图像存储在数据库中,只存储它们的文件路径,并使用 PHP 来处理任何需要删除或移动的图像。以这种方式更容易将图像分配给其他实体(尤其是在多对多关系中)。

如果您不想将图像的数据存储在单独的表中,我想您必须使用 PHP 文件系统函数来获取已上传文件的列表(想到glob,尽管可以是更好的功能或this)。

编辑:

还有一个非常好的AJAX文件浏览器插件-ckFinder,但是我对它的经验很少,不能真正评论它的工作流程,但是如果你发现它是一个更优雅的解决方案,你应该试试看。

【讨论】:

  • 或者,如果您有更高的 php 版本,DirectoryIterator 类是使用 glob 的首选替代方案。 php.net/manual/en/class.directoryiterator.php
  • 我会检查一下你们上面提到的内容,但是你能指出任何关于如何正确插入、检索和显示数据库中的图像的教程吗?谢谢
  • @Eds,正如我在答案中提到的,我不会将整个图像存储在数据库中,所以我不熟悉该过程或不知道任何教程(除了谷歌搜索之外,但是你可以像我一样做到这一点)。但是,如果您计划将上传的图像与数据库中的实体相关联,我建议您存储它们的文件路径或仅存储文件名,如果您将它们保存在单个受控文件夹中(例如,这可能是一个更灵活的解决方案如果您计划迁移服务器)。这样,您只需查询数据库即可轻松以 HTML 格式输出的基本信息。
【解决方案2】:

如果我能理解您的问题,您想将图像与事件相关联,即用事件标记图像吗? 你可以使用jquery的attr()函数来获取img的src并放到输入字段中

【讨论】:

  • 嗨,对不起,我没有很好地解释。当用户创建一个事件并将其放入数据库时​​,我还希望他们上传或选择已上传的图像,并将文件路径输入到该事件的数据库中。这样,在查看活动页面时,它会将文件路径打印到 标记中,并显示图像。希望这更有意义。
  • 你为什么要分两步打破这个我的意思是首先在 db n 中存储事件详细信息,然后将图像添加到事件中,你可以选择以与你进行事件相同的形式上传图像,如果他们想要要从已选择的图像上传图像,您可以进行 ajax 调用并检索已经上传的图像并显示,然后您可以使用 jquery 检索 img src,然后将所有内容一起上传
  • 我当然希望他们在创建活动时选择一张图片或上传一张图片。这是我的目标,但需要一些关于最佳方式的指导。
  • 告诉我你需要什么指导 php 代码来处理上传或 JavaScript ??
【解决方案3】:

我最终将图像存储在数据库本身中。

在文件路径方面节省了一些麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    相关资源
    最近更新 更多