2010-11-18 13 views

答えて

0
<?php 

print_r(getPathFiles("./")); 

function getPathFiles($dir) { 
    $ite=new RecursiveDirectoryIterator($dir); 
    $foo=new RecursiveIteratorIterator($ite); 
    $ret=array(); 
    foreach ($foo as $path=>$cur) { 
     $ret[]=array('dir'=>dirname($path),'file'=>basename($path)); 
    } 
    return $ret; 
} 

?> 
+0

これはクールに見える、これは基本的にディレクトリ内のすべてのファイルの配列を返しますか? – Andy

+0

はい、1つの大きな配列の指定されたパスのサブディレクトリにあるファイルごとに配列(キー: 'dir'と 'file')を返します – stewe

+0

これを../../を使用すると問題ありません。 ./しかし、私が../../../collectionsを使うとすぐに、何も返されません...フォルダは間違いなく存在します...どんなアイデアですか? – Andy

1

public function deleteFolder($dirname) { 
     if (is_dir($dirname)){ 
      $dir_handle = opendir($dirname); 
     } 
     if (!isset($dir_handle) || !$dir_handle){ 
      return false; 
     } 
     while($file = readdir($dir_handle)) { 
      if ($file != "." && $file != "..") { 
       if (!is_dir($dirname."/".$file)){ 
        //change this line 
        unlink($dirname."/".$file); 
       } else { 
        //recursive call 
        $this->deleteFolder($dirname.'/'.$file); 
       } 
      } 
     } 
     closedir($dir_handle); 
     //also change this one 
      rmdir($dirname); 
     return true; 
    } 

..あなたは、変数またはデータベースに保存することができ、私は、フォルダを削除する再帰関数を持っているあなたはそれを変更する必要があると思いますので、代わりの'unlink'関数を呼び出しますこれが助けて欲しいです..幸運!これはあなたhttp://www.php.net/manual/en/function.opendir助けることができる

だから、基本的に私は私が後で検索できるデータベース内のパスとファイル名のインデックスを持っている
+0

ありがとう、とても親切です! – Andy

関連する問題