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

【PHP】下らねぇ質問はここに書き込みやがれ 55

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/09/29(土) 18:35:56ID:YlkpEUW6
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで


0809nobodyさん2007/10/10(水) 11:47:23ID:???
>>805
mysql以外のDBMS
08107962007/10/10(水) 11:51:12ID:0neE8nHZ
残念ながら釣りではないです。
回答頂いた方ありがとうございます
色々と調べてみます
0811nobodyさん2007/10/10(水) 12:01:35ID:???
つーかなんでプリペアドステートメントとか使わないの?
htmlspecialcharsとかaddslashesすりゃ良いって人よく見るけど
それぞれ用途があるんだからそれぞれの用途に合ったものを使うべき

DBに突っ込む時にhtmlspecialcharsとかしとけば表示の時楽だが
生データじゃないので再利用性が落ちるし
こういう人に限って表示の時も
再度htmlspecialcharsをしたりと言う場合が多い気がするんだけど?
0812nobodyさん2007/10/10(水) 12:04:34ID:???
MT4の重さは異常、調べたらDB設計が糞だったw
0813nobodyさん2007/10/10(水) 12:06:56ID:???
>>811
やり方はともかく一貫性は大切〆。
0814nobodyさん2007/10/10(水) 12:11:05ID:???
>>808
取り出せるだろ・・・
0815nobodyさん2007/10/10(水) 12:14:54ID:???
>>814
SELECT * FROM table WHERE moji = 'Don't'
これじゃ取り出せないよなあ?
どうやって取り出すよ?
0816nobodyさん2007/10/10(水) 12:16:11ID:???
>>815
おまえ頭悪いだろwwwww
0817nobodyさん2007/10/10(水) 12:16:58ID:???
釣りだろ、読み出す前に入れれないだろw
0818nobodyさん2007/10/10(水) 12:18:44ID:???
>>816
俺みたいな頭悪いやつに頭悪いだろと言っても意味ねーんだよ
で?どうやって取り出すよ?
とりあえず答えてから貶せ
0819nobodyさん2007/10/10(水) 12:19:49ID:???
>>815
ちょっと笑っちまったじゃねーか
insertだろうがselectだろうが、SQL文に入れる文字列はエスケープ掛けるんだよ。
$sql = "SELECT * FROM table WHERE moji = '" . mysql_real_escape_string("Don't") . "'"


0820nobodyさん2007/10/10(水) 12:20:02ID:???
>読み出す前に入れれないだろw

釣りか?入れれるだろw
0821nobodyさん2007/10/10(水) 12:20:55ID:???
>>820
815のお頭ならって話だよw
0822nobodyさん2007/10/10(水) 12:32:14ID:???
>>811
prepareにしろescape処理の関数にしろ至れりつくせりのDBMSなら何も問題ない
しかしPHPでサポートされてるDBMSって全てが横並びで標準実装ってわけでない
某SQLServerみたいに見放された(?)感のあるDBMSすらある
PDOに移行すれば救われるのかもしれないけど native driver がこれまた将来に
渡って保証されていない物もある
しょうがないから妥協している箇所を否定されたら何もできないよ
08237882007/10/10(水) 12:40:36ID:M9anXW7v
>>797
ん〜、もはや変数にもならないんですね。
ちょっと不便だなぁ。PHPらしい簡易化による不便さですね・・・。

>>807
ごんめんなさい、質問文が間違えてtrueとfalseが反対になってました。
0824nobodyさん2007/10/10(水) 12:40:37ID:???
>>822
prepareはともかくescapeなんて、sqlserver_escape_string()みたいな関数1個作ればいいだけでしょ?
そんなに悩むこともない気がするんだが。
0825nobodyさん2007/10/10(水) 12:45:33ID:???
>>819
htmlspecialcharsとmysql_real_escape_string両方使ったら取り出せなかった。
htmlspecialcharsをコメントアウトしたら取り出せたorz
0826nobodyさん2007/10/10(水) 12:46:09ID:???
>>825
何回エスケープするんだよ
0827nobodyさん2007/10/10(水) 12:47:20ID:???
何の処理をしているのかわかってないらしいw
0828nobodyさん2007/10/10(水) 12:50:11ID:???
>>822
将来の話なんて出すべきもんじゃないだろ
PDOじゃなくてもPEARとかのライブラリ類もあるし
動作的に同じであれば良いんじゃないの?
0829nobodyさん2007/10/10(水) 12:55:41ID:???
>>827
だからいちいち貶すだけのレスはやめれ
わかってないから聞いてんだよw
0830nobodyさん2007/10/10(水) 12:59:23ID:???
あれ?
DBに入れる際には、mysql_real_escape_string
HTMLに出力するときには、htmlspecialchars
じゃないの?
0831nobodyさん2007/10/10(水) 13:01:13ID:???
>>829
質問するという意思があるの?
じゃあなんでID出さないの?
0832nobodyさん2007/10/10(水) 13:11:14ID:???
>>831
わかったよ。ID出さないから答えなくていいよ。
じゃあこの話は終了ね
0833nobodyさん2007/10/10(水) 13:12:29ID:???
ID出さずに逃げたwwwwwwテラチキンwwwwwwwww
0834nobodyさん2007/10/10(水) 13:15:00ID:???
↑
こういうのがうざいんだよなぁ

