WEBサイトに関する質問です。下記サイトを参考にして頂きたいです。


画像のアップロードを楽にできる方法を探しております。
画像が何枚が配置してあり、新しい画像を一番左上に配置して場合、
その次の画像が順にずれていくような事がしたいのですが難しいのでしょうか?

サイト内のindex直下のimageフォルダ内に画像をアップロードすると自動的に更新するシステムを構築したいです。

簡単ではないと思いますが、準備するプログラムやソーズ等が知りたいです。
ホームページ制作はできるのですがPHPやPerl等は初級中級レベルなもので…

伝わりずらい質問ですいませんがよろしくお願い致します。

▼参考サイト
http://www.brandnu.co.uk/home.php

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/07/31 18:58:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:Mars No.1

回答回数203ベストアンサー獲得回数20

初級中級レベルであれば習作にはちょうどいい題材だと思いますよ。

・ディレクトリを読む。

・ディレクトリ内の画像ファイルとその更新日時を配列にストックする。

・更新日時で並び替え。

・適当なHTML要素として吐き出し。

ってところでしょうか。

レイアウトに関しては単純にリストにでもしておけばブラウザの幅か親要素に幅を指定しておけばその範囲で折り返してくれるでしょう。

ただし、例に挙げているサイトのようにサムネイルの大きさを統一したいとなると少し複雑。

表示のたびに全てのサムネイルを毎回動的に作るのも非効率なので別のディレクトリなどにキャッシュとして貯めておくとか工夫が要ります。

また、一度に大量のファイルを追加する可能性があるなら、サムネイル作成用のスクリプトを別に用意して実行するような運用が要るかもしれません。


少し毛色が違いますが、単発で最新(または指定した鮮度)の画像を表示するというCGIがありましたのでもしかしたら参考になるかも。

http://localhost/wws/cgi-plant/ni/

id:suke050239

ごめんなさーい。少しわかりずらかったです。

URLもNot foundです…。

2009/07/31 14:50:02
id:takano32 No.2

回答回数58ベストアンサー獲得回数5

ポイント40pt

http://www.ruby-lang.org/

cronデーモンとRubyスクリプトを使って同じようなことをしていた時期があります。

# 個人で使っていただけなので、その後flickrが便利になったときに移行しましたが。

id:suke050239

すいません…

まだtakano32さんのレベルに達していないのでよくわかりません…

2009/07/31 14:54:31
id:karaki No.3

回答回数17ベストアンサー獲得回数6

ポイント40pt

プログラムとしては、アップロード用と表示用の2種類を用意します。

▼アップロード用

まず、アップロード用はウェブページのフォーム(<input type='file' name='***' />)から送信されたファイルを保存します。

ここで、保存する際にファイル名を現在の「年月日時分秒+nn」にしておきます。

(nnは00~99までの連番で同じ時間にアップロードがあった場合の対策です)

下記を参照

http://www.standpower.com/php_up.html

▼表示用

次に、表示用はimageフォルダ内からファイルの一覧を取得します。

glob関数を使うと簡単です。(http://phpspot.net/php/man/php/function.glob.html

取得したファイルのリストを降順にソートします。(新しいファイルから表示するため)

最後にそのファイルのリストをHTMLに変換します。

以下、簡単なソース

$flist = glob("image/*.jpg");
rsort($flist);
foreach ($flist as $fname) {
  echo "<img src='".$fname."' />";
}

※PHPは不慣れなため上記のソースは間違っているかもしれません。

あとは、HTMLやCSSで制御できると思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません