2011-08-12 1 views
-2

重複の可能性:
PHP recursive directory path
PHP Get all subdirectories of a given directory
PHP: Get list of all filenames contained within my images directoryどのようにPHPのサブフォルダのデータを読み取るには?

私はいくつかのサブフォルダが含まれているサーバー上のディレクトリを持っています。サブフォルダにはいくつかのpdfファイルが含まれています。私はすべてのサブフォルダ名とサブフォルダデータも表示する必要があります。サブフォルダでデータを読み込む方法を教えてください。ここ

は私のコードはここで私は私の進歩のための

感謝を案内してください、私は特定のディレクトリデータが
を表示することを必要とするディレクトリ名を入力しています

<?php 
$number=$_REQUEST['Username']; 
$folder=dir("UserIds/".$Username."/"); 
$i=0; 
while($folderEntry=$folder->read()) 
{ 
if($folderEntry !=".." && $folderEntry !=".") 
     { 
     $message[$i]="http://www.myappdemo.com/appinstaller/UserIds/$number/".$folderEntry; 
     $i++; 
     } 
    } 
echo json_encode($message); 
$folder->close(); 
?> 

です...

答えて

0

の場合あなたを交換する

while($folderEntry=$folder->read()) 
{ 
    if($folderEntry !=".." && $folderEntry !=".") 
    { 
     $message[$i]="http://www.myappdemo.com/appinstaller/UserIds/$number/".$folderEntry; 
     $i++; 
    } 
} 

while (false !== ($folderEntry = $folder->read())) { 
    if($folderEntry !=".." && $folderEntry !=".") 
    { 
     $message[$i]="http://www.myappdemo.com/appinstaller/UserIds/$number/".$folderEntry; 
     $i++; 
    } 
} 

あなたはそこにいると思います。

あなたの設定$ Usernameは私がどこでも$folder=dir("UserIds/".$Username."/");と考えているところでは、$folder=dir("UserIds/".$number."/");であるはずです。

+0

ho..thanksはい、それは$数はここに私は、私は、ディレクトリデータをユーザ名を取得していますが、私はまた、plzはどのように取得するサブフォルダのデータがコードの上 – user883594

+0

私が得る応答である私を導くも、サブフォルダのデータを必要とします["http:\/\/www.myappdemo.com \/appinstaller \/UserIds \/kumareawqwe \/2011-August-12"]ここで "2011-August-12"にはサブフォルダが含まれています。これを得る方法を教えてください – user883594

+0

申し訳ありませんが、私はあなたの元のメッセージを少し急いで読む。私はすべてのことを、$ folderEntryをis_dir(http://www.php.net/manual/en/function.is-dir.php)でチェックしてサブフォルダ部分を解決する再帰的な方法に全面的な影響を与えます。 – johangu

2

。あなたの応答のための

$message=get_files("UserIds/".$Username); 
function get_files($dir){ 
    $message=array(); 

    $folder=dir($dir); 
    while($folderEntry=$folder->read()) 
    { 
     if($folderEntry !=".." && $folderEntry !=".") 
     { 

      $message[]="http://www.myappdemo.com/appinstaller/".$dir."/".$folderEntry; 
      if (is_dir($dir."/".$folderEntry)){ 
      $new_message=get_files($dir."/".$folderEntry); 
      if (is_array($new_message)){ 
       $message=array_merge($message,$new_message); 
      } 
      } 
     } 
    } 
    $folder->close(); 
    return $message; 
} 
+0

あなたの回答に感謝あなたのコードを記入してくださいuserIdのサブフォルダ名が見つからない場合は、この回答[http://www.myappdemo.com \/appinstaller \/UserIds \/\/Winter.jpg]をここに入力してください 警告:array_merge()[function.array-merge]:引数#2は/home/myappdemo/myappdemo/appinstaller/Directory.phpの行ではありません null – user883594

+0

配列を追加するためにメッセージを編集しました。フォルダ名を修正するには、表示するメッセージを反映するように変更する必要があります。私はそのアイデアを投稿するつもりだった。私はなぜあなたがarray_mergeの問題を持っているのか分からない。しかし、とにかく私はif_arrayを置くだけで –

関連する問題