我只有文件名,沒有擴展名(.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