2011-08-02 80 views
3

为了学习更多关于php和mysql的知识,我一直在研究构建一个简单的博客站点的一些不同的教程和文章。我有一个数据库,包含必要的,通常的嫌疑人(ID,标题,作者,日期和帖子)。在我的php中,我查询数据库,将所有嫌疑人加载到面包车中,然后在需要他们的时间和地点回显每个人 - 出色地工作。博客文章与图片?

现在我想走得更远。我希望能够添加一些图像到博客文章,现在,只需键入数据库的文本表。我该如何去建设类似的东西?我一直在寻找任何提示 - 基本上谷歌搜索“MySQL PHP博客插入图像到后期”的每个组合,我可以想到。有很多不同的软件选项,但我想了解如何从头开始构建它 - 没有Wordpress,Blogger等。

我不想让用户上传图片。我只是想在实际文章中包含图片,以便当我查询数据库以加载各种php div(标题,作者,日期和帖子)时,该帖子将包含我想要显示的任何图片。 [即“以下是我一直在使用的一些示例文本和一张图片”(图片)“,您可以看到,上面的图片是我在实际博客文章中放置的一个示例。”

如何获取mysql查询加载帖子并将图片添加到适当的位置?这不是将图像上传到服务器或数据库。这只是关于阅读帖子的文本,并在适当的位置包括该帖子的图片。我不希望用户能够上传任何东西,我只想让php页面输出标题,作者,日期和帖子(附图片)。

+0

你有没有在Google上试过“php image upload”? –

+0

你只想将你的文章与图片链接?你可以发布你实际的数据库模式吗? – Awea

+2

难道你不能只是添加一个普通的''标签到帖子文本?或者,如果您想剥离HTML,请在显示帖子之前将其替换为img标签的其他语法,如'[img:URL]'。 – JJJ

回答

4

有几件事情要考虑:

  • 你希望用户通过表单上传图片的网站上,或者是你将要通过FTP的唯一用户,并上传?
  • 用户是否要将html键入到文本编辑器中他们想要显示图片的位置,还是要解析出某种简单的标记语言(如[img =“path/to/image.jpg” ])
  • 数据库实际上是你想要完成的工作吗?

如果你的目标是要了解更多关于PHP,MySQL和图像的工作,或许像支持多个相册的图像库可能是更直接的方式来学习你想学的东西。我所说的一个例子可以找到here(披露:这个链接到我为我妻子的摄影业务建设的网站,但相关)。

希望这会有所帮助!

::编辑:: 基于更新到你的问题,我的答案评论,有两种可能的解决方案,我会向你推荐:

最简单的办法: 写一些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); 

,那真的是足以让你开始。

+0

不,我不希望用户能够上传任何东西,我只是想让php页面输出标题,作者,日期和帖子(附图片)。 – Will

+0

非常感谢您的深入解释。对此,我真的非常感激。我将采取“教育解决方案”并开始研究它。 :) – Will

0

这是我在大学里摔跤的事情,因为它没有像我想象的那样工作,没有写出整个代码(并且节省了所有试验和错误的乐趣),基本上你想要一张桌子您的数据库包含图像名称并且具有对帖子ID的引用,以便您可以将输出中的两者链接到屏幕。

现在有2个每个人都存在的主要问题首先遇到,希望这将节省您挠头的几个小时:

首先请确保您的表单的enctype设置为multipart/form-数据。

<form enctype="multipart/form-data"></form> 

其次,当您使用上传的内容时,它存储在$ _FILES超全局数组中,而不是$ _POST。

我刚刚做了一个快速的谷歌,并从Tizag的第一个结果,提供了一个基本的php文件上传概述。这不是最好的,但肯定涵盖了基本知识。

http://www.tizag.com/phpT/fileupload.php

此之后教程,您应该能够获得图像到你的服务器(提供权限设置为允许此)。

0

我以前就想过,在我看来,有一个简单的解决方案,但它是固定的。在我的方式中,您的照片必须以文本内联方式固定。在每一个博客中,“第一张”图片必须在自己的位置,然后“第二张”图片必须在自己的...等。

我是什么意思? 当你建立一个上传你的图片的表单时,建立它,第一个图片将被命名为“image1”,第二个“image2”或者其他长。但名称必须是固定的,所以你可以编写你的html代码。 然后,当你写博客并选择图片上传,当你按下提交按钮时,你的PHP脚本必须在你的网站上建立适当的文件夹,然后上传图片到该文件夹​​中。

当你写你的html,然后你发布一个地方你的图片和那个地方“来电”image1从特定的文件夹,第二个地方“来电”image2从特定的文件夹等。在该博客的MySQL表中,旁边ID,标题,日期,小时和博客的内容,你也必须有一个列名称文件夹,你将用php代码调用并放置在你的HTML中。

我可以理解吗?对不起,如果我的英文语法不正确或者是某个词。

这是我的意见。