0

include()(および関連するすべての)関数の動作に少し混乱しています。library.phpいくつかのコード(私の場合は単一の配列)を含むファイルがある場合:

<?php
$exampleArray = array(
    "Item1" => "Item 1 description",
    "Item2" => "Item 2 description"
);
?>

index.phpそして、別のファイル( )でその配列にアクセスできるようにしたいので、でindex.php行う必要がありますrequire_once('library.php');。PHPタグがない場合は、コードがエコーされます。ただし、PHPサイトでのこのコメントは、タグが含まれているかどうかに関係なく、含まれているファイルのヘッダーが変更された場合、コンテンツがエコーされることを意味します。

  1. これは正しいですか?含めたいファイルを変更しlibrary.txtてもPHPタグが残っている場合、コンテンツはエコーされません(ただしtext/plain、どちらの場合もコンテンツタイプはほぼ確実です)
  2. コメントには、「世界中のすべての人にその情報を表示するのに、間違った文字が1つだけ必要です」とも書かれています。-彼が言及している間違ったキャラクターは何ですか?
4

2 に答える 2

2

<?phpでは、タグと一緒に保管してみませんか?これまでのところ、私がテストしたものでは、タグのないものはPHPとして解析されません。IIRC、PHPタグ内のすべてのものはPHPによって解析されるため、含まれているファイル内のものを解析するには、PHP用のこれらのタグが必要になります。

<?php
require_once("test.txt");
echo $exampleArray["Item1"];
?>

<?phpタグなしの場合は戻ります

$exampleArray = array( "Item1" => "Item 1 description", "Item2" => "Item 2 description" );

を使用すると、フィレにタグがrequire_once("test.php");なくても、解析されていないコンテンツが表示されます。<?php

したがって、それが機能するためにはタグが必要です。

http://meowman.sytes.net/so/incfile/tag.phpおよびhttp://meowman.sytes.net/so/incfile/test.phpは、インクルードファイルにタグが含まれている場合にエコーする内容を示しています。

http://meowman.sytes.net/so/incfile/notag.phpおよびhttp://meowman.sytes.net/so/incfile/testno.phpは、インクルードファイルにタグがない場合にエコーする内容を示しています。

于 2012-05-19T23:42:29.503 に答える
0

常に-はい常に-インクルードするPHPファイルの開始タグを使用します。(ただし、タグを閉じる必要はありません)。

phpオープニングタグを使用しない場合、コンテンツはHTTP経由でファイルを要求するだけのユーザーにも表示されます。したがって、コードは実際にはPHPインタープリターによって解析されないため、ユーザーはソースコードを見ることができます。プレーンテキストとしてエコーされるだけです。

于 2012-05-19T23:43:59.637 に答える