• ベストアンサー

PHPについて質問です。

PHPについて質問です。 環境はXAMPPを使用していて、 &IEです。 テキストファイルを一括で読み込み、変数を使って値を受け渡し表示するだけなので、 ↓これはできています。 テキストファイルを読み込み、 テキストエリアに表示したいです。 しかし、今回、聞きたいのはテキストファイルの内容を表示するときに、一番最後の行の文字列が一番上(逆順)になるようにするにはどうすればいいですか? 調べていて、配列を使うというものが多く、いまいちわかりにくかったの質問しました。 例えるならチャットをしている時新しいコメントが上にくるようなものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

コメントのようなものが1行であれば、単純にfile()でファイルを配列に読み込んで、array_reverse()で逆順にソートするという方法でもよさそうですね。 http://php.net/manual/ja/function.file.php http://php.net/manual/ja/function.array-reverse.php

noname#129137
質問者

お礼

できました。 <?php $lines0 = file('data.txt'); $lines = array_reverse($lines0); foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } ?> とすれば、見事ファイルの内容が逆順に表示させることができました。 チャットのようなことをする時の逆順にするコードよりも簡単に短い行数で解決することができました。 本当に助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

とりあえず、動くソースです。 コピペして、動かしてもらって、後はマニュアルでも見ながら理解してください。 REMにしてある print_r() みれば、分かるかとは思います。 ポイントは krsort() http://php.net/manual/ja/function.krsort.php テキストファイルの内容は ジャンプ11号の29ページあたり。 ----------------------------------------------------------- bleach.php ----------------------------------------------------------- <? $DimText = file("bleach.txt"); // ファイルを配列にいれる。 // print_r($DimText); print "ソート前<hr>"; foreach($DimText as $i => $Text) { print "$Text<br>"; } krsort($DimText); // 配列のキーを基準に逆順にソート reset($DimText); // なくても動くかもしれないけど、クセで。 // print_r($DimText); print "<hr>逆順にソート後<hr>"; foreach($DimText as $i => $Text) { print "$Text<br>"; } ?> ----------------------------------------------------------- ----------------------------------------------------------- bleach.txt ----------------------------------------------------------- 藍染惣右介 : 君は知っているだろう? 藍染惣右介 : 私の鏡花水月の能力は”完全催眠” 藍染惣右介 : 如何なる時でも五感全てを支配しあらゆる状況を錯覚させる事が出来る 平子真子 : せやから一体いつから… 平子真子 : 鏡花水月を遣うてたかって訊いてんねん!!! 藍染惣右介 : --- ならば こちらも訊こう 藍染惣右介 : 一体いつから --- 藍染惣右介 : 鏡花水月を遣っていないと錯覚していた? -----------------------------------------------------------

noname#129137
質問者

お礼

