2017-06-25 3 views
0

これは、使用してコードイムです:私は最も簡単な家庭用ストリーミングサーバのphp alphabetization

を作業中に私は自分の携帯電話に動画をストリーミングすることができますので、私のルータ上のPHPで小さな簡単なhttpサーバをホストしようとし

<?php 

     $dir = "House Of Cards/"; 
     $videoW = 320; 
     $videoH = 240; 

     if (is_dir($dir)) 
     { 
      if ($dh = opendir($dir)){ 

       while (($file = readdir($dh)) !== false){ 

        if($file != '.' && $file != '..'){ 

         echo " 
         <div style='display: block'> 
         <a href= \"$dir/$file\">Watch \"$file\"</a> 
         </div> 
         "; 


        } 

       } 

       closedir($dh); 

       } 
     }; 
     ?> 

イム

基本的に、私はこれはビデオが右エンコードされている場合、正常に動作しますが、それは聞きしたい「アルファベット順」ではないか、非連続的なフォルダ内の動画を一覧表示したときに動画

を持っているすべてのフォルダ内でのindex.phpを持っています

彼らは次のように出てくる:

Watch "House Of Cards S01E01.mp4" 
Watch "House Of Cards S01E08.mp4" 
Watch "House Of Cards S01E05.mp4" 
Watch "House Of Cards S01E11.mp4" 
Watch "House Of Cards S01E03.mp4" 
Watch "House Of Cards S01E10.mp4" 
Watch "House Of Cards S01E02.mp4" 
Watch "House Of Cards S01E07.mp4" 
Watch "House Of Cards S01E09.mp4" 
Watch "House Of Cards S01E13.mp4" 
Watch "House Of Cards S01E12.mp4" 
Watch "House Of Cards S01E04.mp4" 
Watch "House Of Cards S01E06.mp4" 

誰もがasequentialまたは「アルファベット順」リストアップターン私はこのコードを作ることができる方法を知っていますか?

答えて

0

あなたはここで見てみる必要があります。それは今あるようnatsort

基本的に、この関数ではなく、アルファベットの、「自然」の順序でファイルをソートするためのアルゴリズムを使用します。

ディレクトリにファイルをループするときに、すべてのファイルを配列に追加し、最後にnatsortを実行して、それぞれのファイルにリンクを印刷することができます。

<?php 

    $dir = "House Of Cards/"; 
    $videoW = 320; 
    $videoH = 240; 

    $files = []; // Initialize empty array 

    if (is_dir($dir)) { 
     if ($dh = opendir($dir)) { 
      while (($file = readdir($dh)) !== false) { 
       if($file != '.' && $file != '..') { 
        $files[] = $file; // add this file to array 
       } 
      } 
      closedir($dh); 
     } 
    } 

    natsort($files); // naturally sort files 

    // make a link for each file... 
    foreach ($files as $file) { 
     echo "<div style='display: block'> 
      <a href= \"$dir/$file\">Watch \"$file\"</a> 
      </div>"; 
    } 

+1

これは完全に機能しました。非常に小さな変更で。 (もしあなたが私の場合は –

+0

ああ、私の悪い、その余分な "}"を削除しました。) –

0
 if (is_dir($dir)) 
     { 
      if ($dh = opendir($dir)){ 

       while (($file = readdir($dh)) !== false){ 

        if($file != '.' && $file != '..'){ 
          $files[] = $file; 
        } 

       } 

       closedir($dh); 

       } 
     }; 

    $arrat_order[] = natsort($files); 
    foreach($arrat_order as $value){ 
        echo " 
         <div style='display: block'> 
         <a href= \"$dir/$value\">Watch \"$value\"</a> 
         </div> 
         "; 

} 
+0

natsort()は配列ではなくブール値を返します。ここでphp docを確認してください:http://php.net/manual/en/function.natsort.php –

関連する問題