我需要在目录中找到一个文件并将其复制到另一个目录

时间:2010-04-16 15:05:46

标签: php file subdirectory

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

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

答案 2 :(得分:0)

查看此http://php.net/manual/en/function.copy.php

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

答案 3 :(得分: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);