0

一般的なクエリ:ファイルを実行せずに(変数は別の時点で3番目のPHPファイルを使用して設定されているため)、データベースを使用せずに、別のPHPファイルから変数を読み取る方法はありますか?

特定のインスタンス:上司が毎日変更したいWebページを作成しました。彼は、生のHTMLおよびCSSコーディングにアクセスすることを望んでいません。間違いがあると、私の側で頭痛が発生するからです。そこで、彼がWebページ内の特定の文字列データを毎日変更して、コードへのアクセスを制限できるようにする小さなポータルを作成するかもしれないと思いました。

私が考えたフレームワークは次のように機能します。

  • index.phpは、インターネット上のすべての人が閲覧できるページです。レンダリング時に、以前に別のファイルに保存された$Category変数を要求したいと思います。
  • edit.phpは、カテゴリとパスワードの2つの入力ボックスを備えた単純なフォームを表示するWebページです。送信ボタンをクリックすると、下のファイルにデータがPOSTされます。
  • configuration.phpは、edit.phpがフォーム情報を渡すファイルです。フォーム情報が渡されると、入力パスワードのcrypt()バージョンが一致するかどうかを確認し、Category情報を$Categoryという変数に格納します。

ここで、index.phpがconfiguration.phpファイル内に以前に保存された$ Categoryの値を、実行せずに、データベースを使用せずに読み取る方法が必要です(データベースにアクセスできないため)。セッション値は、上司によって再度変更されるまで、すべてのユーザーとすべてのセッションで同じである必要があるため、使用できないと思います。これを実装する方法はありますか、それとも別の方法を使用する必要がありますか?

4

3 に答える 3

1

代わりにデータをファイルに書き込んで、そこから読み取ることを検討してください。

于 2012-08-11T22:30:31.910 に答える
0

サイトには、ファイルをアップロードできるプライベートエリアが必要です。ファイルはサイトの一部として提供されませんが、PHPコードから読み取ることができます。次に、上司は適切な値を含む新しいファイルをアップロードするだけです。

于 2012-08-11T22:32:47.480 に答える
0

そのため、独自のファイルにデータを書き込んで保存する代わりに、スクリプトが実行されるたびに (したがって変数が変更される)、情報を必要とする元のファイルを動的に上書きすることにしました。

edit.php の送信ボタンが押されると、configure.php に情報が渡されます。configuration.php は、実行が完了するまでに index.php を書き換えます。以下は、完全に別のファイルにデータを書き込むことなく、誰かが同様のものを実装したい場合に使用したコードの一部です。

// Read the contents of the file you want to change, into a variable
$indexContents = file_get_contents('index.php');

// Edit the contents with srt_replace or preg_replace
$indexContents = preg_replace('#<h2>(.*?)\?</h2>#i', '<h2>'.$title.'?</h2>', $indexContents);
$indexContents = preg_replace('#best-(.*?)"#', $url.'"', $indexContents);

// Write the contents of the variable back to the same file name, overwriting it
file_put_contents('index.php', $indexContents);

echo '<h1>Success!</h1>';</code>
于 2012-08-13T22:19:33.867 に答える