【问题标题】:I Want to Upload an image in database through php,the image is not uploading in database我想通过php上传数据库中的图像,图像没有上传到数据库中
【发布时间】: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 我想直接将图像存储在数据库中

标签: php mysql


【解决方案1】:

编辑这一行

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

【讨论】:

  • 一个新的警告来了,警告:mysql_query() [function.mysql-query]: MySQL server has gone away in C:\wamp\www\imageupload.php on line 58 and Warning: mysql_query( ) [function.mysql-query]:在第 58 行的 C:\wamp\www\imageupload.php 中读取结果集的标题时出错,并且图像仍然没有存储在数据库中
  • ok 替换此代码 $uploads_dir = '/uploads'; $image=addlashes($_FILES['image']['tmp_name']); $name=addslashes($_FILES['image']['name']); $image=file_get_contents($image); $image=base64_encode($image); move_uploaded_file($image, "$uploads_dir/$name");
  • 仍然警告,警告:mysql_query() [function.mysql-query]: MySQL server has gone away in C:\wamp\www\imageupload.php on line 66 and Warning: mysql_query() [ function.mysql-query]:在第 66 行的 C:\wamp\www\imageupload.php 中读取结果集的标头时出错
  • 在你的项目中创建上传文件夹
  • 哦,我删除了 saveimage 功能现在它可以工作了,但我想将图像保存在数据库中。请帮助
【解决方案2】:
<?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/form-data">
<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'] ))
 {
    mysql_select_db("project",$conn);
    $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
        $name=addslashes($_FILES['image']['name']);
    $result = mysql_query("insert into images(name,image) values('.$name.','.$image.')");  
    mysql_close($conn); 
    }?>
    </body>
    </html>

【讨论】:

  • 警告,未定义索引:第 27 行 C:\wamp\www\imageupload.php 中的图像和警告:file_get_contents() [function.file-get-contents]:文件名在 C 中不能为空:\wamp\www\imageupload.php 第 27 行,注意:未定义索引:第 28 行 C:\wamp\www\imageupload.php 中的图像
  • $name=basename($_FILES['image']['name']);
  • 它没有做任何改变
  • 将 enctype 从“multipart/formdata”更改为“multipart/form-data”
猜你喜欢
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 2011-04-21
  • 2015-09-18
相关资源
最近更新 更多