わからないこと
テキストファイルの読込、またそれを配列にして表示する方法
以前、HTMLの入力フォームに入力した文字列をPHPファイルに送り、指定したテキストファイルに改行して追加書き込みする。というコードを打ちました。
HTMLに入力された文字列は下記のように改行されて保存されてゆきます。そこで、それぞれの行がそれぞれの配列の要素となるようにしたいです。
どういった具合にソースを打てばよいのか、各初心者向けサイトを確認し試してみたのですがわかりませんでした。
ご回答、どうぞよろしくお願いいたします。
上記テキストファイルの状態
(入力された文字列1)
(入力された文字列2)
(入力された文字列3)
(入力された文字列4)
・
・
・
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
/tmp/test.php
php
1<?php 2$text = file_get_contents('/tmp/test.txt'); 3$array = explode(PHP_EOL, trim($text)); 4 5var_dump($array);
/tmp/test.txt
hoge fuga pepe
実行結果
sh
1$ php /tmp/test.php 2array(3) { 3 [0]=> 4 string(4) "hoge" 5 [1]=> 6 string(4) "fuga" 7 [2]=> 8 string(4) "pepe" 9}
各初心者向けサイトを確認し試してみたのですがわかりませんでした。
マニュアルを利用しましょう。
- 「PHP ファイル 読み込み」などのキーワードで検索して、使えそうな関数の目星をつける
- 見つけた関数のマニュアルを読む
- 簡単なコードを書いて、動かしてみる
を繰り返していくうちに、次第に
「こういう場合は、この関数を使ってこうしたらできそうだ」
という勘が働くようになると思います。
ちなみに今回、使った関数は、以下です。
http://php.net/manual/ja/function.file-get-contents.php
http://php.net/manual/ja/function.explode.php
http://php.net/manual/ja/function.trim.php
http://php.net/manual/ja/reserved.constants.php <- PHP_EOL
投稿2016/04/26 06:53
総合スコア4791
0
配列への代入の仕方は様々ですけど解かり易く書くと
php
1$text = array();//配列を宣言 2$text[] = "入力された文字列1"; 3$text[] = "入力された文字列2"; 4$text[] = "入力された文字列3";
これで 文章を一件づつインデックス配列で$text
に格納します
配列の内訳は
$text[0] => 入力された文字列1
$text[1] => 入力された文字列2
$text[2] => 入力された文字列3
[0]から始まる事を意識しておいてください。
配列を読み込んで表示する場合は
php
1foreach($text as $val){ 2//「foreach」で配列の中身を順番に読み込みます 3 echo $val; 4}
「($text as $val)」はこの[foreach]内で$taxt
を$val
に省略しています
あまり意味が無いように思えるかもしれませんが 扱う配列変数が多くなってくると識別するために変数名が長くなってしまう場合やなんかに便利です。
投稿2016/04/26 06:46
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんなんでどうでしょうか。
PHP
1$getFile = fopen('sample.txt', 'r'); 2if ($getFile){ 3 if (flock($getFile, LOCK_SH)) { 4 //一行ごとに処理を行う 5 while (!feof($getFile)) { 6 $str = fgets($getFile); 7 echo $str; 8 } 9 flock($getFile, LOCK_UN); 10 }else{ 11 //ファイルの展開に失敗 12 } 13}
sample.txtの部分を読み込みたいファイルに書き換えていただければおそらく動くのではないかと
投稿2016/04/26 06:37
総合スコア72
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/26 06:43
2016/04/26 06:49
退会済みユーザー
2016/04/26 06:57
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/26 06:59