Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中上载多个图像并将其存储为blob mysql_Php_Mysql - Fatal编程技术网

如何在php中上载多个图像并将其存储为blob mysql

如何在php中上载多个图像并将其存储为blob mysql,php,mysql,Php,Mysql,这是我目前的代码,有人能帮我上传多张图片和分类中的文字吗?我必须在数据库中以blob的形式存储图像 <?php if(count($_FILES) > 0) { if(is_uploaded_file($_FILES['userImage']['tmp_name'])) { mysql_connect("localhost", "root", ""); mysql_select_db ("au");

这是我目前的代码,有人能帮我上传多张图片和分类中的文字吗?我必须在数据库中以blob的形式存储图像

<?php
    if(count($_FILES) > 0) {
        if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
            mysql_connect("localhost", "root", "");
            mysql_select_db ("au");
            $cat = $_POST['cat'];
            $imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
            $imageProperties = getimageSize($_FILES['userImage']['tmp_name']);
            $sql = "INSERT INTO output_images(imageType ,imageData, category)
            VALUES('{$imageProperties['mime']}', '{$imgData}', '$cat')";
            $current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" . mysql_error());
            if(isset($current_id)) {
                header("Location: listImages.php");
            }
        }
    }
?>
<HTML>
    <HEAD>
        <TITLE>Upload Image to MySQL BLOB</TITLE>
        <link href="imageStyles.css" rel="stylesheet" type="text/css" />
    </HEAD>
    <BODY>
        <form name="frmImage" enctype="multipart/form-data" action="" method="post" class="frmImageUpload">
            <label>Upload Image File:</label><br/>
            <input type="text" name="cat">
            <input name="userImage" type="file" class="inputFile" />
            <input type="submit" value="Submit" class="btnSubmit" />
        </form>
    </div>
    </BODY>
</HTML>

我的博客中有两篇文章提到了在MySQL数据库中上传和存储图像的多个文件

  • 多文件上传
upload.html

<form action="product.php" method="post" enctype="multipart/form-data">
  <input type="file" class="form-control-file" name="prod_pic[]" id="prod_pic[]">
  <input type="file" class="form-control-file" name="prod_pic[]" id="prod_pic[]">
             :
  <button type="submit" class="btn btn-primary">Save Prodcut Info</button>
</form>
$\u文件
变量作为数组并不像我们想象的那样是一种常见的形式。它是使用文件的属性作为键而不是索引号形成的。因此,我们需要一个转换函数
convert\u upload\u file\u array()

阅读更多:

  • 关于在MySQL数据库中存储图像
请参阅以下代码:

$prod_pic = $mysqli->real_escape_string(file_get_contents($_FILES['prod_pic']['tmp_name']));
$prod_pic_type = $_FILES['prod_pic']['type'];
 :
 :
$sql = "UPDATE products 
        SET prod_pic      = '{$prod_pic}',
            prod_pic_type = '{$prod_pic_type}'
        WHERE prod_id = {$prod_id}";
$mysqli->query($sql) or die($mysqli->connect_error);
$mysqli->close(); 
关键部分如您所见,关键部分是:

file_get_contents($_FILES['prod_pic']['tmp_name'])

阅读更多:


通过使用上面的关键思想,你的目标应该很容易实现

>>如果图像超过大约100k,那么这不是一个好主意
$prod_pic = $mysqli->real_escape_string(file_get_contents($_FILES['prod_pic']['tmp_name']));
$prod_pic_type = $_FILES['prod_pic']['type'];
 :
 :
$sql = "UPDATE products 
        SET prod_pic      = '{$prod_pic}',
            prod_pic_type = '{$prod_pic_type}'
        WHERE prod_id = {$prod_id}";
$mysqli->query($sql) or die($mysqli->connect_error);
$mysqli->close(); 
file_get_contents($_FILES['prod_pic']['tmp_name'])
$mysqli->real_escape_string(......)