- ベストアンサー
PHPファイルと読み込みたい変数が書かれたtxtファイルのパス
- 同じフォルダ階層にあるPHPファイルと読み込みたい変数が書かれたtxtファイルを配列変数として読み込みたい。
- txtファイルの内容は変数をカンマ区切りで書いた1行のテキストであり、数字以外の書式は変えることができない。
- 他のプログラムも参照するため、指定された変数を読み込みたい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
matupo様 処理としては間違ってないですが ファイルの読み込みでしたらfopen,fread関数がありますので 私でしたら下記のようにします。 ----------ここから----------------- //hensuu.txtを読み込む $fp = fopen("hensuu.txt","r"); if(!$fp){ die("ファイルが開けません。"); } //ファイルの読み込み $file = fread($fp,4096); ----------ここまで---------------- あと、関数の前に「@」を付けるのは エラーを無視する代わりに処理が重くなるデメリットがあるので キチンとエラー処理を記述したほうがいいですね。
その他の回答 (1)
- nonkix
- ベストアンサー率100% (1/1)
初めまして。 hennsuu.txtはご自身で用意したものではないみたいですが。 何かサンプルのようなものですかね? それともお仕事で使われているのでしょうか? URLに付加しているものではなく、テキストから読み込むものなので 処理のやり方としては (1)テキストから一行読み込む (2)正規表現で「days」「days_b」のパラメーターを取得する (3)取得したデータを「,」区切りで配列に格納 こんな感じでいかがでしょうか? お知恵を拝借ということで プログラムの正解は書かないでおきますね。
お礼
nonkix様 お知恵有難う御座います、何とか自分で出来ました。 見苦しいコードですが、よりスマートな方法やアドバイスがあればご教授下さい。 //ファイルから一行文字列を取得 $contents = @file_get_contents('hennsuu.txt'); print "</BR>$contents"; //文字列を&で分解 $SK2 = explode("&","$contents"); var_dump($SK2); print "</BR>SK2[1]の値は$SK2[1]"; //文字列から"days="を削除 $NewSK2 = str_replace("days=","",$SK2[1]); print "</BR>整形後のSK2[1]の値は$NewSK2"; //最終的にカンマで分解して配列に代入 $N1 = explode(",","$NewSK2"); var_dump($N1); //代入した配列の要素数を取得 $loop = count($N1); print "</BR>繰り返す値は$loop"; print "</BR>SK2[2]の値は$SK2[2]"; //文字列から"days_b="を削除 $NewSK3 = str_replace("days_b=","",$SK2[2]); print "</BR>整形後のSK2[2]の値は$NewSK3"; //最終的にカンマで分解して配列に代入 $N2 = explode(",","$NewSK3"); var_dump($N2); //代入した配列の要素数を取得 $loop2 = count($N2); print "</BR>繰り返す値は$loop2";
お礼
nonkix様 アドバイス有難う御座います、 参考にさせて頂きます。 $file = fread($fp,4096); の4096は読み込むバイト数と思いますが、 今回のケースとのどのような関係があるのでしょうか? もし宜しければ教えて頂けますでしょうか?