2016-10-23 16 views
1

私は30秒ごとに写真をFTP経由でアップロードしているウェブカメラを持っています。ファイルは、作成された日時を使用して名前が付けられます。最新の画像をフォルダに表示して自動的に更新する

たとえば、2310/2016の13:12:00に「image20161023s131200029.jpg」というイメージが作成されます。イメージの名前付け方法は変更できません。次の画像は約30秒後にアップロードされますが、正確ではないため、次のファイル名を予測することはできません。

最新の画像を表示し、30秒ごとにこの画像を更新したいと思います。

私の問題は、scandir()とsort()を使って最新のイメージを表示することができますが、これはPHPでリフレッシュできないためです。私はまた、場所が常に同じであればJavaScriptを使用して一定の間隔で画像を再編集することができます。したがって、最新の画像が常に「/webcam/webcam01.jpg」であった場合、これは問題ありません。しかし、誰かがこれを行うための最善の(または少なくとも働く)方法を知っていれば、イメージ名が絶えず変化するとき、これをどうやって行うのかは分かりません。

私は何をしようとしているのかについてはっきりしていることを願っています。申し訳ありませんが、私はこのサイトの検索とgoogleの両方を無駄にしようとしました。

+0

何を試しましたか?正確に問題は何ですか?あなたは "これは私のコードです、これは問題です、これは私が理解できないものです"と言うのではなく、物語を語っています... – Dekel

+0

4文字の単語との衝突を避けるために、JavaScriptのスペルに注意してください。 –

答えて

1

私はここにあなたの制約条件を満たすソリューションは、あなたのサーバー側のコード(PHP)を使用して最新の画像ファイル名を解決し、それをRESTエンドポイントを通して公開する必要があると思います。

あなたのJavaScriptコードは、あなたのサーバーに画像ファイルのURLを要求します。あなたのPHPコードは最新のイメージを見つけ、そのファイルの適切なURLを返します。基本的に、あなたのクライアント側のコードのファイル名を解決するために、サーバー側のコードを使用する必要がありますファイル名を制御できずに

// Function to refresh the image. 
function refreshImage() { 
    $.get("myserver/getImageUrl", function(data) { 
     $("img").attr('src', data); 
    }); 
} 

//refresh image every 31 seconds 
setInterval(refreshImage, 31000); 

:それは次のようになります。出力ファイル名を制御して予測可能にするか、または最新のイメージを常に同じ名前にすることができれば、サーバーサイドの部分は必要ありません。

関連する問題