0

Web サイトの 1 つでイメージ管理スクリプト/モジュールを使用しています。スクリプトの古いバージョンでは、1 つのページに複数の画像ギャラリーをインポートするのに問題はありませんでしたが、新しいバージョンにアップグレードしたため、次のエラーが発生しました (サーバー上の正確なパスを省略しました)。

Fatal error: Cannot redeclare general_setting() (previously declared in public_html/myfolder/includes.php:16) in public_html/myfolderincludes.php on line 16

2 つの異なるギャラリーを含めましたが、このため、同じ関数を 2 回呼び出していることを理解しています。致命的なエラーが参照している機能は次のとおりです。

function general_setting($arg) {
$row = mysql_fetch_array (mysql_query ('' . 'SELECT SQL_CACHE `value` FROM `settings` WHERE `setting`=\'' . $arg . '\'')) or die(mysql_error());
return $row['value'];

}

今私の質問は...「gallery-overview」ページで使用するスクリプトのインクルードの数に関係なく、この関数を 1 回だけ呼び出すようにこれを変更するにはどうすればよいですか。

前もって感謝します!

4

1 に答える 1

1

関数をラップすることができます

if (!function_exists('general_setting')) {
    function general_setting($arg) {
    }
}

これは、一般的な PHP フレームワークでも一般的な方法です。

于 2013-06-10T22:23:07.270 に答える