如何仅在数据库中上传图像

时间:2014-12-05 21:18:35

标签: php image

我想使用php在数据库中上传ONLY图片。 我试过的是,

<?php

if (isset($_POST['Upload'])) {
    $con = mysql_connect("localhost", "root", "");
    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("iis", $con);
    $image = $_FILES["product_image"]["name"];
    $imageType = mysql_real_escape_string($_FILES["product_image"]["type"]);
    if (substr($imageType, 0, 5) == "image") {
        if (!file_exists("product_images")) {
            mkdir("product_images");
        }

        if ($_FILES["product_image"]["error"] > 0) {
            $error = "ERROR Return Code :" . $_FILES["product_image"]["error"] . "<br />";
        } else {
            move_uploaded_file($_FILES["product_image"]["tmp_name"], "product_images/" . $_FILES["product_image"]["name"]);
        }
    }

    $UserName = $_SESSION['id'];
    $product_image = ("product_images/" . $_FILES["product_image"]["name"]);
    mysql_query("INSERT INTO `feedbackzxc` VALUES ('', '$UserName', '$product_image')");
    echo "Image Uploaded!";
} else {
    echo "Only images are allowed";
}

?>

但是当我上传除图像以外的文件时,它不会显示错误消息。如果上传了图像以外的文件,如何显示错误消息?

1 个答案:

答案 0 :(得分:1)

显示消息仅允许图片else区块必须位于if区块之后,以检查此项:substr($imageType,0,5) == "image"

if(substr($imageType,0,5) == "image"){
    if(!file_exists("product_images"))
    {
        mkdir("product_images");
    }
    if($_FILES["product_image"]["error"] > 0)
    {
        $error = "ERROR Return Code :" . $_FILES["product_image"]["error"] . "<br />";
    }
    else
    { 

        move_uploaded_file($_FILES["product_image"]["tmp_name"], "product_images/". 
        $_FILES["product_image"]["name"]);  
    }
}
else
{
    echo "Only images are allowed";
}