2017-10-13 6 views
-1

phpファイルからappcast xmlファイルを読み込もうとしています.xmlにはchangelog.htmlを表示するためのファイルパスが含まれています。&はファイルへのダウンロードパスを示します。通常、私はブラウザがこのようなものにアクセスできるようにしたくないので、xmlファイルchangelog &はすべてWebルートディレクトリの上のフォルダにあります。 phpファイルは、Webrootの内部にあります。Webルート上でXMLファイルにアクセスして配信する

ここに私のPHPコードは次のとおりです。

$filename = "./home/myaccountusername/folder1/folder2/appcast.xml"; 
    if (!file_exists ($filename)) throw new Exception("File not found"); 

    // Set the content type to xml 
    header('Content-Type: text/xml'); 
    header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); 
    header('Content-Length: ' . filesize($filename)); 
    // Tell the user-agent (Stacks) not to cache the file 
    header('Expires: 0'); 
    header('Cache-Control: must-revalidate'); 
    header('Pragma: public'); 
    // Flush the output buffer 
    ob_clean(); 
    flush(); 
    // Read the data and send the file 
    //throw new Exception("FileName: " . $filename); 
    readfile($filename); 
    exit; 

それは例外を投げ:ファイル私は私の最終的な表示インターフェースに渡されたとき、ウェブルート&の上に見えるようにパスを記述しない、変更履歴を可能にする方法

が見つかりません.htmlを開くには&ファイルをダウンロードしますか?

注:私は/家...と家であることをパスの先頭を試してみた... &でも../../../folder1/ ...

が可能です。このPHPでセットアップするには?それを理解できません。

アップデート1:

- public_html 
    - appcastsecure 
    - productfolder 
    - appcast.xml 
    - changelog.html 
    - productzipfile.zip 

    - company_folder 
     - secureappcast 
     - appcastfile.php (start here for pathing) 

私はappcastfile.phpにDIRを使用しているパスがappcast.xmlに与える:

$filename = /home/userdir/public_html/company_folder/secureappcast/../../appcastsecure/productfolder/appcast.xml 

私の問題ここでは、サーバのツリーです appcast.xmlがサーバー上のクライアントにプッシュされているため、applet.xmlにパス設定を設定する方法がわからないので、changelogを指すようにします& productzipfile on私のサーバー(すべてのpublic_htmlの外である)

答えて

0

まず、あなたの例では1は、現在のディレクトリにフォルダの相対にアクセスしようとしている...

$filename = "./home/myaccountusername/folder1/folder2/appcast.xml"; 

最初のドットはあってはなりませんとにかく

ディレクトリに関連するファイルにアクセスする場合は、__DIR__を使用して、現在使用しているスクリプトのディレクトリを指定できます。これは、アクセスしようとしているファイルの場所が現在のスクリプト。したがって

$filename = __DIR__."/../appcast.xml"; 

このスクリプトを含むディレクトリの上のファイルです。特定の要件に応じて調整する必要があります。

+0

こんにちは@Nigel、上記のUpdate1を参照してください。うまくいけば、私が何をしようとしているのかを説明してください。 – parti

関連する問題