我只有文件名,没有扩展名(.txt,.eps等) 该目录有几个子文件夹。所以,该文件可以在任何地方。我需要在目录中找到文件并将其复制到不同的目录
我该如何寻找文件名,没有扩展名,并将其复制到不同的目录?
我只有文件名,没有扩展名(.txt,.eps等) 该目录有几个子文件夹。所以,该文件可以在任何地方。我需要在目录中找到文件并将其复制到不同的目录
我该如何寻找文件名,没有扩展名,并将其复制到不同的目录?
它无法找到网络驱动器: 致命错误:未捕获的异常“UnexpectedValueException '消息'RecursiveDirectoryIterator :: __构造(X:\ apps)...未能打开dir:没有这样的文件或目录' – Kel 2010-04-16 15:31:57
看看这个http://php.net/manual/en/function.copy.php
为寻找文件名,可以使用数据库来记录文件所在的位置?并使用该日志查找您的文件
我需要在目录中找到第一个文件。 例如:我有文件名:iamfile01。 我需要先找到它... 我知道这是对硬盘驱动器X:但不知道在哪个目录它可以在 – Kel 2010-04-16 15:11:48
http://www.pgregg.com/projects/php/preg_find/preg_find.php.txt似乎正是您所需要的,以查找该文件。那么只需使用普通的php copy()命令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);
难道你需要知道延期?如果你想复制'text.txt'但是程序找到并复制'text.doc',会发生什么? – 2010-04-16 15:10:57
http://stackoverflow.com/questions/1860393/recursive-file-search-php – Gordon 2010-04-16 15:12:17
可能的重复,这实际上是一个很好的观点。如果文件名称是唯一的呢? – Kel 2010-04-16 15:13:18