1

コンテキストは次のとおりです。ウェブサイトの Google Earth プラグインに重いファイルをロードする必要があります。これらのファイルへのパスを作成し、ajax を介して javascript に送信する php スクリプトがあります。次に、プラグインがファイルをダウンロードして地球上でビルドします。これには長い時間がかかります。公開イベントのためにそれをスピードアップする必要があります。コンピューターは Web サーバーを実行し、ハード ドライブにこれらのファイルを格納できます。

ここに私の質問があります:クライアントがローカルサーバーを実行しているかどうかを確認し、特定のファイルが含まれているかどうかを確認する方法はありますか? または、少なくとも、このローカル サーバーから php スクリプトを実行するには?

何かのようなもの :

if(is_file('localhost/files/heavy.kmz'))
    $path = 'localhost/files/heavy.kmz';
else
    $path = 'www.randomsite.com/files/heavy.kmz';

return $path

もちろん、このローカルホストは間違ったサーバーを参照しています :(. もしそれが可能であれば、セキュリティ上の問題があると思います. しかし、私はとにかく尋ねます.

私はスタックオーバーフローの習慣にあまり慣れていません。何も悪いことをしていないことを願っています。

コロロ。

編集:少し明確にしようとします。

localhost 上のファイルのパスを知っています。パスまたは別のパスを送信するために、それが存在するかどうかを確認する必要があります。見つけられれば、サーバーからダウンロードする必要はありません。ローカル Web サーバーは、ファイルの php チェックを許可するためにマシン上でのみ必要です。

4

1 に答える 1

0

データファイルが同じマシン上にあり、データファイルの存在を確認するために使用しているスクリプトに対して相対的な__DIR__場所を特定できる場合は、 を使用して(またはdirname(__FILE__)php が古い場合) パスを作成します。

たとえば、次のようなディレクトリ構造があります。

  • ファイル/
    • 重い.kmz
  • check.php
  • ...

次にcheck.php、期待どおりに次の作業を行います。

if (is_file(__DIR__.'/files/heavy.kmz')) {
    $path = __DIR__.'/files/heavy.kmz';
} else {
    $path = 'www.randomsite.com/files/heavy.kmz';
}
于 2013-02-22T10:27:38.980 に答える