Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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的情况下将照片/视频添加到mysqldatabase?_Php_Database_Netbeans_Image Uploading - Fatal编程技术网

Php 如何在不使用blob的情况下将照片/视频添加到mysqldatabase?

Php 如何在不使用blob的情况下将照片/视频添加到mysqldatabase?,php,database,netbeans,image-uploading,Php,Database,Netbeans,Image Uploading,我正在创建一个表单,允许用户上传他们的照片/视频,并将其保存到我的数据库中。我能知道有没有办法完成这件事?我正试图使用item_path varchar将其保存在数据库中,这意味着它看起来很像。示例:img/cats.jpg。如何将其添加到数据库中?谢谢如果您无法创建BLOB列类型,那么我将在文件数据上使用带base64编码的TEXT类型。您应该注意记录数据的MIME类型,最好也存储一个校验和(md5或类似内容) 您的文件表可能如下所示 -- files table id INT(11)

我正在创建一个表单,允许用户上传他们的照片/视频,并将其保存到我的数据库中。我能知道有没有办法完成这件事?我正试图使用item_path varchar将其保存在数据库中,这意味着它看起来很像。示例:img/cats.jpg。如何将其添加到数据库中?谢谢

如果您无法创建
BLOB
列类型,那么我将在文件数据上使用带base64编码的
TEXT
类型。您应该注意记录数据的MIME类型,最好也存储一个校验和(md5或类似内容)

您的
文件
表可能如下所示

-- files table    
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
blob MEDIUMTEXT NOT NULL
mime_type VARCHAR(255) NOT NULL
checksum VARCHAR(255) NOT NULL
created_at DATETIME NOT NULL
您可能有其他列将文件与用户或任何其他相关信息关联

以下是MySQL
TEXT
列类型的大小限制

类型大小限制
----------------------------------------------------
TINYTEXT(2^8)256字节
文本(2^16)65536字节(64千字节)
MEDIUMTEXT(2^24)16777216字节(16 MiB)
长文本(2^32)4294967296字节(4 GiB)
当您使用PHP写入DB时,请使用函数对文件进行编码


如果无法创建
文本
列类型,则可能会忘记在数据库中保存实际数据。然后,您必须将文件保存到文件系统,并在数据库中存储指向该文件的链接


最后,正如另一条评论所指出的,您可以使用外部blob存储,如Amazon S3或其他云盗版服务。

将照片/视频保存在文件夹中。是否将图像/视频的链接存储在某个列中?链接可以是公共/私有blob存储服务,如S3、Azure存储或您的自定义内部存储。如果您的数据库不是专门用于blob存储的,通常应该这样做。为你节省了很多!