【发布时间】:2017-06-15 12:09:53
【问题描述】:
想法是将用户个人资料照片存储到文件服务器。我已经完成了将部分上传到静态文件夹,但我想让它有点动态。
正在生成的文件名如下:$userid . '-' . round(microtime(true)) . '.jpg';
我想存储基于$userid 的图像,每个文件夹 1000 个。
所以它必须检查$userid <= 1000 和文件夹是否不存在,创建名为000001-100000 的新文件夹。
例如如果$userid = 1001它必须检查文件夹是否不存在并创建名称为002001-002000的新文件夹等等。
我怎样才能动态地实现它?可能有超过 100 000 个用户,因此请按照我认为不是那么好的想法进行检查:
if (!file_exists('images/000001-001000')) && $userid <= 1000 {
mkdir('images/000001-001000', 0777, true);
}
if (!file_exists('images/001001-002000')) && $userid > 1000 && $userid <= 2000 {
mkdir('images/001001-002000', 0777, true);
}
附言这不是标记的重复,我需要每个文件夹存储 1000 张照片,而不是为每个用户创建特定的文件夹。
【问题讨论】:
-
if $userid = 0005文件夹名称如何? -
为 100 000 个用户创建文件夹会使服务器变得混乱。为图像创建一个随机生成的字符串,并作为该用户的 blob 数据存储在数据库中。检索起来也很容易。
-
为什么会出现并发症?在 images 目录中每个用户不只有一个文件夹是否有特殊原因?
-
不建议用户将文件保存在数据库中。这不是好方法@VenkatLokeswar
标签: php file-upload upload