【PHP】下らねぇ質問はここに書き込みやがれ 69
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/27(火) 18:04:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0754nobodyさん
2008/06/20(金) 00:03:01ID:???(5*4*3) / (3*2*1) って、公式で出せるし、
質問2なんて、三本木法の関数さえ、そのまま書いてくれてんじゃん。
しかし、こういう基本知識のアルゴリズム仕入れる本、どこに売ってるんだよ。
『プログラマの数学』にスクリプト言語での説明はなかったぞ。
PHPじゃなくていいから、誰か基本アルゴリズム書の良書教えてくれ。
0758687
2008/06/20(金) 00:33:44ID:???0759nobodyさん
2008/06/20(金) 00:34:52ID:TZ4JDjmYpreg_match('/[ぁ-ん]+/', $value);
としたところ、どうやら
”ー”や”・”等の記号にもマッチしてしまうようです。
(本当はひらがなだけにマッチして欲しい、、、これはこれで便利ですが。)
'/[ぁ-ん]+/'とした場合に混ざってしまう記号は他に何がありますか?
また、正確にひらがなだけマッチさせたい場合はどうすればよいのでしょうか?
0760nobodyさん
2008/06/20(金) 00:34:58ID:USTunk61検索自体の処理はできて10件ずつ表示することまではできたのですが、Googleの
ようにページ数を 1 2 3 … と並べて表示するのに全体で何ページあるのかが検索
結果とは別に必要になりました。
通常の検索はSQLでlimitを使って10件だけ取得しているのですが、件数を取得するのに
もう一度同じようなSQLを書いてcount()でレコード数を計算するのはなんだか無駄なような
気がしています。一般的にはどのようにしているのでしょうか。結果取得と総件数を取得するのに
2回SQLを発行するよりも良い方法はありますか。
PHPとMySQLを使っています。宜しくお願いします。
0761nobodyさん
2008/06/20(金) 00:47:22ID:???0762760
2008/06/20(金) 00:56:17ID:???ありがとうございます。
さっそく調べてみましたが、使用する際に全体の件数と表示データがそれぞれ
必要になるので、やはりデータベースからの取得は2回行う必要があるようでした。
名簿テーブルは10万件以上あって、あまり何度も検索したくないです。。
世間には検索エンジンのようなものがいろいろあるのですが、全体の件数を取得しながら
表示するデータだけ抽出するようなことはどのようにやっているのかと疑問に思っています。
0764nobodyさん
2008/06/20(金) 01:06:02ID:tcY9xQFv教科書を読むよりも、実践の中で自分の足らざる部分を見つけて、
それを補うためには何をしていいのか、その都度考える方が大事だよ。
かくいう私も、そのように実践してきた。
いつも、新しいことを要求されて、その度にそれに応えようと、
勉強してきました。
その甲斐もあって私は28ですが、一部上場のSIerを経て、
横浜の一角に事務所を構えるまでのIT企業の社長になりました。
ここまで書くと私のことを何がすごい超人的な人のように勘違いして
しまう方も多いと思いますが、私としてはただ自然に当たり前のことをやってきただけです。
毎日の積み重ねを大事にしていけば、きっと自分の描く未来像が現実のものとなって、
目の前に現れるでしょう。それまで、辛抱です。辛抱こそ肝要ですよ。
0765nobodyさん
2008/06/20(金) 01:08:32ID:???0766nobodyさん
2008/06/20(金) 01:28:39ID:???だから、俺は質問者じゃないんで
順列の処理や三本木法の概念は分かるんだ。
高校数学までだけどね。
ただ、そういうのを実際プログラムで書くには、
どうやって書けばいいのか、出てこない。
だから、実例が載っているようなそういう本が欲しいんだよね。
0767nobodyさん
2008/06/20(金) 01:31:48ID:tcY9xQFvそれは血の滲むような努力です。
といっても、それでは答えになっていないので、掻い摘んでいうと、
勉強とは、教科書や参考書を解くことではないということです。
もちろん、何もわからない状態では何を始めたらいいのかわからないでしょうから、
そのときに、自分のレベル・ニーズに合う専門書を購入して、基礎的な学問体系を
頭の中に叩き込むというのは初期の学習では一応有用です。
しかし、専門書は言うなれば昔の業績の集約です。
一昔二昔前に出された学術研究の成果が本という形に集約して出版されているに過ぎません。
となれば、次は最新の技術動向やいかに実務につなげていくか応用学習をして
始めて社会に通用する力となっていくのです。
雑誌、セミナー、その専門分野の人に直接会っての問答、研究会の参加、勉強する方法はいくらでもあります。
0769nobodyさん
2008/06/20(金) 01:48:22ID:pWiBbCze十分一意性のあるIDを生成するにはどうしたらいいでしょうか?
サーバのIPアドレスとマイクロ時間をmd5するだけでも十分でしょうか?
0770nobodyさん
2008/06/20(金) 02:01:42ID:tcY9xQFv人を批判するだけでは、何も進歩はありませんよ。
それがあなたの趣向だというなら、これ以上申し上げませんが。
0771nobodyさん
2008/06/20(金) 02:03:48ID:???ネタですか?
0772nobodyさん
2008/06/20(金) 02:04:15ID:???0775nobodyさん
2008/06/20(金) 02:29:59ID:???0776769
2008/06/20(金) 02:30:06ID:???これが使えそうです
ethnaでは、通信統計情報とプロセスidとマイクロ秒を使ってましたが
なぜ、uniqidを使ってないのでしょう?
>>773
なんでwindows用ですか?
0777nobodyさん
2008/06/20(金) 08:26:59ID:???0778nobodyさん
2008/06/20(金) 10:18:18ID:???ソースを丸写しにしないとなにもできないゆとりはプログラムに向いてない。
0780nobodyさん
2008/06/20(金) 10:35:42ID:AZS/SHCF文字列をスペースまでで判断し、文字数を調べるプログラムを作りたいです。いい方法があればヒントだけでも教えていただけたいです。
0781nobodyさん
2008/06/20(金) 10:37:45ID:???0782nobodyさん
2008/06/20(金) 12:09:28ID:???可読性が一気に落ちるんですが、
何とか対処する方法ありませんか?
0784nobodyさん
2008/06/20(金) 15:23:14ID:ONqtinSE結果: ABCD
print preg_replace( '|[^X](/)/+|', '$1', 'ABCDDDD' );
結果: ABD
ええええええええええ?!
普通最初と同じようにABCDになると思うんだけど。
[^X] のせいなのは分かってるけど、
なんでC(マッチ文字列の直前の一文字)まで消えるの?
※ X は何でもいい。除外キーワードを使うと発生する。
バグ? 書き方おかしい?
0785784
2008/06/20(金) 15:24:15ID:ONqtinSEprint preg_replace( '|(D)D+|', '$1', 'ABCDDDD' );
結果: ABCD
print preg_replace( '|[^X](D)D+|', '$1', 'ABCDDDD' );
結果: ABD
0786nobodyさん
2008/06/20(金) 15:31:35ID:j50/p+uL〜hoge.php?key=NOMIKONDEBOKUNOEKUSUKARIBA-
のように大文字を使っても良いのでしょうか?
0787nobodyさん
2008/06/20(金) 15:33:55ID:???1つめ、DDDDにマッチ→それをDに置き換え→ABCD
2つめ、CDDDDにマッチ→それをDに置き換え→ABD
だろ。
2つ目はX以外の1文字、D1文字、D1文字以上の連続の組み合わせだからCDDDDにマッチ
0790nobodyさん
2008/06/20(金) 15:43:40ID:???そっか。そうだよね。
冷静に考えてみたら、俺が間違ってた。
元はURLを対象にしてたんだけど、
print preg_replace( '|[^https?://](/)/+|', '$1', 'http://example.com//foo///bar.html' );
結果:http://example.co/fo/bar.html
これをhttp://example.com/foo/bar.htmlにしたいんだ。
って、スレ違いかな……?
0791nobodyさん
2008/06/20(金) 16:03:01ID:???echo preg_replace("|([^:/]{1})/+|", '$1/', 'http://example.com//foo///bar.html');
0792nobodyさん
2008/06/20(金) 16:15:48ID:???完璧です! ありがとう!
/をパターンに含む必要なんてなかったんだ。頭いい。つか、俺頭悪いorz
オライリーのやつ買うかなぁ……。
0794792
2008/06/20(金) 16:24:22ID:ONqtinSE結果: :////
う〜ん……?
http:// になると思うんだけどなぁ?
さすがに、スレ違いですので、ちょっと自分で考えてみます。
>>791さん、本当ありがとう。
0797nobodyさん
2008/06/20(金) 19:36:21ID:???正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
が詳しいと思われる。
0798759
2008/06/20(金) 20:15:44ID:TZ4JDjmY0801nobodyさん
2008/06/20(金) 20:57:41ID:???ttp://code.nanigac.com/source/wiki/view/498
全て全角ひらがなか?(UTF-8)のとこ
ちなみにそれは長音とかも除外になってるけどいいのかな?
0802759
2008/06/21(土) 02:03:52ID:uExffoGDありがとうございます
長音除外OKです
0803nobodyさん
2008/06/21(土) 12:52:26ID:13aabwExこれまで正常に動いていたページの出力処理が途中で終わってしまうようになりました。
(カレンダーの生成がされないなど。また、読み込み処理にやたら時間がかかります→ページ遷移が遅くなった)
error.logにエラーとして出力はされてないので、プログラムの問題ではないのかなと思ってるんですが…
似たような人いますか? 何が原因と考えられるでしょう?
0804nobodyさん
2008/06/21(土) 12:57:41ID:???してないのならブラウザの解釈の問題じゃないの
0805nobodyさん
2008/06/21(土) 13:12:41ID:???0806803
2008/06/21(土) 13:14:16ID:13aabwExブラウザごとの出力変更はしてません。やはりFx3の問題でしょうか
IEとsafariで確認したら、今までどおりサクサク動いています
とりあえず気にせず作業します、ありがとう
あと、Fx3ですがファイルのアップロードフィールドに一度選択されたファイルは
backspaceやdeleteで消せなくなってます。ページリロードしないと空欄に戻せません。
自前でクリアボタンを用意する必要があります。結構大問題です
皆さん気をつけてください
0807803
2008/06/21(土) 13:15:54ID:???phpとFx3の相性みたいなものがあるのかと思ったので
phpで開発してるのにperlスレで聞いてもしかたないですから 失礼しました
0808nobodyさん
2008/06/21(土) 13:52:18ID:???そのPHPの出力結果をIEで取得して、ソースをローカルに保存して、Firefox3で開いたらちゃんと表示されんのかね。
それで表示されないんだったら、HTMLの解釈の問題なんじゃない。
表示されるようなら、送出してるheaderがしょっぱいとかそういう話?
0809nobodyさん
2008/06/21(土) 14:11:20ID:???1.1beta か、1.2alpha なら Firefox3 でも動作するらしいし。
0810803
2008/06/21(土) 14:47:40ID:???どうもです Fx2で動かしてたときはサクサク動いてたんです
ということは、headerの問題ではないのかな、と。
>>809
よくわからないですが、それ入れてみます>Firebug
ありがとうございました
0811nobodyさん
2008/06/21(土) 14:57:52ID:???ごめん、>>808で言いたかったのは、
正常に表示されたときの出力結果(つまりプレーンなHTML)を一度保存して、
HTMLファイルとしてFx3で表示したら、HTMLは表示されるのかな?ってこと。
ソレが表示されないんだったら、HTMLの記述自体がぽしゃってるんじゃないかと。
0813nobodyさん
2008/06/21(土) 15:23:24ID:???ページ中にJavaScript使ってるならだけど、JavaScriptでこけてるっていう可能性は?
PHPは、サーバで処理した出力結果をブラウザに返してるわけだし、
PHPでのエラーって言うのも考えづらいかなぁと思うんだけど。
Fx3でHTTPヘッダの解釈が変わってたら、header関数で吐いてるheaderが上手く読み取られてないという可能性もありそうな。
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/030livehttp.html
Fx3で使えるか分からないけど、これで送出されるヘッダ確認できるっぽいけど。
これもまた見当違いかなー。
0814nobodyさん
2008/06/21(土) 15:51:54ID:???0815nobodyさん
2008/06/21(土) 18:58:12ID:???0816nobodyさん
2008/06/21(土) 19:24:40ID:owHyGhA6Smartyスレ確認したんですけど隔離スレになってるのでこちらで助けてください。。
index.tpl内で外部サイトにおいてある css やら js をリンクするHTMLを書いてるのですが
実際に出力されるhtmlを見ると「http://」が外れてしまいます。
<script ... src="http://example.com/ex.js">
↓
<script ... src="example.com/ex.js">
http:// が外れないようにするにはどうしたらいいのでしょうか。
{literal} で囲ったりもしてみたのですがダメでした。
0817nobodyさん
2008/06/21(土) 20:00:06ID:???0818nobodyさん
2008/06/21(土) 20:11:08ID:???変なフィルタプラグインでも呼んでるんじゃねえか?
0819nobodyさん
2008/06/21(土) 20:43:11ID:???0820nobodyさん
2008/06/21(土) 21:26:25ID:???SmartyはPHP4で書かれているので、PHP4環境でしかまともにテストしていません。だから何か不具合があっても諦めてください。
0821nobodyさん
2008/06/21(土) 21:51:51ID:???0822816
2008/06/21(土) 21:59:21ID:owHyGhA6サンクスです。
恥ずかしながら818さんがビンゴでした。
自分で "http://" を "" に置換するアウトプットフィルタ書いてました orz
今日半日くらい潰しました。ありがとうございます。。
0823nobodyさん
2008/06/21(土) 22:00:21ID:???0824nobodyさん
2008/06/21(土) 22:35:08ID:???なんとなくYUI使ってみようかとやってみたらハマッたわけなのです。
0825nobodyさん
2008/06/21(土) 22:47:50ID:???0826nobodyさん
2008/06/22(日) 00:32:52ID:LpK23FuMってレベルの、携帯で表示できるphpのアクセスカウンタについて勉強して
作ってみようかなと思っているのですが参考になるサイトまたはスクリプトを知りませんか?
ググッてはみているのですが、知識があまりないので
色々多機能なスクリプトを見ても激しく処理落ちしてしまうんででででででd
0827nobodyさん
2008/06/22(日) 00:54:46ID:???0828nobodyさん
2008/06/22(日) 01:16:24ID:kUNjCWuS<?PHP
$a="あ";
echo $a . " ";
echo escapeshellarg($a);
?>
PHP5.2.4で上のようなコードを実行すると、
あ 'あ' のように想定通りの出力が得られるのですが
PHP5.2.6(yumでアップデート)では、
あ '' という出力になり、escapeshellargが
上手く動いてくれないようです。どうしたらよいでしょうか?
0829826
2008/06/22(日) 01:53:59ID:LpK23FuMとりあえず一通りの処理の仕組みを理解したいんですよ。
送る→受け取る→表示させる。くらいしかまだわからないので…
なんでカウントできんの?って感じなんです。
0830nobodyさん
2008/06/22(日) 02:16:52ID:G75vU74Ghttp://www.e-and-a.ws/06/093.asp
つーかあなたはこっち
http://pc11.2ch.net/test/read.cgi/php/1213356756/l50
0831nobodyさん
2008/06/22(日) 02:40:53ID:LpK23FuM申し訳ない。
逝ってきます…
0832nobodyさん
2008/06/22(日) 11:33:03ID:???改行されているようにするには何をつければよいでしょうか?
\nではメモ帳では改行されません(他のエディタなら改行されてます)
よろしくお願いします
0834nobodyさん
2008/06/22(日) 12:26:05ID:???0835nobodyさん
2008/06/22(日) 14:50:21ID:v+r8Rhilhttp://example.net/test/test
とアクセスすれば、
http://example.net/test/test.(testから始まる拡張子で)にアクセスされるようにしたいです。
http://example.net/test/test.cgiがあれば
http://example.net/test/testにアクセスしたら
http://example.net/test/test.cgiが表示されるというようにです。
こう考えましたが動きませんでした。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ (.*).(.*) [L]
0836nobodyさん
2008/06/22(日) 14:57:03ID:???あとここはPHPスレだから、mod_rewriteはスレ違い
0837nobodyさん
2008/06/22(日) 15:32:36ID:???パネェwww
0839nobodyさん
2008/06/22(日) 17:06:54ID:???0840nobodyさん
2008/06/22(日) 19:01:41ID:???メモ帳はWindowsの改行コードでしか開けない
他の多くのエディタは改行コードを見て自動判別して開く
それだけの違い
メモ帳がしょぼいということなので諦めろ
どうしてもっていうならサーバOSをWindowsにしろ
0841nobodyさん
2008/06/22(日) 19:21:43ID:???0844nobodyさん
2008/06/22(日) 22:56:04ID:???改行コード:\r\n
これで、メモ帳で正常に出力される。必ず。
つまり、どこかに落ち度があるってことだ。
0845nobodyさん
2008/06/23(月) 02:12:57ID:wqaDeiWnrequire_onceでファイルを読み込む場合に
そのファイルがあるかどうか判断する方法を探しています。
file_existsだとインクルードパスを考慮してくれないので
それ以外の方法でないでしょうか?
何故このような質問をしたのかというと、
PHP5の__autoloadを使って動的にファイルを読み込む際に、
拡張子が2パターンある為、無ければこっちの拡張子という
分岐が発生するためです。
0846nobodyさん
2008/06/23(月) 02:18:58ID:???なんでそんな処理をする必要があるのか解らないな
0847nobodyさん
2008/06/23(月) 02:19:48ID:???>何故このような質問をしたのかというと、
から読めてなかったww
0848nobodyさん
2008/06/23(月) 02:58:20ID:???require_once();
}
ってやるしかないんでないの?
0849nobodyさん
2008/06/23(月) 03:03:57ID:???0850nobodyさん
2008/06/23(月) 04:11:57ID:PQglpgvePOSTするデータって最大何文字とかありますか?
ページAからページBに送られたPOSTデータを、そのまま配列にして
一つの値として次のページに渡したいと思ってます
0851nobodyさん
2008/06/23(月) 04:20:48ID:???0852nobodyさん
2008/06/23(月) 04:40:50ID:uq5ou2cMヘッダで読み込んでいるのですが、その外部JavaScriptのソースを
HTMLを吐きださせているPHP側から制御したいと考えています。
今は外部JavaScriptのソースを呼び出す時に、
JavaScript.php?val1=hoge&val2=hoge
の様にしてURLから変数を渡しているのですが、出来ればURLからの変数受け渡しは避けたいと考えています。
HTML側に直接JavaScriptソースを書き込む以外に、URLからの変数受け渡しを避ける方法は何かありませんでしょうか?
宜しくお願いします。
0853nobodyさん
2008/06/23(月) 05:03:48ID:???■ このスレッドは過去ログ倉庫に格納されています