トップページ⇒php
1001コメント300KB

△▲ WebProg 初心者の質問 Part19 ▼▽

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2009/03/06(金) 00:11:17ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part18 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1219842559/
0893nobodyさん2009/05/28(木) 11:26:55ID:cvkdPkHh
路線なのに店舗とか。
君はプログラミングだとかそう言ったことよりも、
まずはコミュニケーション力と説明能力向上に努めるべき。
0894nobodyさん2009/05/28(木) 13:19:03ID:???
で、返答無しか・・・
0895nobodyさん2009/05/28(木) 13:36:39ID:???
DBとか知らないから触りたくないのならはじめから質問するなって話だな。
0896nobodyさん2009/05/28(木) 22:15:58ID:???
何をしたいのかも伝えられんのに、
何か作ろうったって無理
0897nobodyさん2009/05/28(木) 22:24:29ID:???
自己紹介をしろとか、
だれも言ってない。
0898nobodyさん2009/05/29(金) 09:12:59ID:4+pBIE+V
バージョン1.6
tomcat6.0です。
javamailで質問です。
javamailとactivation.jarは、%CATALINA_HOME%/common/lib
の中にいれるので正しいのでしょうか。
これでjavamail送信できますか?
よろしくお願いします。
0899nobodyさん2009/05/29(金) 09:54:36ID:???
それでも構わないし、webapps/<hoge>/WEB-INF/lib でも構わない。好きにしろ。というかまずやってみろ。
0900nobodyさん2009/05/29(金) 22:34:30ID:lfQviTIS
画像と文章で1セットになったアフィを4〜5個で1セットとして
更にそれらが数セットあるとします。
これらをアクセス毎にランダムで表示させる方法はありませんか?

