Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 将图像插入到数据库中,enctype=";“多部分/表单数据”;_Php_Mysql - Fatal编程技术网

Php 将图像插入到数据库中,enctype=";“多部分/表单数据”;

Php 将图像插入到数据库中,enctype=";“多部分/表单数据”;,php,mysql,Php,Mysql,我正在尝试将图像插入数据库。我读过一些帖子,显然我做错了。我知道列数据类型需要是图像的blob。这是我做的 我的表单如下所示: <form id="Dev_test" name="Dev_test" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP']);?>" enctype="multipart/form-data"> <input type="file" name="call_fil

我正在尝试将图像插入数据库。我读过一些帖子,显然我做错了。我知道列数据类型需要是图像的blob。这是我做的

我的表单如下所示:

<form id="Dev_test" name="Dev_test" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP']);?>" enctype="multipart/form-data">
<input type="file" name="call_file" id="call_file">
<input type="submit" name="submit" id="submit" value="SUBMIT">
</form>
我知道上面的说法是不对的


因此,我的问题如下:$_POST['file']没有发布的原因是什么?是否有更好的方法将图像插入我的数据库?仅供参考,我知道直接将图像插入数据库并不是最有效的方法,还有其他通过引用文件路径的方法。

您想要使用的是php的superglobal

$content = file_get_contents($_FILES['call_file']['tmp_name']);
您可能需要对
$content
等进行病毒检查


我还建议您将文件存储在系统上,而不是作为blob存储在数据库中,并存储文件的路径。

您要使用的是php的superglobal

$content = file_get_contents($_FILES['call_file']['tmp_name']);
您可能需要对
$content
等进行病毒检查


我还建议您将文件存储在系统上,而不是作为blob存储在数据库中,并将文件路径存储在数据库中。

将图像文件存储在数据库中(这通常是个坏主意,因为文件系统是专门为有效存储文件而设计的数据库)您需要读取上传文件的内容,然后将其放入查询中


在php中,您应该使用$\u FILES全局数组获取有关上载文件的信息,使用is\u upload\u file()检查上载文件是否一切正常,然后,您必须使用标准文件访问功能读取上载文件的内容,然后在将文件插入数据库时必须转义文件的内容。

将图像文件存储在数据库中(这通常是一个坏主意,因为文件系统是专为有效存储文件而设计的数据库)您需要读取上传文件的内容,然后将其放入查询中

在php中,您应该使用$\u FILES全局数组获取上传文件的信息,使用is\u upload\u file()检查上传文件是否一切正常,然后您必须使用标准文件访问函数读取上传文件的内容,然后在将其插入数据库时必须转义文件的内容。

$\u FILES[“call_file”][“name”]要获取文件名而不是$\u POST[]您不应该存储图像(二进制)数据库中的数据。只需将其放在某个文件夹中,并在数据库中只保存路径和所需的图像信息。请在您编写任何SQL接口代码之前,您必须仔细阅读以避免严重的错误。将
$\u POST
数据直接插入查询始终是一个非常糟糕的主意,尤其是需要用c处理的二进制数据正确。此外,在数据库中存储二进制图像效率极低,最好使用文件系统或类似的对象存储,而是在数据库中存储引用。$\u FILES[“call\u file”][“name”]要获取文件名而不是$\u POST[]您不应该存储图像(二进制)数据库中的数据。只需将其放在某个文件夹中,并在数据库中只保存路径和所需的图像信息。请在您编写任何SQL接口代码之前,您必须仔细阅读以避免严重的错误。将
$\u POST
数据直接插入查询始终是一个非常糟糕的主意,尤其是需要用c处理的二进制数据正确。此外,在数据库中存储二进制图像效率极低,最好使用文件系统,或者像这样的对象存储,而是在数据库中存储引用。