PHPファイルと読み込みたい変数が書かれたtxtファイルのパス
- 同じフォルダ階層にあるPHPファイルと読み込みたい変数が書かれたtxtファイルを配列変数として読み込みたい。
- txtファイルの内容は変数をカンマ区切りで書いた1行のテキストであり、数字以外の書式は変えることができない。
- 他のプログラムも参照するため、指定された変数を読み込みたい。
- ベストアンサー
phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ
phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ階層に以下の名前であります。 1, yomikomi.php 2, hensuu.txt hensuu.txtの内容は &days=1,8,15,22,29&days_b=3,10,17,24&last=end& の1行です、 &で囲まれた変数"days" と"days_b" の値が、カンマ区切りで書かれています。 数字の個数や値は手入力で修正し毎回変動します。 last=end&の意味は分かりません。 他のプログラムも参照しますので、数字以外の書式は変えることは 出来ません。 やりたい事は yomikomi.phpの中からhennsuu.txtの変数 days says_b を配列変数として読み込みたいのです。 どなたかお知恵をお貸し下さい。
- matupo
- お礼率65% (29/44)
- PHP
- 回答数2
- ありがとう数4
- みんなの回答 (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";
関連するQ&A
- 別ファイルの変数を呼び出したいのですが?
初めて質問させて頂くPHP初心者の者です。 例えば、 (a.php)というファイル内で導き出された変数の値($a)を、(b.php)というファイル内に呼び出したいのですが、関数等を利用して呼び出す事は出来るでしょうか? -----a.php------------------------- <?php $a=xxxx; //導き出された変数$a(の値) ?> ----------------------------------- -----b.php------------------------- <?php $a=△△△△; //このファイル内で変数$a(の値)を呼び出したい ?> ------------------------------------ よろしくお願い致します
- ベストアンサー
- PHP
- あるファイルで使った変数を別のファイルで使いたい
たとえば php1.php php2.php というファイルを作ったとします。 php1.phpで $A='ピーエイチピー'; $B[0]=1; $B[1]=2; という変数を決めたとき、 この変数をphp2.php の中で使うにはどうしたらいいでしょうか? 具体的には、 http:~php1.phpというホームページでフォームなどを用いて ユーザーにある変数$a,$b[0],$b[1]の値を入力させ、 その変数の値に複雑な計算をさせた結果の変数$A,$B[0],$B[1] をphp2.phpという別のページのphp内で使いたいです。
- ベストアンサー
- PHP
- 変数の代入値を外部の.txtファイルから読む
var AAA = "XXXX"; このように変数AAAにXXXXという値を代入したいのですが、XXXXは外部ファイルTEXTDATA.txt内にあります。 javascriptのみで、TEXTDATA.txtをオープンして文字列を取得することはできるのでしょうか? TEXTDATA.txt には XXXX 以外の文字はありません。 だれか回答できるかた、よろしくお願いします。
- ベストアンサー
- JavaScript
- [ExcelVBA] Module1で定義した変数の(代入した)値を、Module2でも使う方法
基本中の基本のことで誠に申し訳ございません。 ある標準Moduleで宣言した変数に値を代入します。 その後、別のModuleでその変数を使用しますが、 その変数の中の値が消えてしまいます。 たとえば下記のように、プログラムを書きます。 test1を実行すると、続いてtest2も実行されます。 この場合、変数の値が0になってしまいます。 このような場合どうやったらいいのでしょうか? Hensuu1の値をセルに一度出力させて、 別のModuleで、セルの値をもう一度変数に代入させて使用する という方法で何とかしていたのですが、大変で困っています。 Module1に記載------------ dim Hensuu1 as integer sub test1() Hensuu1 = 100 test2 end sub ------------------------- Module2に記載------------- sub test2 range("A1") = Hensuu1 end sub --------------------------
- ベストアンサー
- オフィス系ソフト
- バッチファイルへの変数のキー入力、変数名を含むファイルへの出力
とあるヘッダーの作成のため、キー入力した値で、変数名を含む名前のテキストに変数の入ったファイルを書き出そうと思うのですが、どなたかアドバイスいただけますでしょうか。 いまのところ次のような感じで、%num%という変数に数字を入れるようにしたいのですが。 SET/P %num% = 数字を入力してください: echo right: %num% >> header%num%.txt echo leftt: %num% >> header%num%.txt また、バッチファイルのサンプルが多く載っている書籍等の紹介でもかまいませんどうぞよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- phpで外部ファイルを取り込み変数にセットしたいです。
phpで外部ファイルを取り込み変数にセットしたいです。 いつもお世話になっております。 外部ファイル(data.ini)を作ってphpで読み込み変数にセットして ブラウザに表示したいのですが外部ファイルを読み込む方法が わかりません。 外部ファイルの中身は 変数A=1 変数B=2 という変数が保存されています。 これを読み込んでphp側で取得、表示したいのですが 可能でしょうか?ご教示お願いします。
- ベストアンサー
- PHP
- PHPの変数の渡し方
現在以下のような位置関係のファイルでa.phpからb.phpに変数を渡したいのですが、うまく行きません。 ├dir1 │ └a.php └dir2 └b.php a.php <?php public function a(){ $value = "test"; } ?> b.php <?php public funcition b(){ print($value); } ?> phpについてwebで調べ、a.phpで$valueをglobalにしてb.phpでは 関数内でinclude('../dir1/a.php')を記述して$GLOBALS['$value']を 使ってみたのですが、うまく値がとれませんでした。 a.phpで変数をテンプレートに設定して $smarty->Set('Value', $value); それをb.phpで取得しようとしたのですが $smarty->getTemplateVars(Value); 取得する事ができませんでした。 同じようにgeTTemplateVarsを使って別のphpでは取得出来たりするのですが、 このsmartyのスコープ?というのもわかりません。 phpScheduleItというスケジュール管理のパッケージを触っていて、 php自体初めてで深い実装が全て追えていません。 勉強不足で申し訳ないのですが、何かヒントとなる事がありましたらご教示頂けますでしょうか。 宜しくお願い致します。
- ベストアンサー
- PHP
- 変数に入れたhtmlファイルの表示について
すいません。php初心者なのですが変数に入れたhtmlの表示で分からない事があります。 $food["0"]["item0"]="y"; $food["0"]["item3"]="2012010101"; $food["0"]["item4"]="k0.txt"; $food["1"]["item0"]="n"; $food["1"]["item3"]="2012010102"; $food["1"]["item4"]="k1.txt"; 以上のようなグループが沢山あるのですが、このグループを任意に削除したり、並び替えたりして 最後に「k0.txt」や「k0.txt」というテキストファイルに記載されたhtmlプルグラムを展開して表示させたいと考えています。($foodの値であるk0.txtと展開したいテキストファイルは同名にしました) グループの削除や並び変えのphpプログラムは出来上がったのですが、最後にk0.txtやk1.txtを どう展開するのかが分かりません。とりあえず以下のようにしてみまして、結果も期待どうりだったのですが、このようなやり方は良くないでしょうか?(txtには膨大なhtmlが記載されているので並び替えたりするプログラム中はtxtファイルが展開された状態のものですよね? 個数が多いためプログラムが重くならないか不安です) 今回ははじめてのプログラムで変数の値とテキストファイルの名前を関連付けたのですが このようなやり方が適切かどうかも不安があります。 よろしければアドバイスいただけると助かります。 <?php $food["1"]["item0"]="n"; $food["1"]["item3"]="2012010102"; $food["1"]["item4"]= @file_get_contents('k1.txt'); echo $food["1"]["item4"]; ?>
- ベストアンサー
- PHP
- URLから変数が渡らない。
とても基本的な事で申し訳ないのですが、 教えてください。 <? print $hensuu; $hensuu = "Hello PHP!!"; print $hensuu; ?> とindex.phpに記述して、ブラウズすると、 Hello PHP!! と表示されます。 次にURLから http://localhost/index.php?hensuu=777 と入力して値を渡そうとしても、何も変わらず Hello PHP!! と表示されるのみです。 他にも書籍やいろんなサイトのサンプルをそのまま 持ってきても何故かローカルではURLから渡されません。 Windowsなのと、iniファイルの設定等の問題なのかな? とか思ってるのですが・・・ 環境は下記の通りです。 Windows XP Pro Apache 2.0.39 PHP Version 4.2.2 よろしくお願いします。
- ベストアンサー
- PHP
- 変数の内容をファイルに書き込む方法を教えてください。
Visual Basic 2005です。 変数にはカンマ区切りのデータが記録されています。 例・2006,12,6,11,23,00,23.5 のような感じです。 これがDataという変数に入っている場合、このファイルをtxtファイルに上から順に書き込んでいくと言うプログラムです。 ファイル内はこのようになります 2006,12,6,11,23,00,23.5 2006,12,6,11,24,00,23.6 (改行される) 2006,12,6,11,25,00,23.7 (改行される) ・ ・ ちょっと手を貸していただけませんか。 お願いします
- ベストアンサー
- Visual Basic
お礼
nonkix様 アドバイス有難う御座います、 参考にさせて頂きます。 $file = fread($fp,4096); の4096は読み込むバイト数と思いますが、 今回のケースとのどのような関係があるのでしょうか? もし宜しければ教えて頂けますでしょうか?