質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

4828閲覧

PHPを使って、ファイルの日付情報を元に、ファイルを並び替えたい

peyoung

総合スコア122

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2014/09/17 05:53

PHPで日付によりファイルを並べ替える方法について質問させてください。

同じディレクトリにファイルのリストをアウトプットすることが可能なindex.phpファイルがあります。
アウトプットはまず名前を表示し、次にfilemtime()関数を使ってファイルが編集された日付を表示します。
最新の編集されたファイルを表示させたいのですが、やり方が分かりません。
下記の方法も考えたのですが、うまく表示されませんでした。
どなたか例を使って、分かりやすく教えてもらえませんか。
MySQLのみを使って実行しているときは問題なく並べ替えることができています。
宜しくお願いします。

lang

1if ($handle = opendir('.')) { 2 while (false !== ($file = readdir($handle))) { 3 if ($file != "." && $file != "..") { 4 $lastModified = date('F d Y, H:i:s',filemtime($file)); 5 if(strlen($file)-strpos($file,".swf")== 4){ 6 echo "&lt;tr&gt;&lt;td&gt;&lt;input type=\"checkbox\" name=\"box[]\"&gt;&lt;/td&gt;&lt;td&gt;<a href=\"$file\" target=\"_blank\">$file</a>&lt;/td&gt;&lt;td&gt;$lastModified&lt;/td&gt;&lt;/tr&gt;"; 7 } 8 } 9 } 10 closedir($handle); 11}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

並べ替えや最新の編集を探すには、取得した複数のファイルを一度配列に格納すると関数で処理しやすいですよ。下記がその例です。

lang

1$files = array(); 2if ($handle = opendir('.')) { 3 while (false !== ($file = readdir($handle))) { 4 if ($file != "." && $file != "..") { 5 $files[filemtime($file)] = $file; 6 } 7 } 8 closedir($handle); 9} 10$reverse_sort_files = $files; 11// 降順でソートする 12krsort($reverse_sort_files); 13/* //昇順でソートする場合 14ksort($files); 15// 昇順で編集された最新のものを探す 16$reallyLastModified = end($files); 17*/ 18// 新しい順に何かしたい場合はforeachでループする 19foreach($reverse_sort_files as $file) { 20 //ここで順番に処理をする 21 echo $file."<br>"; 22}

このようにしたらできると思います。試してみてください。

投稿2014/09/18 02:30

hogehogehoge

総合スコア165

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問