2011-12-10 12 views
1

これはちょっとばかげているかもしれません。 新しいインターフェイスでウェブサイトを更新する必要があります。古いコードを受け取ったにもかかわらず、私は紛失しています。拡張子が「cmt」のPHPファイル

を(私の知る限りでは、私はphpPgAdminが含まれ、完全なウェブサイトを、受け取った)ファイルのほとんどは.cmtですが、私はそれはPHPですかなり確信している、例えばindex.cmtは

<? 
include_once('redirected.php'); 
exit(); 
function get_lang_from_ip() { 
    $client_ip = $_SERVER['REMOTE_ADDR']; 
    $client_hostname = gethostbyaddr($client_ip); 

    if ($client_ip != $client_hostname) { 
     $dom_arr = split('\.',$client_hostname); 
     $lang_id = ($dom_arr[sizeof($dom_arr)-1] == 'hu') ? 'hu' : 'en'; 
    } else { 
     $lang_id = 'hu'; 
    } 
    return $lang_id; 
} 

function set_target() { 
    $valid_lang_arr = array('hu', 'en'); 
    if (isset($_GET['lang_id']) && in_array($_GET['lang_id'], $valid_lang_arr)) { 
     $lang_id = $_GET['lang_id']; 
    } elseif (isset($_COOKIE['lang_id']) && in_array($_COOKIE['lang_id'], $valid_lang_arr)) { 
     $lang_id = $_COOKIE['lang_id']; 
    } else { 
     $lang_id = 'hu'; //get_lang_from_ip(); 
    } 
    setcookie('lang_id', $lang_id, time()+3600*24*365, '/'); 
    return $lang_id; 
} 

header('Connection: close'); 
header('Location: /'.set_target().'/'); 
?> 

です.phpファイルは短い開始タグ<?で始まらず、代わりに<?phpとなります。そして、最も重要なのは、.cmtファイルは解析されません。インデックスに移動すると、ブラウザにコードが表示されるため、古いレイアウトをまとめ直すことさえできません。

何か助けていただければ幸いです。

+0

フレームワークの多くは、 '以外の用途.php'ので、彼は間違いなく彼のWebブラウザを設定する必要はありません –

答えて

3

は、次の.htaccessファイルを作成し、含めることができます。

この修正は、Apache Webサーバーまたは.htaccessをサポートするその他のサーバーでのみ使用できます。可能であれば、私はあなたが彼らの適切なカウンターパート、.phpにすべて.cmtファイルの拡張子を変更することをお勧めします、が


+0

+1有効な答えです。これはOPが望むことをするでしょう。 – AlienWebguy

+0

@AlienWebguy OPがnginxやApache以外の何かを使用している場合、Whati? – plaes

1

.cmtファイルをPHPとして解析するようにサーバーを設定する必要があります。ショートバージョンが(通常はファイルシステムのどこかにphp.iniで定義)PHPの設定でオフにすることかもしれませんがまた

、両方 <?<?phpは、PHPのための有効な開始タグです。 PHPは.cmtファイル拡張子で実行できるようにする必要があります

AddType application/x-httpd-php .cmt 

+3

を迷子にしないでください。 – AlienWebguy

+0

@AlienWebguyへぇは、最も簡単な解決策は、(.cmt'の.php' 'にリネーム) ')が最高のものです:) – plaes

3

@Josh Foskettには有効な回答がありますが、現実的な解決方法はファイルを調べて.cmt拡張子の名前を.phpに変更して道路の混乱を避けることです。

レガシーエクステンションを現在のエクステンションスタンダードに移行することで「フェーズアウト」することを検討してください。クイックフィックスではなく、これをプロジェクトにしてください。コードベースでもっと幸せになると思います。

+2

ehm ...私はまずサイトを稼働状態にして、すべてが動作していることを確認してから、リファクタリングを行います。 –

+0

@yi_Hそれは主観的です。「サイトを稼働状態にする」とは、拡張機能の名前を変更することから.htaccess内の行を追加することから、拡張機能に対応することです。後で使用できるコードを書いて、後で削除されるコードを書かないようにしています。 – AlienWebguy

+0

あなたのマントラがここでどのように関連しているかわからない、私たちは1 htaccess lineについて話している。 –

1

short_open_tagをphp.iniで有効にしてください。

他のファイルのが含まれている場合は、これが実際に実行されることを確認します。それでも、.cmtファイルを直接実行することはありませんが、メインの.phpエントリファイルがあれば、それはまさに必要な動作です。