2011-11-16 6 views
0

従来のナビゲーションではなく、ターミナルナビゲーションをエミュレートしようとしています。 例:ローカルディレクトリとファイルをphpでブラウズ

.. 
index 
otherfile 

これは私のコードです:

$dir = realpath(dirname(__FILE__)); 
if(is_dir($dir)){ 
    if($open = opendir($dir)){ 
     while(($file = readdir($open)) !==false){ 
     if(is_dir($file)){ 
      if($file == '.'){ } 
      else{ 
       echo "<a href=".$file.">".$file."</a><br/>"; 
      } 
     } 
     else{  
     $name = explode('.php',$file); 
     echo "<a href=".$file.">".$name[0]."</a><br/>"; 
     } 
     } 

    } 
} 
else{ 
    echo $dir." Was not found"; 
    } 
} 
  1. どのように私は、リストから午前ファイルやフォルダを削除することができますか?たとえば、私がindex.phpのページにいれば、まだリストに表示されています。

  2. 「1file.php」「2anotherfile.php」.. 番号で並べ替えるにはどうすればよいですか?そして最後に「.php」を削除してください印刷する?

  3. あなたがそうしてください何かをリファクタリングように感じる場合は

...

enter image description here

+0

探している出力例を質問に追加することはできますか?それはあまり明確ではありません。 –

+0

さて、質問の上部にある例を参考にしてください... –

+3

PHPのDirectoryIteratorを使用している可能性があります。http://www.php.net/manual/en/directoryiteratorを確認してください。 next.php –

答えて

1
  1. 「どのように私は、リストから私は午前ファイルやフォルダを削除することができますか?たとえば、私がindex.phpのページにいれば、まだリストに表示されている」

    else { 
        if ($name == basename(dirname(__FILE__))) continue; // if this is the current file, go to the next iteration of the loop 
        $name = explode('.php',$file); 
        echo "<a href=".$file.">".$name[0]."</a><br/>"; 
    } 
    

    注意これは、あなたがそれを行うことができます(ファイルと同じディレクトリにあると仮定していること:現在の項目は、現在のファイルであれば、それはそれをスキップした場合

ただ、チェック$dirは常にスクリプトのディレクトリです)、もしそうでなければ、単にディレクトリチェックを追加することもできます。

  1. 「ファイルまたはフォルダ、例えば1index.phpの開始に番号を追加することができますどのように、コードの上に、数ですべてのファイルとフォルダを整理し、その数と」せずに印刷します。 php '? "

さて、私はあなたがこのことで何を意味するか、あまりにもわからないんだけど、あなたはアルファベット順に並べ替えを意味する場合は、リストを取得する場合、それはすでにアルファベット順にソートされます。

関連する問題