質問箱/2331

カテゴリ
サマリ自作PHPスクリプトをincludeできますか?
バージョン1.4.3
投稿者Miu?
状態完了
投稿日2004-09-10 (金) 19:46:19

質問

データベースの一覧を表示するようなPHPスクリプトを作成し、iframe.inc.phpを使用してインラインフレームでその結果を表示して運用しています。

ところが結果表示が縦方向に長いためにフレーム内でさらにスクロールしてしまい、非常にみにくくなってしまいました。

include(ローカルサーバスクリプト名)のような書式で実現させたいのですが、どうしたら良いでしょうか?

回答

  • そのPHPスクリプトをプラグイン化してみては。 -- 2004-09-10 (金) 20:52:26
    • 説明不足ですみません。同じScriptで、Pukiwikiに組み込む場合と通常のHTMLでフレームを利用して表示する場合とで共用させたいのです。 -- Miu? 2004-09-10 (金) 22:38:57
  • そのphpスクリプトで2種類の出力ができる様にして、そのうち一つをプラグインと組み合わせるとか・・・ -- henoheno 2004-09-11 (土) 00:56:36
    • 共通部分を切り出して、それぞれincludeしちゃえば楽ですね :) -- teanan 2004-09-11 (土) 01:05:59
  • なるほど・・・やっぱり独自にプラグイン化したほうがいいんですかね?やってみます! -- Miu? 2004-09-13 (月) 08:56:44
  • まだまねごとLVのスキルなので、質問させてください。 -- Miu? 2004-09-14 (火) 14:17:04
  • そのままincludeしてしまうとスキンの上部外に表示されてしまうのですが、スキン内に表示する方法をご教授お願いできませんでしょうか?returnの記述方法なんでしょうか・・・? -- Miu? 2004-09-14 (火) 14:23:54
    • 動作の分かっている小さなプラグインを見てみましょう。例えば、br.inc.php。dev:PukiWiki/Plug-inの仕様も目を通しておいた方が良いですね。 -- 2004-09-14 (火) 18:05:32
  • と、これだけでは何なので、ごく簡単に既存スクリプトの改造/プラグインの作成法を書いてみます。 -- 2004-09-14 (火) 18:34:57

    まず、目的の既存スクリプトの、body部*1を出力する部分を 切りだし、内容を返値とする関数 hoge()として、 hoge.phpというファイルに分けます。hoge()はhoge.php内で 完結し、実行可能であるものとします。

    で、既存スクリプトのbodyの出力部は、include('どこか/hoge.php');してecho hoge(); するように改造する訳です。

    こうしておけば、同じbody出力スクリプトを使ったプラグインは 非常に簡単です。

    hoge.inc.php:

    <?php
    include('どこか/hoge.php');
    
    function plugin_hoge_convert()
    {
      return hoge();
    }
    ?>
    ページで
    #hoge
    と記述すれば、そこに既存スクリプトのbodyと同じ出力が 得られます。

    但し、実行ディレクトリに依存するものだったり すると、こう素朴にはいきません。 また、不特定多数に公開しているサイトであれば、セキュリティにも注意を 払う必要があります。

    ぱっと思いつく限りを書いてみましたが、間違いがあったらどなたかが指摘してくれるでしょう。&smile;

  • 簡単なテストデータを作って確認しました!いろいろやってみます。ありがとうございました! -- Miu? 2004-09-14 (火) 20:37:40


*1 <body>と</body>の間

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-09-14 (火) 20:37:40
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u6. HTML convert time: 0.268 sec.

OSDN