使用PHP和MySQL的图像添加到图库(Use PHP and MySQL to add image

2019-09-28 05:19发布

我试图建立一个后端到我的照片库,以便它将使我更容易上传图片到画廊。

图库由一个缩略图图像时,单行描述的和缩略图被钩到看上框。 非常基本的。 (缩略图和花式框图像所使用的相同的图像)。

我刚开始学习PHP和MySQL的基本知识,并想知道我怎么可以把这个代码:(FYI这只是画廊的一部分)

<li data-id="id-12" data-type="treeremoval">
<div class="column grid_3">
<a class="fancybox" rel="treeremoval" href="images/gallery/1.jpg" title="Tree Removal Lake of  the Ozarks">
<img src="images/gallery/1.jpg" alt="Tree Removal Lake of the Ozarks" class="max-img-border"></a>
<h5>Lake of the Ozarks Tree Removal </h5>
</div>  
</li>



<li data-id="id-11" data-type="treetrimming">
<div class="column grid_3">
<a class="fancybox" rel="treetrimming" href="images/gallery/2.jpg" title="Osage Beach Tree Trimming">
<img src="images/gallery/2.jpg" alt="Osage Beach Tree Trimming" class="max-img-border"></a>
<h5>Lake of the Ozarks Tree Trimming</h5>
</div>  
</li>

并建立一个管理系统,我可以上传图像到库无需手动去和每一个客户端发送我的图像时间调整代码。

好看多了,我想创建一个表单,我可以设置参数和上传图像(S)的画廊页。

使用上面的代码,我怎么可以添加更多的图像列表?

我猜我问的是如何建立一个数据库和表及相应的PHP语法添加到HTML让我在寻找的结果?

我知道如何创建一个表单的图像上传到ftp目录。 我只是失去了建立数据库和表检索图像和文本,并将它们放入图库

我会设置数据库这个样子? (FYI我没有线索,我在这一点上做的事情。)

数据库名称:maingallery

表:数据ID:ID上升

(如库连接到过滤系统中的数据ID和数据类型是非常重要的。我想生成数据-id来自动和最新的图像添加到库中的顶部)。

数据类型:treetrimming

数据类型:treeremoval

REL:gallery1

REL:库2

图片: ...???

标题:奥沙克移走树木湖

标题:欧塞奇比奇修剪树木

那么对于H5标签

标题:奥沙克移走树木湖

标题:奥沙克修剪树木湖

对于图像我使用MAX-IMG-边界类,因为该网站是敏感和我所有的图像尺寸为720像素X 482px

CSS的是这样的:

.max-img-border { 
 width:100%;
 height:auto;
 border:solid 2px #FFFFFF;
 margin-bottom:10px;
 }

通过使用这种方法,我有它设置,所以我只需要处理与缩略图和图像的fancybox一个图像。

我希望我这么问是有道理的。

我知道我所要求的可能是很多解释,但任何帮助,将不胜感激。 即使是一些链接到一个很好的教程可能的帮助。 我搜索谷歌的一两天,但不能真正准确地找到我要找的。

此外,如果你看一下画廊和随机通过类别存在的过渡大的跳跃。 目前,我正在努力修复此。

如果你需要从了我的信息,请让我知道,我会很愿意提供更多。

谢谢!

Answer 1:

你需要包含有关图像的信息的MySQL表,并且图像的文件名:

CREATE TABLE images (
    id int(3) not null auto_increment,
    data_type varchar(128) not null,
    title varchar(256) not null,
    file_name varchar(64) not null,
    primary key(id)
)

而你将不得不使图像上传表单,像这样:

<form enctype="multipart/form-data" action="uploader.php" method="POST">
    Data type: <input type="text" name="dataType"><br>
    Title: <input type="text" name="title"><br>
    Image to upload: <input type="file" name="image"><br>
    <input type="submit" value="Upload">
</form>

和PHP脚本来处理上传的文件,并添加数据库条目:

uploader.php

<?php
$dataType = mysql_real_escape_string($_POST["dataType"]);
$title = mysql_real_escape_string($_POST["title"]);
$fileName = basename($_FILES["image"]["name"]);
$target_path = "images/gallery/".$fileName);
if (file_exists($target_path))
{
    echo "An image with that file name already exists.";
}
elseif (move_uploaded_file($_FILES["image"]["tmp_name"], $target_path))
{
    // The file is in the images/gallery folder. Insert record into database by
    // executing the following query:
    // INSERT INTO images
    // (data_type, title, file_name) VALUES('$dataType','$title','$fileName')
    echo "The image was successfully uploaded and added to the gallery :)";
}
else
{
    echo "There was an error uploading the file, please try again!";
}
?>

请注意,这个脚本是不安全的,它可以让人们例如上传.php文件到服务器。 这样的事情将是必要的:

$allowed_extensions = array("jpg","jpeg","png","gif");
$extension = pathinfo($fileName, PATHINFO_EXTENSION);
if (!in_array($extension,$allowed_extensions))
{
    die("Only these file types are allowed: jpg, png, gif");
}

现在画廊页面上,你会通过数据库中的图像要循环。

<?php
$images = mysql_query("SELECT * FROM images");
while ($image=mysql_fetch_assoc($images))
{
    ?>
    <li data-id="id-<?=$image["id"] ?>" data-type="<?=$image["data_type"] ?>">
    <div class="column grid_3">
    <a class="fancybox" rel="<?=$image["data_type"] ?>" href="images/gallery/<?=$image["file_name"] ?>" title="<?=$image["title"] ?>">
    <img src="images/gallery/<?=$image["file_name"] ?>" alt="<?=$image["title"] ?>" class="max-img-border"></a>
    <h5><?=$image["title"] ?></h5>
    </div>  
    </li>
    <?php
}
?>

请注意,上传表单将必须得到保护,并且只提供给合适的人。 你不想垃圾邮件发送者随机文件上载到服务器。



文章来源: Use PHP and MySQL to add images to a gallery