首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用php上传和显示数据库中的图片库

使用php上传和显示数据库中的图片库
EN

Stack Overflow用户
提问于 2015-03-20 19:35:14
回答 2查看 18.7K关注 0票数 0

我在一个购物车上工作,我想在其中展示产品,并将其各自的图像存储在数据库中。但是我的php代码并没有像预期的那样工作。我想要显示存储在1个以上记录中的图像。

下面是我的html和php页面:

index.html

代码语言:javascript
复制
<html>
    <body>
        <form action="upload_img.php" method="post" enctype="multipart/form-data">
            <center>Select Image to upload: 
                <br><input type="file" name="image">    
                <input type="submit" value="upload">
            </center>   
        </form>
        <form action="display_img2.php">
            <input type="submit">
        </form>
    </body>
</html>

upload_img.php

代码语言:javascript
复制
<?php

mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

//file properties
$file = $_FILES['image']['tmp_name'];
if (!isset($file)) {

} else {
    $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
    $image_name = addslashes($_FILES['image']['name']);
    $image_size = getimagesize($_FILES['image']['tmp_name']);

    if ($image_size == FALSE) {
        echo "not an image";
    } else {
        if (!$insert = mysql_query("insert into photos values ( ('','$image','$image_name')")) {
            echo "problem uploading image";
        } else {
            echo "image uploaded successfully!!";
            /* $lastid=mysql_insert_id();
              echo "<img src=display_img.php?id=$lastid>"; */
        }
    }
}
?>

display_img2.php

代码语言:javascript
复制
<?php

$con = mysqli_connect("localhost", "", "", "test");
$sql = "select * from photos";
$result = mysqli_query($con, $sql);

$cnt = mysqli_num_rows($result);
echo $cnt;

while ($cnt) {
    echo "<img src=display_img.php?id=$cnt>";
    $cnt--;
}
?>

display_img.php

代码语言:javascript
复制
<?php

mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

$id = addslashes($_REQUEST['id']);
$image = mysql_query("select * from photos where id=$id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Content-Type: image/jpeg");

echo $image;
?>
EN

回答 2

Stack Overflow用户

发布于 2017-07-14 12:33:33

代码语言:javascript
复制
<form action="login.php" method="POST" name="image_upload" enctype="multipart/form-data" >
</form>

表单action和name中应该有双引号。

票数 0
EN

Stack Overflow用户

发布于 2016-07-06 20:58:03

登录表单:

代码语言:javascript
复制
<form action=login.php method="POST" name=image_upload enctype="multipart/form-data" >
    username
    <input type=text name=username><br>
    Select image to upload:<input type="file" name="image" id="fileToUpload">       
    <input type="submit">   
</form>

dbconnect.php

代码语言:javascript
复制
<?php
    $servername="localhost";
    $username="root";
    // $password="";

    // create connection    
    $conn=mysqli_connect($servername,$username,"");
    mysqli_select_db($conn,"test");
    mysqli_query($conn,$sql);

    $sql = "ALTER TABLE `user_image` CHANGE `username` `username` VARCHAR(20) NOT NULL";
    mysqli_query($conn,$sql);

    $sql = "ALTER TABLE `user_image` CHANGE `userimage` `userimage` VARCHAR(40) NOT NULL";
    mysqli_query($conn,$sql);

    $sql = "ALTER TABLE `user_image` CHANGE `userid` `userid` INT(11) NOT NULL AUTO_INCREMENT";
    mysqli_query($conn,$sql);

    echo "<br>done";    
?>

login.php

代码语言:javascript
复制
<?php
    include 'dbconnect.php';
    //simple upload
    $file_name = $_FILES['image']['name'];
    $file_tmp = $_FILES['image']['tmp_name'];
    $image=$_FILES["file"]["name"];

    $image_size=getimagesize($_FILES['image']['tmp_name']);
    //echo $image_size;
    if($image_size==FALSE)
    {
        echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('fill data');</SCRIPT>");
        //readfile("login.php");`enter code here`
    }
    else
    {
        move_uploaded_file($file_tmp,"upload/".$file_name);
        //upload in mysql database

        $file = $_FILES['image']['name'];
        $image_name = addslashes($_FILES['image']['name']);
        $x=$_POST["username"];

        $sql="INSERT INTO  `test`.`user_image` (username, userimage) VALUES('$x','$image_name')";

        if(!$insert=mysqli_query($conn,$sql))
            echo "problem uploading image";
        else
        {
            $img="upload/".$file_name;
            echo '<img src= "'.$img.'" height=200 width=150>';
        }
    }
?>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29165600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档