つまり
A(アフィ1 アフィ2 アフィ3 アフィ4 アフィ5)
B(アフィ6 アフィ7 アフィ8 アフィ9 アフィ10
C(アフィ11 アフィ12 アフィ13 アフィ14 アフィ15)
とあったら、アクセスごとに
Aパターンのアフィ Bパターンのアフィと変えていきたいんです。
0901nobodyさん2009/05/30(土) 02:33:30ID:???
>>900
やり方がいっぱいありすぎて、答えようが無いというか。

PHPとかPerlなら、ページがロードされたときに、rand関数とか使えばいいんじゃないの?
0902nobodyさん2009/05/30(土) 04:18:08ID:Eu8FAc3g
>>901
更に補足するなら
複数の場所で同時適用したいんですよ。
例えば、1〜4までの箇所があるとして
1(A〜Cパターンのアフィに変化)
2(D〜Fパターンのアフィに変化)
3(G固定)
4(H・Iパターンのアフィの変化)
といった感じで。

やり方は、もっとも簡単かつSEO的に有利なやつでお願いします。
0903nobodyさん2009/05/30(土) 04:20:08ID:???
A-1,A-2,A-3,A-4,A-5
B-1,B-2,B-3,B-4,B-5
C-1,C-2,C-3,C-4,C-5

って全部で15パターンあるってこと?
だったら、
$a[1] - #a['5']

とか、連想配列にいれておいて、あとは
randで出すってのはどう?
0904nobodyさん2009/05/30(土) 04:36:17ID:???
>>902
動的に表示を切り返る手法は、Javascriptか、サーバサイドのスクリプトになるわけだけど
その中でも簡単なPHPとPerlより簡単な方法で、っていうならまぁ無いよ。

SEOの話は、Web製作サイト初心者スレにもどって聞いたらいい。

Javascriptを使ってやるんだったら、Web製作板のどっかのスレだなぁ。
Javascript使うならPHPのほうが簡単だけど。
09059042009/05/30(土) 04:38:56ID:???
ごめん、JavascriptはWebProgにスレ立ってたね。
0906nobodyさん2009/05/30(土) 05:53:53ID:???
前は確かにあったけどスレ抽出したらなくなったみたいね。
クローラが読んでくれないJavaScriptでよければWeb制作板で。
0907nobodyさん2009/05/30(土) 13:00:57ID:cPO8/SB9
何度もすいません。
相手がどんな環境でも見れるようにしたいんです。

例えばJavaScriptを切っている人も
リロードするごとに変化する。
あるいはJavaScriptを切っていても
A-1,A-2,A-3,A-4,A-5の1つは必ず表示される。
ってのが望ましいです。
0908nobodyさん2009/05/30(土) 13:09:49ID:???
普通にサーバ側で変更するのは?
0909nobodyさん2009/05/30(土) 13:10:32ID:???
PHPでいいじゃん
0910nobodyさん2009/05/30(土) 14:10:11ID:1O+cd2Co
すいません。PHPとか言われても初心者なんで
よく判らないんです。

懇切丁寧にタグ?などを教えてくれると幸いです。
0911nobodyさん2009/05/30(土) 14:13:03ID:???
PHPはHTMLタグじゃないのでこの機会に勉強してみるといいよ
0912nobodyさん2009/05/30(土) 14:17:03ID:1O+cd2Co
>>911
>HTMLタグじゃない
FC2ブログなんですが、使用可能でしょうか?
0913nobodyさん2009/05/30(土) 14:19:31ID:???
使用不可じゃね?
0914nobodyさん2009/05/30(土) 14:20:20ID:1O+cd2Co
えー じゃあFC2ブログでも使用可能な方法お願いします。
0915nobodyさん2009/05/30(土) 14:32:41ID:???
ないね
0916nobodyさん2009/05/30(土) 14:39:55ID:1O+cd2Co
えー じゃあ、この話は諦めるしかないんでしょうか?
0917nobodyさん2009/05/30(土) 14:49:14ID:???
そりゃ君のやる気次第
0918nobodyさん2009/05/30(土) 14:59:07ID:???
>>916
ぶっちゃけfc2ブログだけじゃ無理。残念でした。
0919nobodyさん2009/05/30(土) 15:10:35ID:1O+cd2Co
一応、ファイル置き場として
TOK2のサーバー(容量無限)を利用しているのですが
そこを利用してもダメでしょうか?
0920nobodyさん2009/05/30(土) 15:23:33ID:???
CGI使えるんならできるんでわ?
0921nobodyさん2009/05/30(土) 15:29:55ID:1O+cd2Co
http://tok2.com/cgi.html
どうでしょうか? よく判りません。
0922nobodyさん2009/05/30(土) 15:45:30ID:???
使えるんじゃね?
0923nobodyさん2009/05/30(土) 15:55:44ID:???
やる気を出さない方向にがんばりすぎだろう
0924nobodyさん2009/05/30(土) 16:02:17ID:1O+cd2Co
すいません。全くの初心者なんでさっぱり判らないんですよ。
懇切丁寧に1から説明してくれるか
それが無理なら、大まかな概要でも良いから教えてくれませんか。
0925nobodyさん2009/05/30(土) 16:19:36ID:???
1.perlでランダムにファイル名を出力するスクリプトを書く
2.CGIにしてUPする
3.使いたいサイトでそのCGIへのリンクを張る
0926nobodyさん2009/05/30(土) 16:37:35ID:???
みんな親切だなぁ
0927nobodyさん2009/05/30(土) 16:41:16ID:1O+cd2Co
ありがと。
0928nobodyさん2009/05/30(土) 22:52:45ID:1O+cd2Co
一応、http://www.phppro.jp/school/phpschool/vol3/3
を元にしてやったんだけど

<?php
$a[1] = "アフィA";
$a[2] = "#アフィB";
$a[3] = "#アフィC";

$afi_bangou = rand(1,3);
print($a[$afi_bangou]);
?>

こんな感じでいいの?
これをどうやって、CGIにしたらいいの?
0929nobodyさん2009/05/30(土) 23:34:13ID:???
それPHPじゃん。tok2でPHPのCGI動くの?
0930nobodyさん2009/05/30(土) 23:43:07ID:1O+cd2Co
>>929
判らない。
perlじゃないとダメなの?
Perlだと、どう書けばいいの?
0931nobodyさん2009/05/30(土) 23:45:43ID:???
最低限の知識は自分で調べて身に付けたほうがいいよ
プログラミングってレベルじゃない
急がば回れ
0932nobodyさん2009/05/30(土) 23:57:50ID:1O+cd2Co
すいません。私は別にプログラミングの勉強がしたいわけでも
その道を進もうとしてるわけでも無いんです。
ただ手段としてPHPやCGIを使わなければならなかったので
結果的にそうなっただけなんです。
0933nobodyさん2009/05/31(日) 00:12:31ID:???
そうですか
0934nobodyさん2009/05/31(日) 00:33:07ID:???
諦めるという選択肢をおすすめします。
0935nobodyさん2009/05/31(日) 17:56:24ID:???
なんだそれ
自分で1からできないのなら諦めろ。ここにそんな親切な人間はいないよ
0936nobodyさん2009/05/31(日) 20:07:19ID:fI/m9wr5
Javaのservletの話題もここでいいんでしょうか?

サーブレットフィルターを作っています。
動的なコンテンツ(jsp、サーブレット)にのみ行いたい処理があるのですが、
フィルターが動的なコンテンツに対して呼ばれたか、
静的なコンテンツに対して呼ばれたかを
判断する方法ってありますでしょうか。
0937nobodyさん2009/06/01(月) 02:00:11ID:???
近年、Webアプリケーション作成においてJavaよりもPHP+MySQLが普及してきた
っていうソース(データ)ありませんかね?

むしろ逆ですか? よろしくお願いします
0938nobodyさん2009/06/01(月) 02:10:10ID:???
>>937
http://www.google.co.jp/trends?q=java%2Cphp&ctab=0&geo=all&geor=all&date=all&sort=0

javaのが依然、優勢だと思うけど。
0939nobodyさん2009/06/01(月) 02:13:08ID:???
http://www.google.co.jp/trends?q=java+se,php&ctab=0&geo=all&date=all&sort=0
0940nobodyさん2009/06/01(月) 02:17:41ID:???
>>938-939
Googleにこんなのあったのか・・・
ありがとうございます

ゼミの資料で>>987のようなデータ使いたかったんですが、難しいですね
0941nobodyさん2009/06/01(月) 02:19:25ID:???
>>937
でした^^;
JavaのシステムからPHP,MySQLに再構築する利点みたいなのって何かありますか?
もしくは逆にPHP,MySQLからJavaにっていうのはありますか?
0942nobodyさん2009/06/01(月) 02:20:14ID:???
それを自分で調べることに意味があるんじゃないの
0943nobodyさん2009/06/01(月) 02:27:30ID:???
そうですね
色々調べてみます
0944nobodyさん2009/06/01(月) 02:31:22ID:???
うーん。ぱっと思いつくのは求人の時給/件数とか
同一案件内で言語をリプレースってのは無駄だからやらないよ
0945nobodyさん2009/06/01(月) 07:33:31ID:???
バイトなの?
0946nobodyさん2009/06/01(月) 15:09:36ID:???
動作するサーバの絶対数が

PHP > Java

とか。
0947nobodyさん2009/06/01(月) 15:20:26ID:???
メジャーバージョンのサポート期間が

Java
  無料サポート 4、5年
  有料サポート Sun提供。最長15年
  メジャーバージョンが上がっても互換性はかなり保たれる。
PHP5
  無料サポート PHP6が出てから3、4年?(PHP4の実績から推測)
  有料サポート PHP5の有料サポートをする会社が出てくるかはまだ不明
  PHP6になると、文字列の内部表現がUTF-16になるなど
  かなりかわるのでプログラムのオーバーホールが必要になると思われる。

ということでPHPはここしばらくは業務では使いがたいと思われる。
0948nobodyさん2009/06/01(月) 15:21:15ID:???
普及って数が増えて単価が割れることでしょ
新規案件の単価がやすい方(利益の少ないほう)が普及してるってことでいいじゃんw
0949nobodyさん2009/06/01(月) 15:28:03ID:???
サポートって具体的に何してもらえるの?
0950nobodyさん2009/06/01(月) 15:31:36ID:???
セキュリティパッチやバグフィックス出るかどうかだな
0951nobodyさん2009/06/01(月) 22:29:07ID:???
PHPやperlをCGIとして使うと遅くなるって聞いたんだけど本当?
あまりお奨めしない方法なのかな?
0952nobodyさん2009/06/01(月) 22:32:50ID:???
>>951
ブラウザ組み込みのインタプリタに対してという意味なら、
プロセス起動や構文解釈の分当然遅くなる。
0953nobodyさん2009/06/01(月) 22:35:35ID:???
>>952
ありがと。じゃあ止めておくかな。
遅くなるって、どれぐらい遅くなる?
1秒以上は掛かる?
0954nobodyさん2009/06/01(月) 22:53:19ID:mfjwGsXQ
ごく小さいPerlなら300msecは遅くなるんじゃねーの?
0955nobodyさん2009/06/02(火) 08:18:40ID:???
>>952
ブラウザ組み込み・・・?
0956nobodyさん2009/06/02(火) 08:39:41ID:???
質問です

↓見たいなhtmlで、
----
<input type='button' onclick='hogehoge();'>
----

↓みたいなjavascriptで、
----
hogehoge () {
alert("test");
 document.frm.submit();
}
----

複数ページで何箇所か同じような事をしているんですが、
一箇所だけ、何故かfirefox限定でsubmitが動いてくれません。
alertのtestは出るので、hogehogeは実行されていると思うのですが。。
あと、エラーコンソールには何も出ていませんでした。

formタグとか、nameがfrmになっているかとか、ケアレスミス系は全て確認しました。
というかIEとoperaで確認すると、普通に動きます…orz

この状態で、何か思い当たる原因って考えられますでしょうか?
アドバイス宜しくお願いしますm(_ _)m
0957nobodyさん2009/06/02(火) 08:53:53ID:???
全部載せないとエスパーにしかわからんよ
0958nobodyさん2009/06/02(火) 10:44:33ID:6oflzVcZ
>>952
>>951 は CGI とかサーバーサイドの話かと思うよ
0959nobodyさん2009/06/02(火) 11:23:19ID:???
>>956 よい子はローカルルールを読んでね
0960nobodyさん2009/06/02(火) 11:24:45ID:???
>>956
submitボタンがあるとsubmit()が利かなかった気がする
まぁ試してないけど
0961nobodyさん2009/06/02(火) 15:49:21ID:3kgfpOUB
質問です。perlとアパッチで掲示板のようなものをつくりたいのですが、

サーバー負荷を考えて、テキストデータと画像のデータを2つのサーバーに
わけて保存する仕様にしたいと思っています。

それを実現する方法は、どういったものがありますでしょうか?
できれば、テキストを登録するcgi部分(仮にAとする)を窓口として画像登録も済ませることが
できる構造にしたいのです。記事番号をAからうけとって画像をアップロードを受け持つ
cgi部分は別サーバーにCGIをおいて、画像送信完了画面で、Aの部分に飛ぶという
ことしかないでしょうか?

そうした場合は、(不正な)画像だけ登録して、掲示板の閲覧cgiを参照せずに
ダイレクトに画像だけをみるということも可能ですが、これを投稿が完了しない
かぎり画像は有効にならず一定時間後に破棄されるといったギミックを仕組みた
いのですが、テキスト保存(掲示板表示)サーバーと画像保存サーバーとの
連携など、なにかアイデアがないでしょうか?
0962nobodyさん2009/06/02(火) 15:59:56ID:???
Aの処理の最後でBにコミット飛ばすようにするしかないんじゃね。
プロトコルはてきとーに。

でも普通はテキストと画像を分けるんじゃなくて
同じ処理をするサーバーを複数用意するんじゃないかねー。
0963nobodyさん2009/06/02(火) 16:07:21ID:???
普通にサーバ1のスクリプトA内でサーバ2に画像をコピーしてやればいいんじゃないの
0964nobodyさん2009/06/02(火) 16:09:05ID:???
>>961
投稿時に、画像と記事を一緒のHTTPでアップしてもらうようにすれば何でもできるでしょ。

Aサーバーは、受信完了したら、まずBサーバーに画像を転送して、それが成功したら記事
を登録すればいい。記事と画像の関連づけは、書き込み内容のデータファイルを作って、
それでやればいいじゃん。例えばタブ区切りで、URLエンコード(でも何でもいいけど)した
記事とBサーバーでの画像のパスを入れておくとかしてさ。

AからBへの画像転送は何でもいい。FTPでもSCPでも、フル権限設定できるサーバーなら、
NFSでマウントしたディレクトリに直接コピーしてもいいと思う。もしくは、BサーバーにHTTP
で画像を受信できるスクリプトを入れておいて、そのスクリプトが、Aサーバーからの送信し
か受け付けないようにしてもいいわけだし。
0965nobodyさん2009/06/02(火) 16:26:47ID:???
>>961
全てをSSL配下に置くのでも無い限り、
サーバ負荷を気にして、テキストと画像を別サーバに置く必然性は無いと思う。
回線も全く別と言うのならば、帯域分散にはなるけど。
0966nobodyさん2009/06/02(火) 16:40:46ID:???
>>963
>>964
それって負荷分散どころか負荷増えてるだろ。
0967nobodyさん2009/06/02(火) 16:44:22ID:???
>>961がどの処理の負荷を分散させたいのかがわからん。
漏れは、画像ファイルのContent-TypeをIEが無視することによって起こるXSSを排除するために、
画像ファイルの正当性を検証する処理かなと思ったのだが。
0968nobodyさん2009/06/02(火) 16:44:48ID:???
なんで?投稿より閲覧のほうが頻度高いんだから投稿時に適当に処理してやればいいじゃん
それとも投稿時の負荷低減が目的なの?
0969nobodyさん2009/06/02(火) 16:46:22ID:???
普通に考えたら投稿より閲覧の回数が圧倒的に多いだろうが、
正確なところは>>961じゃないとわからんな。
0970nobodyさん2009/06/02(火) 16:47:48ID:???
>>966
何の負荷が増えていると思う?
いまの情報内で。

画像の転送負荷のことなら、A⇒Bがそれほど遠くないサーバーなら
特に問題ないのかと思ったけど。
0971nobodyさん2009/06/02(火) 16:55:04ID:???
こんなこと言い出したらキリがない。
画像って言ってるのが例えば医療用工業用の画像とかだったりして
実は数百MBあったりするのかもしれん。

>>961の質問の仕方が悪いでFA
0972nobodyさん2009/06/02(火) 18:57:08ID:6oflzVcZ
Yahoo のように画像を置くサーバーを別にしたいんだろうね

サーバー A (CGI)
サーバー B (IMG)

A と B にそれぞれ 100Base NIC と 1000Base NIC が1枚ずつある
A と B はそれぞれ別回線 (100Base) である
A と B は Gigabit Ethernet で繋がっている (default gateway 設定無しのローカル通信のみ)
A に対して画像がアップされると B に即座にコピーされる

これなら負荷軽減出来るでしょうけど、画像系 あぷろだ でも無かったり、日あたり数十万 PV もなければ、
気にするだけ無駄ですよ。
09739612009/06/02(火) 23:42:04ID:3kgfpOUB
みなさん、沢山のコメントありがとうございます。もう少し具体的に書きますので、
引き続きおつきあいください。

先ほどは掲示板として書きましたが、それは例の話であって、オークション商品登録
閲覧システム、ブログ、記事システム、ショッピングの商品登録システム にすべて
共通する処理ですので、簡単に掲示板としただけです。個人的には、商品登録システム
やマガジン(記事)システムを作っていまして、972さんの指摘の通りヤフオクのよう
に商品ページ(記事ページ)のサーバーと画像送信サーバーを別に起きたいと考えたからです。

負荷分散の狙いは、単に、ユーザー閲覧時にテキストデータ(商品ページ)と
画像は別サーバーにしておけば、アクセス数が増えた時でも、画像送出でもたつく
ことはないだろうと思ったからです。(帯域分散という意味もあります。)もちろん、
そんな心配しても無駄というなら、画像サーバーをわざわざ分ける必要もないと思いますが。

基本的に、普通に登録cgiで商品説明や画像も登録できて、閲覧ページのcgiでは
画像は別サーバーから送信されるってことができればいいのですが。もちろん、
登録完了されていない商品の画像は表示されない(一定期間の保守プログラムで
仮登録データは削除する)といったことができるのが理想です。

また、登録閲覧するサーバー自体を複数に拡張した場合は、検索などでどの商品が
どのサーバーに記録されているかインデックスファイルを持たないといけなくなりますが
そういった部分での手法など、perlとアパッチで構成は可能なのでしょうか?

やはり、ロードバランサーとかもっと別次元の話になってくるのでしょうか?
持っているスキルはperlとちょっとしたアパッチの基本知識くらいなので、なにか
アドバイスをいただけると幸いに存じます。
0974nobodyさん2009/06/03(水) 00:14:01ID:???
>>973
ロードバランサーはこの際関係ないだろ。

その規模で考えてるなら、別に商品登録時の
画像の転送の負荷なんて微々足るものだろ。
閲覧数に比べれば。

商品登録時に画像を画像用サーバーに転送
すればいい。その手法なんて山ほどある。
んで、どこにアップロードするかは、商品ごと
に画像URL情報を持ってもいいし、商品のID
に紐付けたディレクトリを画像用サーバーに
作って、ファイル名規則だけで関連付けさせ
てもいいと思う。

あと、負荷分散とか考えるなら、商品や記事
を登録・検索する処理をRDBMSにしてもいい
と思う。件数が多くなったところでDBを別サーバー
にできるから。
09759612009/06/03(水) 00:29:31ID:gBY2kqmD
>>974
画像用サーバーに転送する手法について、少しヒントをいただけませんか?
たとえば、レンタルサーバー1で登録したデータのうち、画像のみを
レンタルサーバー2に転送し、登録成功していないデータをレンタルサーバー2
から削除する、ということも可能でしょうか?

それと、データですが、テキストファイルで構成を考えているのですが、
検索用のインデックスファイルを用意しておけば、実データファイルを
10万件ずつに区切っておけば、特に問題がないように思うのですが、いかがでしょうか?
09769612009/06/03(水) 00:33:42ID:gBY2kqmD
ちなみに、10万件ずつ区切るというのは例でありまして、
インデックスファイルで検索候補を絞ったあとに、商才表示用に
実データをあさるときに、10万行程度のファイルなら瞬時に該当
行を抜けると思いますし、それが書く10万件x10個の合計100万件のデータ
でも、それほど問題ないと思うからです。

また、SQLだとどうしても、インジェクションなどの問題で複雑になりがちで
メンテにも神経を使います。という理由でテキストファイルにこだわりたいです。
0977nobodyさん2009/06/03(水) 00:33:53ID:???
>>975
何を言っているのかわからないぞ。

登録に失敗した、というのは、どんな条件なわけ?

あと、DBについては、DBのインデックス管理よりも
効率的なインデクシングが自前でできるなら、いい
と思うけど。でも、それを実装するコストの方を考え
ると、RDBMSを使った方が早いと思うけどな。

レンタルサーバーでもMySQLが使えるところは最近
多くなってきているよ。
0978nobodyさん2009/06/03(水) 00:34:54ID:???
組めば何でも可能だし、それならやってみればとしか・・・・w
0979nobodyさん2009/06/03(水) 00:37:16ID:???
>>975
「socket ftp」
0980nobodyさん2009/06/03(水) 00:41:32ID:???
FTP/SCP/NFS(後者二つはレンサバじゃ辛いかw)
あとは、画像鯖と本体鯖をHTTPでつないでもいいと思う。
HTTPでつなぐなら、本体側からみた画像のファイル名を
抽象化できるので楽な管理ができるかもよ。
0981nobodyさん2009/06/03(水) 01:14:09ID:UMpH1Jgx
サーバーは1台まるごと借りられるプランで、2つ借りるんだよね?
それとも共有サーバーを2つ?



FTP で put するのが一番簡単かと。
0982nobodyさん2009/06/03(水) 05:56:46ID:???
例が多い人だな
0983nobodyさん2009/06/03(水) 10:30:12ID:hUsGsYQX
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21843&forum=12
このサイトを見て勉強しているんですが、この人と同じように10件や20件ずつと
件数を指定して表示し、オーバーしたらphpのpear:pagerのように次にいかせる
方法をとりたいのですが、なにかいい方法ありますか?
0984nobodyさん2009/06/03(水) 10:32:53ID:???
ORDER BY してLIMIT OFFSETで
0985nobodyさん2009/06/03(水) 11:36:37ID:???
>>983
これとかは?
ttp://www.phpbook.jp/pear/pear_pager/
0986nobodyさん2009/06/03(水) 21:28:19ID:IbTtaomD
ASP.NET MVC 1.0 (.NET Framework 3.5 sp1)
Visual Web Developer 2008(C#)
SQL Server 2005 Express

ブログのようなシステムを作成中です。
一つの記事に対して、3つの画像をアップロードできる
ようにしたいのですが、そのアップロードされた画像
をどのように管理すればよいのか分かりません。

1)特定フォルダに全部保存
この方法だと、画像が増えた場合にディスクアクセスが
遅くなりそうな気がしますし、精神衛生上よくない気がします。

2)適当な数(1000ファイルくらい?)でフォルダ分け
1番の問題を考えての方法。何となくこっちの方が良い
ような気がしてます。

