上传并将其插入数据库后,在页面中显示图像

时间:2016-05-10 11:37:10

标签: php html

我希望在上传并将其插入数据库后在我的页面中显示图像。该图像用于我的图像滑块。我想在这里显示图像的原因是轻松管理图像滑块。该页面是我的管理员。我是php和mysql的新手,有人可以给我一些想法,有什么要求,有提示吗?

这是我想要做的图片..像缩略图 enter image description here

这是我的滑块工作。 enter image description here

注意:图像按钮用于上传图像。

这是我的图片滑块代码。

<?php
include('connect.php');
?>
<!DOCTYPE html>
<html>
    <head>
        <link href="css/style.css" rel="stylesheet" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
        <script src="js/slider.js"></script>
        <script>
        $(document).ready(function () {
        $('.flexslider').flexslider({
        animation: 'fade',
        controlsContainer: '.flexslider'
        });
        });
        </script>
    </head>
    <body>
    <div class="container">
        <div class="flexslider">
            <ul class="slides">
                <?php
                    // Creating query to fetch images from database.
                   $query = mysqli_query($mysqli, "SELECT * from images order by id desc limit 5");
                    $result = $query;
                    while($r = mysqli_fetch_array($result)){ 
                ?>
                    <li>
                    <img src="<?php echo $r['photo'];?>" width="400px" height="300px"/>
                    </li>
                <?php 
                } 
                ?>
            </ul>
        </div>
    </div>
    </body>
</html>

这是我的admin.php这是我想要显示图像的地方。

<?php
//for connecting db
include('connect.php');
if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}
else
{
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"gallery/" . $_FILES["image"]["name"]);
$photo="gallery/" . $_FILES["image"]["name"];


$query = mysqli_query($mysqli, "INSERT INTO images(photo)VALUES('$photo')");
$result = $query; 

echo '<script type="text/javascript">alert("image successfully uploaded ");window.location=\'admin.php\';</script>';
}
?>
    <form class="form" action="" method="POST" enctype="multipart/form-data">
        <div class="image">
            <p>Upload images and try your self </p>
        <div class="col-sm-4">
              <input class="form-control" id="image" name="image" type="file" onchange='AlertFilesize();'/>
              <input type="submit" value="image"/>
            </div>
        </div>
        </form>

这是我的connect.php代码

<?php
// hostname or ip of server
$servername='localhost';
// username and password to log onto db server
$dbusername='root';
$dbpassword='';
// name of database
$dbname='pegasus';

////////////// Do not  edit below/////////
$mysqli = new mysqli($servername,$dbusername,$dbpassword,$dbname);
if($mysqli->connect_errno){
    printf("Connect failed: %s\n", $mysql->connect_error);
    exit();
}

?>

1 个答案:

答案 0 :(得分:1)

一种方法是使用glob查看图库文件夹中是否有任何文件

有些事情:

<?php foreach(glob('./path/to/gallery/folder/*.{jpg,gif,png}', GLOB_BRACE) as $image): ?>
<img src="<?= $image; ?>" />
<?php endforeach; ?>

这种方法的一个好处是,如果没有图像,则不显示任何内容,并且您还要保存数据库查询。

或者再次使用您的数据库查询...

从第一个文件中复制..

<?php
// Creating query to fetch images from database.
$query = mysqli_query($mysqli, "SELECT * from images order by id desc limit 5");
$result = $query;
while($r = mysqli_fetch_array($result)){ 
?>
    <img src="<?php echo $r['photo'];?>" width="400px" height="300px"/>
<?php 
    } 
?>

并在您要显示图像的文件中重复使用

参考:glob