レンタルサーバーの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.1
- 回答日時:
includeされる側(=外部ファイル側)の <?php ~ ?> の外に文字を書くということは、「これらの文字列をそのままHTMLとして取り込んでね!」と宣言しているような状態です。
よって、そのまま表示されるのが自然な動作です。もしこれらの表示をさせたくないのであれば、
・外部ファイルから該当する部分を削除する。
・または、HTML形式のコメントアウトを施す。
といった対応になると思います。
なるほど。
「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
と書かなきゃいけないようなのでこれが丸見えになって困っていました。
でも外部ファイル側には書かなくても動作するみたいなのでなんとかなりそうです。
ありがとうございました。
お探しの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ランキング
-
こちらはただの直列処理ですか?
-
include先でのinclude元の変数...
-
別PHPファイルに変数を渡す
-
連続投稿対策
-
1つのファイルにrequireを何度...
-
Ruby URLの分解方法
-
phpスクリプトの書かれているフ...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
PHPでバックグランド処理について
-
onedrive にexcelファイルをア...
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
-
one drive のアップロード失敗...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
拡張子php画像をbmp画像等に変...
-
PHPから別なPHPへ移動(?)する方法
-
PerlからPHPの呼び出しについて
-
1行目の#! "C:\\xampp\\php\\p...
-
ローカルでは動くがサーバーで...
-
PHPの拡張子を見せない方法
-
パスワード等が記述されているp...
-
#!/usr/local/bin/phpはどこに...
-
.htaccessの設定で,auto_prepe...
-
PHP(.php)及びJavascrpit(.j...
-
.phpのファイルを開けない!
-
拡張子なしのファイルを稼働さ...
おすすめ情報