どちらの場合でも、「ファイルの振り分けやナンバリング」
をどのようにやるのか?という疑問も残っています。

画像ファイルはどのように管理するのが適当なのでしょうか?
また、画像ファイルを管理するためのテーブルや、プログラム?
を作成するものでしょうか?

投稿した記事は(画像も)ディスクが一定量になるまでは
保存し続ける、という運用を想定しています。

よろしくお願いします。長文失礼しました。
0987nobodyさん2009/06/03(水) 21:45:17ID:???
フォルダの中にファイル増えたら遅くなんの?
それwindowsのGUIで開いた時の経験の話じゃねーの?
0988nobodyさん2009/06/03(水) 21:58:02ID:???
>>987
まさしくその経験の話です。
あれは、ファイル情報もろもろを取得しているから
遅いのであって、ただ単にパスとして指定するだけなら
特に問題ない感じなんですかね?
「体感的には全く問題なし」ということも十分考えられますが、
定石としてはどのような管理がなされているかをご教示
願いたい、という質問の趣旨だと思っていただければ幸いです。
0989nobodyさん2009/06/03(水) 22:06:31ID:???
ファイルを抽出してHTTPで送り出すだけなら、
一フォルダにたくさんあって遅くなるのは数十万
ファイルのオーダーだよ。

