0

少し基本的なヘルプが必要です。ユーザーがフォームで送信したパラメーターを使用して、その場で XML ファイルを作成しています。フォームが送信されたら、PHP コードにジャンプします。そこで、作成された XML ファイルをダウンロード/表示するための href リンクを提供したいと考えました。

これは私のコード例です:

<?php

$outputForm = 1;   

if(isset($_POST['submit'])){
$outputForm = 0

//Function to generate XML file which works as expected, so that XML file is there
createXML($folderPath, $albumName, $dateOfEntry);

//My XML file is named as albumName.xml and stored in the folderPath as specified
echo '<a href = "' .  $folderPath . $albumName. '.xml' . '">XML FILE</a>';
}
 else{
            $outputForm = 1;
        }
        if($outputForm == 1)
        {     
       //Here follows my input form
     <?php
       }
     ?>

FYI: 
$folderPath = 'c:/htdocs/output/';
Therefore:
$folderPath . $albumName = 'c:/htdocs/output/jessi';
In this example xml file name:
jessi.xml

出力に href リンクが表示されますが、クリックしても何も起こりません。「XML FILE」リンクの上にカーソルを移動すると、xml ファイルへのフルパスも表示されます。

PHPスクリプトにhrefリンクを埋め込んで、XMLファイルをダウンロード/表示する方法を教えてください。

ありがとう

4

1 に答える 1

0

問題は、http プロトコル (ローカル サーバーまたはリモート) を使用してコードにアクセスしてコードを実行していて、アクセスしようとしているファイルがローカルであり、ファイル URI スキームを使用してローカル xml ファイルにアクセスしていることです。おそらく何らかのセキュリティ上の理由で、そのファイルへのアクセスを制限します。(ローカルホストから実行するのではなく) ブラウザーで直接 html ファイルを開いてファイルにアクセスしようとすると、そのリンクを使用してそのファイルの場所にアクセスでき、ブラウザーは制限しません。ただし、php コードを実行することはできません。

そのため、ローカルホストの相対パスからファイルへの相対パスまたは参照を使用できます。これには http URI スキームを使用すると、ブラウザーはローカル ファイルを開くことを制限しません。

于 2012-06-27T10:49:13.990 に答える