我只有文件名,没有扩展名(.txt、.eps 等)。该目录有几个子文件夹。因此,该文件可以在任何地方。
如何在没有扩展名的情况下查找文件名并将其复制到不同的目录?
我只有文件名,没有扩展名(.txt、.eps 等)。该目录有几个子文件夹。因此,该文件可以在任何地方。
如何在没有扩展名的情况下查找文件名并将其复制到不同的目录?
http://www.pgregg.com/projects/php/preg_find/preg_find.php.txt似乎正是您需要的,可以找到文件。然后只需使用普通的 php copy() 命令http://php.net/manual/en/function.copy.php来复制它。
看看这个http://php.net/manual/en/function.copy.php
至于寻找文件名,可以使用数据库记录文件的位置吗?并使用该日志查找您的文件
我发现这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);