如何通过php5将照片上传到mysql

如何通过php5将照片上传到mysql,php,mysql,blob,Php,Mysql,Blob,我在DB mysql上传图像时遇到了问题,比如blob类型,我将包括脚本DB、表单代码和php上传文件 sql脚本 CREATE TABLE IF NOT EXISTS `images` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data` longblob NOT NULL, `descripcion` varchar(240) COLLATE utf8mb4_spanish2_ci NOT NULL, PRIMARY KEY (`

我在DB mysql上传图像时遇到了问题,比如blob类型,我将包括脚本DB、表单代码和php上传文件

sql脚本

   CREATE TABLE IF NOT EXISTS `images` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `data` longblob NOT NULL,   `descripcion` varchar(240) COLLATE utf8mb4_spanish2_ci NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci AUTO_INCREMENT=1 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

html(上传表单)


elige imagen:


描述:

php(上传代码)


为什么要尝试在数据库中存储*$\u FILES*数组*$_FILES*是一个数组,用于存储有关刚上载的文件的信息,因此存在“数组到字符串”错误

上载文件时,该文件将临时存储在服务器上。您需要正确处理文件上载-即,将其保存在某个位置,然后将此路径存储在数据库中


您始终可以序列化*$\u FILES*数组并存储它,尽管我不知道这有什么用,因为它只引用服务器上临时存在的文件。

$\u FILES['imagen']
是一个包含上载文件信息的值数组。请看:我不需要存储路径,我需要像blobYou一样存储照片本身。您可以始终使用fopen()之类的东西打开$_文件['imagen']['tmp_name']](文件上载后的临时位置),并将内容存储在SQL中,尽管这种方式不符合文件上载的处理方式。。。
<html>
    <head>

    </head>

    <body>
        <form method="post" action="insertar.php" enctype="multipart/form-data">
        <label>elige imagen:</label>
        <br/>
        <input type="file" name="imagen"/>
        <br/>
        <label>descripcion:</label>
        <br/>
        <textarea cols="20" rows="10" name="texto"></textarea>
        <br/>
        <input type="submit" value="enviar"/>
        </form>
    </body>
</html>
<?php
    include "conexion.php";


    $archivo=$_FILES['imagen']['name'];
    $texto=$_POST['texto'];
    $id=rand(1,200);

    $insertar=mysql_query("INSERT INTO image VALUES('".$id."','".$archivo."','".$texto."')");

    if($insertar){
        echo "<a href='verImagenes.php'> ver mis imagenes</a>";
    }else{
        echo "fallo la insercion";
    }
?>