2

関数を含むファイルを含めるのに問題があります。次を実行する blog.php というファイルがあります。

<?php
require 'db.php';
require 'functions.php';

//Connect to the DB
$conn = Blog\DB\connect($config);
if ( !$conn ) die('Problem connecting to the db.');

blog.php ファイルは blog フォルダーにあります。blog フォルダー内には、次のコードを含む index.php ファイルを含む admin フォルダーがあります。

<?php
require '../blog.php';

これにより、データベース接続関数を含む db.php ファイルを呼び出す blog.php を呼び出すことができるようになりますが、接続関数が未定義であるというエラーが表示されます。blog.php ファイルがある場所 (db.php と同じディレクトリ) からではなく、blog>admin フォルダーから db.php を要求しようとしていますか? どうすればこれを修正できますか?

4

1 に答える 1

2

ここにはいくつかのオプションがあります。相対リンクを変更して、本来あるべきフォルダーに適切に到達するか、chdir() メソッドを使用して現在の作業ディレクトリを適切なフォルダーに変更します。絶対パスを使用することもできます。

相対リンクを変更する方法は、ディレクトリ構造のどこからファイルにアクセスしているかによって異なります...

ブログファイルを次のようにヒットしていると仮定します。

http://www.site.com/blog/blog.php

また、管理者フォルダーがブログフォルダー内にあること。

次のようにファイルを含めます。

include "admin/db.php";
include "admin/functions.php";

繰り返しますが、これらのファイルは両方とも blog フォルダー内の admin フォルダー内にあると仮定します。

IE ルート/blog/admin/db.php

私はあなたの言っていることをこのように解釈しています...

于 2013-09-02T18:26:18.073 に答える