首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将图片均匀上传到目录结构中

将图片均匀上传到目录结构中
EN

Stack Overflow用户
提问于 2012-03-25 12:25:09
回答 1查看 336关注 0票数 1

我相信这个问题已经被问了上千次了,所以这是我的版本…

我使用以下函数来生成我的unid id:

代码语言:javascript
运行
复制
function generateUnid($key) {   
    $name = $_FILES[$key]['name']; //get image name from global variable $_FILES
    $ext = pathinfo($name, PATHINFO_EXTENSION); //get image extension
    $prefix = 'fc'; //prefix for unid

    do {
       $unid = uniqid($prefix, true); //generate a unid
       $filename = $unid . '.' . $ext; //replace image name with unid
       $path = PATH_UPLOAD_ARTWORK . $filename; // image path
    } while (file_exists($path)); // check if the image name exists

    return $filename;
}

返回值示例如下:

代码语言:javascript
运行
复制
fc4e7801523a04e6.06876802.jpg

到目前一切尚好。现在,我想为我的图像创建某种目录结构。类似的内容如下:

代码语言:javascript
运行
复制
0
   0
   1
   2
      fc4e7801523a04e6.06876802.jpg
      ...
   3
   ...
1
  0
  1
  2
  3
  ...
2
  0
  1
  ...

我可能会在我唯一的id中获得最后两个整数,以便将图像归档到正确的目录中。但是,我不确定这是不是正确的策略。如何确保图像均匀地归档在文件夹中。我不想在一个包含12000张图片的文件夹和一个包含1500张图片的文件夹中找到自己……

我提取uniq的最后两个数字,这样做正确吗?有没有更好的方法来均匀地归档图像?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-03-25 12:31:47

假设唯一的id是一致的(伪随机的),我认为它是随机的,我认为这个策略会工作得很好。不可避免地会有一些文件夹比normal distribution预测的平均值多得多或少得多。

一个稍微好一点的技术是使用uid中的许多数字的模数(%),而不是最后两个数字,以防您选择的数字具有某种模式。

我的建议是试一试,看看它是如何为你工作的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9857914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档