1

我基本上有这样的设置:

C:\Upload\A
C:\Upload\B
C:\Upload\C
C:\Upload\D
C:\Upload\E

其中 A、B、C、D、E 总是不同的(产品 ID)并且总是不同的数量(它不会总是 5 个子目录)。这些子目录中的每一个都包含 24 个图像,编号为 01-24。

我需要创建一个通过 Web (IIS) 远程运行的 PHP 文件,该文件查看 Upload 目录,获取每个子目录的名称并将该名称附加到该子目录中包含的每个图像文件的开头。

因此,C:\Upload\A\01.jpgC:\Upload\A\A-O1.jpg与每个子目录中的其他 23 个图像一样。

PHP 文件需要对 Upload 目录中的每个子目录执行相同的操作。

然后,一旦重命名完成,PHP 需要将所有目录(及其图像)从 Upload 目录复制到不同的目录。复制后,需要清除上传目录。

4

1 回答 1

0

这应该有效:

<?php
    define('START_DIR', '/opt/lampp/htdocs/start');
    define('DEST_DIR', '/opt/lampp/htdocs/dest');
    define('SEPARATOR', '\\');

    function firstStage() {
        $d = dir(START_DIR);
        while (false !== ($entry = $d->read())) {
            if($entry != '.' && $entry != '..')
                secondStage($entry);
        }
        $d->close();
    }

    function secondStage($prefix) {
        $d = dir(START_DIR . SEPARATOR . $prefix);
        while (false !== ($entry = $d->read())) {
            if($entry != '.' && $entry != '..')
                rename(START_DIR . SEPARATOR . $prefix . SEPARATOR . $entry, DEST_DIR . SEPARATOR . $prefix . '-' . $entry);
        }
        $d->close();
    }

    firstStage();
?>

只需调用firstStage()即可开始该过程。确保您对START_DIRDEST_DIR

于 2012-07-16T18:55:05.797 回答