同じ結果を生産している
function ListFiles($dir) {
if($dh = opendir($dir)) {
$files = Array();
$inner_files = Array();
while($file = readdir($dh)) {
if($file != "." && $file != ".." && $file[0] != '.') {
if(is_dir($dir . "/" . $file)) {
$inner_files = ListFiles($dir . "/" . $file);
if(is_array($inner_files)) $files = array_merge($files, $inner_files);
} else {
array_push($files, $dir . "/" . $file);//$dir = directory name
//array_push($files, $dir);
}
}
}
closedir($dh);
return $files;
}
}
foreach (ListFiles('../../myDirectory') as $key=>$file){
//$file = preg_replace('@[^\0-\x80]@u',"", $file);
echo $file ."<br />";
}
このソリューションは、あなたのために働くことがあり、それはdirectoy内のすべてのファイルをループし、その後recursivly任意のディレクトリを意志今、それを処理する方法でありますそれが大量のファイルで終わるまで見つかった。
アイブ氏は、例えばいずれかmutliまたは単一次元アレイは、(すべてのフォルダ構造を維持することをお勧めします場合によって異なり、変更したいかもしれないいくつかのポイントを追加しました。
をしても、ファイルの拡張子を保存する場合あなたのDBにファイル名を保存
コード
function recursive_search_dir($dir) {
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (in_array($file,array(".","..")))
continue; // We dont want to do anything with parent/current directory.
if (is_dir($file)) {
$result[] = recursive_search_dir($file); // Multi-dimension
# OR
array_merge($result,recursive_search_dir($file));// Single-dimension if you dont care about folder structure.
} else {
$result[] = utf8_decode($file); // full file name (includes extention)
# OR
$result[] = utf8_decode(filename($file,PATHINFO_FILENAME)); // if you only want to capture the name and not the extention.
}
}
closedir($handle);
}
return $result;
}
$files = recursive_search_dir("."); // recursively searcht the current directory.
'utf8_decode()' - 。http://php.net/manual/en/function.utf8-decode.php –
データベーステーブルを設定する必要がありますまた、照合および/または文字セットを参照してください:(http://dev.mysql.com/doc/refman/5.0/en/charset-table.html) – horatio
参照:http://developer.loftdigital。 com/blog/php-utf-8-cheatsheet – horatio