如何让2W张图片按序号排列到200个文件中?
图片是按序号排列的.但不一定是链序的图片.图片的名称L00001.gif~L20000.gif
想让他们每100一张放在一个文件夹里..   就这么简单...
例子~
l00000  文件存100000.gif~100099.gif  
100100  文件存100100.gif~100199.gif

解决方案 »

  1.   


    如果 0~99 中缺少 1 个, 那么是否将 100 放在该组中?  NO (也就是说每个文件夹里不一定是100张图片.因的有的图片不一定存在.)
    总的是按编号分组
    图片名都是 L 开头的吗?是的
    图片2万张以内
      

  2.   

    本帖最后由 xuzuning 于 2011-08-09 08:59:30 编辑
      

  3.   


    这样写对吗?  但是有错误哦
    Fatal error: Call to a member function close() on a non-object in C:\wamp\www\index.php on line 14<?php
    $t = dir('C:\wamp\www');
    while(false !== ($f = $t->read())) {
      if($f{0} != 'L') continue;
      $s = "$t->path/$f";
      $n = preg_replace('/.+(\d+).+/', '$1', $f);
      $d = sprintf("%s/%05d", $t->path, $n - ($n % 100));
      if(! file_exists($d)) {
        mkdir($d, 0666);
        chmod($d, 0666);
      }
      rename($p, "$D/$f");
    }
    $d->close();
    ?>
      

  4.   

    不好意思,手误 :)$d->close();
    应为
    $t->close();
      

  5.   


    <?php
    $t = dir('C:\wamp\www');
    while(false !== ($f = $t->read())) {
      if($f{0} != 'L') continue;
      $s = "$t->path/$f";
      $n = preg_replace('/.+(\d+).+/', '$1', $f);
      $d = sprintf("%s/%05d", $t->path, $n - ($n % 100));
      if(! file_exists($d)) {
      mkdir($d, 0666);
      chmod($d, 0666);
      }
      rename($p, "$D/$f");
    }
    $t->close();
    ?>
    不行..我试了`没变化阿~
    页面有没有错误提示
      

  6.   

    没有错误提示。
    文件夹也没有建成功。
    我用的wamp5  所以目录是C:\wamp\www
      

  7.   


    不好意思。。发现问题了。  我用的是L  为的是怕你会看成1  成以用的大写L   
    建的文件夹前面少个L