2

多くのインクルード (フッター、電子メール処理など) を使用するサイトがあります。また、特定の URL を呼び出してデータをロードする AJAX も使用しています。これらのファイルをサーバー上のどこに置くべきか、少し混乱しています。セキュリティ上の理由から、ファイルやパスを公開するのは悪い考えだと思います。ただし、ファイルを public_html フォルダーの外に配置すると、「./filename」を使用するだけでは機能しません。

更新: 完全なパス名を指定しない限り、インクルードは機能しません。次のパス インクルードを使用すると、エラーが発生します。

<?php include('../includes/footer.php');?>

フッター ファイルは次のパスにあります: home/user/php/includes/footer.php。

私のサイトは次の場所にあります: home/user/public_html/site.com/files

更新 2: 新しい include_path: "/home/user/php" を追加しました。インクルードを「includes/footer.php」に変更しました。現在、正常に動作しています。

ただし、他の誰かが私の元の質問について何か考えがある場合は、感謝します。

4

3 に答える 3

1

ドキュメントルートの外にあるようです。

Web サイトを /home/user/public_html (または同様の場所) に配置する必要がある場合は、includes フォルダーを /home/user/public_html/includes に配置して、/includes を参照してください。

はい、公共のアクセス可能な場所にファイルを置かないという議論がありますが、PHP ファイルを適切にコーディングしていれば、問題にはなりません。

ユーザーはソースを見ることができず、単純なエラー トラップ (ユーザーがログインしているか、フォーム送信フィールドに値があるかなど) を使用して、エラー ページまたは好きな場所に戻すことができます。

于 2011-05-21T21:26:28.733 に答える
1

サイトが something/public_html にある場合、フォルダー something/include/footer.php を使用できます。

include '../include/footer.php'

インクルードの場合、ajaxファイルをどこに置くかについては、それほど重要ではないと思います.JavaScriptを表示して、いずれにしてもアドレスを見つけることができます

于 2011-05-21T18:22:57.797 に答える
0

要求された場合、PHP ファイルは最初に PHP によって処理されます。そのため、ユーザーは実際の php ファイルを取得できません。あくまでアウトプットです。

于 2011-05-21T18:29:49.167 に答える