![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
レンタルサーバーのPHP5利用者です。
include() や require() 等で外部の関数を読み込む場合、
<?php ~ ?> の外側に文字があるとそれが変なところで表示されてしまいます。例えば、
<呼び出し側>
include(gaibu.php);
$msg = write_fc();
print $msg;
<外部ファイル側>
aaa
<?php
function write_fc(){
return 'Hello';
}
?>
bbb
<結果>
aaabbbHello
といった感じなのですが…
この「aaa」「bbb」をさせない方法があれば教えてください。
それとも<?php ~ ?> の外側に文字をかくこと自体非常識なのでしょうか。
お詳しい方、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>この「aaa」「bbb」をさせない方法があれば教えてください。
質問内容のような書き方をしているかぎり、表示させない方法はありません
>それとも<?php ~ ?> の外側に文字をかくこと自体非常識なのでしょうか。
個人で趣味レベルでのプログラムならば自由ですが、実際にプログラムを仕事としている人たちの中では非常識な記述方法です
とりあえずの解決方法としては、function類は、function類だけを記述したファイルを作りましょう
実際に画面として表示させるところでincludeさせて処理をするという方法。
こうやっておくと、HTML部分とfunction部分を分離することが出来ます。
この方法が一般的と言うわけではありませんが、HTMLとphpのロジック部分をごちゃ混ぜにするよりはマシです。
<外部ファイル側>
------------func.php
<?php
function write_fc(){
return 'Hello';
}
function FooFunc(){
return 'foo';
}
function HogeFunc(){
return 'hoge';
}
?>
--------------------
--------------------aaabbb.php
<?php
include(func.php);
$foo = FooFunc();
$hoge = HogeFunc();
?>
aaa
<?php print $foo; ?>
bbb
<?php print $hoge; ?>
--------------------
実行結果
aaaFoobbbHoge
--------------------index.php
<?php
include(func.php);
$msg = write_fc();
print $msg;
?>
--------------------
実行結果
Hello
やっぱ <?php ~ ?> の外に文字を書いちゃダメなんですね。
ファーストサーバーの場合、プログラムの1行目に
#! /usr/bin/php
と書かなきゃいけないようなのでこれが丸見えになって困っていました。
でも外部ファイル側には書かなくても動作するみたいなのでなんとかなりそうです。
ありがとうございました。
No.4
- 回答日時:
>ファーストサーバーの場合、プログラムの1行目に
>#! /usr/bin/php
>と書かなきゃいけないようなのでこれが丸見えになって困っていました。
CGI動作ですね。Perlスクリプトでも同じですが、最初に起動されるスクリプトの先頭にあればいいので、includeやrequireされる側には不要です。includeされる側は拡張子は.cgiや.phpに限定されないですしね。
No.1
- 回答日時:
includeされる側(=外部ファイル側)の <?php ~ ?> の外に文字を書くということは、「これらの文字列をそのままHTMLとして取り込んでね!」と宣言しているような状態です。
よって、そのまま表示されるのが自然な動作です。もしこれらの表示をさせたくないのであれば、
・外部ファイルから該当する部分を削除する。
・または、HTML形式のコメントアウトを施す。
といった対応になると思います。
なるほど。
「aaa」「bbb」を受け取っても、いったん変数内に入れて削除とかできないかなと思っていましたが無理なんですね。
どの専門書にも <?php ~ ?> の外に文字を書くなとは書いてないし不思議に思っていました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- PHP phpでアクセスカウンターの数値の割合でリンク先を変更したい 1 2022/09/16 11:47
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでincludeから取り込んだphp...
-
phpinfo.phpを開くとファイルの...
-
MySQLの配置が変わったため、db...
-
別ファイルの変数を呼び出した...
-
mysqlの自動バックアップ
-
【PHP】include()で余計な文...
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
-
MIB取得について
-
csvファイルの読込みとソート
-
$_SESSION 有効期限をブラウザ...
-
one drive のアップロード失敗...
-
PHPのif文でその処理を途中で抜...
-
VBSの「MsgBox」について
-
存在しないメールアドレスかど...
-
URLの変わらないページをPHPで...
-
imgタグでのphpの呼び出しについて
-
$_SERVER と $_ENV の違い
-
HYのAM11:00のラップの部分の歌...
-
phpでクラスのメソッドで同名の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
phpのソースコードが、そのまま...
-
Javascriptで解凍のコマンドは...
-
phpのプログラムエラー
-
codeigniterでcron実行したい
-
1行目の#! "C:\\xampp\\php\\p...
-
拡張子をphpではなくcgi...
-
Fatal errorについて教えてくだ...
-
CGIタイプのPHPとは・・・?
-
テンプレート化したphpのmenu.p...
-
FPDFでPDFファイルが表示されない
-
ローカルでは動くがサーバーで...
-
cronで外部ファイルへアクセス
-
PHP(.php)及びJavascrpit(.j...
-
このたびpostgresql初めて使用...
-
プログラミング初心者です 先程...
おすすめ情報