PHP为文件上传创建新文件夹

时间:2017-06-15 12:09:53

标签: php file-upload upload

想法是将用户个人资料照片存储到文件服务器。我已经完成了将部件上传到静态文件夹,但我想让它有点动态。

文件名生成如下:$userid . '-' . round(microtime(true)) . '.jpg';

我想基于$userid存储图像,每个文件夹1000个。

因此必须检查$userid <= 1000和文件夹是否不存在,创建名为000001-100000的新文件夹。

例如,如果$userid = 1001必须检查文件夹是否不存在,并创建名称为002001-002000的新文件夹,依此类推。

我怎样才能动态实现?可能会有超过10万用户,所以我认为检查以下内容并不是最好的想法:

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);
} 

P.S。这不会被标记为重复,我需要为每个文件夹存储1000张照片,而不是为每个用户创建特定的文件夹。

3 个答案:

答案 0 :(得分:2)

$count = floor($userid / 1000);
$begin = ($count * 1000) + 1;
$end = ($count + 1) * 1000;
$strBegin = $begin;
$strEnd = $end;
if($begin==1){
  $strBegin = "0001";
}
if(is_dir('images/'.$strBegin.'-'.$strEnd)==false){
  mkdir('images/'.$strBegin.'-'.$strEnd);
}

答案 1 :(得分:0)

只需生成一次文件夹。如果您无法预测最后一个文件夹,则可以生成5-50个文件夹,并使用cron进行检查;我是否需要生成更多文件夹?

答案 2 :(得分:0)

试试这个我创建了递归方法来检查值。然后根据它创建目录     

gradle assemble
相关问题