気になるなら、容量は食うけど、SQLSVにバイナリ
で突っ込んでもいいんじゃない。画像の固有IDに
だけ、インデックスを貼るようにしてさ。
0990nobodyさん2009/06/03(水) 22:06:47ID:???
ファイルのメタ情報を拾ってくる分重いというのはそのとおりだけど、
ディレクトリエントリはひとつずつ線形に列挙して探すしかないので、
ファイル数が多いと目的のファイル名を見付けるまでに相対的に余計に
時間がかかる可能性はあるかもしれない。

それとも、最近のFSは、ファイル名からO(1)で実データに到達できるよ
うになってたりするんかな?
0991nobodyさん2009/06/03(水) 22:09:09ID:???
>>987
ファイルシステムにもよるけど遅くなったり
ディレクトリあたり32768個以上のエントリを置けなかったりするよ。
0992nobodyさん2009/06/03(水) 22:10:19ID:???
毎日2つエントリが増えると仮定して、画像ファイルは一ヵ年で最大2190個
20まんこ許容するなら90年たったら次のフォルダを作るとかどうでもいいレベルなので単一ディレクトリに押し込むのが普通と思うが
ブログでは月ごと、年ごとのフォルダ分けくらいはできるものがある
規定数のフォルダに均等に分けるなら例えばアップロード時タイムスタンプの下一桁で分けるとかなんとか。しかしExplorer的一覧性は皆無
レス数が950を超えています。1000を超えると書き込みができなくなります。