0

この小さなPHP関数をASP(クラシック)に変換しようとしています:

<?php

    function load_partial() {
        $inc_folder = 'partials/';
        $inc_page = array_key_exists('page', $_GET) ?
        $_GET['page'].'.php' : 'home.php';
        if (!file_exists($inc_folder.$inc_page)) $inc_page = '404.php';
            include $inc_folder.$inc_page;
        }
    }
 ?>

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

2

従来の ASP では、PHP でできるのと同じ方法で「動的」インクルードを作成することはできません。実際<!--#include file="myInclude.asp"-->、クラシック ASP の実際のインクルード ( ) はパラメータ化することさえできません (変数を使用してファイルをインクルードします)。

ただし、クラシック ASP は、他のスクリプトのコンテンツを実行できるようにする 2 つの他のメソッドをサポートしており、これらのメソッドは、実行するスクリプトを含む変数をサポートしています。メソッドはServer.ExecuteServer.Transferです。ただし、これらのメソッドには注意してください。呼び出し元のスクリプトで宣言されたすべてのローカル変数は、それらの内部では使用できないためです。したがって、ローカル変数の内容を共有したい場合は、別の方法 (セッション、ファイル、DB など) を見つける必要があります。

例 :

Dim myScript

myScript = "scriptToInclude.asp"

Server.Execute myScript 
于 2013-03-08T17:00:02.987 に答える
1

従来の ASP には include ディレクティブがありません (もちろんありますが、静的です)。

ファイルの内容を取得してブラウザーに出力する場合は、ファイルを開き、読み込んでから吐き出す必要があります。

この質問が役立つ場合があります:クラシック ASP でテキスト ファイルを読み取る方法

于 2013-03-08T16:49:38.217 に答える