【PHP】下らねぇ質問はここに書き込みやがれ 55
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2007/09/29(土) 18:35:56ID:YlkpEUW6PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、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カテゴリ)の各スレで
0881nobodyさん
2007/10/10(水) 19:36:49ID:???>検索するキーワードの「大阪府東大阪市中小阪3-6」を分解する処理を書いたらどう?
だから、それを俺が提唱しているツリー構造で検索すれば解決するんだが。
0882nobodyさん
2007/10/10(水) 19:42:28ID:???0883nobodyさん
2007/10/10(水) 19:44:04ID:P3ev0KiIすみません。不躾ながら回答させていただきます。
丁目が3の場合、「三丁目」「3」など三丁目を表す文字をDBに保存
番地が6の場合、「6番地」「6」「-6」など6番地を表す文字をDBに保存
これでマッチすると思います。
>>872
htmlspecialcharsはHTMLエンティティに変換する。
つまり表示するときだけかけたらいいってことですよね。
googleも生データ入れてるみたいだし
やはりhtmlspecialcharsかけないで生データ入れるべきですよね。
今までhtmlspecialcharsかけてDBに保存してた…orz
0884nobodyさん
2007/10/10(水) 19:48:52ID:???0885nobodyさん
2007/10/10(水) 19:50:16ID:???極論言えばなに使っても解決するよ。適切かそうじゃないかの話。
シーケンシャルに頭から検索していってもいい。
もともと構造が、ああなっている場合の話だろ?
まあそこは、ツリー構造にすればいいと解釈するが、
ツリー構造にするとして、そのデータをいつ読み込むのか?
普通に作ると、サーバーへのリクエストがあるたびに
データを読み込む羽目になるぞ。
あんたの言うajax方式だと、一文字入力するたびに
サーバーのリクエストが発生するから、そのたびに
全住所データを読んでツリー構造を作らなければならない。
これはサーバーにも負荷がかかるし、パフォーマンスも悪い。
シーケンシャルに読んで比較したほうがましだろう。
それから、
> 住所検索で「大阪府東大阪市中小阪3-6」 みたいな感じでも
”でも”という言葉。 つまり丁でも検索できると言うことだろう?
そうなると、ツリー構造はどうなる? もちろんやり方は、いろいろあるが、
「ツリー構造で検索すれば解決」という単純な話ではないことがわかるだろう?
0886nobodyさん
2007/10/10(水) 19:50:17ID:???俺がツリー構造がいいというのは、住所というものは可変長だからということが一番。
つまり、都道府県の第一段階レベルは一緒でも、その次に来るのが群であったり区であったり市であったりする。
それを効率良く、かつ要件を満たすにはツリー構造で検索するしかないよ。
丁目っていっているけど、丁目じゃなくて字だってある場合もある。
俺は、某銀行系のサイトで住所検索の機能作ったから良くわかる。
0888nobodyさん
2007/10/10(水) 19:55:25ID:???ごちゃごちゃ言ってるけどさ、
それって、RDBMSで住所にインデックス情報をつけて
likeで前方一致検索するってだけの話だから。
(likeの前方一致でインデックスが働かないRDBMSもあったと思うが)
0889nobodyさん
2007/10/10(水) 19:55:42ID:???まずは、マニュアルを嫁
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は三丁目とかに変換するのも必要だね。
多分ね、これは大変な作業になると思うよ。地域によっては
市が無くて区だけだったり市と区があったり、
丁目が無いところあるし。
もし、検索キーワードを入力するのが面識の無いエンドユーザ、たとえば
ショッピングカートシステムのお客さんとかなら県名を省略したり、
丁で入力するかハイフンで入力するかわからない場合もある。
(そこは「県名を省略せずに入力してください」と書いておくという手もあるけど)
>大阪府|東大阪市|中小阪|三丁目|6
もしこれが5つのフィールドに分かれていると言う意味なら、
データ構造を変更して検索用のフィールドを作るか、もしくは別に検索用の
テーブルをつくり、住所を一つのフィールドにまとめる。
そのとき、住所データを正規化(全角半角、漢数字、丁目や-をスペースに置き換え)する
もちろん検索するときも同じように正規化する。
その後、like検索すればいいのではないか?
ツリー構造とかいっているやつも、データの正規化いるだろ?
というか、そっちのほうがここでは重要な話だろ
0892nobodyさん
2007/10/10(水) 20:08:03ID:???URLは間違いなくあってる
0894nobodyさん
2007/10/10(水) 20:13:14ID:???いや、だからツリー構造でajax方式なんだよw
データの正規化をサーバー側とクライアント側の両方で別々に分けて考えなくてもよくなるし、
user ablitiyも向上するだろ。
つまり、東京都港区六本木1-2-3を入力するのに、
「と」と入力すれば「東京都」が自動で表示され、
「み」と入力すれば、「港区」が自動で表示され、
「ろ」と入力すれば、「六本木」が自動で表示され、
「1」と入力すれば、「1丁目」が自動で表示され、
「2」と入力すれば、「2番地」が自動で表示され、
「3」と入力すれば、「3号」が自動で表示される。
ユーザーにフォーマットを意識させることなく、ユーザーが入力した値も
自動で正規化され、かつ入力ミスもなくなる。
99丁目とかありもしない番地も入力と同時にチェックできる。
DBで検索とか言っている奴がいるが、そんな方式でやっていたら、
ユーザーが何回も入力しなおす羽目になりかねない。
0895nobodyさん
2007/10/10(水) 20:16:22ID:???最初っからそれを出せと言う話。
でそれを使うには環境が限られるということさ。
それをするよりか、単にRDBMSを使えばいいだろ? 今使えているんだし。
どうしてもツリー構造を自作しなきゃいけないのか?
そして、ツリー構造を自作すれば、データが - で 丁目でも
ヒットするようにしたいと言う要望が達成できるのか?
違うだろ? だからあんたが言っていることは答えになってないんだよ。
0896nobodyさん
2007/10/10(水) 20:18:08ID:???0897nobodyさん
2007/10/10(水) 20:18:12ID:???> DBで検索とか言っている奴がいるが、そんな方式でやっていたら、
> ユーザーが何回も入力しなおす羽目になりかねない
お前バカか。それがDBで検索であっても、
「と」と入力されたときにDB検索すればいいだけの話だろ。
ずれまくりだっつーの
0898nobodyさん
2007/10/10(水) 20:20:16ID:???それ、Ajax使って、入力する形式を固定にしろという話であって、
ツリー構造であることとはまったく関係ないじゃんw
0899nobodyさん
2007/10/10(水) 20:20:58ID:???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");
0901nobodyさん
2007/10/10(水) 20:27:48ID:???ajaxで検索するやり方で考えるなら、DBじゃなくて、
ツリー構造でオンメモリーに持つの方がパフォーマンス的に有利に決まっているだろ。
住所の巨大なデータ構造をDBにもって、いちいち検索かけたらDBサーバーが飛ぶぞ。
>>900
強烈な反撃!
インターフェイス部分をFlashで実装すればいいだけ。
0902nobodyさん
2007/10/10(水) 20:29:51ID:???ツリー構造なんかにしなくても、
単に住所が入った配列をソートさせて
それを二分探索で検索すれば良いだけじゃん。
# ソートされた配列を二分探索したら
# その配列はツリー構造になるとかいう馬鹿なことは
# さすがに言わないことを祈る。
俺なら普通にDB使うがな。
0904nobodyさん
2007/10/10(水) 20:30:33ID:???0906nobodyさん
2007/10/10(水) 20:33:20ID:???一つ聞いていいか?
お前のその提案で
ハイフンでも丁目でもヒットしたいと言う要望は、
ツリー構造で解決したか?
Ajaxで解決したか?
どちらで解決したか答えろ。
0907nobodyさん
2007/10/10(水) 20:34:29ID:???おまえらももう相手するのやめれw
0908nobodyさん
2007/10/10(水) 20:36:13ID:???□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0909nobodyさん
2007/10/10(水) 20:38:12ID:???>っていうかさ、住所データなんて基本的に変わらないんだから
お前新聞読んでないだろ。地方再編で対応が大変だった苦労は分からんだろうなぁ。
>>903
そもそも、javascriptもflashも対応していないようなブラウザまで対応するか、だ。
>>906
>ハイフンでも丁目でもヒットしたいと言う要望は、
>ツリー構造で解決したか?
>Ajaxで解決したか?
ツリー構造だからこそ、現在入力している住所レベル(丁目か番地か号か字か)が
分かるわけだろ。ajaxを使えば、そもそもユーザーが丁目やハイフンまで入力する必要もない。
0910nobodyさん
2007/10/10(水) 20:43:24ID:???0911nobodyさん
2007/10/10(水) 20:43:34ID:???> お前新聞読んでないだろ。地方再編で対応が大変だった苦労は分からんだろうなぁ。
対応した後にソートすればいいだけ。何か問題があるか?
言い訳はいいんだ。ツリー構造で解決したかAjaxで解決したかそれだけを答えろ。
0912nobodyさん
2007/10/10(水) 20:45:34ID:???少し10分レスつけるのやめて頭ひやそうぜ
10分後には書く気もうせてるから
0913nobodyさん
2007/10/10(水) 20:45:40ID:???ツリー構造を作ってしまったのか?
それを認めたくないとかw
0914nobodyさん
2007/10/10(水) 20:52:14ID:???>言い訳はいいんだ。ツリー構造で解決したかAjaxで解決したかそれだけを答えろ。
だから、どっちかじゃなくて、両方セットじゃないと意味ないだろw
0915nobodyさん
2007/10/10(水) 20:52:19ID:???わざわざphpで実装する必要性は無い。
0917nobodyさん
2007/10/10(水) 20:54:37ID:???いや、だから更新時はどうすんのさ。
基本的に自分のプロセスの生き死にを管理出来ないapacheモジュールで
生に共有メモリなんか弄って途中で死んだらどうすんだって話。
...釣りといってくれ。
0918nobodyさん
2007/10/10(水) 21:04:55ID:???掲示板でSQLにデータが入っているのですが記事の情報以外には親記事のIDしかありません。
そこからツリーを形成するスクリプト書いてください。
俺、頭悪くてできなかったorz。
0919nobodyさん
2007/10/10(水) 21:07:39ID:???0920nobodyさん
2007/10/10(水) 21:08:23ID:???0921nobodyさん
2007/10/10(水) 21:15:27ID:???0922nobodyさん
2007/10/10(水) 21:20:56ID:???住所という数日・数ヶ月レベルで変更が無いデータに適用する構造じゃねーよw
0923nobodyさん
2007/10/10(水) 21:29:41ID:???で、普通インデックスはメモリ上にキャッシュされるから、
オンメモリでツリー構造に対して検索したいだけなら普通に結合したカラムを作って
インデックス張って前方一致検索すりゃいいだけ。
0924nobodyさん
2007/10/10(水) 21:41:05ID:???0926nobodyさん
2007/10/10(水) 22:10:02ID:???0928926
2007/10/10(水) 22:13:44ID:???array()+array()でよかったみたいです
0932nobodyさん
2007/10/10(水) 22:47:05ID:???0933nobodyさん
2007/10/10(水) 22:54:04ID:???httpでファイルサイズ取得できるのなかったっけ? アンテナなんかで使われてるヤツ
0935nobodyさん
2007/10/10(水) 22:57:19ID:???電話番号が9桁(最初の0を省く)でやれるんだからできんことないだろ。
と思って調べたらこんなページが
http://www.geocities.jp/jdy07317/3040.html
> 詰め込めば6けたでも足りたということです。
> 実際には7けたですから、1000万通りも確保できるわけです。
> たくさんある組み合わせのうち70分の69は使用しない事になります。
0939924
2007/10/10(水) 23:04:34ID:???Warning: filesize() [function.filesize]: stat failed for http://URL略/***.avi in /URL略/test.php on line 60
0940nobodyさん
2007/10/10(水) 23:07:21ID:???そんな話は聞いた事がない
0942nobodyさん
2007/10/10(水) 23:11:43ID:???エラーの詳細はわからないけど直接取得できるファイルなの?
wgetなどで直接落とせる?
0943nobodyさん
2007/10/10(水) 23:15:26ID:???自分でちょっと調べたいと思います。お騒がせしてすみませんでした。
0945nobodyさん
2007/10/10(水) 23:36:38ID:???0946nobodyさん
2007/10/10(水) 23:44:16ID:???0947nobodyさん
2007/10/11(木) 01:11:17ID:???このページを見てください。
http://www.gomo.jp/
IEで見ると
HTTP500内部サーバーエラー
になります。
でfirefoxでみると普通にエラーが返ります。
ちょっとしたケアレスミスのエラーなんですけど、IEでは全く何が原因だか分らず
デバッグできませんでした。HTTPのHEADERを覗くソフトを見つけて気付いたのですが、
もしや、と思いfirefoxで見たら、案の定普通に表示されました。
これはPHPやサーバーの設定でどうにかなるのでしょうか?
それとIEのデコスケはあいかわらず使えないということなのでしょうか?
ちなみにPHP5.2.4で
php_value error_reporting "2047"
php_flag display_errors on
php_flag display_startup_errors on
php_flag track_errors off
になってます。
0948nobodyさん
2007/10/11(木) 01:43:02ID:???URLググったら前々スレ53の115と同じじゃん(2007/08/28 08:29:23)
http://pc11.2ch.net/test/read.cgi/php/1188047468/115-
ドメインも個人登録みたいだし。 釣り?orIP収集?
0950nobodyさん
2007/10/11(木) 01:51:47ID:???このスレで真面目にPHPの勉強してるだけだと思うけど。
なんで同じ人が別の質問したら釣りという発想になるんだ…
0951nobodyさん
2007/10/11(木) 02:07:47ID:???書き出しが変じゃないか?
まるで今回が始めての質問みたいな感じがする。しかもいきなりリンク貼り。
以前質問したらなら「以前も質問した者ですが…」等と書き始めないか?
そっちの方が以前の状況も遡れるし、進歩具合で回答内容も考えやすい。
検索結果になくて今回初質問でも俺的には正直リンクは踏めない書き出し。
ドメイン取ってる割に全然検索に掛からないというのも収集専用かと思ってしまう。
0952nobodyさん
2007/10/11(木) 02:16:33ID:???Cake?
まぁFatal errorを修正すりゃいいんでねぇの?
リリースというか開発段階なら
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);
書いておくと良いよ
0953nobodyさん
2007/10/11(木) 02:25:15ID:+ZoCLAUB>>722さんのアドバイスで無事に解決したのですが、sessionじゃなく、
具体的にはmetaタグで、refreshでページを移動させた場合も、同様に
ページの有効期限切れ、と表示されます。これを解決する方法って
ありませんか?
0954nobodyさん
2007/10/11(木) 04:51:07ID:0nOXhCaV0955nobodyさん
2007/10/11(木) 07:10:42ID:+ZoCLAUB0956947
2007/10/11(木) 08:27:29ID:???レスありがとうございます。ちなみにZendFrameworkです。
IEの簡易エラー表示設定があったの知りませんでした。
表示するようになりました。勉強になりました。
いや、別に釣りではなかったのですが、気を悪くしたならすんません。
サーバーのスレかPHPか、ZendFrameworkのすれか、書くとこ迷ったし、
以前の質問とあんまり関係なさそうなので、あんな書き出しに・・・
サイトはまだ、ちゃんと動いてないのでロボットが来ないおまじないを置いています。(きくのかどうか不明ですけど)
ほとんど勉強用になっちゃってますけど、そのうち公開する予定です。
なかなか、忙しくてすすみませんOTZ
0957947
2007/10/11(木) 08:32:10ID:???ロボットが来なくなるテキストですが
前にネットで調べて置いた記憶があったけど、今はありませんでした。
ただ単になにも情報がないから引っかからないだけと思われます。
0958nobodyさん
2007/10/11(木) 11:18:39ID:???> それとIEのデコスケはあいかわらず使えないということなのでしょうか?
いや、お前が相変わらず、使えないw
0959nobodyさん
2007/10/11(木) 12:38:42ID:???一応崩れないようにチェックはするけどな。
0960nobodyさん
2007/10/11(木) 15:52:51ID:???0961nobodyさん
2007/10/11(木) 16:17:47ID:???0962nobodyさん
2007/10/11(木) 16:23:12ID:???> このスレで真面目にPHPの勉強してるだけだと思うけど。
> なんで同じ人が別の質問したら釣りという発想になるんだ…
理由は単純だよ。万引きしたら金を返しても刑事罰に処せられるのが普通だが、
社会保険庁の職員が横領しても金を返したら無罪放免っていうことだよ。
0963nobodyさん
2007/10/11(木) 16:56:15ID:???と思っている人達がいても当然の事だ。
0964nobodyさん
2007/10/11(木) 17:02:01ID:???言いたいことはわかるけど、それを言うなら質問者の側も義務ではないわけだから、お互い様ってことじゃないかな。
0966nobodyさん
2007/10/11(木) 17:08:19ID:???だからお互い義務じゃないことを、自分の独善的な考えを相手に押し付けるからトラブルになるんだよ。
お互いもう少し思いやりの心を持とうぜ。
0967nobodyさん
2007/10/11(木) 17:11:57ID:???匿名掲示板だけに、昨日失礼なことを言った奴が野放しになってるかもしれん場所だと思えば
人間答える気も失せるってもんだ。
0968nobodyさん
2007/10/11(木) 17:12:20ID:???0969nobodyさん
2007/10/11(木) 17:15:41ID:???0970nobodyさん
2007/10/11(木) 17:16:35ID:???0971nobodyさん
2007/10/11(木) 17:19:24ID:???そういう思い上がった考えが、時津風事件を招くんだよな。
0972nobodyさん
2007/10/11(木) 17:30:55ID:???それともギリギリまで待つ?
0973nobodyさん
2007/10/11(木) 17:35:25ID:???回答者は質問者がどうなろうと何も困らない。押し付けとかどうでも良いから好きにすると良いよ。
回答する側も仕事でやってるんじゃねーし、その時の気分で答えてるだけだから。
0974nobodyさん
2007/10/11(木) 17:36:19ID:???こんな事を言った奴がいたのかwww
しらなかったわ
0975nobodyさん
2007/10/11(木) 17:48:12ID:???0976nobodyさん
2007/10/11(木) 17:59:34ID:???0977nobodyさん
2007/10/11(木) 18:01:21ID:???本当にそうなのか釣りなのかその判断が難しい
釣られて見ると相手がマジになってきたり、こっちが引くと釣りでした宣言したり
そんなふうにして遊んで何が楽しいのか俺には理解できない世界だわ
最近では質問者自体実はベテランの釣りが多いからこうなってんだろうけど
いずれにせよ性格悪いわな
0978nobodyさん
2007/10/11(木) 18:10:41ID:???http://pc11.2ch.net/test/read.cgi/php/1192092941/l50
0979nobodyさん
2007/10/11(木) 18:15:15ID:???礼儀がなっていないと思えば無視すればいいだけなのにね。
わざわざ注意するやつ。で答えは言わない(言えない?)
0980nobodyさん
2007/10/11(木) 18:21:41ID:???質問してやったのだから答えるのが当たり前だと言っているように聞こえるから止めとけ。
レス数が950を超えています。1000を超えると書き込みができなくなります。