Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 在mysql数据库中存储图像_Php_Mysql - Fatal编程技术网

Php 在mysql数据库中存储图像

Php 在mysql数据库中存储图像,php,mysql,Php,Mysql,假设两个人拥有相同的图像名称,或者同一用户上载同一图像两次,那么在数据库中唯一存储图像和图像名称的最佳方法是什么。如何管理这样的场景,以便在需要执行更新、删除等操作时,不会同时删除两个图像或全部图像。我的数据库是MySQL 编辑-好的,现在出于某种原因,我为所有在本地主机上工作的图像生成了一个唯一的时间戳,但当我将其联机时,它不工作,我无法删除它,但它脱机工作正常。 多谢各位 @cybeormin在任何表中,我都会推荐一个ID列,该列是自动递增的,并设置为主字段。这样,尽管用户有两个同名的图像,

假设两个人拥有相同的图像名称,或者同一用户上载同一图像两次,那么在数据库中唯一存储图像和图像名称的最佳方法是什么。如何管理这样的场景,以便在需要执行更新、删除等操作时,不会同时删除两个图像或全部图像。我的数据库是MySQL


编辑-好的,现在出于某种原因,我为所有在本地主机上工作的图像生成了一个唯一的时间戳,但当我将其联机时,它不工作,我无法删除它,但它脱机工作正常。

多谢各位
@cybeormin

在任何表中,我都会推荐一个ID列,该列是自动递增的,并设置为主字段。这样,尽管用户有两个同名的图像,但所有行都是唯一的。

在任何表中,我都建议使用自动递增的ID列,并将其设置为主字段。这样,即使用户有两个同名的图像,所有行都是唯一的。

在图像上放置一个refcount。如果要删除图像,只需减小refcount即可。当refcount达到0时,您将删除该行作为real(或者让cron作业将其删除)。

在图像上放置refcount。如果要删除图像,只需减小refcount即可。当refcount达到0时,您将删除实际行(或者让cron作业将其删除)。

我将放弃原始图像名称,为每个图像指定一个唯一的id,并将原始名称存储在数据库中。

我将放弃原始图像名称,为每个图像指定一个唯一的id,并将原始名称存储在数据库中。

在mySQL数据库中,创建一个用于图像上载的表,创建一个ID列,设置为
AUTO_INCREMENT
INT
(整数),并将其设置为
PKEY
(主键)

这意味着您的ID总是在添加新内容时自动创建和生成的,并且始终是唯一的,无论是否多次添加相同的图像


其他字段可以捕获其他图像信息(文件名、“给定”名称、文件大小、文件类型和图像本身的BLOB字段),您甚至可以添加一个psuedo ID,该ID由您根据各种因素组合而成。如果您认为合适。

在mySQL数据库中,创建一个用于图像上载的表,创建一个ID列,设置为
AUTO_INCREMENT
INT
(整数),并将其设置为
PKEY
(主键)

这意味着您的ID总是在添加新内容时自动创建和生成的,并且始终是唯一的,无论是否多次添加相同的图像

然后,其他字段可以捕获其他图像信息(文件名、“给定”名称、文件大小、文件类型和图像本身的BLOB字段),您甚至还可以添加一个psuedo ID,该ID是您根据各种因素组合而成的。如果您认为合适的话。

将一个唯一键(主键)与每个条目相关联。比如:

fileId | file_name | file
并将fileId设置为自动递增和主键。然后,您可以在“user”表上(如果您有类似的内容)简单地引用fileId作为外键

userId | ... | fileId | ...
然后,如果需要删除该文件,只需使用fileId查找要删除的文件。

将一个唯一键(主键)与每个条目关联。比如:

fileId | file_name | file
并将fileId设置为自动递增和主键。然后,您可以在“user”表上(如果您有类似的内容)简单地引用fileId作为外键

userId | ... | fileId | ...

然后,如果需要删除该文件,只需使用fileId查找要删除的文件。

将该文件上载到临时目录,在数据库中插入一行“file\u id,user\u id,filename”,然后以某种方式将该文件移到文件夹/$file\u id.jpg中……好,现在出于某种原因,我为所有在本地主机上工作的映像生成了一个唯一的时间戳,但当我将其联机时,它不工作,我无法删除它,但它脱机工作正常。这似乎是另一个问题/问题。我想我们需要一些代码来帮助您…将文件上载到临时目录,在数据库中插入一行“file\u id,user\u id,filename”,以某种方式将文件移动到您的文件夹/$file\u id.jpg…好的,现在出于某种原因,我为所有在本地主机上工作的图像生成了一个唯一的时间戳,但当我把它放在网上时,它不起作用,我不能删除它,但它在离线时效果很好。这似乎是另一个问题。我想我们需要一些代码来帮助你。。。