ちなみに「htmlspecialchars() だけでは不十分」らしいな
0835nobodyさん2007/10/10(水) 13:59:21ID:???
データベースで$categoryの中に1,2,3,4とか数値を入れてるのですが、
$category=1に該当するデータ数を出すにはどう書けばいいですか?
0836nobodyさん2007/10/10(水) 14:03:30ID:???
>>835
スレ違い
0837nobodyさん2007/10/10(水) 14:09:10ID:???
>>835
クエリーでやるとこんな感じだけど
SELECT count(category) FROM category_table WHERE category='1'

まぁどんなやり方してるかにもよるし
出そうとしてる部分のソースださんとどーにもならん
0838nobodyさん2007/10/10(水) 14:30:15ID:zc/CFV7a
クラスで宣言していない変数にアクセスしたときに
参照はエラーにできると思いますが
書き込みのときにも
エラーを発生させる方法はないでしょうか?


class Hoge {
public $v1;
}

$h = new Hoge();
$h->v1 = 1;
$h->v2 = 2; //ここでエラーを発生させたい

0839nobodyさん2007/10/10(水) 14:44:39ID:???
レスが乱発しているから、まとめておく。話を混同しすぎだよw

'→DBの予約語→DBに入れる前にエスケープする
<>&→HTMLの予約語→HTMLを出力する前にエスケープする
\aなど→システム特殊文字→システムのフロント処理の所で削除
�@など→機種依存文字→システムのフロント処理で警告メッセージ
0840nobodyさん2007/10/10(水) 14:47:19ID:???
__setを定義

まぁもっとスマートな方法あったような気がするが忘れた
0841nobodyさん2007/10/10(水) 14:57:04ID:???
思ったんだけどさ、__set、__getを使えば
PHP4でもプライベート変数とか使えるんじゃね?

まあパフォーマンスは落ちるが、
それは開発時だけそうやっといて
運用時ははずすと言う方向で。
0842nobodyさん2007/10/10(水) 15:00:55ID:???
>>841
__set,__getってphp5からじゃ?
まぁデストラクタはつけれるけど
0843nobodyさん2007/10/10(水) 15:13:12ID:???
>>842
__callも含めて使えるよ。overloadを調べよう。
0844nobodyさん2007/10/10(水) 15:21:58ID:???
あー、メールトリガーで自動返信してたらメールが無限ループした、まじうざい
0845nobodyさん2007/10/10(水) 15:26:28ID:???
>>843
thx
こんなのあるのか・・・
毎回定義するの面倒ではあるが・・・
0846nobodyさん2007/10/10(水) 15:54:13ID:???
Overloadableとかいう名前のクラスを継承して
そこのコントラスタに書けばいいだけさ。

php4とphp5の仕様の違いが嫌?
ならそれを吸収するコードを書けばいいだけさ。

そんなコードを各のが嫌?
ならそれをサポートしているライブラリ・フレームワーク等を
使えばいいだけさ。
0847nobodyさん2007/10/10(水) 16:16:17ID:???
>>840
これって838へのレス?
それじゃ防げなくないか?
0848nobodyさん2007/10/10(水) 16:43:03ID:5Clc9AoY
データベースに
大阪府|東大阪市|中小阪|三丁目|6

のように格納されてるんだけど、
住所検索で「大阪府東大阪市中小阪3-6」
みたいな感じでもHitさせたいんだけど何かよさそうな方法はありませんか?
0849nobodyさん2007/10/10(水) 16:57:33ID:???
>>848
すぐに思い付くのは、

1. データの重複を承知で連結されたカラムを追加する。
2. 検索時のオーバーヘッドを承知でSELECT時に連結して検索する。

