2017-02-20 17 views
0

私はSynology DS1515 +を持っており、Web StationにApacheとPHPをインストールしました。私はウェブページをホストできるウェブディレクトリ(フルパス/ボリューム1 /ウェブ)を持っています。 私はビデオディレクトリ(フルパス/ボリューム1 /ビデオ)からビデオを持っていたいタグビデオ付きのPHPファイルを持っています。 だからPHPファイル内のWebディレクトリに、私は以下のようなものを持っていますが、ビデオファイルがホストされていない:「Synology - Webディレクトリから他のディレクトリへのアクセス

<video id="video" autoplay> 
    <source src="/volume1/video/movie.mp4" type='video/mp4'> 
</video> 

私はまた、」../video/movie.mp4' のような関連のパスをしようとしたが、それもdoesnの仕事。 私はこの質問を読んでいます:Access synology shared folder from PHPと私はopen_basedirを編集しましたが、効果はありませんでした。 ありがとうございます。

答えて

0

あなたのsrcは、提供されているApacheのパスに関連している必要があります。

など。 apacheが/ volume1/website/public_htmlからコンテンツを提供している場合、ソースはこのフォルダに相対的です。 /volume1/video/movie.mp4に行くためにこれを打ち破ることはできません。

は、Apacheを見てみここhttps://httpd.apache.org/docs/trunk/getting-started.html

+0

[OK]をクリックしても、関連するパスが機能しないと書いてあります:( 私は "../../video.movi​​e.mp4"を試しました。 – eltadziko

+0

言われたように、apacheはあなたのディレクトリからあなたを逃しません。たとえば、apacheがこのディレクトリ '/ volume1/website/public_html'にサービスしている場合、このディレクトリから' ../ 'でエスケープすることはできません。' ../../ video.movi​​e.mp4'を実行すると'/ volume1/website/public_html/video.movi​​e.mp4'でトップレベルのファイルを探しています。これを確認するには' video.movi​​e.mp4'をApacheの提供ディレクトリにコピーしてください。 –

0

を始めるいくつかは間違いなく彼らの懸念を表明するために行くんだろう - と、通常、私はそう正しく言うと思います。しかし

、後藤のWeb駅、PHP設定で選択PHPのバージョンをクリックして、open_basedirのの最後に/ /音量の/ビデオを追加、すなわち追加:/音量の/ビデオ/パスはによって分割されています

私はWebルートの外側から写真を提供するのと同様の操作を行います。私は/ volume1/photo(私の場合)から必要なファイルを取得するPHPスクリプトを持っています。 src = "getfile.php?name = file.jpg"のように使用して、必要なファイルにアクセスして提供することができます。回避策のビットが動作します。

関連する問題