Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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字段中插入图像的链接,我现在很困惑。。。 我想上传一些文件,并表明在其他情况下。。。 执行此操作的最佳安全方式是什么?不要使用img链接。。这是没有必要的,它所做的只是让你的DB变大 你应该只存储“picture.jpg” 在文档中使用 更好的是,您可以为它创建一个功能(显示图片) 像 函数尺寸($image) { //您可以在这里创造奇迹,比如检查图像类型、if is文件等等,填充,甚至添加div和vspace

我不知道在本地服务器上传和保存文件时使用哪种方式更好。 例如,我看到有人在mysql字段中插入图像的链接,我现在很困惑。。。 我想上传一些文件,并表明在其他情况下。。。
执行此操作的最佳安全方式是什么?

不要使用img链接。。这是没有必要的,它所做的只是让你的DB变大

你应该只存储“picture.jpg”

在文档中使用

更好的是,您可以为它创建一个功能(显示图片)

函数尺寸($image)
{
//您可以在这里创造奇迹,比如检查图像类型、if is文件等等,填充,甚至添加div和vspace。。
$output='';
返回$output;
}
所以你要做的就是。。 回声图像($row['image'])


附言:如果你问有关$\u POST和$\u文件上传的问题,当然。。我敢肯定,您不可能维护图像、名称和更新。

例如,将所有图像存储在名为
photos
的文件夹中。然后,在数据库中保存文件的索引,并为其指定索引号和其他信息。将文件保存在照片文件夹中,重命名为
[index\u number].jpg
,或任何需要的扩展名。例如,如果我上传文件
coolpic.jpg
,它将被分配一个索引号2845。文件本身保存在
photos/2845中。jpg

保存在数据库中可能会出现一些问题,如数据库性能下降(由于读取和写入大文件)、数据库崩溃(由于删除对行字段的编辑),备份问题(由于转储文件太大,需要修复表时会出现一些问题。 从mySQL读取的文件也将由Apache再次交付。
我建议您使用普通路径和重写模式(虚拟url)

为什么要将文件存储在数据库中(特别是在mysql中)?您可以将二进制文件存储在blob(或二进制)列中。您可能希望将有关文件的信息存储在其他列中(文件类型等)。这是如果您想将实际文件存储在数据库中。这种方法有其优点和缺点。我经常认为,最好将文件存储在文件系统中(更适合这种情况),并将对这些文件的引用存储在数据库中(您在“mysql字段中的图像链接”中提到),例如web路径或绝对本地路径。它使用的是适合此作业的工具,但您必须保持数据同步。注意:在此搜索,我看到了许多类似的问题。我指的是数据库过载和服务器负载。
function DImage($image)
{
//you can do miracles here like checking images types, if is file and so on, padding, even adding divs and vspaces..

$output = '<img src="imagesfolder/'.$image.'">';
return $output;

}