くらいかな。
0850nobodyさん2007/10/10(水) 17:00:06ID:5Clc9AoY
>>849
サンクス

GoogleMapやGeocodingみたいに
「おおさかふ」で大阪が検索されたりするのは
相当な技術のアルゴルズムなんだなぁ・・・
0851nobodyさん2007/10/10(水) 17:00:34ID:???
>>848
システム構成にもよるが、俺だったらツリー構造でオンメモリーで
住所データを保持しておいて、検索時にツリー構造から検索するようなやり方にする。
そうすれば、高速で検索が可能になる。まぁ、メモリーは食うけどなぁ。
0852nobodyさん2007/10/10(水) 17:18:46ID:???
>>848
3-6をデータベースの書式に合わせる
08537962007/10/10(水) 17:33:35ID:0neE8nHZ
うわぁぁあぁぁぁあ!!!
わかんねぇよ!!和漢ねlwんだよぉおおぉぉぉっうぇうぇwwwwwwwww
0854nobodyさん2007/10/10(水) 17:35:32ID:???
>>853
ウザイ
死ね
0855nobodyさん2007/10/10(水) 17:40:01ID:???
DB覚えなくても・・とか言ってる奴は頭が足りなくて覚えられないだけだな。
知っとくに越した事ないってw
0856nobodyさん2007/10/10(水) 17:50:22ID:dFg+5xQC
PHP4で、コンストラクタを
function &hoge(){}
と書いた場合、
$object =& new hoge();
と書かずに
$object = new hoge();
と書いても大丈夫になりますか?
0857nobodyさん2007/10/10(水) 17:58:20ID:???
>>851
それは、MySQLとかの一時テーブルにインデックスを張って検索に使え、ってこと?
0858nobodyさん2007/10/10(水) 18:23:37ID:???
>>857
お前はニ分木検索を勉強した方がいい。
0859nobodyさん2007/10/10(水) 18:35:43ID:???
>>855
必要となる知識は他にもあるってことだろ
何もDBを丸覚えするのが全てなわけじゃないし
楽するための仕組みが提供されてればそれを使えばいいっていってるんちゃうかと
0860nobodyさん2007/10/10(水) 18:39:32ID:???
ここPHPスレだろ?

PHPを使った開発で、住所データを
オンメモリーで持っておけることって
現実的には少ないないか?
0861nobodyさん2007/10/10(水) 18:40:04ID:5Clc9AoY
>>860
自鯖
0862nobodyさん2007/10/10(水) 18:42:58ID:???
>>861
その後は?
0863nobodyさん2007/10/10(水) 18:43:35ID:???
話をぶり返すようで悪いのですがaddslashesしてecho "value='{$_POST['dat']}'"と
書いておけば問題ないって事で合っています?
0864nobodyさん2007/10/10(水) 18:44:49ID:5Clc9AoY
>>862
・・・sakuraにでもうpする
0865nobodyさん2007/10/10(水) 18:47:54ID:???
>>848

> 大阪府|東大阪市|中小阪|三丁目|6
よくわからんデータ形式だ。

東京都杉並区の場合は?
福岡県福岡市中央区の場合は?
丁が無い場合は?
08668632007/10/10(水) 18:48:11ID:???
あ、このままだとスラッシュが増殖しますね
いちいちstripslashesするのめんどくさいな
0867nobodyさん2007/10/10(水) 18:49:10ID:???
最新でない旧バージョンの一式が欲しいんですが
公式ページ等で入手する方法はありますか?
4.3.xが欲しいです。
0868nobodyさん2007/10/10(水) 18:52:40ID:???
>>864
いやいや、そういう意味じゃなくて、自鯖だからって
それだけじゃオンメモリーにはならないでしょ?
(基本的に)phpはスクリプト実行が終了したら
データメモリは開放されるのだから。

となると、phpを使って一回の実行でバッチ的に
大量の住所データをマッチングさせたいのなら
オンメモリーで高速という効果はあるけどさ。

実行するたびに全住所データを読んでツリー構造を
作っていたら逆にパフォーマンス悪いでしょ?
0869nobodyさん2007/10/10(水) 18:56:32ID:???
>>858
いや、MySQLのインデックスは多分ツリー構造のインデックスだろうから、
そういうことを言いたいのかな、と思っただけ。

そうではなく、PHPでデータ構造を作る場合、
CGIかApacheのモジュールで動かすPHPだとインスタンスごとに重複して
メモリ上のデータベースを抱えることになって、DB更新にも弱いし
俺ならこうするって言われてもありえねぇだろ、と思ったわけ。

