0

dynamicxml.php一連のコードを実行し、データベースからデータを引き出し、XML ファイルを作成するという PHP ファイルがあります。リンクを右クリックして保存するとdynamicxml.php?var=test、ダイアログ ボックスで xml をデフォルトのファイル タイプとして選択し、ファイルの名前を var.xml に変更する必要があります。

header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<blah><blah_blah>'.$_GET['var'].'</blah></blah>';

リンクをクリックすると、xml ファイルがブラウザに読み込まれます。そのページを保存すると、var.xml として保存されます。ただし、右クリックして保存すると、dynamicxml.php および php ファイル タイプとして保存されます。

htaccess で操作する必要がありますか、それとも他の方法がありますか?

4

1 に答える 1

0

ブラウザは「名前を付けて保存」を使用して保存する方法が異なるため、これを実行しようとしないでください。たとえば、chromeとoperaは、ファイルを.htm(おそらく)として保存します。私は状況を修正するための2つの可能な方法を見ます(そして私はそれらのどちらもしません):

  • xmlをphpとして処理するようにapacheを設定します。AddType text/xml php

  • あるディレクトリの*.xmlからdynamicxml.phpにすべてをリダイレクトする書き換えルールを作成します

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.xml$ - [NC,L]
    RewriteRule ^.xml$ dynamicxml.php [NC,L]
    
于 2010-07-04T12:17:56.503 に答える