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

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

新規登録して質問してみよう
ただいま回答率
85.50%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

PHP

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

Q&A

1回答

2223閲覧

が Winscpから受信したファイルを画面の対象年月日から入力した日付に対して昇順となる状態で画面に一覧表示させたい

nabex

総合スコア66

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

PHP

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

0グッド

0クリップ

投稿2016/07/06 01:32

編集2022/01/12 10:55

Winscpから受信したファイルを画面の対象年月日から入力した日付に対して昇順となる状態で画面に一覧表示させたい

対象年月日を2016/07/02と入力し、検索ボタンを押下した場合

ファイル名が20160702とついているもののみをダウンロードし、送信ファイル作成日時で昇順となるよう画面に一覧表示する

現状としては 対象年月日を2016/07/02と入力し て検索ボタンを押した場合、2016/6/29などの他の日付も出力され、送信ファイル作成日時もバラバラで出力されます。

修正に対して必要だと思われる箇所を抜粋して載せていますのでわかりにくいと思いますがどなたかご教授をお願い致します。

lang

1<th class=" line_left" rowspan="" colspan="">対象年月日</th> 2<td class=" " rowspan="" colspan=""> 3<input id="taisho_date_to" class="prts_dat_inp_l no_ime hasDatepicker" type="text" defaultdisabled="" onblur="checkDate(this);" tabindex="" value="2016/07/02" name="taisho_date_to" maxlength="10"> 4<button class="ui-datepicker-trigger" type="button" style="display: none;">...</button> 5</td>

lang

1 2 foreach($gyomParam as $dir_key => $dir){ 3 if(!empty($dir['denso_data_url'])){ 4 //$url = DEF_BASE_ROOT_DATADIR.$dir['denso_data_url']; 5 $file_prefix = rtrim($dir['denso_file_name'], ".txt"); 6 $url = ""; 7 if($dir['action_name'] == 'export'){ 8 $action_name = "送信"; 9 //$url = DEF_BASE_ROOT_DATADIR.$dir['denso_data_url']; 10 $url = DEF_BASE_ROOT_DATADIR.$dir['rireki_shokai_url']; 11 } else { 12 $action_name = "受信"; 13 $url = DEF_BASE_ROOT_DATADIR.$dir['rireki_shokai_url']; 14 } 15 16 $move_url = DEF_BASE_ROOT_DATADIR.$dir['denso_data_url']; 17 18 if(is_dir($url)){ 19 $files = scandir($url); 20 21 if($dir['action_name'] == 'export'){ 22 // 最新のタイムスタンプのファイルを取得 23 $files = $this->getNewestFile($files, $dir); 24 } 25 26 foreach($files as $file){ 27 if(!empty($file) && $file != ".." && $file != "." && strpos($file, $file_prefix) === 0){ 28 $file_parts = rtrim($file, ".txt"); 29 $file_parts = explode('_', $file_parts); 30 $filesize = bcdiv(filesize($url.$file), 1024, 2); 31 32 if (preg_match("/^\d{14}$/", $file_parts[1])) { // 数値14桁 年月日時分秒 33 34 //if(count($gyomParam) !== 0 && $gyomParam != null){ 35 $file_cdate = date("Y/m/d H:i:s",filemtime($url.$file)); 36 //$file_cdate_ymd = date("Y/m/d",filemtime($url.$file)); 37 $taisho_date = date("Y/m/d",strtotime($file_parts[1])); 38 $soshin_date = date("Y/m/d H:i:s",strtotime($file_parts[1])); 39 $sort = floatval(date("YmdHis",strtotime($file_parts[1]))); 40 41 // 検索 42 // 対象年月日 43 //if(!empty($request_data['taisho_date_to']) && $file_cdate_ymd != $request_data['taisho_date_to']){ 44 if(!empty($request_data['taisho_date_to']) && $taisho_date != $request_data['taisho_date_to']){ 45 continue; 46 } 47 48private function getNewestFile($files, $dir){ 49 50 $array_files = array(); 51 $file_prefix = rtrim($dir['denso_file_name'], ".txt"); 52 53 $index = 0; 54 foreach($files as $file){ 55 if(!empty($file) && $file != ".." && $file != "." && strpos($file, $file_prefix) === 0){ 56 $file_parts = rtrim($file, ".txt"); 57 $file_parts = explode('_', $file_parts); 58 59 if (preg_match("/^\d{14}$/", $file_parts[1])) { // 数値14桁 年月日時分秒 60 $sort = floatval(date("YmdHis",strtotime($file_parts[1]))); 61 62 63 $array_files[$index]['file'] = $file; 64 $array_files[$index]['sort'] = $sort; 65 66 $index++; 67 } 68 } 69 } 70 71 $sort_file = $this->xsort($array_files, 'sort'); 72 $array_ret_file = array($sort_file[0]['file']); 73 74 return $array_ret_file; 75 }

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

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

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

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

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

Mr_Roboto

2016/07/06 01:35

コードはコードタグ で囲ってくださいね。``` または </>ボタンで入力できますよ。
nabex

2016/07/06 01:44

PHPの部分は<?php で囲むということですか? </>ボタンというのはテラテイル側のボタンのことですか?
Mr_Roboto

2016/07/06 01:52

</>はテラテイルの質問画面の編集するところの上にあるボタンです。 手で書く場合は、 ```PHP echo "aaa"; ``` みたいにしてください。 他にもMarkdownとしていろいろ使えるのでヘルプとかみてみてくださいね^^
nabex

2016/07/06 02:05

ありがとうございます。修正しました。
Mr_Roboto

2016/07/06 02:08

いやいやw できてませんよ? <th 〜 から 〜 return $array_ret_file; } までを``` で囲ってくださいね ^_^; 他の質問者の質問みてみてください。綺麗に色がついていますよね? プレビューを確認しながらやってみてください。
kei344

2016/07/06 02:34

バッククオート3つの前には改行を入れてください。
nabex

2016/07/06 02:36

HTML部分は出来たのですがPHPの部分は出来ませんでした。 ```lang-html ソース ```出来たので同じように  ```lang-php ソース ``` で囲ったのですが間違えてますでしょうか。
Mr_Roboto

2016/07/06 02:42

回答に一応書きましたが、できてるみたいですね。インデントが微妙ですがw ご苦労さまです ^^
nabex

2016/07/06 02:44

そうですね、まさか改行だとは思わなかったです。ご丁寧にありがとうございました。
guest

回答1

0

なんか質問の編集ではまってるみたいなので、ここに書きます。
以下のようにしてみてください。 ` (バッククオート)は半角にしてくださいね。

```php[改行]
echo "abc";[改行]
```[改行]
で、このようになります。

php

1echo "abc";

投稿2016/07/06 02:41

Mr_Roboto

総合スコア2208

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

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

nabex

2016/07/06 08:24

if($dir['action_name'] == 'export'){ // 最新のタイムスタンプのファイルを取得 $files = $this->getNewestFile($files, $dir); } の部分をコメントアウトしたら正常に動作しました。
Mr_Roboto

2016/07/06 14:47

おっと解決したのですね、ちょっと長いので時間のある時に見ようと思ってたのですが、修正依頼だけになってしまってすいませんでした。 解決したのであれば、自己解決にしていただけるとよいと思います ^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問