デーモンにして他のプロセスに追い出す手は無いわけじゃないけど
それはPHPで書かない方が便利だし。


ここまで書いて思ったけど、MySQLの一時テーブルの構造はハッシュだっけ?
0870nobodyさん2007/10/10(水) 18:56:42ID:???
>>867
少しは探す努力した??死ね
ttp://jp.php.net/releases/
0871nobodyさん2007/10/10(水) 18:57:03ID:P3ev0KiI
すみません。
結局DBに保存するときhtmlspecialcharsかけたほうがいいの?
それともかけないで生データ入れたほうがいいのでしょうか?
0872nobodyさん2007/10/10(水) 18:58:20ID:???
>>871
htmlspecialcharsは何のためにあるのか考えればわかる。
0873nobodyさん2007/10/10(水) 19:01:49ID:???
いや、だからさ、
例えば、東京都港区六本木の場合
最初の文字「東」を入力した時点で「東京都」が確定するだろ。
そしたら、次は「港」から始まる市町村(特別区、広域連合を含む)を検索すれば、いい。
つまり、ajax方式でやればいいじゃん。
0874nobodyさん2007/10/10(水) 19:03:53ID:???
>>873
何言うとんねな!!!この野郎!!!!!
ふんにゃ、それがツリー構造だって言ってんやろうがーーー
0875nobodyさん2007/10/10(水) 19:08:25ID:???
>>848じゃないけどさ、
Amazon見たいに、一つの入力フィールドの検索で、
商品タイトル、作者等の複数項目にマッチし、
また、ひらがな・カタカナ、全角・半角を同一視、
「らき☆すた」に「らきすた」でもヒットできるように
検索させたい場合、検索用のフィールド作るのが一番だよね?
(DBMSにそういう機能がある場合を除く)
0876nobodyさん2007/10/10(水) 19:15:53ID:???
>>874
馬鹿丸出しの大阪人乙
0877nobodyさん2007/10/10(水) 19:17:27ID:???
>>875
うん、曖昧な検索したいならそうするしかないんじゃないかな?
でも検索用のフィールドってどう作るかはあんまり考えてないや。

0878nobodyさん2007/10/10(水) 19:19:51ID:???
>>873
わけわからんってw
元々(>>848)の質問とずれてるぞ。

データベースに
> 大阪府|東大阪市|中小阪|三丁目|6
こうあった場合の検索方法だろ。

Ajax方式って、それはユーザーインターフェースであって
検索の仕方ではありません。
0879nobodyさん2007/10/10(水) 19:24:01ID:???
そういうのが出来るとしたらキーワードでテーブルを作るしかないと思うけどね
0880nobodyさん2007/10/10(水) 19:27:36ID:???
>大阪府|東大阪市|中小阪|三丁目|6

これって1個のフィールドにこうやって入ってるの?
それとも|ってフィールドの区切りを意味してて、5個のフィールドに分かれてるのか?

データ構造がもう決まっちゃってて変えられないなら、
検索するキーワードの「大阪府東大阪市中小阪3-6」を分解する処理を書いたらどう?
3-6は三丁目とかに変換するのも必要だね。

0881nobodyさん2007/10/10(水) 19:36:49ID:???
>>880
>検索するキーワードの「大阪府東大阪市中小阪3-6」を分解する処理を書いたらどう?
だから、それを俺が提唱しているツリー構造で検索すれば解決するんだが。
0882nobodyさん2007/10/10(水) 19:42:28ID:???
単純な検索ならNグラム方式の検索が良いんじゃないかな
0883nobodyさん2007/10/10(水) 19:44:04ID:P3ev0KiI
>>848
すみません。不躾ながら回答させていただきます。
丁目が3の場合、「三丁目」「3」など三丁目を表す文字をDBに保存
番地が6の場合、「6番地」「6」「-6」など6番地を表す文字をDBに保存
これでマッチすると思います。

>>872
htmlspecialcharsはHTMLエンティティに変換する。
つまり表示するときだけかけたらいいってことですよね。
googleも生データ入れてるみたいだし
やはりhtmlspecialcharsかけないで生データ入れるべきですよね。
今までhtmlspecialcharsかけてDBに保存してた…orz
0884nobodyさん2007/10/10(水) 19:48:52ID:???
googleはキャッシュページをしているから当然変換しないし
0885nobodyさん2007/10/10(水) 19:50:16ID:???
>>881
極論言えばなに使っても解決するよ。適切かそうじゃないかの話。
シーケンシャルに頭から検索していってもいい。

