【发布时间】:2016-08-03 22:47:32
【问题描述】:
我尝试上传图像,但是当 getimagesize 图像为空时,它返回 false .. 警告即将到来,它没有保存在数据库中 .数据库名称是项目,表名称是图像,字段是名称和图像。这是代码...
<?php
ini_set('mysql.connect_timeout',300);
ini_set('default_socket_timeout',300);
?>
<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/formdata">
<input type="file" name="image"><br><br>
<input type="submit" name="submit" value="upload">
</form>
<?php
// Create connection
$conn = mysql_connect('localhost', 'root', '');
// Check connection
if (mysqli_connect_error()) {
die("Database connection failed: " . mysqli_connect_error());
}
else
{
echo "Connected successfully";
}
//data upload
if( isset($_POST['submit'] ))
{
if(getimagesize($_FILES['image']['tmp_name'])==FALSE) //image size is checked
{
echo "upload image";
}
else
{
$image= addslashes($_FILES['image']['tmp_name']);
$name=addslashes($_FILES['image']['name']);
$image=file_get_contents($image);
$image= base64_encode($image);
saveimage($name,$image);
}
}
function saveimage($name,$image)
{
$conn = mysql_connect('localhost', 'root','');
mysql_select_db("project",$conn);
$result = mysql_query("insert into images(name,image) values('$name','$image')"); //query implemented
}
?> //function written to save image
</body>
</html>
【问题讨论】:
-
错误信息?
image的列类型是什么?是BLOB吗?您是否考虑过将图像存储在系统中而不是数据库中?尝试使用===而不是==。 -
您应该将图像存储在系统中,并将该图像文件夹路径存储在数据库中...
-
@Logan Wayne,这是错误消息 Undefined index: image in C:\wamp\www\imageupload.php on line 37 getimagesize() [function.getimagesize]: Filename cannot be empty in C: \wamp\www\imageupload.php 在第 37 行,列类型是 LONGBLOB 我试图将图像存储在本地服务器中我尝试使用 === 它仍然无法正常工作
-
@Piyush 我想直接将图像存储在数据库中