0

我只有文件名,没有扩展名(.txt、.eps 等)。该目录有几个子文件夹。因此,该文件可以在任何地方。

如何在没有扩展名的情况下查找文件名并将其复制到不同的目录?

4

4 回答 4

2

http://www.pgregg.com/projects/php/preg_find/preg_find.php.txt似乎正是您需要的,可以找到文件。然后只需使用普通的 php copy() 命令http://php.net/manual/en/function.copy.php来复制它。

于 2010-04-16T15:09:49.840 回答
1

https://stackoverflow.com/search?q=php+recursive+file

于 2010-04-16T15:10:44.953 回答
0

看看这个http://php.net/manual/en/function.copy.php

至于寻找文件名,可以使用数据库记录文件的位置吗?并使用该日志查找您的文件

于 2010-04-16T15:08:12.097 回答
0

我发现这scandir()是此类操作的最快方法:

function findRecursive($folder, $file) {
    foreach (scandir($folder) as $filename) {
        $path = $folder . '/' . $filename;
        # $filename starts with desired string
        if (strpos($filename, $file) === 0) {
            return $path;
        }
        # search sub-directories
        if (is_dir($path)) {
            $result = findRecursive($path);
            if ($result !== NULL) {
                return $result;
            }
        }
    }
}

要复制文件,您可以使用copy()

copy(findRecursive($folder, $partOfFilename), $targetFile);
于 2010-04-16T15:12:18.383 回答