もともと構造が、ああなっている場合の話だろ?
まあそこは、ツリー構造にすればいいと解釈するが、
ツリー構造にするとして、そのデータをいつ読み込むのか?

普通に作ると、サーバーへのリクエストがあるたびに
データを読み込む羽目になるぞ。
あんたの言うajax方式だと、一文字入力するたびに
サーバーのリクエストが発生するから、そのたびに
全住所データを読んでツリー構造を作らなければならない。
これはサーバーにも負荷がかかるし、パフォーマンスも悪い。
シーケンシャルに読んで比較したほうがましだろう。

それから、
> 住所検索で「大阪府東大阪市中小阪3-6」 みたいな感じでも
”でも”という言葉。 つまり丁でも検索できると言うことだろう?
そうなると、ツリー構造はどうなる? もちろんやり方は、いろいろあるが、
「ツリー構造で検索すれば解決」という単純な話ではないことがわかるだろう?
0886nobodyさん2007/10/10(水) 19:50:17ID:???
>>882>>883
俺がツリー構造がいいというのは、住所というものは可変長だからということが一番。
つまり、都道府県の第一段階レベルは一緒でも、その次に来るのが群であったり区であったり市であったりする。
それを効率良く、かつ要件を満たすにはツリー構造で検索するしかないよ。

丁目っていっているけど、丁目じゃなくて字だってある場合もある。
俺は、某銀行系のサイトで住所検索の機能作ったから良くわかる。
0887nobodyさん2007/10/10(水) 19:50:58ID:???
>>881
独自データ構造をオンメモリでPHPで実装する場合の>>869の問題点はどうすんの?
0888nobodyさん2007/10/10(水) 19:55:25ID:???
>>886
ごちゃごちゃ言ってるけどさ、
それって、RDBMSで住所にインデックス情報をつけて
likeで前方一致検索するってだけの話だから。
(likeの前方一致でインデックスが働かないRDBMSもあったと思うが)
0889nobodyさん2007/10/10(水) 19:55:42ID:???
>>885>>887
まずは、マニュアルを嫁
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/php/manual/ref.shmop.html
0890nobodyさん2007/10/10(水) 20:00:00ID:???
ツリーツリーうるさいやつがいるな
0891nobodyさん2007/10/10(水) 20:04:29ID:???
> 検索するキーワードの「大阪府東大阪市中小阪3-6」を分解する処理を書いたらどう?
> 3-6は三丁目とかに変換するのも必要だね。

多分ね、これは大変な作業になると思うよ。地域によっては
市が無くて区だけだったり市と区があったり、
丁目が無いところあるし。

もし、検索キーワードを入力するのが面識の無いエンドユーザ、たとえば
ショッピングカートシステムのお客さんとかなら県名を省略したり、
丁で入力するかハイフンで入力するかわからない場合もある。
(そこは「県名を省略せずに入力してください」と書いておくという手もあるけど)

>大阪府|東大阪市|中小阪|三丁目|6
もしこれが5つのフィールドに分かれていると言う意味なら、

データ構造を変更して検索用のフィールドを作るか、もしくは別に検索用の
テーブルをつくり、住所を一つのフィールドにまとめる。

そのとき、住所データを正規化(全角半角、漢数字、丁目や-をスペースに置き換え)する
もちろん検索するときも同じように正規化する。
その後、like検索すればいいのではないか?

ツリー構造とかいっているやつも、データの正規化いるだろ?
というか、そっちのほうがここでは重要な話だろ
0892nobodyさん2007/10/10(水) 20:08:03ID:???
readfileでリモートファイルを読み込ませたいのですがファイルが見つかりませんとでるのですが・・・
URLは間違いなくあってる
0893nobodyさん2007/10/10(水) 20:12:10ID:???
>>892
そんだけでは解らん
周辺のソース出さないと何とも言えない
もしかしたらsafeになってんじゃ?
0894nobodyさん2007/10/10(水) 20:13:14ID:???
>>891
いや、だからツリー構造でajax方式なんだよw
データの正規化をサーバー側とクライアント側の両方で別々に分けて考えなくてもよくなるし、
user ablitiyも向上するだろ。

つまり、東京都港区六本木1-2-3を入力するのに、
「と」と入力すれば「東京都」が自動で表示され、
「み」と入力すれば、「港区」が自動で表示され、
「ろ」と入力すれば、「六本木」が自動で表示され、
「1」と入力すれば、「1丁目」が自動で表示され、
「2」と入力すれば、「2番地」が自動で表示され、
「3」と入力すれば、「3号」が自動で表示される。

