PHP include_onceでファイルが出力されてしまう問題の解決方法
- PHPのinclude_onceで読み込んだファイルがそのままテキストとして出力されてしまう問題について解決方法を教えてください。
- httpd.confのaddtypeにincという拡張子は追加していないが、他の同様のソースでは問題なく読み込めることから、include_onceの使用方法を見直す必要があります。
- require_onceを試しても同じようにファイルの中身がテキストとして出力されるため、別の解決策を探す必要があります。
- ベストアンサー
PHP include_once
include_onceで読み込んだファイルが そのままテキストとして出力されてしまいます。 以下のような感じです。 インクルードするファイル fail.inc test_val = array("aaa" => "aaa111", "bbb" => "bbb222", "ccc" => "ccc333"); ソース本体 src.php <?php include_once('./fail.inc'); 以下処理 exit(); ?> これをそのまま実行すると以下のように出力されます。 test_val = array("aaa" => "aaa111", "bbb" => "bbb222", "ccc" => "ccc333"); includeせずにそのまま走らせると正常に動きます。 httpd.confのaddtypeにincという拡張子は追加していませんが 他の同様のソースでは問題なく読み込めます。 require_onceとかも試しましたが同じようにfail.incの中身がそのままテキストとして 出力されてしまいます。 どうしたら正しく読み込めますでしょうか。 ご回答よろしくお願いしますm(_)m
- chibichan_dayo
- お礼率40% (27/66)
- PHP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 文字列を配列定義に使用するには
文字列を配列の定義に使用したいのですが、可能でしょうか? 具体的には以下のような内容です。 $AAA = array("name"=>"山田","val"=>"10"); とすると変数$AAAは配列になります。 $BBB = 'array("name"=>"佐藤","val"=>"20")'; とすると変数$BBBは文字列になります。 $CCC = $BBB; と変数$CCCに代入した場合に、 変数$CCCを配列として認識させたいです。 つまり print $CCC[name]; //佐藤 print $CCC[val]; //20 というように出力させたいのですが、 根本的に可能なのでしょうか…? よろしくお願いいたします。
- ベストアンサー
- PHP
- include_onceで呼び出したPHPファイル
PHPでサイトを組んでいるのですが、include_onceで以下のようにPHPの各ファイルを呼び出して実行しているのですがうまくいきません。 <?php //レンタルサーバーのcronを利用して、定期的に走らせるコードです。 include_once "example_a.php"; include_once "example_b.php"; include_once "example_c.php"; ?> 各ファイルは、RSSで読み込んだデータをMySQLに格納するプログラムです。 個別で各ファイルを実行すると正しい結果となりますが上記のようなプログラムでまとめて実行するとexample_a.phpは正しい結果となりますが、example_b.php、example_c.phpは正しく処理されません。 原因として考えられるものがあれば、教えていただきたいと思います。 よろしくお願いします。
- ベストアンサー
- PHP
- phpのinclude_pathのエラーについて
phpで以下のエラーが出ております。 いろいろ試しているのですが、解決できません。 各種設定ファイルに設定の誤りがあるのでしたら教えていただきたいと思います。 1)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes') in C:\Apache2\htdocs\aaa\ins.php on line 26 2)Fatal error: main(): Failed opening required '' (include_path='.;c:\php4\pear') in C:\Apache2\htdocs\aaa\ins.php on line 26 c:\php4\pearというディレクトリは存在しないがなぜか出る。 3)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 4)Fatal error: main(): Failed opening required '' (include_path='.;C:\Apache2\htdocs\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 ##ins.phpのソース: $tpl = "ccc.tpl"; require_once($tpl); ##ディレクトリ構成 C:\Apache2\htdocs\aaa ins.php ccc.tpl ##php.iniの設定: ---有効にした場合1)のメッセージ include_path = ".;c:\php\includes" ---コメントアウトした場合2)のメッセージ ;include_path = ".;c:\php\includes" ---以下のpathにフォルダを作成してccc.tplを配置した場合3)のメッセージ include_path = ".;c:\php\includes\aaa" ---以下のpathを指定した場合4)のメッセージ include_path = ".;C:\Apache2\htdocs\aaa" ##httpd.confの設定: line 231 DocumentRoot "C:/Apache2/htdocs" line 256 <Directory "C:/Apache2/htdocs"> AllowOverride Options AuthConfig ##環境 os:winXP apache2:apache_2.0.58 php:PHP Version 4.4.1
- ベストアンサー
- PHP
- htmlファイルをincludeして、文字列変換して表示
お世話になります。 /index.php /aaa/index.phh /aaa01.jpg /aaa02.jpg /bbb/index.php /bbb01.jpg /bbb02.jpg /bbb03.jpg と、いうようなフォルダ構造でホームページを作成して、 /index.php で <body> ヘッダだよ<br> include_once("aaa/index.php"); フッタだよ<br> </body> とすると、aaa/index.php に書かれてある文字を表示することができます。 しかし、画像 aaa01.jpgなどは、/以下になく、/aaa/以下にあるため、 表示されません。 そこで、include_onceと同時に <img src="aaa01.jpg" となっているところを、 <img src="aaa/aaa01.jpg" と、書き換えられないものかと考えた次第です。 やりたいことは、同じヘッダフッタを持ったページで、その中に フレームタグなどを使用することなく、 別々のフォルダに別々に作成したページ、/aaa/index.php /bbb/index.php などを 表示したいと、いうことです。 全く別の発想でも構いません、よい案などあればご紹介ください。 よろしくお願いいたします。
- ベストアンサー
- PHP
- xmlからphpでうまくデータを出力できない
WEBサービスでリクエストに対して取得したxmlの中で、下記のようなデータがあるのですが、それがうまくphpで出力できなくて困っています。 [xmlのデータ(一部)] <aaa> <bbb> <ccc> <ddd>あいうえお</ddd> <Date date="05" month="09" year="2009"> [phpのソース] echo $aaa->bbb->ccc->ddd ; echo $aaa->bbb->ccc->year ; ・・・(※) (※)の行は思いつきで書いてしまっているのですが、この状態で実行すると、「あいうえお」は取得できますが、日付が当然取得できません。質問は以下です。 (※)の部分は、どう書けばいいのでしょうか?
- 締切済み
- PHP
- PHPでテキストファイルを読み込み変数に代入する
PHP超初心者ですみません。 aaa:111 bbb:222 ccc:333 444444 という内容のテキストファイルをPHPで読み込み aaa(変数名)=111(中身) bbb(変数名)=222(中身) ccc(変数名)=333\n444444(中身改行あり) という風にできないのでしょうか? いろいろ探しましたがわからなかったので よろしくお願い致します。
- ベストアンサー
- PHP
- include/require文へのバリデーション
include/require文でユーザが入力した文字列を未検証のまま使用をしてはいけませんが、 $filename = array('aaa','bbb','ccc'); for($i=0; $i<count($filename); $i++){ include('folder/' . $filename[$i] . '_include.php'); } のようにユーザーが入力した文字列を使わずに使用する場合はバリデーションはしなくても、 ハッキングされる心配はないのでしょうか?
- ベストアンサー
- PHP
- includeとinclude_onceの使い分け
まずマニュアルを。 ------------------------------------------------------ PHP: include_once - Manual http://www.php.net/manual/ja/function.include-once.php include_once 命令は、スクリプトの実行時に指定したファイルを読み込み評価します。この動作は、include 命令と似ていますが、ファイルからのコードが既に読み込まれている場合は、再度読み込まれないという重要な違いがあります。その名が示す通り、ファイルは一度しか読み込まれません。 include_once は、スクリプトの実行時に同じファイルが複数回読み込まれ、評価される可能性がある場合に、関数の再定義や 変数値の再代入といった問題を回避するために一回だけ読み込ませるために使用します。 ------------------------------------------------------ …。表面的な機能の違いはわかりました。しかしそれをどう使い分けるのかの説明はなく、分かりませんでした。 よく分からない点は以下です。 ・同じファイルを何度も「include」もしくは「include_once」するケース ・あえて何度も記述しながら実際には1度しか評価してほしくないケース ・何度も記述して、そのつど評価したいケース これらについて例を挙げて教えていただきたいです。 よろしくお願いします。
- ベストアンサー
- PHP
- 多次元配列?配列のキー?変数の型?
PHP勉強中のものです。 予定通りの動作にならんく四苦八苦しています。 どのように修正すれば予定通りになるのか考え方のアドバイスなどお願いします。 処理したいこと 変数$xxxの先頭の文字と最後の文字をsubstr()で取り出し$aaaと$bbbに別けそれぞれ代入しキーとして多次元配列に代入した配列要素を指定してechoで出力したい 試してみたこと $aaa1と$bbb1に直接整数を代入してみたところ、echoで出力された キーになる変数を整数型として変数に代入してみたが希望通りの動作にならなかった。 なにかアドバイス頂けると助かります。 $array = array( "0" =>array("あいうえお","かきくけこ"), "1" =>array("さしすせそ") ); $xxx = "0-1"; $aaa = substr($xxx,0,1); $bbb = substr($xxx,2); $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない $aaa1 = 0; $bbb1 = 1; echo $array[$aaa1][$bbb1]; //出力された $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない
- ベストアンサー
- PHP
- PHP実行でメール送信してメーラーでスレッド表示させる方法
PHP実行でメール送信してメーラーでスレッド表示させる方法を教えてください。 # php ./thread_mail.php [メアド] [件名] [本文] # php ./thread_mail.php [メアド] aaa aaa aaa # php ./thread_mail.php [メアド] bbb bbb aaa └ bbb # php ./thread_mail.php [メアド] ccc ccc aaa └ bbb └ ccc このようにしたいです。
- ベストアンサー
- PHP
お礼
<?phpと>でくくったら読み込めました。ありがとうございました。