为了更多地了解php和mysql,我已经在构建一个简单的博客站点上学习了许多不同的教程和帖子。我有一个数据库,包含必要的,通常的嫌疑人(身份证,头衔,作者,日期和职位)。在我的PHP中,我查询数据库,将所有嫌疑人加载到货车中,然后在我需要的时间和地点回应每个嫌疑人 - 工作得非常出色。
现在我想进一步。我希望能够在博客帖子中添加一些图像,这些图片现在只需输入到db的文本表中。我该如何建造类似的东西?我一直在寻找某种暗示 - 基本上谷歌搜索“MySQL PHP博客插入图像到帖子”的每个组合,我能想到。有很多不同的软件选项,但我想了解如何从头开始构建它 - 没有Wordpress,Blogger等。
我不是要让用户上传图片。我只想在实际帖子中包含图像,这样当我查询数据库加载各种php div(标题,作者,日期和帖子)时,帖子将包含我想要显示的任何图片。 [即“这里有一些我一直在使用的示例文本和一张图片”(图片)“如你所见,上面的图片是我在实际博客文章中放置的一个例子”。
如何获取mysql查询以加载帖子并在适当的位置添加图片?这不是关于将图像上载到服务器或数据库。这只是阅读帖子的文本,并在适当的位置包括该帖子的图像。我不希望用户能够上传任何内容,我只想让php页面输出标题,作者,日期和帖子(带图片)。
答案 0 :(得分:4)
需要考虑的一些事项:
如果您的目标是了解有关PHP,MySQL和处理图像的更多信息,那么像支持多个相册的图片库这样的东西可能是一种更直接的方式来学习您想要学习的内容。我可以找到一个我正在谈论的例子here(披露:这链接到我为妻子的摄影业务建立的网站,但是相关)。
希望这有帮助!
:: EDIT :: 根据您的问题更新和对我的回答的评论,我将向您推荐两种可能的解决方案:
简易解决方案: 根据您上传的位置,在帖子中引用一些HTML来引用照片。标签很容易,甚至像wordpress这样的博客都可以让你这样做(所以它不是一个警察):)
教育解决方案: 在每个帖子中,允许某些类型的标记指示图像需要的位置(例如[img] 1 [/ img] ...某些内容... [img] 2 [/ img] ...更多内容),并在您的数据库中链接每个照片ID到每个帖子ID,以及您希望照片填写帖子的位置。为清楚起见,可能是:
Table photo_in_post:
----------------------------------
|img_id | post_id | img_position|
|--------|---------|-------------|
| 17 | 4 | 1 |
|--------|---------|-------------|
| 3 | 4 | 2 |
|--------|---------|-------------|
| 4 | 2 | 1 |
|--------|---------|-------------|
在抓取帖子的文本后,也许您可以运行查询,例如:
select * from photo_in_post join img on img.id = photo_in_post.img_id where photo_in_post.post_id = 4 order by photo_in_post.img_position;
然后遍历您的帖子,将[img] NUMBER [/ img]的每次出现替换为基于与标签内的img_position对应的数据库结果生成的图像标签。或者,您甚至可以遍历数据库结果并执行以下操作:
str_replace("[img]".$row['img_position']."[/img]", "Generated image tag", $postContents);
这可能足以让你开始。
答案 1 :(得分:0)
这是我在大学里摔跤的事情,因为它没有像我想象的那样工作,没有写出整个代码(并且为你节省了试验和错误的所有乐趣)基本上你想要在你的桌子上有一张桌子包含图像名称的数据库,其中包含对帖子 ID 的引用,以便您可以将输出中的两者链接到屏幕。
现在每个人都遇到两个主要问题,希望这些问题能为您节省几个小时的时间:
首先确保您的表单enctype设置为multipart / form-data。
<form enctype="multipart/form-data"></form>
其次,当您处理上传的内容时,它存储在$ _FILES超全局数组中,而不是$ _POST。
我刚刚做了一个快速谷歌并从Tizag中取出了第一个结果,它提供了php文件上传的基本概述。它不是最好的,但肯定涵盖了基础知识。
http://www.tizag.com/phpT/fileupload.php
按照该教程,您应该能够将图像放到服务器上(提供权限设置为允许此操作)。
答案 2 :(得分:0)
我刚才已经想到了这一点,在我看来,有一个简单的解决方案,但它是固定的。按照我的方式,您的图片必须以文字内嵌固定。在每一个博客中,&#34;第一个&#34;图片必须在自己的位置,然后&#34;第二&#34;图片必须是自己的...等。等。
我的意思是什么? 当您构建上传图片的表单时,构建它将第一张图片命名为&#34; image1&#34;,second&#34; image2&#34;或者等等......但是必须修改名称,这样你才能正确编写你的html代码。 然后,当您编写博客并选择要上传的图片以及按下提交按钮时,您的PHP脚本必须在您的网站上构建正确的文件夹,然后将图片上传到该文件夹中。
当你编写你的html时,你会为你的照片和那个地方张贴一个地方&#34;电话&#34;来自特定文件夹的image1,第二位&#34;来电&#34;来自特定文件夹等的image2等...在该博客的MySQL表中,除了id,title,date,hour和blog的内容之外,你还必须有列名文件夹,你将使用php代码调用并放入你的HTML。
我能理解吗?对不起,如果我的英语语法不正确或某些词也是。
这是我的意见。
答案 3 :(得分:0)
我之前和之后都考虑过-这是看起来最简单,最灵活的唯一方法。
首先,我先解释一些功能
我的网站(www.nathannoye.com)包含博客部分。在管理面板中-有一种方法可以为帖子标题图像上传单个图像,但是我与您想在我的博客帖子中发布图像的位置相同。看来我可以在每篇博客文章中一次上传一张图片(并且已经在其他地方进行了多张图片上传)-为什么不做一个专门上传资产和使用数据库引用在两者之间进行调解的部分。二。
这就是我要在网站重新设计中实施的解决方案:
遵循这一策略-我可以在我的整个网站上重复使用这些图片,而不必担心该图片是否粘贴在该博客文章中。
不确定这是否是最好的方法,但是由于我将是唯一使用它的人-我不在乎
希望这会有所帮助!