ユーザーにフォーマットを意識させることなく、ユーザーが入力した値も
自動で正規化され、かつ入力ミスもなくなる。
99丁目とかありもしない番地も入力と同時にチェックできる。

DBで検索とか言っている奴がいるが、そんな方式でやっていたら、
ユーザーが何回も入力しなおす羽目になりかねない。
0895nobodyさん2007/10/10(水) 20:16:22ID:???
>>889
最初っからそれを出せと言う話。
でそれを使うには環境が限られるということさ。

それをするよりか、単にRDBMSを使えばいいだろ? 今使えているんだし。
どうしてもツリー構造を自作しなきゃいけないのか?

そして、ツリー構造を自作すれば、データが - で 丁目でも
ヒットするようにしたいと言う要望が達成できるのか?

違うだろ? だからあんたが言っていることは答えになってないんだよ。
0896nobodyさん2007/10/10(水) 20:18:08ID:???
郵便番号を入力してもらう、これ最強
0897nobodyさん2007/10/10(水) 20:18:12ID:???
>>894
> DBで検索とか言っている奴がいるが、そんな方式でやっていたら、
> ユーザーが何回も入力しなおす羽目になりかねない

お前バカか。それがDBで検索であっても、
「と」と入力されたときにDB検索すればいいだけの話だろ。
ずれまくりだっつーの
0898nobodyさん2007/10/10(水) 20:20:16ID:???
>>894
それ、Ajax使って、入力する形式を固定にしろという話であって、
ツリー構造であることとはまったく関係ないじゃんw
0899nobodyさん2007/10/10(水) 20:20:58ID:???
>>893
safeにはなってない
phpあまりやったこと無いからぐちゃぐちゃ

$fileurl = substr($_SERVER["ORIG_PATH_INFO"], 1);

if ($fileurl == 1){
$filename = "日本語.mp4";
$file = "***.**/test1.mp4";
  } elseif ($fileurl == 2){
         略
  } elseif ($fileurl == 15){
  $filename = "テスト.mp4";
$file = "***.**/test4.mp4";
}
$file_length = filesize("http://$file";);
header('Content-Disposition: attachment; filename="' . $filename . '"');
header("Content-Length:$file_length");
header("Content-Type: application/octet-stream charset=UTF-8");
readfile ("http://$file";);
0900nobodyさん2007/10/10(水) 20:21:09ID:???
強烈な一撃!

>>894
JavaScriptが使えない環境はどうするの?w
0901nobodyさん2007/10/10(水) 20:27:48ID:???
ここDBスレと間違うくらいDB信奉者が多すぎww

ajaxで検索するやり方で考えるなら、DBじゃなくて、
ツリー構造でオンメモリーに持つの方がパフォーマンス的に有利に決まっているだろ。

住所の巨大なデータ構造をDBにもって、いちいち検索かけたらDBサーバーが飛ぶぞ。

>>900
強烈な反撃!
インターフェイス部分をFlashで実装すればいいだけ。
0902nobodyさん2007/10/10(水) 20:29:51ID:???
っていうかさ、住所データなんて基本的に変わらないんだから
ツリー構造なんかにしなくても、
単に住所が入った配列をソートさせて
それを二分探索で検索すれば良いだけじゃん。

# ソートされた配列を二分探索したら
# その配列はツリー構造になるとかいう馬鹿なことは
# さすがに言わないことを祈る。

俺なら普通にDB使うがな。
0903nobodyさん2007/10/10(水) 20:30:26ID:???
>>901
Flashが使えない(ry
0904nobodyさん2007/10/10(水) 20:30:33ID:???
ばかばっか
0905nobodyさん2007/10/10(水) 20:30:48ID:???
>>901
お前、わざと突っ込まれるように書いてるだろ?w
0906nobodyさん2007/10/10(水) 20:33:20ID:???
>>901
一つ聞いていいか?

お前のその提案で
ハイフンでも丁目でもヒットしたいと言う要望は、

ツリー構造で解決したか?
Ajaxで解決したか?

どちらで解決したか答えろ。
0907nobodyさん2007/10/10(水) 20:34:29ID:???
NGワード:ツリー構造

おまえらももう相手するのやめれw
0908nobodyさん2007/10/10(水) 20:36:13ID:???
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
レス数が900を超えています。1000を超えると表示できなくなるよ。