こんなに詳しく有難うございまず。 とりぜず、今から試してみます。 何度もここで質問させてもらっていますが、マニュアルをよく読めばたいていの事が載っていることがわかりました。 関係ないけど、僕はブリーチ大好きです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpでテキストファイルの1行目に追加する方法

    phpの内容なのですがテキストファイルに変数を1行目に追加する方法ってありますか? 例 テキストファイルの内容 あ い う でこの一番上に変数の内容を足す ええ ⬅︎これを追加したい あ い う

    • ベストアンサー
    • PHP
  • 1行目の#! "C:\xampp\php\php-cgi.exe"について

    XAMPP for windowsをXPで利用しています。 phpファイルの1行目に、「#! "C:\xampp\php\php-cgi.exe"」を記述しないとphpが実行されません。 1行目の「#! "C:\xampp\php\php-cgi.exe"」を記述せず、「<?php~ ?>」の記述でファイルを呼び出すと、「Server error! サーバ内部で障害が発生し、 リクエストに応えることができませんでした。 サーバが過負荷であるか、 CGI スクリプトにエラーがあります。」の表示になります。 apacheのconfに、「AddType application/x-httpd-php .php」を追記してみましたが、結果は同じでした。 「C:\xampp\php」でpathを通しています。 超初級な質問かと思いますが、お助けください。

    • 締切済み
    • PHP
  • ホームページにPHPを利用したいのですが。

    PHPを利用して一定の形式にのっとったテキストデータを読み込みホームページとして表示したいです。ホームページの全体のレイアウトは、普通に作り、PHPをページに読み込む形でそうできるのではないかと考えています。 問題は、PHPのプログラムに関して知識がないためどのようにしたらそのようなことができるかわかりません。『この関数がいいよ』『このサイトで勉強するといいよ』みたいなコメントお待ちしています。 PHPで作る内容としては、まずテキストデータに 1行目:タイトル 2行目:著者 3行目:表示する画像ファイル名(画像ファイルは、HTMLファイルと同じ階層にフォルダを作り、その中にまとめたいと考えています。) 4行目:文章(改行有) といったものを作ります。 これをレイアウトした中にPHPを使って1行目をタイトルのところに。2行目を著者のところに。といった感じでレイアウトできないかと考えています。コラムに使いたいのですが、ページ数が多くレイアウトは固定しているためテキストデータをアップしたら自動的にページが増えていくような仕組みができないかなと思い質問してみました。 うまく質問できず、至らない点も多いですがよろしければ回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPについて質問です。

    PHPについて質問です。 XAMPPを使用しています。 チャットについて教えてほしいです。 簡単なチャットはできたのですが・・・ 下記のようなことは実現可能でしょうか? ・パソコン4台を使用する。 ・4人でチャットをする。 ・画面を4分割する。 ・4分割された画面でログインしている自分が左上きて、他の4人は右上、左下、右下でチャットをする。 要するに、分割された画面上で、4人がそれぞれのチャット画面で書き込みを行いたいと思っています。

    • ベストアンサー
    • PHP
  • 【xampp】php設定()

    こんにちは。 phpの動作環境がほしいと思いxamppliteをUSBに設定しました。 各設定が終わり、無事に動く様になったのですが 少し不明な点がありましたのでこちらに書かせていただきました。 phpの記述で 通常のレンタルサーバーなら <?= 変数名 ?>  で表示されるのですが xamppではうまく動作しませんでした。 <?php 変数名; ?>  だとうまく表示されます。 基本的な質問かもしれませんが 前者の記述は一般的ではないのでしょうか? それともxamppの設定云々の問題なのでしょうか? 独学で勉強してきまして そこまで詳しい知識がありません。 『xampp 設定 <?= ?>』や 『xampp 設定 記述』等で調べても有力な情報に辿り着かず ちょっと困惑しています。 ご存じの方がいらっしゃいましたら 誘導でも結構です、ご教授いただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPを使って、クイズを作りたいと思っています。

    PHPを使って、クイズを作りたいと思っています。 テキストファイルに「,(コンマ)」で区切ったものを用意します。 問題,選択肢1,選択肢2,選択肢3,正解の選択肢の番号 という形で保存する予定です。 そしてそのファイルをPHPで読みこむのですが、 ランダム変数を使って、ランダムな数字を一つ選びます。 その数字の行を一行読み込み、後は、 $question,$choices1,$choices2,$choices3,$answer という形で変数に代入し、問題ページに埋め込みたいのですが…、 やり方を教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • チャットの不正コメントを削除

    PHP初心者です。 PHP4.2.Xです。 PHPでチャットシステムを作っています。 管理者が管理者権限で不正なコメントの削除を行いたいのです。 ログがchat.logというテキストファイルをで管理していて、書き込まれる毎に続き番号が振られています。その中で管理者が消したい書き込みを1行だけ削除したいのですが、PHPのファイル操作では、テキストファイルの1行だけ(特定の部分のみ)を削除する機能がないようで…どうしたらいいのか途方くれています。 どなたか教えて頂けないでしょうか?

    • ベストアンサー
    • PHP
  • コマンドラインからPHPを実行するには。(Windows)

    PHPスクリプトをコマンドライン上で実行しようと思い、 >php bookread.php と入力したところ、 >'cdc:\' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示されてしまいます。 おそらく環境変数の問題か、もしくは実行しようとしたディレクトリがいけないのかと思いますが、どうしたらよいのかわかりません。 Windowsで、OSはwinXP、また、phpはxamppで取得しました。 実行しようとしたファイルbookread.phpは c:\xampp\htdocs\_test というフォルダの中にあります。 どのディレクトリに移ってから行えばよいのか、もしくは環境変数にどう書き加えればよいのか、教えてください。 私が実行を試したディレクトリは、 c:\xampp\htdocs\_test> と c:\> です。 (ブラウザ上で他のPHPスクリプトを実行することは可能です。)

    • 締切済み
    • PHP
  • PHPでテキストエリアのデータを配列に入れるには?

    テキストエリアに入力されたデータ(正確にはURL)を配列で取得して、別のテキストエリアに加工して出力する、という処理を作ろうとしています。 <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post"> <textarea name="url_from" rows="20" cols="50"> </textarea><br> <input type="submit" value="作成"><input type="reset" value="リセット"> </form> ためしに、 http://www.google.co.jp/ http://www.yahoo.co.jp/ と入力して、どんな入り方をしているのか確かめてみました。 $url_from という変数に入れて取り出してみたところ、上記のふたつのURLデータのあいだに 長い空白が入っているみたいでした。 そこで、このデータを配列に入れようとしているのですが、入れ方が分からずに困っております。 入力できるデータ数は、最大で20件(20行)としていますが、5件のときもあれば10件のときも あるという仕様です。 「切り分ける関数」のようなものがあれば、できそうな気がするのですが…。 みなさんなら、どのようにして配列に組み込もうとしますか?

    • ベストアンサー
    • PHP
  • phpのプログラミングについての質問です。

    外部ファイルにテンプレートと言うか、データとしてHTMLの書かれたファイルを置くとします。 そして、メインのphpのファイルで変数や定数の処理をさせて、その外部HTMLファイルを読み込ませ、HTML内に記載した変数等を表示させるとします。 // tmp.html // <html> <body> <div> <p>こんにちは{$php}です。<br> 今日は{ConstTest::CONST_TEST}ですね。</p> <p>どうも。{$aisatsu.$php2}です。<br> 今日は{$tenki[1]}なので、悪い天気ですよ。</p> </div> </body> </html> // tmp.html ここまで // 上記のような{$変数}と言う、{ と } で囲った書き方のプログラムを良く見かけるのですが、 phpプログラム内で、どう処理させれば、表示できるのでしょうか? また、上には書きましたが、下記のように定数のクラスファイルも外部に作って、表示させることは可能でしょうか? そもそも、定数も{}で表示させることは可能なんでしょうか? もうひとつ、{$a.$b}の様に文字列の入った変数をドットでつなげると言う書き方も可能でしょうか? // main.php // <?php require_once('./class.php'); $php = 'アマガエル'; $aisatsu = 'こんにちわ。'; $php2 = '椎名アップル'; $tenki = array('晴れ','雨','曇り'); // 処理の仕方が解からないので、デタラメな?の部分です $hoge = file_get_contents('./tmp.html'); echo $hoge; // ?の部分終わり exit; ?> // main.php ここまで // // class.php // <?php class ConstTest { const CONST_TEST = '雨ですが、良い天気'; } ?> // class.php ここまで //

    • ベストアンサー
    • PHP