【PHP】下らねぇ質問はここに書き込みやがれ 51
まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/ ◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
7 :
nobodyさん :2007/07/27(金) 16:47:40 ID:TWr2luhO
PHP5でデータベースを読み、既に作成してあるxlsファイルに乗っけて出力したいと思います。 ググったら「PHPExcel 1.0.0」というのを見つけたのですが、これらを日本語で解説しているサイト もしくは書籍はないでしょうか?ご存知の方いましたらぜひ教えてください。
___ , 二¨-―-- 、`丶、 /_ ..-――-.. 、十ヽ\ //::.::,:.:.:./::/::.::.l::.::`ヽ、\ヽ 〃::/:::/:.:.:/::/::.:/::|::.:、:.::.::ヽ ハ `、 l::.:::l:: ,':l:::/::/::.:/::;小:::l::ト、::.:V l ヽ {::.:::|:::l::|::l::/::.:/::/:/:_j⊥l::ヽ:!} \ . ハ::.::l:::|┼く:/::/ /'´ノ ヽ:∨::.:l | / 〈 l::.:|:::l::|∠、ノ , =≡V::.::/|/ ヽヘ::ヽ::V⌒゙ , "゙ / :::,' l〔 下らねぇ質問は /rヘ::\ ゛゛ rーヘ 彡: / /:::Y⌒i ここに書き込みやがれ、ですっ。 l冫/ }`ヽミヽ、ヽ、ノ, イ:`7十/::.::.:l | // /:::_rヘ_`二√ __〉/ レヘ::} | // ,'/夕r==、∨---/、/ f==ミフ 厂ト、 . // 〃r7,イ| >トマ ̄〉 7ヽ厶ィ {ヽ 」__/ / 〉 , -‐'7/ /:.rク/ {ニ=彳/ ハ ∨, / ̄:{八_‐-┴勹 / / /: :/7/ /,イ/ / /、/_ /: : : :|:厶 `^´ 人 ヽ冫< / {: : :Y〈__ //〃 ,' / 7ヽ ,仆、: : :|| : :`¨¨´: :冫、
|┃三 ガラッ! ┌──────┐ミ |┃ | ここまで天麩羅| サッ! |┃ ≡ 〆⌒└─┬────┘ミ ____.|┃ ( ___)│ |┃= (_》 ^ω^)E) テッテレー♪ |┃ ≡⊂ ノ
>>7 英語の本家サイト読め。大した分量じゃないだろ
PostgreSQLの検索結果から 「該当数を取得して、指定オフセットから、指定行数を取得する」場合 以下の二つの方法だとどちらが良いのでしょうか? ・SQLのSELECT構文とLIMIT/OFFSET を組み合わせる ・SQLにLIMIT/OFFSETは付加せず、pg_result_seekとfor文で取得する 前者はLIMITをかけている為、1クエリでは正確な該当数が取得出来ません。 該当数を取得する為のクエリも発行する必要があるかと思います。
12 :
nobodyさん :2007/07/27(金) 18:21:26 ID:ScuneWRk
>>12 場合による
ポスグレに限定するならPHPの関数使ったほうが楽かも…
14 :
nobodyさん :2007/07/27(金) 19:02:01 ID:0H+CWdbY
モバイル用ページを作ってます。 内部エンコード・DBはUTF-8で、 面倒なので入出力の文字コードを自動でSJISにしようと思い 設定し、出力は自動変換できたのですが フォームの入力がSJISのまま来ちゃいます。 mbstring.language = Japanese mbstring.encoding_translation = On mbstring.http_input = auto mbstring.internal_encoding = UTF-8 入力変換ってこの設定だけで、自動的に内部エンコードにするんですよね? mbstring.http_inputを"SJIS"にしてみてもだめでした。 ini_getで見てもちゃんと設定されてるし、htaccsessでも、php.iniでも試したけどだめです。 encoding_translation=On が効いてない感じです。 他に何か必要なものがあるのでしょうか? まあ、コード内で、いちいち変換してもいいんですけどね・・・OTZ
15 :
nobodyさん :2007/07/27(金) 20:40:52 ID:vcSWcDTg
前のスレ
>>994 様
誘導していただきありがとうございました。
16 :
nobodyさん :2007/07/27(金) 20:41:32 ID:ScuneWRk
>>13 SQLにLIMITが入っていないと、数万レコードヒットした時に負荷が高そう・・・
と心配しているのですが、関係無いのでしょうか?
DBMS(Postgres)の動作原理を理解していないので、判断出来なくて困惑中なのです。
17 :
nobodyさん :2007/07/27(金) 21:43:25 ID:9eNA5Rdl
PDOで接続したDBからテーブルのリストを取得するにはどうすればいいですか? マニュアルにも載ってないし・・
>>14 PHPに内部エンコーディングっていう物は存在しない。
もっとシンプル。
そこでのinternalっていうのはPHPファイル自体の
文字コードを指してる。
そこからhtmlをShift_JISで書き出すというだけ。
だから、mb_check_encoding(スペル自信なし)で
POSTがShift_JISの範囲内で送られてきてるかをチェックして
大丈夫なら、UTF-8にエンコードしてエスケープしてDBに入れる。
ここで大切なのはPOSTデータのエンコードチェック。
これをしておけば、先にエスケープしてからUTF-8に変換しても安全。
これで後はDBから出されたUTF-8の文字列は自分で何もしなくても
Shift_JIS文字になる。
ただし、auto指定だからスクリプト自体もUTF-8で書かれているのが前提。
DBから出てきた文字コードと、PHPファイルから画面へ出力する
文字コードの両方が違ったらautoで判別出来ないから。
んで、autoは同じバイトコードで、EUC-JPでも、UTF-8でも
該当のバイトコードに文字が存在する条件下では
文字コードの判別できないから、エンコードの優先順位を書くか、
autoじゃなくて任意で指定するともっと良い。
文字コードを設定ファイルでdefineしておけば楽。
PHPに限らないんだけどネットで公開されてるスクリプトの頭に $Id:ファイル名,v バージョン 日時 作成者 Exp $ こういうの書かれてるのあるよね なんか自動で入れてくれるソフトってあるの?
20 :
nobodyさん :2007/07/28(土) 00:41:00 ID:bsQuBWzY
classのファイルは拡張子を.class.phpにして、 オートローダもそれで読みに行くようにしてます。 interfaceを、.class.phpに格納するのはおかしいですが、 別拡張子にすると、判定が煩雑になりそうです。 どうするのがベターでしょうか?
>>16 LIMIT演算子を入れるのは良いけど、予め件数が分かっているの?
LIMIT 0,100とかやって、50件しかヒットしなかったら、SQLエラーで
データが返却されなくなるよ。
>>20 > interfaceを、.class.phpに格納するのはおかしいですが、
それは、お前の脳がJava脳になっているだけ。
PHPで実装するならPHPの流儀に従え。
郷に入りては郷に従えだ。
>>19 例えば、eclipse for phpなら、設定によって勝手に入れてくれる。
PHPってあきた
25 :
nobodyさん :2007/07/28(土) 04:14:13 ID:RgsKpMVS
PDOってDBの抽象化するっていうけど DB毎に癖があるからそのまま置き換えられるなんてことないよな。 存在価値あんのこれ?
PDOはメモリ関係にバグができるのでおすすめしない
こんな所で、取るに足らないプログラム言語談義を花を咲かせていないで、 朝生で政治の勉強でもしろよ。 ホント、ここの奴らは馬鹿ばっか。
28 :
nobodyさん :2007/07/28(土) 04:29:43 ID:mnRiX82D
>>28 どのDBがおすすめ?ってきいてるようなもん
30 :
nobodyさん :2007/07/28(土) 04:55:31 ID:aG4rD0W5
echo "document.write(\"〜\")"; で<p>$keyword</p>と表示させるにはどうしたら良いのですか?
31 :
30 :2007/07/28(土) 04:57:35 ID:???
あ、すいません。くだすれ(超初心者用)の方が合ってますねw スレ汚しすいませんでした。
>>26 まじで!?
sqlite3はPDO経由でしかアクセスできないからPDO使ってるだけど
kwsk教えて
PDO バグ でググッたらわんさか出てきた なにかとバギーみたいねorz sqlite3はあきらめて2でいくかぁ…
34 :
nobodyさん :2007/07/28(土) 13:30:55 ID:HJ4GwfPv
質問です ・企業ユーザからの情報登録が必須のサイトを開発 ・ある程度以上登録が集まってから公開したい ・なので、一般公開はしてないけど登録フォームへの誘導機能は付けたい ・かつ、登録してくれるユーザには、登録した情報がどのように運用されるのか 実用レベルで確認できるようにしたい ※平たく言えば、一般ユーザ以外の登録ユーザにのみ実用レベルで公開したい …というような条件の時、どうしたらいいですかね? トップディレクトリにベーシック認証かければいいんでしょうか? それとも、PHPを使ってもっといいやり方があるでしょうか… アイディアおねがいします 環境はcentOS apache2 php5 mysql5 です
35 :
nobodyさん :2007/07/28(土) 13:39:37 ID:4LsToeD9
>>34 どの程度知られてはまずいのかによって違うな。
また、アクセス情報を企業ユーザから得られるかによって違う。
URLを公開しないから顧客にだけ教える。URL漏れてもいいっていうのが
一番楽なケース。
次に楽なのが、顧客ユーザからの接続IP範囲が判っていて(教えてもらえて)
それで運用していいと言われるケース。IPで決めればなにも必要なし。
最悪手は多分、認証(パスワード等)情報などを配布しろとか言われてアクセスを
妨げたいケースだな。認証パスワードなんか実は情報だだもれだろうし、ユーザビリティ最悪。
で、どういうケース?
36 :
34 :2007/07/28(土) 13:42:39 ID:HJ4GwfPv
ドメインはとっていて、URLに誘導してそこで一般/登録ユーザを振り分けたいんです 企業の接続IPとかは考えなくていいかなと思ってます
37 :
34 :2007/07/28(土) 13:43:12 ID:HJ4GwfPv
?それじゃ個人で登録しようがなにしようがOKになるだろ。 登録ユーザが企業ユーザであるという保障はどこにある?
39 :
34 :2007/07/28(土) 13:54:30 ID:HJ4GwfPv
>>38 こちらで、企業あてにURLとその認証のID、Passを配布して(メールとか営業で)、
そこから先は個別の企業ごとのページを作ってもらおうと思ってます。
その程度の発想で商売でやるの大丈夫か? それで問題生じないのかとかいうことをおいたとして、 >トップディレクトリにベーシック認証かければいいんでしょうか? これはね・・・友達だけの掲示板作ってるんじゃないんだから、 ちゃんとSSLで実装しなさい。 配布したIDパスワードも企業側で変更出来るようなものを作りこんだうえで やらないとだめだよ。
41 :
34 :2007/07/28(土) 14:13:30 ID:HJ4GwfPv
>>40 度々ありがとうございます
SSLについては、個別の登録フォームには設置しようと思っていましたが、
トップから適用した方がいいってことですね。わかりました。
ユーザID,Passも変更可能なつくりにする予定です。
トップの一般会員ハジキの認証は、ベーシック認証じゃダメなんですかね?
0)SSL必須
1)サイト全体を作っておいて、トップページの一番上にhttp_authのベーシック認証
2)認証クリアしたもののみ、実ユーザ登録ページに転送(この認証のID,Passは共通)
3)ユーザ登録ページでID・Pass設定(以後、自由編集可能)
これなら実用レベルで見て回れるぞ、と思ってたんですが…
このイメージじゃ無理なのかなぁ…
42 :
34 :2007/07/28(土) 14:14:32 ID:???
× 一般会員ハジキの認証 ○ 一般ユーザ でした すみません
>>41 考え方を整理してごらん。おかしいだろ?
ベーシック認証が破られれば登録ページに自由にアクセスできるのに
そこでSSL使っててなにか意味があるか?
44 :
34 :2007/07/28(土) 14:24:04 ID:???
そうか、そうですね もうちょっと考えてみます!
45 :
34 :2007/07/28(土) 14:25:30 ID:???
ほとんどPHPと関係ない話題になってましたね
申し訳ありませんでした。
>>43 ありがとうございました
外部サイトのHTMLを読み込んで文字列として扱うにはどうすればいいの? includeでそれらしいことができたんだけど、echoしなくても勝手に表示されて困ってる. get_include_contentsは書式エラーが出るし、readfileも勝手に表示されるし、fopenは無理だし、もう何が何だか。
>>46 だけど事故解決した。
考えてくれた人がいたらありがとう。
48 :
46 :2007/07/28(土) 18:51:17 ID:???
あ、ごめ。うぇb制作板と間違えた。 首つってくる・・・orz
PHPでUTF-8NにURIエンコードできないの? サーバーサイドで実現させたいんだけど
すげー馬鹿っぽい質問
51 :
nobodyさん :2007/07/28(土) 22:14:28 ID:Kk4QHFhL
AdodbでMySQLに接続すると、25ミリ秒ほど掛かります。 mysql_connect関数でMySQLに接続すると、0.3ミリ秒ほどしか掛かりません。 Adodbのコンパイルに時間が掛かっているかと想像しているのですが、 このAdodbでの接続を速くする手法とかはないのでしょうか? Adodbを使用することのメリットよりも速度を重視した場合、 mysql関数やmysqli関数で実装した方が良さそうな感じです。
>>51 レスありがとうございます。
本質を見失っていました。
データベース抽象化しないのは駄目なやり方・・・というわけではないですね。
54 :
nobodyさん :2007/07/28(土) 23:23:44 ID:PaYijQ8b
propelとか使うよりかは速いだろうし ある程度の速度がでるからたいていはPDOで必要充分だけど クラの要望で更に速度を求めるのなら必然的にべた書きでクエリ発行がきほんぬ
>>53 自分でスピード計って自分なりの答えを出したなら
それより正しいやり方なんて無い。
>>43 ベーシック認証のパスワードとか平文
で流さなくなるからその部分は良いん
じゃない?
しかしそれ以外に良い方法なんかあるか?
URL公開で誰でもアクセスできわけだし
>>54 PDOはバグだらけ
m9 三 9m
彡 ∧∧ ミ
m9 (^Д^) 9m プギャプギャプギャプギャー!!
ヾヽ\ y ) 彡
m9/三 9m
∪ ̄ ̄ ̄\)
>>56 ?SSLを使わないのを前提にしてベーシック認証の話を考えてたんだよ質問者は。
あと他の部分もレスの流れ読んでから書き込みなさいね。
59 :
名無しさん@そうだ選挙に行こう :2007/07/29(日) 03:15:05 ID:LTvsXwuR
ヒアドキュメントの中にPHP埋め込みってできないっすか? print <<<_EOM_ <html> <body> <? echo "aaa"; ?> </body> </html> _EOM_; こうすると直接 <? echo "aaa"; ?> が表示されてしまいます。(ソースに)
PHPの構文の中にPHPを埋め込みたいってアホか
最近、このレス盛り上がんないなぁ。 もっと、盛り上がれよ。もっと、煽れ煽れ煽れ!!
しつもんです 今、GDで画像を縮小保存するスクリプトを書いてるんですが、 縮小した画像を表示してみるとガタガタしています。 (人物の顔の輪郭とか) これはどうしようもないことなんでしょうか? 解決法ないですかね?
63 :
62 :2007/07/29(日) 09:30:56 ID:9qZJ5AIW
いかん、ID出し忘れた よろしくおねがいします
>>63 ものっそ計算とかできるのでなければGDじゃ無理かもしれない。
imagickとかでやればおk。ぼかしと組み合わせたりね
>>63 imagecopyresampledを使っているとしたら、第1引数は
imagecreatetruecolorで作らなければならない。ということではなく?
67 :
名無しさん@そうだ選挙に行こう :2007/07/29(日) 17:15:07 ID:VfoU2k6K
CMSにタグクラウドをインストしたんですが、 Warning: ksort() expects parameter 1 to be array, null given in /home/aaa/modules/tag_clouds.php on line 254 ってエラーがでるんですが、いまいち解決策が浮かびません ヒントおねがいします
ヒント:訳せ
もうなんともなあ。初歩の英語も読めんでよプログラムとか書くやめろよ。
71 :
名無しさん@そうだ選挙に行こう :2007/07/29(日) 18:45:38 ID:Bn55vaoQ
xdebugを入れると、エラー時にCall Stackが表示されて激しく便利なんですが xdebug入れずにCall Stack情報を知る方法があれば教えてください☆
72 :
名無しさん@そうだ選挙に行こう :2007/07/29(日) 19:52:34 ID:zURM7j22
if ($a == $b) {echo"ok";} こんな感じの処理を59回行いたいんですが、 forで59回分、まわすのと、 59行びっしり書いて処理するのでは どちらが処理時間がはやいでしょうか?
for 0.00137519836426 msec ずらずら 0.00004291534424 msec
PHPのループは遅いで有名だよね
関数にしちまえばいい
79 :
nobodyさん :2007/07/29(日) 21:55:22 ID:zURM7j22
なるほど、ありがとうございました。 びっしり書くことにします。
80 :
69 :2007/07/29(日) 22:01:33 ID:???
81 :
nobodyさん :2007/07/29(日) 22:08:25 ID:zURM7j22
たびたびすみません、\nを echo で表示しようとすると、ソースの中で改行されます。 しかし、$a = "テスト\nあああ";という $aに格納されてる文字列をファイルに保存して、 fileで読み込んでechoで出力すると\nが文字列として表示されます。 なぜなんでしょうか???
オブジェクトの存在しないプロパティに代入したら エラーにならずにプロパティが作成され代入されます。 この動作変じゃないですか? エラーになるようにできませんか?
できる
念じれば出来る
出来ないんですか? PHP以外のオブジェクト指向言語でもそうなのでしょうか プロパティってそんな軽いもんなんですか
うん軽い。存在より軽い。
89 :
nobodyさん :2007/07/29(日) 23:02:53 ID:zURM7j220
すみません、$time = date('YmdHis')で 一度変数に格納したら、値が変わらないようにしたいのですが、 どうしたらいいでしょうか?
>>88 耐えられません
どうにかして重くなりませんか?
あと83の人お願いします
>>89 $time の値はいじらない限り変わらないと思うけど?
93 :
88 :2007/07/29(日) 23:18:51 ID:???0
>>90 ある意味セッタ、ゲッタメソッドを作らないで直接代入する貴方にも
責任があると思う。ドプチェクのようなもの。
>>90 んなことマニュアルのOOPのページ見れば書いてあるんだが
95 :
nobodyさん :2007/07/30(月) 02:13:22 ID:k6dNwcDo
結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk?
>>93 OOPといえば、setter、getterのことだと思っている単細胞ハッケーン
97 :
nobodyさん :2007/07/30(月) 02:50:25 ID:0Togw9Jb
sage
つまんない流れ
29日午前7時25分ごろ、神奈川県山北町神尾田の丹沢湖にかかるヘイロク沢橋の下で、湖水が干上がった場所に放置されていたドラム缶から腐敗臭がする
100 :
nobodyさん :2007/07/30(月) 07:28:42 ID:k6dNwcDo
結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk? 結局、スクリプト言語はPHP、添付にPerlでおk?
ドラム缶から腐敗臭
唇から媚薬
<select name="test" <option value="〜" </select> <input type="submit" name="submit" value="push"> で、1回目のsubmitでoptionとvalueを動的に作って、2回目以降のsubmitで作られたvalueを$strに入れるにはどうしたら良いですか? $_REQEST['test']と$_POST['test']を試したけど、なりません
>>103 確かに何を言いたいのか分かりそうで意味が分からない。
もっと聞くべき事とそれの材料を整理汁。
あと
>>1 嫁
自己解決するぞ
>>103 他のやつと同様に何がしたいかさっぱり理解できんが
とりあえずもちついて
print_r($_POST);
でほしいものが飛んできているか確認してみな
>>103 じつはフォームはgetで送っているとかじゃないよね・・・
ものすごい根本的な質問なのですが。 for と while ってどっちかだけでも全ての事が出来ますよね? いまいち別々にある理由が分からないんです。 つまり片方が無くてもなんとかはなるんじゃないかと思うので、二つある理由が分かりません。 好みとか見やすさのためなんでしょうか?
>>108 それをいいだしたらswitchだってforeachだっていらない子になりマス。
敷衍していえば、Cだってperlだって要らなくなるしな。 世の中の言語がphpだけで事足りてしまう。
111 :
nobodyさん :2007/07/30(月) 13:53:30 ID:FrcIGkvY
PHP4.4.2です。 checkdate()で変数によって挙動が変わってくるのですが、どういうことなんでしょうか? $date['month'] = 7; $date['day'] = 28; $date['year'] = 2007; checkdate($date['month'],$date['day'],$date['year']); ↑ falseが返る $month = 7; $day = 28; $year = 2007; checkdate($month,$day,$year); ↑ trueが返る checkdate(7,28,2007); ↑ trueが返る 全ての日付が false になるのではなく、何日間かあるみたいです。 他には 7月31日・8月31日 などです。
>>108 は俺もプログラミングやりはじめたとき思ったな。
でも、プログラミングしてるうちに、両方を使い分けるようになる。
言葉では説明できないがな。
ここで、ちゃんと理由説明せずに批判だけしてるやつも同じ。
114 :
111 :2007/07/30(月) 13:59:14 ID:???
と、思ったら…変数名間違ってました…。お恥ずかしい限りです。
>>113 人を批判する前にじぶんが説明できるようになれよ
116 :
nobodyさん :2007/07/30(月) 14:13:43 ID:j81avk9K
よろしくお願いします。 $deny='.jp'; $host=gethostbyaddr($_SERVER["REMOTE_ADDR"]); if(strpos($host,$deny)===FALSE){exit;}; で.jp以外をアクセス制限しています。ここに.net等書き加える時の書式を教えてください。 PHP Version 5.1.6
elseifかforeach使う
なぜstrposをつかう・・・・・?
>>115 「言葉では説明できない」って書いてあんじゃん。おばかさん。
>>116 $deny = array(".jp", ".net");
$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
foreach($deny as $value)
{
if(preg_match('/'. $value .'$/', $host)) exit();
}
121 :
nobodyさん :2007/07/30(月) 14:41:18 ID:j81avk9K
>>120 どうもです。
でもそれだとブラウザで見に行くと真っ白けなんです。
122 :
nobodyさん :2007/07/30(月) 14:42:20 ID:j81avk9K
>>116 の
$deny='.jp';
を
$deny = array(".jp", ".net");
にしても一緒でした。
>>121 >ブラウザで見に行くと真っ白けなんです
意味がわからん
これだけコピーして貼り付けても何も表示されないわな
とりあえず、この流れの意味を理解することをお勧めする。
>>122 やり取り見た感じアクセス規制以前の部分から勉強することをオヌヌヌする。
あと流れ的に$allowって変数名のほうがいい
>>108 出来るか出来ないかと言えば一つの関数でできるが
少しずつ冗長なケースがあるんだよ
プログラマはその少しの冗長が我慢できなくなる人種
そのためにほとんど似ているがちょっと違う関数が出来た
forとかwhileは関数じゃなくて文だな ブロック中で参照もしないループカウンタの存在が 疎ましくてたまらなくなったら それが大人の階段のぼった時
PHPマニュアルをググるとやたら出てきて困ります 決定版はどこのサイトですか??
lol
つ 公式サイト PHPspotはアフィ厨サイトなのでおすすめしない
131 :
nobodyさん :2007/07/30(月) 15:59:46 ID:vRSUKu0i
mysql_queryで、SELECTで検索した結果からさらに内容を絞り込む方法はありませんでしょうか?
ある
>>128 んで公式マニュアルの検索部分をfirefoxの検索エンジンとして登録しておくと結構便利
>>131 1、クエリで絞り込む文をはじめからべた書き。
2、mysql_fetch_arrayでぶん回して絞込み。
抽象的過ぎるからこれくらいしか思いつかん
135 :
62 :2007/07/30(月) 16:10:18 ID:jeC1TV1e
>>65-66 ありがとうございます
imagickは便利そうだけどインストールしたのに上手く動きませんでした
>>66 さんの言ってることに注意してGDでやることにします
ありがとうございました
136 :
nobodyさん :2007/07/30(月) 16:11:46 ID:vRSUKu0i
>>134 ベタ書き方法を思いついたのでベタ書きします
ありがとうございます
137 :
nobodyさん :2007/07/30(月) 16:19:14 ID:vRSUKu0i
すみませんド忘れです mb_convert_encodingの配列version教えてください。
139 :
62 :2007/07/30(月) 16:35:44 ID:???
>>66 ImageCopyResampledでやってみたら凄く綺麗に出来ました
ありがとうございます 助かりました!
140 :
137 :2007/07/30(月) 16:36:00 ID:vRSUKu0i
mb_convert_variablesで解決しました
141 :
nobodyさん :2007/07/30(月) 17:08:37 ID:2xutiaGX
PHPスクリプトの置き場所について public_htmlより上においててもたいていのスクリプトは動作しますか?
>>141 大帝のスクリプトなら逝ける筈
庶民のスクリプトは無理だと思う
144 :
nobodyさん :2007/07/30(月) 18:07:58 ID:2xutiaGX
public_htmlないからincludeして実行しようとおもいます
145 :
nobodyさん :2007/07/30(月) 18:17:21 ID:I6x/cfL/
$today = date("Y/m/d"); echo "今日は$todayです"; 今日の日付を表示するスクリプトですが、 $todayは日にちが変われば中身がかわりますよね? これは毎回アクセスするたびに$todayがセットされるということですか? メモリの話はよくわからないのですが、 date関数から日付を表示するのではなく、date関数で今日の日付を見て、 2007/07/30という値をその日限り有効にセットした別の変数とか作れますか? 値をメモリ上に保持しとくみたいな感じで・・・(変なこといってたらすみません) それで日付が変わったら、新しい値次の日の値をセットして、またその日限り有効みたいな。 微々たるものだとは思うのですが、少しでも効率化を図りたいと思っています。
>>145 日付って鯖にセットされてる時刻じゃね?
147 :
nobodyさん :2007/07/30(月) 18:34:09 ID:1FSTDxFa
// 全角文字は使用禁止とする if( ereg( "[^\x21-\x7E]", $this->Form[$AttriName] ) ) { return False; } よく○○チェックなどありますが EUC JIS UTF-8で文字コードは変わってしまいますよね?
>>145 だってwebなんだから表示した瞬間そこで接続は切れて、ご破算になるんだぜ?
要求x送信の1つのルーチンを第三者が関れないだろ?
チャットでもなんでもログファイルを仲介して別だろ?
150 :
nobodyさん :2007/07/30(月) 18:40:27 ID:1FSTDxFa
>>148 ということはフリーの外部クラスとかで
マルチバイトの○○正規表現チェックなどは
範囲前後が不完全という事でFAですか?
>>150 それなら
strlen!=mb_strlenでいいんじゃね?
152 :
nobodyさん :2007/07/30(月) 18:45:27 ID:1FSTDxFa
>>151 じゃなくて、ひらがな〜とか 漢字〜とか
>>145 dateにどれくらいの負荷がかかるのかということと
仮にそれを保持しようとした場合に考えられる方法(file書き出し、DB登録)
どちらがより効率的かというと明らかに前者。
>>152 ひらがな〜 漢字〜 の意味がわかんない。
// ■ 漢字チェックを行う // function KanjiCheck( $AttriName ) { // チェック対象の属性が未指定の場合は終了する if( $AttriName == "" ) return True; // 属性データが配列の場合は終了する if( is_array( $this->Form[$AttriName] ) ) return True; // 未入力である場合は処理しない if( $this->Form[$AttriName] == "" ) return True; if( ereg( "^([\xB0-\xFE][\xA1-\xFE]|\xA1\xBC|\xA1\xA6|\xA1\xA1|\x20)+$", $this->Form[$AttriName] ) == False ) { return False; } return True; }
流れが読めない
全角文字が含まれていないかチェックするだけなら、
>>151 がスマート
>>144 きちんとやれば特に問題ないんじゃない、多少直で置くよりスキルが必要かもしれないけど大したレベルじゃない。
よく分からないならpublic_html内に置いたほうが分かりやすいかもしれないが。
159 :
103 :2007/07/30(月) 20:06:11 ID:???
>>104 >>105 >>106 >>107 返事&お礼がおそくなり申し訳ありません。
わかりにくい日本語で失礼をおかけしました。
動的というか、リクエストからかえってきたデータをもとに
<option value="$val">$name</option>
・
・
・
として、今度はその中からまた一つ選んで、そのvalueの値をもとにリクエストして
<option value="$val">$name</option>
・
・
・
という感じにしたいのです。
1回目は$valの初期値でリクエストします。
色んな行にecho文をかいてみましたが、何も入っていませんでした。
ちょっとまた手が離せないので取り合えずご報告致します。
>>159 やりたいことはわかった。
けど、実際のソース出してもらわないとどこが悪いのかわからないよ。
162 :
nobodyさん :2007/07/30(月) 21:00:30 ID:s/YUXnbP
メール送信で、ヘッダをRFC2822、RFC2047に準拠させようとしています。 1行の文字数制限をキッチリやってくれるものはないでしょうか。 PEAR::MAIL_mimeが出来そうだったんですが、 asciiコードだけのヘッダ行は1000文字以上でも折り返してもらえませんでした。
error_reportingで得られる数字を 分かりやすい定数のリストに直す方法を教えて下さい
>>161 ,164
シッ、関わっちゃいけません!
誰も触れてないでしょ!w
>>159 けったくそい日本語だな
再帰的にセレクトボックスを作りたいってことか?
昨日、phpの最適化で結構悩んでいたんだけど、 DBにインデックスしたら、今まで3時間掛かっていたのが、35秒で出来た。 処理件数が数百万件のDBだったため、検索に時間が掛かると思っていたが、 これほどインデックスが効果を発揮するとは。。 お前らも自分の心にインデックスを作れって頑張れよ。
インデックスないとかありえないだろ…
インデックスが大量にあるとinsert時のコストは高くなるけどな。 あとから参照する事が多いなら適切なインデックスは当然でしょ。
俺も知った時は驚いたけどさ、数百万件のDB扱ってる人が今更気づいたってのはちょっと怖いですよw
DBについて言っておくと、単にindex付けて早くなって喜んでいるのは素人プログラマーか新人プログラマー プロは、トランザクション単位でindexをcreateしたりdropしたりする。 検索系で処理で時間が掛かる場合は、始めにindexをつけて処理が終了したらdropする。 そうすることで、参照系も更新系も最速で処理が可能になる。 最近は、そこまで気を利かせて設計できる奴も少なくなったけど、 まぁ、趣味でやるならそれもいいけど。
>>171 ん???よく分からないんだが、インデックス付けっ放しでよくね?
何でいちいち削除したりすんの?
インデックスするのだって、時間かかるっしょ?
173 :
nobodyさん :2007/07/31(火) 02:58:40 ID:S7XQhQpV
ソースを読んでPHPの勉強をしたいと思います。 初級者から中級者に適したおすすめのフリーソフトやスクリプトを教えてください。
174 :
171 :2007/07/31(火) 03:10:48 ID:???
>>172 素人前回乙
インデックスの仕組みがよく分かっていないようだけど。
インデックスは、キーとなるカラムを決まった順番に並べておいて、
二分検索することで目的の行へすばやく移動できるの仕組み。
じゃあ、insert処理したらどうなるかと言えば、再び順番に並び替えるために、
インデックスを張りなおす必要がある。
例えば、データが100万件あって2番目にinsertしたら、
後の(100万-1)件のインデックスは再度インデックスの張りなおし。
つまり、insertするたびに、indexを作ることになるわけで、
検索0.01秒で出来ても挿入に100秒掛かることになりかねない。
ここまで説明したら、分かるよな。まぁ、お前はDBの基礎からやり直せ。
自慢したがる香具師って「プログラマー・素人・新人」って言葉が好きだよね。 そんなの誰も聞いてないのに言いたがる
>>173 おれがはじめてつくったスクリプトはメールフォームだったな。
その次に掲示板くんだ。
フリーソフトはPHPエディタでいいんでない?おれは使ったことないけど
>>174 の言ってる事がわからないんだけど誰か教えてくれ。
検索する時に
create index
select
drop index
って毎回やるって事?
178 :
171 :2007/07/31(火) 03:32:31 ID:???
>>177 お前は馬鹿すぎwww
indexに掛かる時間が10秒
indexしたtableに検索するのに掛かる時間0.1秒
tableにinsertする時間0.1秒
select 3回
insert 3回
◎ ちょっと考えれば分かる設計
create index 10秒
select 0.1秒
select 0.1秒
select 0.1秒
drop index 0.1秒
insert 0.1秒
insert 0.1秒
insert 0.1秒
× 手に負えないお馬鹿な設計
create index 10秒
select 0.1秒
select 0.1秒
select 0.1秒
insert 10秒
insert 10秒
insert 10秒
あとは、自分でよく考えろ。よ〜く考えてからレスしろよな。
更新時にインデックス外すとかdb本に普通に書いてることだろ 得意になってる奴の方がガキくさい
>>171 は今日勉強したばかりのネタがこのスレででたから答えたくてしょうがないんです
いじめないでください
おれのサイト、インデックスつけたままで参照と更新繰り返しているんだけど・・・ リクエストされるたびに、インデックス付けたり外したりするの面倒だなぁ・・・
182 :
177 :2007/07/31(火) 03:51:58 ID:???
>>178 スマンな。
>検索系で処理で時間が掛かる場合は、始めにindexをつけて処理が終了したらdropする。
お前のつたない日本語を直訳したら
>>177 になった。
更新時にindex外す事を言いたかっただけなのか?
あんなに長々と文字を費やして・・・。
>>178 はお前に分かるように説明してやってたんだろw
>>177 の時点で理解できてないことがもうアホかと
184 :
nobodyさん :2007/07/31(火) 04:15:32 ID:Wq5Bzhqy
mysql_escape_stringは使うな、 mysql_real_escape_stringを使えと マニュアルに書いていますが、 mysql_real_escape_stringはDBに接続してから使わなければいけないようです これっていちいちエスケープする時に サーバからエンコードを取得してるんですか? だいたい技術者にしてみればDBのエンコードを分かって作っていることが ほとんどなので、いちいちエンコードを取得するより エンコードを指定してエスケープすればいいと思うのですが。 なんでこんなやり方してるんですか? そもそもmysql_real_escape_stringって本当に使わないといけないもの なんですか?
addslashesでいいよ
どこかのブログに mysqlのエスケープにaddslashes使うなんてありえないって書いてたよ。 addslashes mysql_escape_string mysql_real_escape_string 違いよくわからんな 違いの分かる男解説頼む
つか普通はprepare使う
UTF-8 + PDO + bindParam()
bindparamって自動的にエスケープしてくれてんの?
bindParamなんて童貞しかつかわねぇよ
addslashes 一般的なデータベースが対象で、MySQLのための関数ではないし、すべてエスケープされない mysql_escape_string 文字コードを考慮しない
JavaのJDBCや、PerlのDBIと同じように処理するPHPのPDOを使っておけば、とりあえずPHPだけ批判されることはないんでねーの?
エスケープ処理はMySQL側がやるわけだから。
そもそも記事にPHPのバージョンも、MySQLのバージョンもないから、何ともいえない。
>>190 する
DBのキャラクタセットにSJIS使うとかアホな事はせず まともなDB抽象化ライブラリを正しく使ってりゃいいだけの話と思うんだがな
196 :
nobodyさん :2007/07/31(火) 12:07:08 ID:7/aws5UY
環境: CentOS 4.5 Linux kernel 2.6.9 PHP 4.3.9 PHP にアプリケーション変数はありますか? Java Servlet における application.setAttribute("foo", bar); がやりたいです。 やりたいことは、簡単なダウンロードページです。 1.ユーザ登録ページを作り、メアドを入力してもらったら、メアドにダウンロードページのURLを送る。 URLにはランダムキー文字列を含める。 2.ユーザがメールを読んで、URLをクリックしたら、ファイルを落とせるようにする。 1.で、サーバサイドで生成したランダムキーをアプリケーション変数に保存しておき、 2.の php がアクセスされたときに、URLパラメータからランダムキーを取得し、 それがアプリケーション変数に存在していれば処理を続行、なければエラーとする。 サーバにpostgres や MySQL がインストールされていないので、アプリケーション変数でやろうと 思いついたのですが、ちょっとググって見たらなさそうなので、 sqlite3 でやるしかないかなぁ・・・
SJISはアウアウで、EUC-JPはおkなの?
>>196 ないと思う
ファイルに書き出しておくかクッキーつかえばいいんでないの?
DBで実装するのが妥当かと
男は黙ってutf-8n
>>196 そこまでの実装を考えているのであれば素直にDBインストールする。
レンタルだったら乗り換える。
202 :
196 :2007/07/31(火) 12:32:40 ID:7/aws5UY
みなさんレスどうもありがとうございます。 このサーバは自分がroot権限を持っているサーバです。 sqliteでやろうと思いましたが、今後の CRM でやりたいことが増えていくことを考えると、 いまから DB インストールしておいたほうがいいか・・・ DB を入れる方向で進めてみます。
203 :
nobodyさん :2007/07/31(火) 12:38:08 ID:V0A2Aw5Y
OS : Debian GNU/Linux 4.0
Web : Apache 2.0.59
PHP : 4.4.7
質問があります。。。
MTで出力したUTF-8のPHPファイルが全体的に文字化けしてしまいます。
必ず文字化けするのではなく、4回に1回くらいの間隔です。
また、Apache起動直後は文字化けせずに起動後1〜数時間ほどすると文字化けするようになってしまいます。
再起動すると直るのですがしばらくすると再発してしまいます。
mbstring関係は
http://nucleus.datoka.jp/?itemid=4 を参考に設定しているのですが。。。
何かわかる方いらっしゃったらお願いします。
すみません 質問です 今、アップローダーを作っています。それで、画像名重複・上書きを避けるために 1)アップされた画像の名前を変更する 2)できれば、プログラム側で任意の名前を付けたい 3)たとえば、アップロード用のファイル参照窓が3つあるとして、 それぞれからアップされた画像を flower_1.jpg flower_2.jpg flower_3.jpg というような名前にしたい というような条件の時、どうしたらいいでしょう move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")); rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg"); 「アップして、固有の名前にする」だけなら上のプログラムで出来たんですが、 任意の名前を付けるのはどうしたらいいのか… どなたかアドバイスおねがいします winXP + PHP5 + apache2 で開発してます
205 :
nobodyさん :2007/07/31(火) 13:27:45 ID:z41KQ86Q
header関数を利用してPHPから画像を表示させたいのですが 複数の画像を表示するにはどうしたらいいのでしょうか?
206 :
204 :2007/07/31(火) 13:28:16 ID:UkgDKT8r
sageてしまいました お願いします
>>204 text.jpgの部分を変数にすればいいんでは?
207だが まじめにすまん test.jpgだな ちなみに move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")); の mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")で好きなものに買えれば rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg"); は必要ないと思うんだけどどうだろうか?
>>205 まずheaderについて辞書で調べてください
210 :
nobodyさん :2007/07/31(火) 13:48:24 ID:HvsnPYPO
MySQL質問スレってないですか? DB板検索しても見つからないんですが・・・ ここでDB関係の質問するよりはいいですよね
>>210 別にここでもいいよ。
そもそもMySQLはphpで実装されているわけだし。
212 :
205 :2007/07/31(火) 13:58:29 ID:z41KQ86Q
>>209 goo辞書より
印刷物のページ上部の日付・文書名・小見出しなどを記した部分。
また、電子メールなどで、データの先頭に置かれる、内容識別のための定型の情報。
調べましたができません。
213 :
nobodyさん :2007/07/31(火) 13:59:58 ID:HvsnPYPO
>>211 有難うございます。
ですが、MySQLスレを見つけて書き込んでしまいました。
また次回質問があればコチラでさせていただきます。
216 :
204 :2007/07/31(火) 14:17:28 ID:UkgDKT8r
>>208 >mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")で好きなものに買えれば
>rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg");
>は必要ないと思うんだけどどうだろうか?
あ、そうかもしれないです ほんとだ
ちょっと試してみます ありがとうございます
217 :
nobodyさん :2007/07/31(火) 14:31:35 ID:HvsnPYPO
会員制サイトで、ログインしていろいろなページを回るときに セッションIDにログインしているか否かを格納して、それを元にページを表示しているのですが、 セッションの中身って改ざんされたりするのでしょうか? セッションにIDとパスワードを保存しておいて、毎回それでログインチェックをするほうが良いのでしょうか?
>>217 >セッションの中身って改ざんされたりするのでしょうか?
当然です。
>セッションにIDとパスワードを保存しておいて
論外です。
>毎回それでログインチェックをするほうが良いのでしょうか?
当然です。
220 :
nobodyさん :2007/07/31(火) 14:44:31 ID:HvsnPYPO
>>219 >セッションにIDとパスワードを保存しておいて
論外です。
これはどのような理由で論外にしたのでしょうか。
また、何かお勧めの方法があれば教えてください。
221 :
nobodyさん :2007/07/31(火) 14:54:59 ID:ti5DbwcI
PHPで、自分のサイトから外、というか他ドメインに飛んでいくものを すべてカウントするのに簡単な方法ないですかね? 思いついたのは 1 javascriptでリンクのonClickでPHPを呼び出して、DBに登録する方法。 この方法はモバイルに使えない。 2 飛び先に全部一枚PHPのページをかまして、DBにカウントを登録。 この方法はモバイルもいけるけど、マウスオーバーしたりリンク先を確認したときに実際の飛び先と違うサイトが表示されちゃって なんか胡散臭い感じもする。 また、どっちの方法を使っても全リンクを手動で変更しなきゃならないじゃないですか? なんかすごく簡単な方法を見逃したりしてないでしょうか?
Location: ヘッダで自動的にリダイレクトすれば普通のユーザにはわからんだろう。 リンク書き換えもsed -iでワンライナー一発かませばたいていいけると思うが。 PHPでリンクを生成してる場合には使えないけど。
>>220 セッションがのっとられたらどうしましょう。
それを考えましょう
225 :
nobodyさん :2007/07/31(火) 15:19:04 ID:HvsnPYPO
>>224 ではどのように対策すれば良いのでしょうか。
$_SESSIONにログイン関連のものを格納しておくとどちらにしても乗っ取られるとダメなような気がします。
226 :
nobodyさん :2007/07/31(火) 15:22:23 ID:yIMYAVOK
echo $_POST['str']; というコードがあったとき、$_POST['str']に\とかエスケープ文字が入ってたとします。 そういうことがある場合を配慮して、以下のコードを入れるべきでしょうか? (当方の環境では、\nや\tに手を加えなくてもそのまま文字列として出力できました。) if (!get_magic_quotes_gpc()) { $str = addslashes($str); }
>>225 ダメな気がするならおまえのやり方でやれよ。
別にとめやしねえから
228 :
nobodyさん :2007/07/31(火) 15:25:33 ID:HvsnPYPO
>>227 いや、だから自分のやりかたが不安だからここに聞きにきたんですよ
人がレスしてくれてるのに、そのレスに、根拠無しに「駄目な気がするとか」 自分の気分だけ書くんだったら来るな。
230 :
nobodyさん :2007/07/31(火) 15:39:52 ID:HvsnPYPO
>>229 気分をそのまま発言しているのはそちらではないですか?
はいはい、またID出しての釣り厨か。
セッションIDとPASSに格納してのログインはダメ⇒ではどのように対策すれば?⇒ダメな気がするならおまえのやり方でやれよ。 テラ矛盾wwwwwwwww 回答側無知杉wwwwwwwwww
>>226 どういう風にそのポストの値を使いたいかによって違う。
一般論はないよ(これはget_magic_quotes_gpcがTRUEでstripslashesするかどうか
ということも同様)
>>228 結局はどうやっても完全に防げるということは無いのである程度の妥協は必要です。
会員制サイトがどの種類のものかにもよりますが個人や趣味で作るCMSなサイトであれば
ログインした時点で$isUserや$authなりのセッションを発行する程度で充分だと思っています。
>>219 が論外といったのは財布の中にキャッシュカードとそのキャッシュカードの暗証番号をメモした紙を
入れているのと同じだからです。
同一ID、passで登録してたら他のサイトまで被害にあう人がでる可能性もでてくるでしょう。
もし本当に見られてはならない極秘文書などを扱う場合はそもそもネットワーク上ではやらないようにする。
どうしてもやる場合はphpだけでなくサーバのアクセス制限から何から考えられる限りのことをしましょう。
破られるときは破られますが。
>>226 俺は削除とか変換で対応する
データベースに入れるときは専用のescape関数使う
>>226 逆に
f (get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
している。
237 :
nobodyさん :2007/07/31(火) 16:37:50 ID:yIMYAVOK
ありがとうございます。
>>236 さんのやり方がコード編集も楽だったので使わせていただきました。
238 :
nobodyさん :2007/07/31(火) 18:14:15 ID:igpQYGKj
簡易アンケートを作りたいのですが、ログの保存がうまくいきません。 $_GETされた値を保存しています。 $vote = $_GET['vote']; $log = 'count.txt'; if ($vote) { $lines = file($log); foreach ($lines as $line) { $line = explode('<>', $line); if ($line[0] == $vote) { $line[1] += 1; } else { $line[0] = $vote; $line[1] = 1; } $fp = fopen($log, 'w'); fwrite($fp, $line[0].'<>'.$line[1]); fclose($fp); } } count.txtは、 PHP<>1 Java<>10 のようになっています。 入力チェックなどは省きますがこんな感じです。 このスクリプトを実際に動かすと、ログが最新の1つしか書き込まれないのですがどこが悪いのでしょうか? それとやはりこの手のものはDBでやるべきでしょうか? コメント書きたいのですが行数がギリギリなのでお許しを・・・汚いソースですみません。
>>238 $fp = fopen($log, 'a');
240 :
238 :2007/07/31(火) 18:28:00 ID:???
>>239 それだと思ったとおりの動作にはなりませんでした。
ただおかげで改行を入れ忘れてることに気づきました。ありがとうございます。
ちなみにそれでやった場合、
PHP<>1
Java<>10
から、
PHP<>1
Java<>10Java<>1のようになりました。
PHP<>1
Java<>11
という風になってほしいです。
>>240 スマソ。ちゃんとみてないでてきとうにいっちゃった。
foreach内にfwrite($fp, $line[0].'<>'.$line[1]);fclose($fp); があるのが原因。
wというのはあくまでも上書きだから
$lineで読み込んだ行を逐一fput or fwriteして追記していく。
>>238 のコードでwをaに変えただけだと
>>240 のようにはならないで
PHP<>1
Java<>1Java<>10Java<>11
となるはずなんだけど・・・
$vote = $_GET['vote'];
$log = 'count.txt';
$exist = false;
if ($vote) {
$lines = file($log);
$fp = fopen($log, 'w');
foreach ($lines as $line) {
$line = explode('<>', $line);
if ($line[0] == $vote){
$line[1] ++;
$exist = true;
}
fput($fp, $line[0].'<>'.$line[1].'\n');
}
if (!$exist)
fput($fp,$vote.'<>1\n');
fclose($fp);
}
fputs
>>242 まずはファイル関数のマニュアル読むか、入門本買って超シンプルな所から作り始めなさい。
出来ないってことはまだ早いんです。
246 :
nobodyさん :2007/08/01(水) 01:58:38 ID:CHA5n09T
xdebugは実運用では無効にした方がいいとのことですが php.ini自体を変えるということですか?
>>242 空のcount.txt用意してそれ動かしてみたけどログがだいぶむちゃくちゃw
?vote=hogehogeとかうてばいいんだよな?
ファイル関数ってむずいね。普段DB使ってるからさっぱりだけど面白そうだな。
ちょっと後で作ってみるか。
たしかにファイル関数のほうが難しいっていうか、DB使ったほうが余計な事考えずにすむ。
流れ的に
>>242 は238とは別人じゃねーの?
>>244 がハヤトチリしてややこしくしたって感じだな
どっちにしろ
>>244 みたいのは余計なお世話。
あんなこといったらこのスレの意味がない。
変数の中身の大きさ(バイト)を調べる関数ってあります? DBから出したバイナリデータのサイズ測ろうとしたけど、それらしい関数が見つからなくて。
丸投げにそのまんま答えてやるより、先を考えたら
>>244 のほうが優しい気もするけどな。
別に答えてくれた人を批判しているわけではないが、質問者は工夫しなさ過ぎ。
>>244 のいう超シンプルっていうのはまさにこういうもののことだと思うが。
これ以上シンプルにしろっていわれても逆に難しいぞ。
こたえたくないならスルーしてくれ。 回答側のおれからしてもめざわりだ
仕事でプログラミングをしている方は どんな大学(学部)を出ているんですか? また、どんな学部ならプラグラミングを学べますか? どうか、回答よろしくお願いします。
PHP単体のベンチマークプログラムを書こうとしています。 abつかうとかじゃなくて。 それで、user time/system timeをPHPで測定する関数はありますか。
自己レス。
>>257 posix_timesというのがありました。
スレ汚しすまん。
学部では情報系とか工学系が多い。 CやPerlやJavaあたりは学習でよく使われるといわれる。 ただ実力社会だから学歴や学部はあまり関係ないよ。 会社はいってからやったりするとこもあるから。 逆にいえば会社入るまでプログラミングとは無縁なんて人もざら。 他にも文系の人が趣味でやってて本格的に始めたりね。
>>259 回答ありがとうございました。
今、某大学の附属校に通っていまして、
3年生の選択科目の希望を夏休み明けに
出さなければいけないんです。
それが学部選択にも影響するんですが、
情報・工学系といったら理工学部、
理工学部を選択する場合は、
私の大嫌いな化学が必修なんですよね。
それですごく悩んでいまして。
好きな学部選びなよ。授業で勉強する必要はなし。 情報科学部卒の知り合いが大学でやったプログラムの知識なんて役にたってないと。 会社はいってから研修で飛躍的に伸びたって。 興味あるなら、大学入ったらアルバイトでプログラマーになればいいよ。 PGは基本使い捨てで人数不足だから、会社さえ選ばなければ実は誰でもなれる。 MSやGoogleに就職したいというなら話は別だけど。
PHPにはextract()という大変ありがたい関数があるんですが、これの逆を行ってくれる関数はありませんか。 ローカル変数を配列として取得したいんです(イメージはpythonのlocals())。 get_defined_vars()だと環境変数も含めて取ってくるので、ちょっと希望とは違います。
ありません。
スレチごめん
>>260 基本的に、大学(情報系学部学科)はプログラミングを学ぶというより、プログラミング技術を使って研究をする機関だ。プログラミングを学びたいだけなら、専門学校の方が合っている。
>>262 function test() {
$a = "test";
$arr = get_defined_vars();
}
お望みのものが取れると思うが。
コンピュータエンジニアリングを学びたいなら大学行ったほうがいい。 単純にプログラマーとして働きたいだけなら、WEB系ならちょっと勉強すれば現場で充分やっていけるよ。 すげー簡単なので。
同意。 勉強したいなら大学行って、稼ぎたかったらキャリア詰む。 そういう単純な考えでいいと思うぜ。
文字列の取り出し方法を考えていますがうまくいきません ソースを取り出して $src="<p>Aの価格:2400円</p>"; という中から2400の部分を抜き出したいんですがpreg_replaceじゃダメみたいで困ってます
失敗したの書くの忘れてた $price=preg_replace("/価格:(.*?)円/","$1",$src); これだと$priceが「<p>Aの2400</p>」になってしまいます どう書けば値段の部分だけ残るようになりますか
patternに"<p>Aの"と"</p>"が含まれてないんだから当たり前。 $price = preg_replace("/<p>Aの価格:(.*?)円<\/p>/","$1",$src);
ちなみに抽出したいだけならpreg_matchのほうをおすすめしておくよ。
273 :
nobodyさん :2007/08/01(水) 14:59:23 ID:i33a5O9E
文字化け関係の質問です。 mb_detect_encodingは信用できるのでしょうか? sjisの文字をブラウザで表示させてみると、sjisで閲覧すると文字化けしています。 ブラウザのエンコードをutf8にすると、文字化けしないで表示されます。 そして、mb_detect_encodingで文字コードを調べると「sjis」と表示されます。 また、mb_convert_encodingでsjis⇒utf8にすると何で見ても文字化けします。(そりゃそうですが) PHPはsjisでしているのですが、なぜ勝手にutf8になっているのでしょうか? そして、なぜmb_detect_encodingではsjisと表示されるのでしょう。。。
274 :
204 :2007/08/01(水) 15:01:15 ID:v9Mvytgm
すみません、204でアップローダーについて質問したものです //$i =アップされるファイルの数(フォームの参照窓の数) for($i=0;$i<sizeof($_FILES['fl']['name']);$i++){ move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".rename($_FILES['fl']['tmp_name'][$i],"./doc/test_".$i.".jpg")); } というプログラムでファイルのアップロードとリネームには成功したんですが、 上書きが出来ていません。 なぜでしょう? どなたかアドバイスおねがいします
275 :
nobodyさん :2007/08/01(水) 15:27:43 ID:3aU7WUlJ
クラス内でusortを使う場合は usort ($a, "cmp"); usort ($a, $this->cmp); どちらなのでしょう? どっちも動かないので、書式がわからず直しようが…
>>260 大学へ入ってプログラムが役に立つ将来性のある研究とかしたほうがいい。
プログラムだけ出来る人なんてある程度の年になったら使い物にならないからポイ捨て。
長い目で食っていける道を探したほうがいいよ。
大学できちんと研究して大きめの企業入るとかね。
>>273 正直信用は出来ません。
でもsjisソースで表示させるなら、なにもしなくても日本語はsjisで読めるはずだけど?
ブラウザ側の文字コード指定とか確認したほうがいいんじゃない?
それともソースが実はUTF-8だとか・・。
ソースを最小限にして晒してみそ。
278 :
nobodyさん :2007/08/01(水) 16:11:25 ID:i33a5O9E
>>277 ソースごちゃごちゃしすぎてどこ晒せばいいのかわかんないですorz
とりあえず、mb_detect_encodingでsjisと表示されますが、実際は中身がutf8です。
mb_detect_order("Shift_JIS,ASCII,EUC-JP,UTF-8");
と指定してますが、あくまでも優先順位ですよね?
>>278 その実際は中身はUTF-8ってどういうこと?
ソースはsjisなんでしょ?
外部から来たデータって事?
280 :
275 :2007/08/01(水) 16:59:24 ID:3aU7WUlJ
function cmp_desc($a, $b) //メソッド { if($a["num"] > $b["num"]){ return -1; }else if($a["num"] < $b["num"]){ return 1; }else{ return 0; } } usort($FRUIT, "cmp_desc"); usort($FRUIT, "$this->cmp_desc"); usort($FRUIT, $this->cmp_desc); Warning: usort() [function.usort]: Invalid comparison function. うーん
>>275 メソッドを使う場合は
usort($a,array(__CLASS__,'cmp')); // 内部から
usort($a,array('ClassName','cmp')); // 外部から
282 :
nobodyさん :2007/08/01(水) 17:31:36 ID:3aU7WUlJ
>>281 なんと。
ありがとうございます。やってみます。
evalに、PHPのコードだけでなく、ファイル名や行番号も渡すことはできますか。 evalしてエラーがあったときに、それがどのファイルの何行目に相当するかがわかるようにしたいです。 $code = file_get_contents('example.php'); // $codeをゴニョゴニョ eval($code); // エラーがあってもファイル名が表示されない
285 :
283 :2007/08/01(水) 18:28:06 ID:zKnkF07q
283のつづきです。 例えば $s = 'x = 10;'; eval($s); とすると Parse error: syntax error, unexpected '=' in /tmp/hoge.php(10) : eval()'d code on line 1 と出るわけですが、ファイル名として eva()'d code というのが使われています。 これだと、複数のファイルを扱っているときにどのファイルでエラーになったのか分からず困っています。 どなたかお助けを。 PHPは5.2.0です。
>>283 eval()は元々文字列用だし…ファイルごとやるならrequireは使わないの?
287 :
283 :2007/08/01(水) 19:13:40 ID:???
>>286 ファイルの内容そのままではなく、読み込んで手を加えた上で実行しようとしています。
一時ファイルに書き出すしかないんでしょうか。でもそれだと元とは違うファイル名になるし。
>>273 ,278
多分、Apacheのhttpd.confや.htaccessで「AddDefaultCharset UTF-8」
なんてやってませんか。そうするとHTTPレスポンスヘッダに
Content-type: text/html; charset=UTF-8
が入っていたりして、ブラウザはUTF-8と認識します。
<meta http-equiv="Content-Type"…を指定するか、
PHPコード内でHTML出力前に、
header('Content-type: text/html; charset=Shift_JIS');
するといいんじゃないですか。
PHPのソースコードのエンコーディングがどうとかはあまり関係ないです。
>>4 の一番上も読みましょう。
>>288 でもそれだとSJISで日本語は読めないんじゃ・・
>>264 ,
>>2666-267 ,
>>276 回答ありがとうございました。
プログラミングを学ぶのでなく、
プログラミングを使った研究をするということで、
なるほどと思いました。
質問してよかったです。
ありがとうございました。
291 :
288 :2007/08/01(水) 21:34:44 ID:???
>>289 「PHPソースコードはSJISで書いているが、
ブラウザで見るとUTF-8と認識され文字化けしている」
質問だと思ったけど改めて見てみたら、
>>273 > PHPはsjisでしているのですが、なぜ勝手にutf8になっているのでしょうか?
>>278 > とりあえず、mb_detect_encodingでsjisと表示されますが、実際は中身がutf8です。
どっちだかわかんねーや。
mb_detect_encoding なんか使うのがバカ。意味なしだろ
プログラミング時に使うために 二つのクラスのメソッドの有無を表示するスクリプトを書いていますが、 get_class_methodsだとpublicなメソッドしか取得できません 外からprivateあるいはprotectedなメソッドを取得する方法ってありませんか? それ用にクラスを書き換えるのは嫌なんですよね
なんのためのprivate、protectedなのか
うーん確かに。 やっぱりないですよね
>>293 ReflectionClassクラスのgetMethodsメソッドで出来る。
中のスコープからget_class_methods($this)するか Reflectionかな
>>295 こんなんダメ?
class Test {
public function get_methods() {
return get_class_methods($this);
}
}
$test = new Test;
print_r($test->get_methods());
>>296-297 ありがとうございます
ReflectionClassで出来ました
>>298 調査対象クラスは調べられてることすら知らない感じにしたいんですよ
こいつは面白いな かなり人集まるだろ
こういうサイトは他にもあるが、殆どユーザーいないという(笑)
ニコニコもそうだけど、やっぱ知名度って重要だな
mixiのコミュニティと何が違うのかと
>>300 なんというか、質問のレベルが低すぎて苦笑してしまった(答えてる側もね)
世の中には色んなレベルの色んな人がいる事を知ったほうがいい
>>265 本当だ。。。関数つくってその中で呼べばいいのか。
遅れましたが、ありがとうございました。
>>307 ローカル変数の意味が分かってないんじゃ…
おれ、このレスの住民にすげー怒り覚えるわ。 人が真剣に質問してんのに、冷やかしのレスばっか。 貴重な時間無駄にしたわ。ほんと、バカばっか。 真面目な人の迷惑になるから、このスレさっさと消してくれる。
>おれ、このレスの住民にすげー怒り覚えるわ。 (^0^)
『底辺の奴らは黙って見てろ』って空気が漂っている が、優しく答えてくれる人がいることを忘れてはならな
312 :
nobodyさん :2007/08/02(木) 10:33:35 ID:w1XcfUw5
フォーム入力などで <input type="hidden" name="f01_address_pf" value="<? echo htmlspecialchars( $f01_address_pf, ENT_QUOTES, DEF_HTTP_ENC ); ?>"> <? echo htmlspecialchars( $f01_address_pf, ENT_QUOTES, DEF_HTTP_ENC ); ?> と全部の表示・inputにやっていたのですが ヘッダー当たりで、foreach($_REQUEST... 最初にhtmlspecialcharsしたら 後で問題が起きる可能性はあるのでしょうか? なるべく元データは弄らないようにしたほうがいいのだろうか?と思いました。
314 :
nobodyさん :2007/08/02(木) 11:28:43 ID:w1XcfUw5
if($_REQUEST['action'] == "send") { foreach($_REQUEST as $key => $value) { $_REQUEST[$key] = strtr( $value, array_flip( get_html_translation_table( HTML_SPECIALCHARS ) )); //元に戻す } }else{ foreach($_REQUEST as $key => $value) { $_REQUEST[$key] = mb_strimwidth( $value, 0, 500, "",DEF_HTTP_ENC ); //500文字以下切捨て $_REQUEST[$key] = htmlspecialchars($value, ENT_QUOTES, DEF_HTTP_ENC ); //エスケープ } } メールの時は、確認ページまではエスケープ。送信時には戻す エスケープしたまま本文中に&???;なんてあったら不自然ですよね…
>>309 オンブにダッコされるのを待っている時間が貴重というなら
なぜ自分で解決しようと考えない?
2chの使い方まちがってるよ
しらないものは仕方ないが努力はしろ
てめーがどれだけ焦ってるかなんてレスするやつらは知らんし
ろくな答えが無くて怒るのは見当違いだ
error_reporting(E_ALL)してると、いつもいつも $var = array_key_exists('key', $array) ? $array['key'] : null; としなきゃいけないことに疲れました。 標準でこんな関数ありませんか。 function get_item($key, &$array) { return array_key_exists($key, $array) ? $array[$key] : null; } PHPはたくさん関数があるけど、本当に欲しいものは抜けてる気がする。
>>315 だから、努力しても見つからないから、ここで聞いてるんだが。
努力なら人一倍している。20歳で入った今の会社で24歳の最年少で課長になったからな。
5人の大卒の部下を鼻で使っているよ。
まぁ、30歳になったら社長になる勢いだけどな。
あまり、俺を知らないくせに生意気な口聞くないよ。
俺の会社に来たら、たっぶりしごいてやるからな。
>>316 $_POSTとかでは isset( )よく使うけどそれ以外で困ったことないな
phpをyumコマンドでインストする場合、入れたいモジュールとかって どういう風に入れればいいのでしょう? 引数で指定できましたっけ?
320 :
七氏 :2007/08/02(木) 13:50:10 ID:???
正規表現で置換したいんです。 date型の1991-02-31を $birth='1999-02-22'; $born="a"; $born=ereg_replace("(....)-([0-9][0-9])-(..$)","\\1年\\2月\\3日",$birth); print($born); とプログラムして実行すると最後だけが1991年02月\3日となります。 [0-9]{2}等してみてもうまくいきませんでした。 ご指導お願いします。
321 :
nobodyさん :2007/08/02(木) 13:51:00 ID:n8RElLWH
MySQLを使ってDBにINSERT処理しようとしているのですが、 PRIMARYキーを設定してありまして、同じキーがあるかどうかは、 DBに検索してみないと分かりません。 そのため、DBエラーを回避するため、一回検索を掛けて同じキーがあればUPDATE 無ければINSERT処理をしていたのですが、偶然INSERT IGNORE とREPLACE INTOという便利な関数を見つけました。 INSERT IGNOREとREPLACE INTOは全く同じ動作をするのですが、 全く同じものだということでしょうか? また、通常このような処理の場合にはどういう風に処理するべきでしょうか? 上記のような処理で問題はないでしょうか? 宜しくお願いします。
323 :
nobodyさん :2007/08/02(木) 14:06:26 ID:n8RElLWH
>>322 すみません、環境を書き忘れていました。
OSはWindows XP SP2
MySQL5.1.12-beta
PHP5
です、宜しくお願いします。
>>323 ここはPHPのスレです。
MySQLに関する質問は専用のスレでお願いします。
325 :
nobodyさん :2007/08/02(木) 14:16:52 ID:tBx5FvgN
MySQLの質問になりますがお願いします。 SELECT subject FROM diary WHERE id = ANY (SELECT appli FROM my_friend WHERE appro='[ID]' AND flg='0') OR id = ANY (SELECT appro FROM my_friend WHERE appli='[ID]' AND flg='0') ORDER BY date DESC LIMIT 5 で、appro=ID、appli=IDであるappliとapproの日記を5件取得しています。 これに、他のテーブルを結合させて、そのテーブルからも情報を取得したいのですが、 SELECT subject FROM diary INNER JOIN my_profile ON id = id WHERE id = ANY (SELECT appli FROM my_friend WHERE appro='[ID]' AND flg='0') OR id = ANY (SELECT appro FROM my_friend WHERE appli='[ID]' AND flg='0') ORDER BY date DESC LIMIT 5 とすると、Column 'id' in IN/ALL/ANY subquery is ambiguousのようにサブクエリが使えなくなってしまいます。 サブクエリと内部結合を同時に使う方法はないのでしょうか?
327 :
nobodyさん :2007/08/02(木) 14:18:37 ID:xtj1bcv0
正規表現で置換したいんです。 $birth='1999-02-22'; $born="a"; $born=ereg_replace("(....)-([0-9][0-9])-(..$)","\\1年\\2月\\3日",$birth); print($born); とプログラムして実行すると最後だけがマッチしなくて1991年02月\3日となります。 [0-9]{2}、[0-9][0-9]等してみてもうまくいきませんでした。 ご指導お願いします。
328 :
nobodyさん :2007/08/02(木) 14:22:00 ID:tBx5FvgN
>>326 以前、ここでMySQLの質問はどこですればいいと尋ねたところ、
ここでもDBを取り扱うので構わないと言われたのでコチラに投稿しました。
330 :
nobodyさん :2007/08/02(木) 14:24:42 ID:tBx5FvgN
>>327 $birth = preg_replace('/([0-9]{4})\-([0-9]{1,2})\-([0-9]{1,2})/', '\1年\2月\3日', $birth);
>>328 MySQLのスレで質問しないのは何故ですか?
332 :
nobodyさん :2007/08/02(木) 14:30:44 ID:tBx5FvgN
プッ... 人一倍努力家で30才で一社を従える社長 そんな奴が仕事で躓いたあげく2chに必死で神頼み なんかわらえる
>>334 そっとしといてやれよ。夏なんだからさ・・・
CGIとPHPの違いってなんですか? CGIを調べると以下のように記述されていましたが これだとサーバーサイドなプログラミング言語はすべてCGIに含まれませんか? CGIとは、Common Gateway Interface の略で、WWWサーバの中で外部プログラムを実行するための仕組みをいいます。 インターネット文化がそうであるように、CGIもUNIXの中から生まれ発展してきました。
>>337 思いっきりググるってどんなググり方だよ
>>332 MySQLのスレで質問しないのは何故ですか?
>>325 phpに関連薄すぎ。
エラー出てるんだから subquery is ambiguous の意味ぐらい調べろよ
select a.* ,b.* from hoge as a , fuga as b where a.id = b.id
みたく、ちゃんと別名を振れ
>317 はどこを縦読み?
だ しても見 聞 が 力 一倍 。20歳で 24歳の 課長 を鼻で 社長になる勢いだけどな。 あま らないくせに生意気な 俺の ぶ し やるからな。
>>338 ヒント 思いっきりは「ググル」にかかってるのではない
いつものことだが、ここは、下らないことにレスが集中するんだなぁ。 まぁ、下スレだから、スレ通りといえばその通りだがw 脳みそが単純に出来ていて、悩みが無さそうで羨ましいわ。
ここ2chだよね・・? 不真面目ですいません フヒヒ
2chだから煽ればいいとかくだらねえレスすればいいとか思ってるなら大間違いだぜ。 そういうのがやりたければ __ __ ___ _____ _____ ___ ___ ___ | | / / | // | /__ __/ [][] _| |_| |__ _| |_ | |. / / / / / / ̄ ̄|. l / / | _ | |_ レ'~ ̄| | | / / / / / /. / / | |___  ̄| | / / / /| | | | / / / / /  ̄ ̄ / \__| | |  ̄ /_ / | |_ | |. / / / / / / ̄ ̄ ̄ |_| |__| \/ | |/ / / /. / / |. / / / / / | /. / | ./ /
VIPからきますた
VIPって、歪んだ正義感で取るに足りない自尊心を満足させているオナニー集団か?
354 :
nobodyさん :2007/08/02(木) 17:40:13 ID:jTKaEZE/
既にインストールしているPHPに、mbを入れたいのですが、一番簡単な方法はどのような方法がありますか? Redhat上のApacheに組み込んでいます。
>>353 オナニー集団ってより、キチガイ集団www
356 :
nobodyさん :2007/08/02(木) 17:54:08 ID:YI4RuKYl
if ($_SERVER['REQUEST_METHOD'] === POST) { } このコードなんですが、POSTは""で囲むのでしょうか?
え?
>>356 print $_SERVER['REQUEST_METHOD'];
ぐらいやってから質問してください。
359 :
nobodyさん :2007/08/02(木) 18:15:48 ID:YI4RuKYl
>>358 ""で囲まなくてもうごくんですよ。どちらが正しいのかわからないんです
意味がわかんない
361 :
nobodyさん :2007/08/02(木) 18:18:23 ID:YI4RuKYl
フォームからPOSTで送信されたか条件判断するコードです。
ヒント:var_dump($_SERVER["REQUEST_METHOD"]);
1は数字ですよね "1"は文字列型数値ですよね "POST"で囲めば文字列ですよね POSTの場合だとどうなるのかわからなくて。 条件判断で===を使ってるのにPOSTでも"POST"でも動作するのがわからないんです。すみません
364 :
nobodyさん :2007/08/02(木) 18:21:21 ID:YI4RuKYl
>>362 さんのおかげで解決できました。
ありがとうございました。
366 :
nobodyさん :2007/08/02(木) 18:26:20 ID:YI4RuKYl
>>365 ああああ、やっぱそうなると===でどちらも正しく動くのはおかしかったですよね。
なんでどっちも動いたんだろう(@@;)
>>366 ""でくくらない POST は定数と考えるのがphp的な定義だと思うけど。
そもそも、それで動くのか。
定数で該当するものが無ければ、文字列として扱ってくれるのかな・・。
var_dump(POST);
ってやるとどうなるんだろう。
とにかく文字列として扱いたいなら、""は必須。
>>367 定数て当てはまらなかったら文字列なはず
<?=TEST?>
で「TEST」と表示されるのと同じでは?
>>368 やっぱりそうなんだありがとう。
でも、確実に処理するためには""はあったほうがいいだろうね。
複数人のプロジェクトとかで定数をどっかで宣言されるって事もあるだろうし。
何をそんなわかりきったことを言ってんの?
あったほうがいいじゃなくてないとダメだろう E_NOTICEだろ
というかその妙な仕様は明らかにバグの温床になる
要するにウンコって事か
なにかくだ質じゃなくて高尚な場所だと勘違いされてらっしゃるお偉い方がいるみたいですね
>>374 高尚に感じるのは、お前が低俗だからだろ
初級者は2chで叩かれて当然。2chに何求めてるの?w
餓鬼が見るような板じゃないんだし、低レベルな煽りあいは不要。 みんなクールに頼むよ。
じゃあ、俺は、ギムレットを頼む
このスレって妙にキムチ臭いんだよ。 妙にたどたどしい日本語書いたり、レス内容を丸ごと勘違いしたり、たまに発狂したり。
夏厨が湧いてるだけだろ
夏になってスレが伸びるようになった。ま、過疎るよりはいーんじゃない。
383 :
327 :2007/08/03(金) 00:47:18 ID:???
>>330 どうもありがとうございました(T▽T)
>>299 荒らしじゃないですっ!マジで困ってました;;
>>367 ってことはユーザー関数でtrueが返ってきたきたときの条件判断は
if (????? === "true")ってちゃんと""としなきゃだめなんだね
兄貴!!このスレそろそろ本気で潰しにかかりますか?
まぁまぁ、そう熱くならずに、自分のおならの臭いを嗅いでエクスタシー感じようよ。
393 :
nobodyさん :2007/08/03(金) 10:37:55 ID:JeGw1lzo
すいません、質問ですが、 今共有サーバーでPHPのCMS2つ稼動させたいのですが、 この共有サーバーはデータベースが一つしか割り当てられません。 ヘッドが違えばいくつものCMSをいとつのデータベース(MySQL)で共有させることは可能なのでしょうか? もちろん遅くなるとはおもうのですが・・・
>>393 それはPHPの質問では無いかと・・。
テーブル名がかぶったりしなきゃ動くかもしれないけど、全くオススメ出来ないと思う。
>>384 型を理解しないままphpやってもわからないままだとおもうので
逆にjavaやcをちょっとやってみたらどうかな
>>394 やっぱりなにかしらの障害があるんですね。
ケチらずにいくしかないかな・・・
すいません、質問です。。 ???? ??? ????? ????? ??? ?? ??????
>>397 >?????
この部分の「?」←これを「?」←これに変えてみたら動くと思います
399 :
nobodyさん :2007/08/03(金) 12:12:53 ID:gCv41M7L
>>337 >>338 >>343 遅レスだが。
2ちゃんねらーは国語力が弱いので、この機会に少し日本語を勉強しよう!
>すいません、思いっきりググったら載ってました。
本人は、「思いっきり」を「ググったら」ではなく、「載ってました」に掛けて
いるつもりだが、この文法では「ググったら」に掛かってしまう。
(なので
>>343 の解説は×)
>>337 の正しい日本語は、
>すいません、ググったら思いっきり載ってました。
になる。
phpみたいな簡単な言語を扱えるプログラマーなんて沢山います。(ほとんどが無能)
しかし日本語やコミュニケーション能力に長けた人は少ないです。(コミュニケーションがやたら上手い無能も多い)
この機会に自分の日本語を見つめなおしましょう。(英語ができれば更に貴重です)
>>399 常識的に考えて
「思いっきりググったら載ってました」
を見たら
「思いっきり載ってた」んだな
と思うのが普通。
文法なんかより空気を理解できるようになろうぜ。
瑣末な紕繆に、殊更穢い字句を並べ立てて煽るのって、福島瑞穂そっくりだね。
>>400 おまえ仕事できないやつだろw
あいつだろw
あいつなんだろw
あいつしかいねぇよなwww
403 :
nobodyさん :2007/08/03(金) 14:43:36 ID:gCv41M7L
>>400 それを空気読むとは言わない。
それに、プロは空気で仕事しない。絶対に確認する。勘違いだったらどうするんだ?
それに
>>399 は文法がロジックとして間違ってる話をしている。空気読めてないのはお前。
404 :
nobodyさん :2007/08/03(金) 14:46:26 ID:gCv41M7L
>>401 瑣末と片付ける時点でプロに向いてない。
2chの発言でプロだとかお前等頭大丈夫か?
function定義の中で$aが真のときだけ処理したいっていう場合は function test($a) { if ($a) { ここで処理 } } function test($a) { if (!$a) return; ここで処理 } 上の二つどっちのほうがいい?
上の方が可視性は高いように思えるが。。。
可視性を高めて且つ戻り値が必要なら function test($a) { if ($a) { $hoge = ここで処理 }else{ $hoge = false; } return $hoge; } の方がいいと思う
410 :
nobodyさん :2007/08/03(金) 16:25:25 ID:UDicn/s5
mysql_fetch_assocをwhileでループさせると 検索結果の上から順番に取得してきますが、 これを一番したから取得してくるような関数はありませんか? 53件中、日付が一番最新の5件を持ってきて表示させたいのですが、 表示するときに一番最新の日付を一番したになるように表示させたいのです。
>>410 しってる人がいるかな?むずかしそうだね。
らくにできる関数が見つかればいいんだが・・・
ねえ、一度取得したものをarray_reverseじゃだめなのかな?
え〜と、だれもこたえなかったらおれちょっと調べてくるけどね。
よろしくね。
413 :
410 :2007/08/03(金) 17:02:42 ID:UDicn/s5
>>412 ありがとうございます。
一度配列に格納してarray_popでwhileループしているのが現状です・・・。
検索結果をしたから取得する関数があれば便利なんですけどねぇ・・・orz
自分ももう一度調べてきます
マニュアルとか全然調べてないんだけど、 PHPスクリプトの処理速度を測る関数とかって存在する?
あるわけねえだろタコ! abかjava制のメジャーなのがあるからそれでもつかってろよ
残念 それなら自分で作るからjavaは遠慮しときます
>>413 それってSQLの ORDER BY を使えない理由はあるの?
>>416 自分でつくるの?なにで?
PHPで?(笑)
オリジナル言語作ってそれで組むんじゃね?
ベンチが取りたいんだろ? microtime使えばいいだけじゃん
>ベンチ >ベンチ >ベンチ
>>410 SQLの範疇だからステートメントを
SELECT * FROM (SELECT * FROM "table" ORDER BY "date" DESC LIMIT 5) ORDER BY "date" ASC;
みたいな感じにすればいいと思うよ。
424 :
nobodyさん :2007/08/03(金) 19:05:27 ID:RjyFibPY
427 :
nobodyさん :2007/08/03(金) 21:09:56 ID:DTQfj132
すみませんがどなたか知識をお借りしたいです <?php //変数の変更点 //$cnt カウンタの初期値 //$str 繰り返したい文字列 //$num 繰り返す回数 //$delim デリミタ[区切り文字]例=<br>尚、<br>はデフォルト値です function req($cnt,$str,$num,$delim="<br>"){ for($cnt;$i<=$num;$i++){ $d=$str.$delim; return $d; } } print req(0,"ねこ",10); で戻り値を返したいのですが、戻り値が帰ってきません。どこを変更したらよいかアドバイスいただけますか?
for文が・・・w
>>427 突っ込みどころが多すぎるからとりあえず想像で
function req($cnt,$strm$num,$relim ="<br>"){
$d = '';
for ($i=0;$i<=$num;$i +=$cnt)
$d .= $str.$delim;
return $d;
}
431 :
430 :2007/08/03(金) 21:35:30 ID:???
すまん、これがあったんだな print req(0,"ねこ",10); だとすると for($i = $cnt;$i<=$num,$i++) か・・・
>>427 function reQ($cnt, $num, $str, $delim = "<br>") {
$d = array();
for ($i = $cnt; $i <= $num; $i++) {
$d[$i] = $str.$delim."\n";
}
return $d;
}
こうか?
433 :
nobodyさん :2007/08/03(金) 21:40:32 ID:DTQfj132
すいません。ものすごくバかな質問をしていたのに今きがつきましたw 戻り値かえしたらそこで終わりですよね。 普通の変数と同じ感覚でつかってました
>>432 そうか$cntをわざわざ送る意味が見当たらなかったが
それならアリエール。
str_repeat()とかarray_fill()とか使った方が速いしスマート。
"a,b,c,1,a234"という文字列を a b,c 1,a234 というように分割したい(それぞれの文字数は不定)のですが いろいろ考えたけど無理でした、アドバイスお願いします。
エスパーでも無理
何がしたいのか分からん
3段目が3つならまだ話がわかるんだが、 それじゃ何がしたいのか確かにサッパリだなw
>>436 explode(",", "a,b,c,1,a234");
とすれば、配列で返ってくるから、あとはお好きなように。
441 :
nobodyさん :2007/08/04(土) 07:07:54 ID:AjkJINGy
a.txt 1 2 3 $a = file("a.txt"); array_push($a, 4); print_r($a); とすると、 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) となるのですが、この[0]と[1]の間、[1]と[2]の間の空白(改行)は一体なんなんでしょう? とてもきになるのですが、改行が入ってない場合と同じ意味でしょうか? 改行をとる方法もあれば教えていただきたいです。
>>440 ありがとうございます。うまくいきました。
で、あとaとbをカンマで再結合することは可能でしょうか??
>>442 implode(",",$data)でoK
>>441 file()は改行を区切りに配列を返すけど、改行コードは消さないんよ。
ファイルの改行コードが\nのみでPHP5の場合は
file('ふぁいるめー',FILE_IGNORE_NEW_LINES);
それ以外の場合は
array_map('rtrim',file('ふぁいるめー'));
そんな感じで。
445 :
441 :2007/08/04(土) 08:19:44 ID:AjkJINGy
>>444 わかりやすい説明どうもありがとうございます。
納得いたしました。
PHP5を使っているので、FILE_IGNORE_NEW_LINESで消します。
勉強になりました。ありがとうございました。
>>445 \rは削除してくれないようだからtrimの方がいいんじゃない
どうせWindows使ってるんだろ
447 :
nobodyさん :2007/08/04(土) 11:41:32 ID:0PEp3FTo
form タグのGETメソッドを使えばいい。 phpとは関係ないけど。
>>448 formタグでGETして$_GETで持ってくるのはわかるんですけど、
formタグだったらinputじゃないとvalueとnameを持ってこれないじゃないですか。
inputで作ったらtypeを通常のaタグみたいなリンクに出来ないよなぁと思うんですが・・・。
>>449 じゃあにAタグで「?action=form」を追加したら?
何がしたいのか分からん PHPでindex.phpというページから引数を渡してindex.php?action=formのようにフォームを出したい ページから引数を渡すという表現が意味不明 URLのようにフォームを出したいという表現が意味不明
>>450 その手があったかorz
解決しました。ありがとうございました。
>>451 自分の読解力がないのを棚にあげて、人の文章力にケチを付けるゆとり。
ちょい質問 include "../include/test.php"; これでエラー出るんだが・・・・。 includeする回数って別に制限とかないよね?
>>455 パスが間違っている。
パスのところに、点が二つ飛んでいる。
>>456 んにゃ、あってるよ
上の階層のディレクトリであるincludeディレクトリの中のtest.phpをincludeしたいから
エラー文ぐらっはりましょう。 IDだしましょう。
言葉に注意して質問しましょう
461 :
nobodyさん :2007/08/04(土) 15:04:20 ID:yv7m/dc0
amazonの、”この商品を買った人はこんな商品も買っています”とか、 2ちゃんの”このスレを見ている人はこんなスレも見ています。(ver 0.20)”とかは、 この機能を自分でも作りたいのですが、 どんな作り方をしているのでしょうか? おおまかに説明してもらえると助かります
462 :
nobodyさん :2007/08/04(土) 15:07:10 ID:yv7m/dc0
日本語おかしくなってた すいません 上記2つのような機能を自分でも作りたいので、 考え方をおおまかに説明してもらえるとありがたいです
>>461 その質問前にもあったなぁ。
それで、単純に考えてレスしている奴が、一喝されて撃沈されていたような。
あとリファラも
普通はDBの設計でどうにかすることだろ。
リファラじゃ無理だろ リクエスト毎にDB使ってたら負荷かかる ってことでセッソン
リクエスト毎にDB使ってたらって・・じゃあどうやって商品の情報自体を取り出してるんだよ。
469 :
nobodyさん :2007/08/04(土) 15:28:44 ID:nfa9BST8
PHPerのみなさんは CLIで使うスクリプトもPHPで書いてるんですか? シェルスクリプトで書くには少し複雑くらいの規模のスクリプトを 何で書くか迷ってます まともに書けるのはPHPだけなんですが… この際Pythonとか学んだほうがいいでしょうか?
>>453 ケチなんか付けてない。
それじゃ上で書いた点について説明してくれ
もしくは447の0PEp3FTo。どういうことだ?
>>469 PHPでもPythonでもPerlでもRubyでも何でも。
環境と好みで。
積極的に選択するなら、一番コストの少ないやつ。
OSに標準で入ってて環境をいじる必要が無いやつとか、
過去に自分で書いたコードを流用できるやつとか。
>>470 答えられた奴はエスパーなんだからもうほっとこうぜ
ぱいそんくんの日本での普及率の低さは異常
ぱっと見でおっぱい括弧を探す癖がついてるからか phthonといいrubyといいインデントでブロック判断するのはどうも慣れないな・・・
今から勉強するとなれば Perl<pythonだけどな
Phytonは面白いよね。Zopeの印象が悪すぎるんだよ。
PHPerって「ピーエイチパー」って読むの?なんかマヌケな響き・・
479 :
461 :2007/08/04(土) 18:26:46 ID:yv7m/dc0
>>463-468 レスありがとうございます
Aスレが開かれたとき、AスレのIDをセッション変数におさめ、
次にBスレが開かれたとき、Bスレのレコードの"このスレを見ている人はこんなスレを・・・(仮名)フィールド"にAスレのIDをいれる
と同時にBスレのIDをセッション変数に・・・
こんな考え方ですかね?
PHPuser
オッパッピーが正解。
くだらんがワロてしまった
>>474 なぜこれが使えないのは説明してからいいましょう。
できないりゆうを述べてください、おまちしております。
はい、どうぞ
>>479 ただ「こんなスレも見ています」っていうのだったらそれでおk
>>485 まぁ、確かにその程度のレベルならそれでもいいな。
プロはそんな陳腐な作りにはしないけど。
プロパティの有無をクラスの中から調べる方法教えてください。 iseetだと、値を代入していないプロパティを検出できません。 ↓これは検出できるが class hoge { private $moge = ''; } ↓これは検出できない class hoge { private $moge; }
そんな作り方だよ
日本語の文章を名詞や動詞やらに分解するいい方法教えてください
動詞 〜しろ、〜する、〜しよう、〜したい 名詞 〜で、〜を、〜に、〜は みたいな
>>487 class hoge
{
function check_vars()
{
var_dump(get_defined_vars())
}
}
$class = new hoge();
$class-Lcheck_vars();
>>490 $mogeに値が入ってないからそれだと無理です
496 :
485 :2007/08/04(土) 21:22:12 ID:???
俺だったら「こんなスレをよく見ています」ってランキングにするかな 俺がプロかどうかはまた別だが
2chの『こんなスレ…』って、実はただのランダム抽出なんだけどねw
>>494 それだとただローカル変数(notプロパティ)が取得できるだけでは
>>492 形態素解析 php
chasen kakasi namazu
とかでググレカレー
501 :
nobodyさん :2007/08/04(土) 22:03:20 ID:zy9Gu8y/
スレッドフロート型掲示板のトップソート機能の内部処理について教えて下さい。
>>501 内部処理のどのへんについて教えてほしいですか
時間をunixタイムスタンプで比較すると、 38年問題に対応できないですよね 38年問題にひっかからない時間比較はどうすればできますか?
このスレを見ている人はこんなスレも見ています。(ver 0.20) WEB制作業界からの脱出!index9.html [転職] ( ゜д゜)
まぁ、なんとなくは分かる
>>499 ?違うよ。これで十分だろ。
満足しないら
get_class_vars(get_class($this));
でやりな。
>>503 30年間同じシステム使う可能性をまず考える
>>507 これだから、素人は困るぜ。
業務システムで、数年〜数十年先の未来日付をデータとして扱うことなんかザラ。
ローンのシュミレーションとかがそうだ。
まったく、このスレ夏真っ盛りだぜ。
unixの時計を狂わせればいいだけのこと
510 :
nobodyさん :2007/08/04(土) 22:36:41 ID:zy9Gu8y/
>>502 どうやって実現出来ているのかがわからないのです。新しいスレが投稿されたり、レスがあったのをトップソートさせるためにphp側はどんな処理をしているのでしょうか。
>>510 スレ自体にupdated_atとかの適当なフィールド作って
レスつく度に更新させればいいだけじゃね?
>>508 30年ローンってどんなんだよwせいぜい10年使うとしても20年。
そんなクラの案件扱った事無いんだがどんなところでそういうのあるんだ?
闇金
514 :
nobodyさん :2007/08/04(土) 23:00:58 ID:zy9Gu8y/
>>511 さん
…すみません。
よくわからないのでわかりやすく説明してほしいです。
>>508 数年ならともかくphpで数十年先の日付を扱うシステムを
構築しようとするお前の方が素人
素人呼ばわりされれば、今度はPHPを叩きにくるか。 やめてくれ、可哀相だろ、PHPが。
実際に今どうやって作っているのかわかんないから説明のしようがないです
sqlで作ると仮定した場合だと
親スレテーブル
id,タイトル,作成日時,更新日時
子スレテーブル
id,親スレid(FK),名前,内容
とでもしておいてスレに投稿される度に親スレの「更新日時」フィールドを
今の日付にupdateするだけです。
topでは更新日時順で取り出し。
>>513 ,516
普通に考えると
>>515 の言ってる事の方が納得できるよ。
お金に関した物や長期的に使うシステムだと信頼性や強度から言ってphpじゃ役不足です。
役不足 役不足 役不足
519 :
503 :2007/08/04(土) 23:23:04 ID:???
喧嘩はやめて下さい どうすればいいかだけを教えて下さい
>>508 がそういうのをよく扱ってるらしいから聞いてみるといいよ
521 :
nobodyさん :2007/08/04(土) 23:36:58 ID:zy9Gu8y/
ブロック中にコメント文を書くと、 「そのコメントがどこまでかかっているか」が分かりにくいです どこからどこまでかかっているのかが わかりやすいコメント法があれば教えて下さい
523 :
522 :2007/08/04(土) 23:58:52 ID:???
新発見しました ブロック中にブロックを書いても問題ないんですね これでコメントの範囲を指定できそうです function hoge () { { // comment echo 'no error'; } }
キャメルケースで、途中に大文字の単語が入る場合はどうすればいいですか? hogePHPFugaみたいになったらかっこわるいんですが。 hogePhpFugaにするか hogePHPfugaにするか くらいしか方法なさそうですが、標準的な方法ってありますか?
>>525 途中に入れなければいい。自分はOf使うな。
hogeFugaOfPHP
fooBarOfDB
527 :
nobodyさん :2007/08/05(日) 01:06:32 ID:Mpx0Qpnu
10万件のデータに100万件のデータを総当りで検索する必要があるのですが、 検索の都合上、10万件のデータにLIKE演算子を使わざるを得なく一回当たりの 検索コストが0.7秒掛かってしまいます。 0.7秒×100万件=70万秒=194時間掛かってしまうのですが、 DB上の検索処理ではなく、phpで正規表現などをつかって時間の短縮が 測れるようなテクニックはないでしょうか? 194時間PCが使えないのは、さすがに厳しいので、せめて1日に短縮できたら、 すごく助かるのですが・・・ 宜しくお願いします。
ぱいそんくんは処理速度早いらしい どうしてもPHPでなければならないのなら、中古屋から一万PC買ってこい どっかのサイトにクラックでもする気か
>>527 phpというよりか、DB側じゃね?
DB鯖の構成にも寄るけど、クエリ5分割とかして並列実行させてみるとか
like句は後方参照のみ?
何のDBか知らんが、read_buffer_size やら sort_buffer_size の調整はしてみた?
またクラック厨かっ!
531 :
nobodyさん :2007/08/05(日) 05:41:38 ID:ZbLLWuy9
クラスってものがわかりません。 公式のサイトみてもコードが長すぎて・・・ どなたか「こんにちは」か「こんばんわ」を表示するクラスを 書いていただけないでしょうか?
532 :
nobodyさん :2007/08/05(日) 08:47:51 ID:rNGqt6E+
>>531 クラスにおいて表示するのはメソッドです。
こんにちはかこんばんはを表示するクラスという要件では設計が難しすぎです。
一般にこんにちはかこんばんはを表示するのはファンクションです。
↑こいつのレスは面白くない
>>531 いっちょおれがかいてやるぅ
public class hello{
public static void main(String[] args){
System.out.println("こんちゃ");
}
}
XREAサーバー使っている奴いる? 朝から爆発していて、他の鯖まで誘爆しまくっているww 上等だzeeeeee ばっこするぞぉ!!!
スレ違い
>>538 ちょwwww
ここはXREA使ってる香具師はしないのかよ!!!!
全然、遅いし。どないやねーんがーなー
s101だけど全く問題ないし、スレ違い
542 :
nobodyさん :2007/08/05(日) 23:52:57 ID:gf3PJCmI
サーバ構築の実験をしていて、yum remove phpとやったら apachが起動しなくなりました。 元に戻そうと思い、yum install php とやったら Missing Dependency: php-common = 5.1.6-3.el4s1.7 is needed by package php-cli と出て、インストールが開始されません。 どうしたらいいでしょうか?
>>542 微妙にスレチだが
yum -y install php-cli
でいいんでね?
544 :
nobodyさん :2007/08/06(月) 00:03:24 ID:eMHMQZdt
同じページを10分以内に2回以上おしても、カウントは1回までしかしない、 という風にしたいのですが、 クッキーやセッションを使う以外に簡単な実装方法はないでしょうか? クッキーはブラウザの設定に左右されてしまうし、 セッションは正直よく理解できなくて敬遠気味です・・・ 下手に無理してコーディングして穴作るのもいやなんでどうか宜しくお願いします。
DBにアクセス状況をユーザーごとに保存。 セッション難しいやつにWebアプリは厳しい。
>>544 >クッキーはブラウザの設定に左右されてしまうし、
セッションもそう
>>544 セッション、クッキーつかわないって縛りだと
そういう機能をつけるのが難しくなるので
簡単には実装できなくなります
548 :
542 :2007/08/06(月) 00:44:46 ID:JgvoQd5M
>543 レスありがとうございます。 とりあえずそれは試したのですが、 Parsing package install arguments No Match for argument: php-cli こう言われてしまいます。 何か方法はないでしょうか?
>>542 yum groupinstall php とか
yum install php-* とかやっとけ、つうか実験するときはどこか参考にしながらやれよ。
┏━━━━━━━━━━━━━━━━━━━━┓ ┃ ┃ ┃ J( 'ー`)し ┃ ┃ ( ) ┃ ┃ | | ┃ ┃ 【カーチャン】 ┃ ┃ ┃ ┃. カーチャンを見た人はいつでもいいので ┃ ┃ 生きている間に親孝行して下さい。 ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━┛
551 :
nobodyさん :2007/08/06(月) 03:20:13 ID:umt85QTT
nビットの符号なし整数の最大値は pow(2,$n)-1 でわかりますが、これが64ビットくらいになるとうまく表示されません 文字列でいいからうまく表示されるようにするにはどうすればいいですか
552 :
544 :2007/08/06(月) 06:08:23 ID:M0QKy+cD
>>545-547 どうもありがとうございます。
敬遠していたものの、PHPを続けるにあたって避けれない箇所だと思うので、
この機会に頑張ってセッションの勉強をしてみたいとおもいます。
あ
ずばりphpを使う事の利点って何だと思いますか?
>>555 無料 気軽 シンプル 考えるより先に動くものを作れる
>>555 javaやperlなんかより数十倍早くWebアプリが作れる
javaより早いってことはありえないだろ。少なくとも「数十倍」なんてないない。
559 :
nobodyさん :2007/08/06(月) 14:02:41 ID:apvw8HmB
Webページのソースを取得して、タグで囲まれた文字を変換して、出力するという処理をしているんですが、
http://au.php.net/manual/ja/function.preg-match-all.php ここの例にあるコードでは、複数行に渡る文字列を取得できません。
<h1>
たとえばこういうの
</h1>
そこで、
preg_match_all("/(<([\w]+)[^>]*>)((.|\n)*)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);
こういう風に書き換えたんですが、やっぱりだめでした。
どうすれば改行を含んだタグ内の文字列を取得できるんでしょうか。
お願いいたします。
>>559 改行削除してからマッチさせる方法じゃ、ダメ??
$file = file_get_contents($url);
$file = str_replace("\n","", $file);
562 :
560 :2007/08/06(月) 14:45:33 ID:???
>>559 書き換えだったんだね・・・よく読まずにタグを取りたいんだと
勘違いしたすまん
563 :
nobodyさん :2007/08/06(月) 15:00:00 ID:apvw8HmB
>>560-562 ありがとうございます。
strip_tagsは盲点でした。
一応これで、文字列を取り出して、この文字列にマッチしたものをpreg_replaceしたのですが、
<h1>一行で<h1><h2>かかれてる</h2>
こういう行や、途中に改行のある行は、無視されてしまいます。
つまり、単純な<p>こういう文章</p>だけしかヒットしませんでした。
う〜ん、難しいのかな、こういうのは。
564 :
nobodyさん :2007/08/06(月) 15:30:25 ID:apvw8HmB
すいません、 file()で配列に1行ずつ入れているということを言い忘れていました。 連結しなきゃ、絶対判断できないですよね。。。 でもソースのタブや改行を維持したいんですよ。 無理でしょうか??
>>564 fileで読んでforeachで回して1つの文字列に汁。
開始、閉じタグをpreg_split汁
中身の入っている配列だけ取り出す
ってのはどう?
567 :
nobodyさん :2007/08/06(月) 16:56:46 ID:9ONTVzmv
preg_match_all("/\<title\>(.*?)\<\/title\>/si", $html, $match); foreach($items[1] as $item){ } こんな感じにすれば複数行でも取得できるはずです 正規表現で複数行取得の修飾子のsを入れるのがポイントです
568 :
nobodyさん :2007/08/06(月) 17:15:07 ID:apvw8HmB
>>567 ありがとうございます。
どちらにせよ、連結しなければいけないですよね?
正規表現、覚えられる気がしない・・・・・・。
569 :
nobodyさん :2007/08/06(月) 17:51:11 ID:apvw8HmB
配列を連結させ、 preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/si", $html, $matches, PREG_SET_ORDER); としてから、$matchesの内容を確認したところ、ページのソース全てがマッチしてしまったようです。 うーん、よくわからん。。。
570 :
nobodyさん :2007/08/06(月) 17:55:25 ID:FNzF7YoD
phpの質問かどうかちょっと分からないんですが、 セッションクッキーってどれくらい強固なんでしょうか? セッションのクッキーでない、いわゆる一般のクッキー偽装って 自分のPCで編集しようと思えばできそうだけど、 自分のPCからでも参照できないセッションクッキーって セキュリティの穴がなさそうに見えるんですが、どうなんでしょうか? どこかに詳しいサイトありませんか?
572 :
570 :2007/08/06(月) 18:57:33 ID:???
>>571 そんな単語がw
ありがとうございます、調べます。
573 :
nobodyさん :2007/08/06(月) 20:38:50 ID:OuVmhPr1
PHP5、winXPで勉強してます。 今、セッションのテストしてるんですが、ログアウト処理のPHPに対象となるユーザのIDを GETメソッドで送る処理を考えています。 で、以下のリンクを作ったんですがパラメータに値がはまりません。 <a href="logout.php?user_id=<?php $_SESSION["user_id"]; ?>&onamae=<?php $_SESSION["onamae"] ?>">ログアウト</a> なぜでしょう? ちなみに、上のコードの書かれてるPHPで print $_SESSION["user_id"] としても、正しい値を表示します よろしくお願いします
<a href="logout.php?user_id=<?php echo $_SESSION["user_id"]; ?>&onamae=<?php echo $_SESSION["onamae"] ?>">ログアウト</a>
575 :
nobodyさん :2007/08/06(月) 21:00:20 ID:OuVmhPr1
>>574 ありがとうございます ウッカリしてました。確かにechoがいりますね
聞きたいのですが、session_unset() っていうのは、セッションを全て削除するとはいっても、
そのサイトで使っているものだけですよね?
他のサービスで使っているものは破棄しないですよね?
それでもsession_destroyとの使い分けを知りたかったので質問させてもらいました
質問させて下さい。
WinXP sp2
apache2.2.4
php5.2.3
で動かしています。
■質問
system関数からネットワークドライブに対して読み書きを行いたい。
■詳細
PC ( a ) 鯖環境を入れています。
PC ( b ) このEドライブをネットワークドライブとして使用しています。
aからネットワークドライブに対する読み書きは基本的に以下のURLの方法で成功し、phpでの動作も確認しています。
ttp://nanakorobiyaoki.at.infoseek.co.jp/etc/win_apache_mapping.htm ただ、私の場合phpから行うsystem関数に対しても読み書きをさせたいのです。
具体的には
$str = "WinRAR x -r -y -ep -pPASS 解凍先 圧縮ファイル\\";
system($str);
このようなsystem関数を使い、解凍先にネットワークドライブを指定しています。
この場合、ネットワークドライブに対して解凍を行ってくれません。
恐らく、システム権限でネットワークドライブにアクセスしにいこうとしているため、ネットワークドライブにアクセスできないのだと思います。
これを回避する方法として、色々考えて
1:system関数でadministrator権限にてアクセスする方法を探す
2:win上でなんとかsystem権限でネットワークドライブにアクセスできる方法を探す
3:winrarのコマンドラインオプションで権限変更できそうな項目を探す
を思いつき探しているのですが、どれもいい方法が見つかりません。
もし宜しければお力添えしていただけないでしょうか。宜しくお願いいたします。
577 :
nobodyさん :2007/08/06(月) 21:22:57 ID:SHp45+BZ
function文の中から関数名を参照したいんですが そのような定義ずみの変数ってないでしょうか?
579 :
577 :2007/08/06(月) 21:33:35 ID:???
すみません。 批判的なレスをすると、すぐに公開PROXY規制されます。 誰がどうやって、ホストを調べて公開PROXY規制をかける のか、仕組みが分かる方はいますか?
>>580 何のことを言ってるのかね
規制をかけるのは常識的に考えて管理人
Proxyは特有の環境情報を吐くのでそれを見てProxyかどうかを判定
公開Proxyを毎日チェックしてデータベースに蓄積させてるというわけではない
583 :
582 :2007/08/06(月) 21:53:12 ID:???
環境情報→環境変数に脳内変換よろ
584 :
580 :2007/08/06(月) 21:59:34 ID:???
>>582 公開ProxyじゃないのにProxy規制されるんです。
スレのテーマについて、アンチレスをした時だけすぐに。
なんか書き込みさせないようにされてる。
そんなことはあり得ますか?
585 :
577 :2007/08/06(月) 22:17:14 ID:SHp45+BZ
>>584 一応言っとくがPHPとは全く関係ないしスレ違いなんだよ
あと荒らしを手助けする場所ではないからな
公開・非公開なんて串を制限するのに関係ない
串とわかる判別方法がいくらかある
>スレのテーマについて、アンチレスをした時だけすぐに。
自動でそういう仕組みを作ることは可能
最初から串通してカキコしてるなら
串制限されてるというよりIP制限されていると考えるほうが自然
串変えても書き込みできない場合クッキーやセッションの情報が残ってると考えるのが自然
通常一人の荒らしにたいして毎回串制限かけるなんてことはしない
587 :
580 :2007/08/06(月) 22:43:55 ID:???
>>586 すみません。
初心者なのでどこで質問すればいいか
分かりませんでした。
串の刺し方もPHPの知識もないです。
それと「荒らし」じゃありません。
ゲーム関係スレで信者に意見しただけです。
親切な回答どもです。バカなので理解少しですが
IP制限をみてみます。
588 :
nobodyさん :2007/08/07(火) 00:16:58 ID:ZZAVPEGP
サイト内の全文検索をPHPでしたいと考えているのですが 自分がかりてる鯖ではそのためのツールを用意していないとのことでした。 Namazuその他の全文検索ツールを見るといずれも鯖にインストールが必要なようですが 共用鯖の個人が使えるようなライブラリ等で、代用できるようなツールってないでしょうか?
590 :
nobodyさん :2007/08/07(火) 01:12:42 ID:ZZAVPEGP
いや別に既存のCGIを探してるわけじゃないんです。 ライブラリやモジュールの話は板違い?
593 :
nobodyさん :2007/08/07(火) 02:28:03 ID:fxW4NvJ3
バイナリパッケージでmysqlをインストールした場所と、 phpinfoで出てくるMYSQL_SOCKET等の位置が異なり、 PHPからmysqlに接続できません。 ApacheやPHPはRPMでインストールしました。 どうすればmysqlに接続出来るようにできますか?
PERLもつかえる人imasuka?
いないわけねーだろ
あなたはつかえますか?
くだらねーけどさ、 Perlの後発であるぱいそんとPERLでは、 これから1から習得するとなればどっちが優位な選択? Perlは日本での普及もしてるわけで困ることも少ないだろうけど、 言語としてはぱいそんのほうが優れてるのは明白なんだよな。 しかし日本での普及率といったら全然で、苦労することも色々と出てくるんじゃないかと。
paisonのどこがすぐれてるのか具体的に
ソースコードが見やすいのとPerlに影響を受けていること、それから人から聞いた話ではバージョンアップによる影響がないとか
600 :
593 :2007/08/07(火) 03:13:48 ID:???
色々ぐぐったところ どうも後からの設定ではMYSQL_SOCKET等を変えたりは出来ないようで…。 RPMでPHPを入れるならmysqlもRPMにしておけということでしょうか
PythonはGoogleでも積極的に使われてたり、 世界でも通用しそうなイメージはあるな。 Perlはもはや過去の遺物じゃないかね。
うむ。Perlに拘っている人は胃の中の大腸菌かと。 ただ開発環境を整えるのに一苦労なんだよね>python
pythonの話なら他でしろや禿
関連があるので許す
605 :
nobodyさん :2007/08/07(火) 04:22:59 ID:jAF++rY9
質問というか相談です。 今、PHP5の勉強をしてるのですが、本でオブジェクトやクラスの解説を読んでいると、 凄く観念的というかややこしくてクラクラしてきます。 (abstract宣言とか抽象クラスとかオブジェクトインターフェースとか) これらは全部理解しないとまずいんでしょうか? みんな完璧にマスターしてるの? おそらく、効率化を考えたり、他人のプログラムの引継ぎをする立場なら 理解していた方がいいと思うんですが、とりあえず無視して出来る範囲で プログラム組んでくってやり方じゃまずいでしょうか? ちなみに僕はデザイナで、理解できた方がいいだろうという動機でPHPやってます。
別にPHPで無理してOOPやらなくても・・・ 小中高の授業じゃないんだし、片っ端から全て覚えるなんて必要はなく、 必要になったら覚えるっていう程度で問題ない。 必要性を感じないなら無視していいし、必要性が感じられればまたそこに戻ればいい。 デザイナならそれだけで食っていけるだろうに。 才能を持ってるってうらやましいぜ。
オブジェクト・クラスはプログラム組んでるうちに分かるようになるから、それなりに慣れが必要かと 実際説明文を読んで理解しようとするよりも、どういった動作の流れかを解析することで理解できるようになるかと まぁSE目指してるんなら技術を習得する価値はあるかと
WEBエンジニア→デザイナ 困難 デザイナ→WEBエンジニア 努力次第で何とか
いや、でもまあセンスさえあればデザイナも困難ではないんじゃね 簡単さではデザイナ>エンジニアなんだし、コツさえ掴めば何とか...
611 :
588 :2007/08/07(火) 05:38:49 ID:f/NUq+xJ
まだ作業途中ですがpnamazuでなんとかいけそうです。
最良の選択かどうかはわからないけど・・
>>592 下らねぇ「回答」はスレ違いかと。
pnamazuでいいだろ それ以上のことやりたいなら自分で書けよ
>WEBエンジニア→デザイナ 困難 別に困難だとは思わないけどなぁ むしろロジックを知っているからプログラマーにやさしいデザインを作ってくれるような気がする
デザイナーもおkなら独立するだろ、常考
>>611 お前は質問者という以前に人間として最悪だ
>>613 デザイナーはなりたくてなれるもんじゃないんだよ。
勉強したって努力したって結局はセンスと才能次第。
幼少期の感性が特に重要になってくる。
>むしろロジックを知っているからプログラマーにやさしいデザインを作ってくれるような気がする
結局はクライアント次第なんだよ。
宣伝乙
( ゚д゚ )
>>613 プログラマーにやさしいデザインをつくることはできるとはおもう
ユーザーに受け入れやすくやさしいデザインを作る事は個人に依る
なんか俺、作り込めば作り込む程きたないデザインになるんだorz
622 :
605 :2007/08/07(火) 10:27:04 ID:nqMZFXTj
答えてくれた方ありがとうございます やっぱりできるところからやったほうがいいですよね 理解できない技術を上手に解説してくれるようなコードを探しつつ 頑張ってみます ありがとうございました
623 :
nobodyさん :2007/08/07(火) 11:31:15 ID:HmBP9Y+F
php5.2.3をcentOSにソースからインストールしたのですが、 Cannot load /usr/lib64/httpd/modules/libphp5.so into server: /usr/lib64/httpd/modules/libphp5.so: undefined symbol: zend_qsort と出て、apacheが再起動できません。 どうしたらいいでしょうか?
624 :
nobodyさん :2007/08/07(火) 11:38:51 ID:2PnksrHf
$array = array(1, 2, 3, 4, 5); この配列を\nで区切り文字列にしたものを変数に入れたいのですが、 そんな関数ありますか? $array = array(1, 2, 3, 4, 5); ↓↓↓↓↓↓↓↓↓↓ $strings = "1\n2\n3\n4\n5\n";
625 :
624 :2007/08/07(火) 11:40:23 ID:2PnksrHf
って書いた瞬間にimplodeが思いうかんだ・・・ 自己解決しました。スレ汚しすみませんでした。
>>623 Cannot load
can not load
読み込みできない = /usr/lib64/httpd/modulesにlibphp5.soファイルがない
>>623 昔同じ症状になってLinux使いなれてないこともあってそのまま放置したなぁw
確かその時どっかで調べたんだけど、コンパイル時にlibphp5.soを作るみたいなオプションがあった気がする。
yumじゃ古いから困ったもんだね。
628 :
623 :2007/08/07(火) 11:56:25 ID:HmBP9Y+F
>>616 勝ち負けがどの辺りでついたんだい?
無理やり宣言して自分の勝ちにしたい、しないと反論できないのはのはどっちだ?ん?
さっさと死ね知障糞野郎
はいはい夏休みなんだから子供は外出て遊ぼうね
そうそう、カブトムシとクワガタ捕まえた数で勝ち負け決めなさい
>>576 proc_open 関数で runas コマンドを使うのはいかがかしらん。
>>593 php.ini の mysql.default_socket や、
または実行時に mysql_connect の $host 引数で、
mysqli_connect なら $socket 引数で、
PDO なら DSN の unix_socket パートでそれぞれ指定できるそうです。
これらとは違いますか?
$a = 'A'; echo ++$a; ってやると'B'と表示されますが $a = 'A'; $x = 1; echo $a + $x; で'B'と表示させるにはどうしたらよいですか? なにか関数を使ってやるのでしょうか?
>>634 echo chr(ord($a) + $x);
638 :
nobodyさん :2007/08/07(火) 15:42:01 ID:HOQBI3SI
includeについて質問させて下さい php4ではしっかり表示されるんですが php5になるとエラーがでます。 ○○のファイルはHTMLタグのテーブルです。 <? include("○○");?> ○○をURL指定でもよびだせません 相対パスでも呼び出せません。 php5から仕様がかわったのでしょうか? includeに同じようなタグはphpではありませんでしょうか? アドバイスお願いします;;
>>638 >php5になるとエラーがでます。
エラー内容は?
<?php
include("○○");
?>
でもダメ?
640 :
nobodyさん :2007/08/07(火) 15:47:03 ID:Lc4TIg8i
error_log('あああああ', 0); とするとApacheのエラーログが化けます。 [Tue Aug 07 15:43:49 2007] [error] [client ***.***.**.***] \xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82 ファイルはUTF-8, php.iniは mbstring.internal_encoding = UTF-8 mbstring.http_input = UTF-8 mbstring.http_output = UTF-8 です。サーバのどこの設定を変えればよいのでしょうか?
画像アップローダをやっていますが、 ツールで一括ダウンロードされないようにするにはどんな方法が有りますか?
<わからない五大理由> 1. 読まない ・・・説明書などを読まない。読む気などさらさらない。 2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。 4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。 5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
>>640 ファイルの文字コードがEUCでUTF-8ではないとか?
>>641 リクエストヘッダで確認
それ以外は基本的にむりじゃない?
ブラウザで表示した時点で一括ダウンロードなんだし…
>>641 cookieを使うとか、javascriptでファイルへのリンクを作るとか、captchaとか、
どの程度強く守るかによっていろいろ考えられるでしょ。
Apacheのerror.logはASCIIのみだったような
646 :
640 :2007/08/07(火) 16:47:07 ID:Lc4TIg8i
>>643 >>645 php.iniのログの出力先を指定することにより、日本語のロギングができました。
ありがとうございました。
647 :
638 :2007/08/07(火) 16:58:14 ID:HOQBI3SI
>>639 レスありがとうございます。
エラー内容ですが
Warning: include() [function.include]: Unable to access ○○/lib/htmltemplate/htmltemplate.inc(366) : eval()'d code on line 452
○○はサイトパスです。
>>639 それを実行しても同じエラーでした><
>>600 PHPでもMySQLでも、そのどちらの設定ファイルや
起動オプションでも位置を指定できる筈だが。それで問題あるの?
my.cnfの[mysqld]ディレクティブに
「socket=/tmp/mysql.sock」とか記述するか、起動オプション
php.iniの方は
「mysql.default_socket = /tmp/mysql.sock」
とかね。
650 :
649 :2007/08/07(火) 18:30:39 ID:???
651 :
nobodyさん :2007/08/07(火) 18:51:08 ID:q5cnbu6Y
>>651 php5インストールしたときの環境は同じ環境?
php.iniをdiffしてみるとか。
おい、なんで画像がグモなんだぜ?
654 :
nobodyさん :2007/08/07(火) 19:20:08 ID:2wg4iJ0g
最近、登録フォームのページ推移を旧式の form.php→confirm.php→complete.php に戻したのですが、別にセキュリティ的に問題ありませんよね? 今までは↓のようにしていたのですが、なんか使いづらくて・・。 index.php?page=inquiry_form
655 :
nobodyさん :2007/08/07(火) 19:45:09 ID:p4Sr4eD2
PHP5を使っています。
http://www.specters.net/cgipon/labo/it_emoji.html の絵文字変換サブルーチン→パターンマッチ(置換文)をPHPに移植するとどうなるでしょうか?
試しに
$sjis = '[\x81-\x9F\xE0-\xF7\xFA-\xFC][\x40-\x7E\x80-\xFC]|[\x00-\x7F]|[\xA1-\xDF]';
$emoji = '[\xF8\xF9][\x40-\x7E\x80-\xFC]';
$str = preg_replace('/\G((?:$sjis)*)($emoji)/', "\\1".'?'.unpack('n',"\\2").';', $str);
としてみたのですが、 絵文字のバイナリコードを$strに渡してもスルーされてしまいます。
(実行後も$strは元のバイナリコードのまま)
絵文字を変換できればいいので、正規表現であることにはこだわりません。
どなたか教えてください。
656 :
nobodyさん :2007/08/07(火) 19:55:09 ID:MdqSrwDz
foreach($list as $key => $value){ echo "$key$value"; } $keyは0から始まりますが、1から始まるようにすることはどうやってできますでしょうか?
>>656 if($key==0)continue;
658 :
nobodyさん :2007/08/07(火) 20:09:29 ID:MdqSrwDz
どういたしまして
660 :
nobodyさん :2007/08/07(火) 22:23:25 ID:sWk5FzeF
セーフモードになっているのでファイルを作れないのですが、 cgiだとプロセス使って重くなるらしいので、 ファイル作成の部分だけを別離して、 if (!file_exists("filename")) { //アクセスするだけでfilenameが作成されるcreate.cgiにアクセス } ということをしたいのですが、このcgiを呼び出す(アクセスする)ための関数みたいのありますか?
> アクセスするだけでfilenameが作成されるcreate.cgiにアクセス は満たしてるような
664 :
nobodyさん :2007/08/08(水) 03:40:33 ID:9os+tc0T
質問します(winXP + Apache2 + php5.2.3 です) 会員認証や、会員情報の登録を行うプログラムを作っているのですが、 セキュリティを高める為に、接続先DB関連の情報(ホスト名やsqlのuser、pass)を 宣言したPHPはhtdocsの外に置いてそれぞれ定数化するなどし、実行側PHPでは それをincludeするなどしたほうがいいんでしょうか? 会員認証・情報登録のシステムを作る上で皆さんが行っている セキュリティ向上の為の仕掛けやアイディアを教えてください。 よろしくお願いします。
>>664 DBの情報は、各ページのGETのパラメータで渡しているよ。
666 :
nobodyさん :2007/08/08(水) 04:16:21 ID:9os+tc0T
>>665 ありがとうございます
具体的にはどういうことでしょうか?
henkou.php?dbhost=www.aaa.co.jp&dbUser=uName&dbUser=dbPass
みたいな感じですか? (僕の誤解でしょうか)
失礼ですが、もしこういう意味なら、逆に危なくないですか?
(セッションに保存した方がよさそうな…)
それともそんなに気にかける必要ないといういみでしょうか?
こんな時間に済みませんが、また気が向いたら教えてください
他の方もよろしくお願いします
>>664 別にやらないよりはやったほうがいいんじゃない
大事なのはどの手法にどんな利点と欠点があるかを正しく把握することかと
>>666 おいおい、そうじゃないよw
GETパラメータを内部ターンで回せばって言っている。
.htaccess使っているなら、rewriteを使ってGETパラメータ渡しすれば、
管理も楽でセキュリティーもかなり強固になる。
>>667 ですね〜 知識不足なんで色々調べてみます
ありがとうごさいました
>>668 htaccessをつかうんですか。知りませんでした、まるきり勘違いですみません…
調べて試したいと思います
ありがとうごさいました!
他にも気が向いた方がいたら、ご意見よろしくお願いします
>.htaccess使っているなら、rewriteを使ってGETパラメータ渡しすれば これはあんぜんなの?
だめでしょ。rewrite使う(使える)んだったら、一般的にダメダメな「GET」(Queryコンポーネント) でなんか処理なんかしないよ。REQUEST_URIとかPATH_INFOのパスコンポーネント系で処理する。
673 :
660 :2007/08/08(水) 09:02:10 ID:CLPnux1M
>>661 どうもありがとうございます。
しかしfile_get_contentsでは作成されませんでした。(書き方が悪いのかもしれませんが・・・)
a.php
$filename = realpath('./') . '/test.txt';
if (!file_exists($filename)) {
file_get_contents('a.cgi');
}
?>
a.cgi
#!/usr/bin/php
<?php
include_once('a.php');
$handle = fopen($filename, 'x+');
fclose($handle);
?>
a.cgiに単独でアクセスするとちゃんと作られるのですが、
a.phpにアクセスしてもtest.txtが生成されません。(もちろんサーバ側にtest.txtはない状態です)
それとfile_get_contentsの本来の使い方とはだいぶ外れてるようですが、気にしないでいいですか?
もっと的確な関数や方法があれば是非アドバイスお願いします。
include とか
>>673 file_get_contentsはファイルのテキスト全文読み込み
includeはファイル読み込み
a.cgiをバックグラウンドで実行したいみたいだから
execかsystemじゃないのか??
676 :
nobodyさん :2007/08/08(水) 10:22:42 ID:KXoVBglR
すみません、
>>655 ですがどなたかヒントをいただけませんか?
>>676 たぶん正規表現の文字列のクオートをダブルクォートにする必要があるのと、
PHPのunpack()の返り値は文字列じゃなかったはず。
678 :
660 :2007/08/08(水) 10:53:10 ID:CLPnux1M
レスありがとうございます。
>>674 こちらも書き方が悪いかもしれませんが無理でした。
>>675 >execかsystemじゃないのか??
こちらの関数もセーフモードじゃ制限があるのでcgiでないと・・・orz
こちらでやるならcgiよりシェルスクリプトでも作ったほうがよさそうですね。
とりあえず別の方法を思いついたのでそちらを試して見ます。
(ファイルがなかったら全工程を記述したcgiにheader関数で飛ばすという荒業・・・)
>>671 >PATH_INFOのパスコンポーネント系で処理する
というのは、shusei.php?namae=yamada という表記を /shusei/yamada とする処理のことですか?
この処理の意味は「ファイル名をディレクトリのように見せる」ということだと思うんですが、
その効果としては.phpを直接ダウンロードさせないことがメインなんでしょうか?
681 :
nobodyさん :2007/08/08(水) 13:01:37 ID:b5KxDrLF
Maximum execution time of 30 seconds exceeded が発生したプロセスには死んでほしいのですが なぜか固まって生き残ってしまいます。 この人たちに自殺させる方法を教えてください。
>ファイル_ゲット_コンテンツ
684 :
681 :2007/08/08(水) 13:32:24 ID:???
>>683 致命的エラーなのだから仕様上プロセスは終了するはずなのに
終了しないのはなぜですか
function hoge(){ $var=計算式 return $var; } $a=hoge(); こうすれば$aに$varが入るのは分かるんですが、2個以上の返り血をもらいたいときはどう書けば良いんでしょうか function hoge(){ $var1=計算式 $var2=$aを使って計算 return ???? } $va1や$var2を計算する文を毎度書いているのでなんとかしたいです
2つに分けりゃいいじゃん
クラスにして参照とか。
天皇陛下に対して失礼な言動は日本国民として慎むべきだろ
690 :
nobodyさん :2007/08/08(水) 14:05:15 ID:j6ELTh/z
質問です。くだらなすぎて申し訳ないのですが、 ini_set('session.use_only_cookies', 0); ini_set('session.use_cookies' , 0); ini_set('session.use_trans_sid' , 1); で、セッションにクッキーを使わず、自動的にURLにセッションIDを付加させたいのですが、 リンク先に飛んでもIDを付加してくれません。 ほかになにか設定を変更する場所があるのでしょうか? (リンク先にも同じ設定をしています。)
>>690 session_start( )してないだろ
692 :
nobodyさん :2007/08/08(水) 14:23:53 ID:j6ELTh/z
すみません、原因は更に下らないことでした。 ローカルのリンク先ではなくサーバーのリンク先になっていましたorz
あるあるww
694 :
nobodyさん :2007/08/08(水) 15:00:00 ID:2+jr8RRc
HTMLをパースするのをpreg_match使って正規表現でゴリゴリやってるんだけど、 もしかしてxml関係の関数で簡単にできちゃったりする?
xml !== html
696 :
nobodyさん :2007/08/08(水) 15:28:29 ID:2+jr8RRc
>>695 どうもありがとうございます。
ですよね。でも構造が似てるので、できちゃったりするのかな、と思いました。
それでいろいろ調べてみた結果、tidy関数というものがありました。
そこで、もう1つ質問で、
PEARって、インストールしていないPHP上でも動くようにできないんですかね?
例えば、tidyのライブラリ?を作ったものの同じフォルダに入れて、zipしたり。。。
つまり、なるべくどこでも動くようにしたいのです。
できる
>>673 だからできないみたいなレスをつけてやったのにおまえときたら
TidyはPEARじゃなくてPECLだけどね PECLのインストールは管理者じゃないと無理
701 :
nobodyさん :2007/08/08(水) 16:22:03 ID:9os+tc0T
質問です $documentroot = dirname(__FILE__)."/"; require_once $documentroot.'../php_libs/config/config.inc.php'; 上記のようなソースが今使っている本に書いてありました。 1行目は現ファイルの絶対パスに末尾に/を付けて変数に入れてるわけですが、 2行目は何をやっている処理なんでしょう? require_onceが対象ファイルを読み込む関数ということはわかるんですが… ファイル構造は /htdocs/index.html(このファイル) /php_libs/config/config.inc.php という形になっています
>>700 そういうのもありかなと思ったけどね
リクエストがいってCGIは実行されるだろう
>>701 そこまで考えれたんならもうちょっとだろ
・require_onceが対象ファイルを読み込む関数
・$documentroot.'../php_libs/config/config.inc.php';
・$documentrootの中身
704 :
nobodyさん :2007/08/08(水) 16:54:42 ID:9os+tc0T
>>703 ありがとうございます しかしわからないです
「.」 連結演算子?の理解不足なんですかね〜
現在の階層に相対パス(ファイル)をくっつけてる??? わけないか、、
本の文脈的には「config.inc.php」の中身を読みに行く処理だと思うんだけど…
見たことない書式なので…
>>704 echo $documentroot.'../php_libs/config/config.inc.php';
してみればいいんじゃない?
706 :
nobodyさん :2007/08/08(水) 17:02:55 ID:j6ELTh/z
HTTPリクエストでセッションIDを送信することってできますか? mixiにログインして、自分のページの名前などを引っ張ってきたいのですが何か良い方法はないでしょうか
ためしてみましたか? ためしてみてできなかったら質問してください。
708 :
nobodyさん :2007/08/08(水) 17:06:22 ID:j6ELTh/z
>>707 ログインを試しました
すると、ダミーページ?みたいなのがあって、そこでhome.plにジャンプする仕様でした
セッション維持できれば次にhome.plに飛ばすこともできるんですが、
どのようにすればセッションを扱えるのかなと
709 :
nobodyさん :2007/08/08(水) 17:07:18 ID:OHuigtha
我是中国人。我,PHP完全不能。能?告???
710 :
671 :2007/08/08(水) 17:09:54 ID:CQkJQVbI
>>679 >shusei.php?namae=yamada という表記を /shusei/yamada とする処理のことですか?
違う。それを一番シンプルなかたちでrewriteで書くなら
shusei/(..*)$ suisei.php?namae=$1
shuseiも隠したいなら(単なるyamada) ^(..*)$ suisei.php?namae=$1
この場合「GET」 OR QUERY_STRINGS値として取得される。
PATH_INFO,REQUEST_URI系と言ってるのは、
rewrite無しでも
shusei.php/yamada(あるいは直下のパスに意味を持たせたいならshusei.php/namae/yamadaとか)
yamada以下の部分はPATH_INFO、REQUEST_URIでなにもせずに処理可能
rewrite有りならさらにshusei.phpを全部隠しながら単なるyamadaでいい。
^(.*)$ shusei.php ←REQUEST_URI
^(.*)$ shusei.php/$1 ←PATH_INFO系
つまりはGET云々なんか無視してやればいいということ。
一番スマートなのは、apacheを使ってるならばREQUEST_URI系。
↑タイポがあります。許してね
>>708 cURLでcookie使うこと考えてみました?
712 :
nobodyさん :2007/08/08(水) 17:28:31 ID:2+jr8RRc
<.*>これが、 <h1>test</h1> にヒットするのはわかるのですが、 <.*?>こうすると、 <h1>だけになる理由がわかりません。 ?の意味は、0個、または1個のパターンというのはわかったのですが、 *か、>どちらにかかっているのでしょうか・・・?
>?の意味は、0個、または1個のパターンというのはわかったのですが、 違うだろ。直前のものがあってもなくてもいいってこと。
714 :
nobodyさん :2007/08/08(水) 17:34:45 ID:2+jr8RRc
?の次にくるものを優先させるという解釈でいいんでしょうか? <.*?>でいうと、 .*(何でも文字列)があって、>が後ろにあるので、>までは許すよ〜って感じですかね??
715 :
nobodyさん :2007/08/08(水) 17:36:35 ID:2+jr8RRc
>>713 その解釈だと、
なくても、の場合
<>になるし×
あっても、の場合なら、
<h1>test</h1>
もOKってことになりません?
↑これは逃げだな
いやだって、ID:2+jr8RRcのレスとその前後みてみなよ。 いきなり正規表現の話出されても意味わからんで。
719 :
nobodyさん :2007/08/08(水) 17:47:30 ID:2+jr8RRc
では、もう理屈はなしで、やりたいことだけ書きます。 今、'/<(.+)[^>]*>(.+)(<\/\\1>)/si' こういう正規表現をつくりました。で、 例えば、 <p>test</p> <p>test2</p> この例だと、 <p>test</p>&<p>test2</p>として認識させたいのですが、 最初の<p>から、2行目の</p>まで全部認識してしまいます。 「<*>から、一番近い</*>まで」というのが目的です。
720 :
nobodyさん :2007/08/08(水) 17:48:20 ID:j6ELTh/z
>>711 cURLとは何でしょうか
検索してみたのですがCurlしかHitしません・・・。
mixiに対してどのようにCookieを生成すれば良いのでしょうか。
>>719 以下の正規表現を試してごらん。わかると思うよ。
<...*?>←.が3つ。この数までは<h1>マッチ
<....*?>←.が4つ以上。<h1>test</h1>にマッチ
>>720 別にCurlでもCURLでもいいよ。PHPのcurl関数マニュアル読んで下さい。使い方が書いてある。
722 :
nobodyさん :2007/08/08(水) 18:01:23 ID:2+jr8RRc
'/<(.+)[^>]*>([^(<\/\\1>)]+)(<\/\\1>)/si'
できたーうれしいー
>>721 え?なんで・・・?理解不能
ああ、下らんID出し厨の釣りに掛かってしまった。オヤスミ。もう来るなよ。
アンカーしてください
ああ、すまん。 ID:2+jr8RRcに対してだ。もう来るなよ。
>>705 そうですね!やってみます!
ありがとうごさいました
727 :
nobodyさん :2007/08/08(水) 18:15:03 ID:2+jr8RRc
もう来るなよ
でも、たまには顔出せよな
>>720 自動ログイン系を実装するなら実装する前に現状を把握するツールを使いこなせるようになることだ。
そこから話しを始めないと全く通じない。
IENaviTr ieHTTPHeaders
とか使ってブラウザのやりとりを可視化してみ。
長い処理を実行すると、 timeoutしてしまうんですが、 何か解決する方法はありませんか?
733 :
nobodyさん :2007/08/08(水) 21:34:19 ID:OHuigtha
まぁまぁ、そう怒らずに自分のおならの臭いを嗅いでエクスタシー感じようよ
その話しは、さらに飽きてる
>>731 自己解決しました
set_timeout_limit
736 :
704 :2007/08/08(水) 23:14:23 ID:9os+tc0T
>>705 $documentroot = dirname(__FILE__)."/";
require_once $documentroot.'../dbsettei/settei.php';
の意味がわからないということで、アドバイスに従い
echo $documentroot.'../dbsettei/settei.php';
をやってみたんですが
C:\Program Files\Apache Group\Apache2\htdocs\samples\dbtest/../dbsettei/settei.php
と表示されただけでした
当たり前といえば当たり前なんですけど、これでいいのか?? って気分です
どうなってるんだろう…
>>736 そのファイルを移動させてもそのファイルがあるディレクトリからの
相対階層にあるファイルを読み込めるようにするため
dirname(__FILE__)の結果はそのファイルがある階層によって変わるから
OK?
738 :
704 :2007/08/08(水) 23:55:10 ID:???
>>737 ありがとうございます
require_once $documentroot.'../dbsettei/settei.php';
echo $sample;
//settei.phpに$sample = "hahaha";としてある
を実行したところ、 hahaha と表記されました
しかし、ディレクトリを一階層落としてそのまま実行したら(/a/index.html)I
表記されなくなりました
これはこれでしょうがないんですよね…?
そうなら、require_once "../dbsettei/settei.php"; として適宜「../」部分を編集するのと
同じでは、、と思うのですが。。
僕の手際が悪いんでしょうか?
>>738 あ、
>>704 の現在の階層に相対パスをくっつけているというのはそれで合っている
/a/b/c/../hoge.php というのは /a/b/hoge.php と同じファイルパス
この相対パスの説明をしたらよかったのかな
別に好きな方法でやりゃいいじゃん
>>738 別にこれが正解ってのはないよ
その本がその部分の前後でなにをやっていたのかしらないけど
絶対パスや相対パスについて説明している部分だったら
自分で悩んで理解しろことなのかもしれんし
>>738 いちいち適宜編集するのが面倒だからメインのファイルから
dirname(__FILE__)で相対位置として指定してるんだろうが
少しは考えろよ
あなたもですよ
おれもふくめてね
とりあえず
>>1 をよくよめ
PHP用のユニットテスト自動化ツールっていうと PHPunitぐらいしかない? PHPunitの他に、 「他にもこういうのがあるよ」ってのある? 無料、有料問わず。
最近スレだったばかりのがあるから探せ
まじすか まいったなぁ。一応スレ検索してみたんだけどな。 それらしきスレは見当たらなかった・・・
ヒント: つ 英字
発見した! 英字ってか最近のスレってのがヒントになったぜ!
なんで誘導すらしないのか理解できない。ほんと心狭い奴多いねw
755 :
nobodyさん :2007/08/09(木) 06:49:45 ID:eIvRPvRy
date("Ymd")で今日の日付20070809と出ますが、 10日前から今日の日付を 20070730 20070731 20070801 .... 20070809 といった感じに出したいのですが、 計算式を使って(int)date("Ymd") - 10では、当然20070799となってしまいます。 どのようにしたら思い通りになってくれるのでしょうか? <?php $d = (int)date("Ymd"); //20070809 for ($i = $d - 10; $i < $d; $i++) { echo $i."\n"; } ?>
試験ツールのスレ発見した俺だけど。
>>755 PHP 日付 計算
↑このワードでググるだけで幸せになれるぜ
>>754 一対一対応での誘導より、他のケースでも適用できる一般論(検索文字列の柔軟化)を
示してあげてるんだから優しいと言えるよ。
ご当人のリテラシーは
>>753 見る限り向上していないみたいだけどな。
759 :
755 :2007/08/09(木) 07:18:17 ID:eIvRPvRy
>>756-757 どうもありがとうございます。
for文じゃ少し難しそうですが10個なので1つずつ書きたいと思います。
どうもありがとうございました。
760 :
755 :2007/08/09(木) 07:23:00 ID:???
って全然難しくありませんでしたね。 $d = mktime(0, 0, 0, date("m"), date("d"), date("Y")); for ($i = 0; $i < 10; $i++) { echo date("Ymd", $d - 86400 * $i)."\n"; } どうもありがとうございました。
>>758 そう言われると納得。
最近の流れから穿った取り方をしてしまった。
いやまぁ、俺も勉強になったよ。 テスト=試験 って発想できないDQNだでね。 758に感謝。
apache(linux)モジュールのPHPで、インストールした後から、 mb関数をインストールする方法を教えてケロリ〜ン☆
再コンパイル
765先生の尾ssッ者ルトおりでくぁwせdrftgyふじおl
767 :
nobodyさん :2007/08/09(木) 10:55:26 ID:1G5XM4wp
unset()じゃセッション削除されない? unset($_SESSION['community'])でも中身が残ったまんまになる・・・
>>767 なぜ
session_unset( )
を使わないの
769 :
nobodyさん :2007/08/09(木) 11:03:10 ID:1G5XM4wp
>>768 session_unsetは全てのセッションが破棄されるのでは・・・?
$_SESSION['test'];が配列になっていて、その中身のみ削除したいのです。
770 :
67 :2007/08/09(木) 11:04:25 ID:???
待ってます。
ksortのパラメータがおかしいんだろ 該当部分のソースも出さないで答えられるわけがない。
772 :
nobodyさん :2007/08/09(木) 12:56:20 ID:LXVZVFyI
ごめんなさい。 2ちゃんねるなどのスレッドフロート型掲示板で、スレッド一覧ページの各スレッドの左側のスレッドの番号はどのようにして表示させているんですか?
774 :
nobodyさん :2007/08/09(木) 13:16:23 ID:LXVZVFyI
ようやく出来た。 本当にありがとうございます。
apache(linux)モジュールのPHPで、インストールした後から、 mb関数をインストールする方法を教えてケロリ〜ン☆ もう3度目はないんだからねーっっ☆☆☆☆
776 :
nobodyさん :2007/08/09(木) 13:33:42 ID:Q2ABjORS
>>775 教えてやるから、お前のちんちんの拡大写真をアップしろ。
キモイ
urlencodeした文字列をファイル名にしてファイルを作りました。 そのファイルをブラウザで起動してみると、 アドレスバーのurlはファイル名とは違う文字列になってしまいます。 しかしエクスプローラー上のファイル名はurlencodeした文字列のものです。 なぜなんでしょうか?
文字コードの問題
判決を言い渡す際に、罪を重くする理由として、 計画的な犯行は、反抗は計画的に酌量の余地はない、と言われ 非計画的な犯行は、犯行動機は短絡的で酌量の余地はない、と言われ、 結局、量刑の際に計画か非計画かは全く関係がなく、 判決の方便にしか思えないのですが、 どうでしょうか?
>>775 ソースからコンパイルしたのかパッケージで入れたのかで違う
rpmならrpmで追加するだけ
ソースならphpizeで追加コンパイル
783 :
nobodyさん :2007/08/09(木) 14:19:06 ID:9t8SuYZS
preg_match_all('/... /si', $str, $matches, PREG_SET_ORDER); で、マッチしたものを、ある文字列に置き換えた$strを作りたいのですが、どうしたらいいでしょうか。 $matchesに入っている、マッチした文字列を$strから探して・・・という方法を思いついたのですが、 全く同じ文字列があった場合などが考えられるので、何か他に良い方法は無いでしょうか。 お願いします。
>>784 あ、忘れてました。。。どうもありがとうございます。
786 :
nobodyさん :2007/08/09(木) 14:48:39 ID:9t8SuYZS
度々申し訳ないです。
>>783 ですが、
preg_replaceにした場合、特定の文字列はスキップする、などの処理を加えたい場合どうしたらいいのでしょうか?
e修飾子で自己解決しました
俺: ぼくにはphpにの能力もありませんが、若さが唯一の取り柄です。 上司: ということは、きみの取り柄は年々確実に減少していくっていうわけだ。 俺: ・・・。
790 :
nobodyさん :2007/08/09(木) 15:51:45 ID:ulFyQ2Aq
突然の質問失礼いたします。 最近PHPlibをいじろうかと思っているのですが、PHPユーザー会に日本語ドキュメントが見当たらない気がします。 新しくなったWebページ上で、PHPlibの日本語ドキュメントはどこにあるでしょうか? お手数をおかけして申し訳ございません。
791 :
nobodyさん :2007/08/09(木) 16:00:55 ID:9t8SuYZS
>>787 ですが、
http://au.php.net/manual/ja/function.preg-replace.php のPHPマニュアルでのe修飾子には、
>e 修飾子を設定すると、preg_replace() は、参照先の対応する置換を行う際に replacement 引数を PHP コードであるとして取り扱います。
とあるのですが、PHPのコードを記述すると、E_ECHOやT_WHILE、T_IFなどのエラーが発生します。
"htmlspecialchars('test')"など、戻り値があるものは成功するので、
"return 'test'"と記述したのですが、またT_RETURNのエラーが出ました。
どうしてなんでしょうか?PHPのコードじゃないのか・・・。
792 :
nobodyさん :2007/08/09(木) 16:09:31 ID:ulFyQ2Aq
>>790 です。自己解決しました。
私の眼は腐っていたようです。
本当にありがとうございました
PHPlibにはPHP3がないと
もうPHP4の開発終了がアナウンスされて、 今の時期は4から5に書き換えするための期間っていう位置づけなのに! まぁ保守なら仕方ないね。
現状に甘んじて仕方ないで済ませて、言われたことしかやらないのは、 金を貰ってやっているエンジニアとしては最低の部類だな。
言われたことしかやらないじゃなくて 言われたことしかやってはいけないだな
保守なんて数人でやるんだから勝手に仕様変えるわけにはいかないだろ。
$a=array("佐藤","田中","鈴木","高橋"); という配列があって $before=2、$after=0という変数を使って 3番目のデータを1番目に持って行きたいです、のこりはずれます こんなかんじ→$a=array("高橋","佐藤","田中","鈴木"); 配列関数をみてもどう組み合わせれば出来るのか分からなかったので だれか助けて下さい(´・ω・`)
数人でやるからだめとかいう問題ではなくて、<やってはいけない>のだよ。 契約ならば、それを守らなきゃいけない。 糞だとすればPHPlibのドキュメンテーションを引き継いでいないってところだな。
>>777 おれでよければつきあってくれませんか?
802 :
nobodyさん :2007/08/09(木) 18:20:54 ID:LXVZVFyI
define("folder", "./view.txt ");//ファイル //一覧表示 $oya = file(folder); $oya_count = count($oya); $oya_per = array_chunk($oya,2); $page_all = count($oya_per); $now_page = ($_GET['page']) ? $_GET['page'] : 0; if($oya_per[$now_page][0] == "") $now_page = 0;
803 :
nobodyさん :2007/08/09(木) 18:24:29 ID:LXVZVFyI
続き //通常表示 foreach($oya_per[$now_page] as $key => $value) { $key++;//0を非表示 //分解 list($sub_id,$source) = explode('<>', $value); echo "$key:$source<br />"; } //引数 if ($page_all > 1) { $str .= _page_link($now_page, $page_all); } function _page_link($now_page,$page_all) { $str = ""; //戻る if ($now_page) { $str .= '<a href="'.phpfile.'?mode=view&page='.($now_page-1).'">前</a>'; } $str .= '|'; //次へ if ($now_page < $page_all-1) { $str .= '<a href="'.phpfile.'?mode=view&page='.($now_page+1).'">次</a>'; } return $str; } echo "$str"; $keyでスレッドの左側に記事番号を表示させたいんですが、できません。 どうやったらできますでしょうか?
>>799 おまえにプログラムは無理だ、あきらめろ
>>802 おっぱい括弧でいろんなところを囲んでみたら動くかもしれないよ。
807 :
nobodyさん :2007/08/09(木) 19:40:27 ID:LXVZVFyI
>>807 期待通りに動いてくれるかもしれないよってことだ
{$key}:{$source}
としてみたり
$oya_per[{$now_gages}]としてみたり
いろいろやってみれ
809 :
nobodyさん :2007/08/09(木) 20:16:25 ID:LXVZVFyI
<a href="あ">あ</a> の「あ」を抜き出して それぞれを$array[あ][あ]のように配列に格納したいんですけど どのようにやったら出来ますか?
>>810 strip_tagsで全てタグで除去したあとに、
一文字ずつarray_pushすれ。
812 :
810 :2007/08/09(木) 20:29:49 ID:???
マニュアル読んで自己解決しました
813 :
nobodyさん :2007/08/09(木) 20:44:19 ID:LXVZVFyI
変なやつが多いね
817 :
nobodyさん :2007/08/09(木) 20:58:58 ID:xyjVUzxx
質問です apache5.3.4 + php5 +Mysql5 で開発してるんですが、 オススメのログ集計方法(というかフリーウェア?)はないでしょうか? PHPを使った設置簡単で高性能なアクセスログ解析アプリのようなものが あれば嬉しいです。 もしくは、皆さんのアクセスログ解析方法を教えてください よろしくお願いします。 ・ページごとのアクセス数集計 ・リファラ確認 ・曜日別集計 ・グラフ化 くらいの機能があれば嬉しいです。
818 :
817 :2007/08/09(木) 21:00:24 ID:xyjVUzxx
間違えました apache2 + php5.3.4 + Mysql5 です 済みませんでした
>>817 情報も多くて楽なので
wwbalizerあたりでいいと思うよ。
商用サイトだと集計よりも解析が欲しいため
その点では不満を感じるかもしれんが
元々そういう用途に使うものでもないしね
821 :
nobodyさん :2007/08/09(木) 21:37:25 ID:LXVZVFyI
>>818 php5.3.4???????????????????????????
女の子の後輩が、 「PHPで2次元配列が上手く表示出来ないいんです〜」 って助けを求めてきたから 「おっぱい括弧で挟むんだよ」って教えてあげたら 「こんな感じに挟むんですか〜??」 って、俺の顔をおっぱいで挟んできた。 PHPやってて良かったって思った。
825 :
nobodyさん :2007/08/09(木) 22:20:07 ID:LXVZVFyI
初心者で失礼します。 説明不足だったかもしれません。 1ページに20の記事を表示させているんですが、 0ページ目の記事番号は1〜20で表示出来るんだが、 1ページ目からも1〜20になってしまうんだ。 ここを解決したいんだ。 {} これで解決出来なかった。 array_chunkの部分でこうなってしまったんだと思うんですが、 解決策はありますでしょうか?
>>825 とりあえず、自分でデバッグしてから質問して下さい。
>>825 どういう日本語の使い方だwwwwwwwwwwww
829 :
nobodyさん :2007/08/09(木) 22:56:55 ID:LXVZVFyI
>>826 そのレスは私の質問の解決策ではないですね
『失礼ですがお幾つ?』
というのは解答なさって下さっている方々に対する私の理解力の無さを表しているのですか?
だとしたならば、直接言って下さい
尚、理解力の無さについて言っている場合は、私の質問に答えて言うのが筋かと思います。
素で私の年齢を聞いているならば、私にそれを聞く理由を説明して下さい。
いいから早くその宿題に戻るんだ
>>824 日本人の女は男より生まれつき頭が悪いわけだから、そんなのは当たり前。
ノーベル賞とった女性も、東大の主席卒業者も、プロ棋士(4段以上)も、未だに居ないんだから。
>>831 別にそんなにいいじゃねぇ。女性の魅力は、中身より外見だし。
外見はかわいいのに、中身は女王様とか勘弁してくれ
>>820 ありがとうございます
webalizer ですね? 使ってみます!
835 :
nobodyさん :2007/08/09(木) 23:21:32 ID:LXVZVFyI
ギェェェェェェ!!!!!!!!!!!! ゴキブリでやがった!!!!! 死ぬ!!!!!!!!!!!!!! でかすぎるぞ!!!!!!!!!!!!!!!!! phpなんてやってる場合じゃねぇ!!!!!!! つーかキンチョールきかねぇぞ!!!!!!!!!!!!!!
>>829 いや、中学生ならその最低な質問の仕方もまだ理解できるし
頑張れって気持ちにもなるけど、社会人だったらPHPだけじゃなく色々終わってるよ、ってことを伝えたくて。それだけ。
>>825 $now_page = ($_GET['page']) ? $_GET['page'] : 0;
これではbooleanでしか代入されないんじゃないか?
こんな書き方した事無いからわかんないが
あと個人的な好き嫌いだけどちゃんとif...else....
で書いた方が読みやすい
838 :
nobodyさん :2007/08/09(木) 23:26:09 ID:LXVZVFyI
>>836 ネットにリアは持ち出さない主義だ。
歳で判断されんのは嫌なんだよ。
840 :
nobodyさん :2007/08/09(木) 23:36:32 ID:LXVZVFyI
>>837 すみません。
boolean
まだそこまでは理解してないです。
>>839 15歳。です。
>>840 $now_page = ($_GET['page']) ? $_GET['page'] : 0;
を
if($_GET['page'])
$now_page = $_GET['page'];
else
$now_page = 0;
あとお前も夏なのかもしれないが荒れるから他の夏にいちいちかまうな。
842 :
nobodyさん :2007/08/09(木) 23:51:30 ID:LXVZVFyI
>>841 手間取らせて悪かった。
明日やってみる。
ありがとう。
>>841 なにそれ…ジョークだよね?
忘れてただけだよね>isset
>>843 お前は、技術者としては一流の部類に入るかもしれないが、人間としては3流だな。
FWばっかりいじってると普通に忘れるな
$test[0〜n]で、値が入っている配列の数を知る関数ってありますか? count だと 値が入っているか関係なく n となってしまいます。
>>841 の元のコードでエラーが出てないんならisset無くてもおkなはずだ。
iniの設定を見直すといい
>>840
>>848 本当に値がはいってないのかチェックすべし
>>850 $test[0] = 1;
$test[1] = "";
$test[2] = null;
$kazu = count($test);
echo "$kazu";
これじゃダメでしょうか?
>>851 for ($i = 0;$i < 10; $i++){
if(fmod($i,2))
$test[$i] = $i;
}
echo count($test);
//$test[1] = 1,$test[3] =3,$test[5]=5......
//5
となるはず(たぶん)
>>852 一回作ってしまったのは、カウントから外せないという事でしょうか?
if (!isset($test[0])){ echo "はいってる<br>"; } else { echo "はいってない<br>"; } if (!isset($test[1])){ echo "はいってる<br>"; } else { echo "はいってない<br>"; } (略) if (!empty($test[0])){ echo "はいってる<br>"; } else { echo "はいってない<br>"; } (略) だと、 はいってない はいってない はいってる はいってる はいってない はいってない こうなりました。
>>854 ありがとうございます。
やはり一つの定義された関数としては存在しないのでしょうか?
日本語ヘンですいません…orz
>>856 自分で定義すりゃいいじゃん
値が入っていないという表現にもいろいろあるけど。
友達いないやつってほんと人を見下すのが好きですね
自分のことだろ
a
ローカルにアパッチ入れたら、windows落すのにひと手間かかるようになりました。 win98seなんだけど、なんか良い方法ありませんか?
ひと手間って何だよ
かからねえよw Apacheわざわざ終了させなくてシャットダウンすればいいだろw サービスに登録しとけば起動時に毎回起動するだろw ていうかスレ違いだよw ていうかOS古すぎなんだよwwwwwwww
ああ、自分で終了させる手間がかかるってことか 想像もつかなかったわ・・・
867 :
nobodyさん :2007/08/10(金) 06:41:30 ID:nObsuZln
array("a<>1", "b<>2", "c<>1", "d<>2"); Array( [0] => a<>1 [1] => b<>2 [2] => c<>1 [3] => d<>2 ) これを array("a"=>1, "b"=>2, "c"=>1, "d"=>2); Array( [a] => 1 [b] => 2 [c] => 1 [d] => 2 ) にしたいのですが、どのようにしたらよいのか方法が思いつきません。 どなたか柔軟なヒントいただけるとうれしいです。
>>867 ヒントか・・・。
んじゃさ、まず自分ではどこまで考えられたわけ?
substr使えば万事解決。 いやこれマジ。
871 :
867 :2007/08/10(金) 07:10:24 ID:nObsuZln
>>868 とりあえず
$a = array("a<>1", "b<>2", "c<>1", "d<>2");
foreach ($a as $b) {
$c[] = explode("<>", $b);
}
for ($i = 0; $i < count($c); $i++) {
$d[] = array($c[$i][0] => $c[$i][1]);
}
としてみたのですが、多次元配列(?)になってしまい、
元の1次元の配列にどうもどしてよいかわからなく・・・
>>871 惜っしいじゃーん。
そこまで分かってるんならもう一息だよ。
それをやると$dのキーが0〜3、値が配列(キーが英字、値が数字)になってしまうのが嫌なんだべ?
じゃあ$dのキーに英字を入れて、値に数字を入れてみれば・・・?
873 :
867 :2007/08/10(金) 07:27:46 ID:nObsuZln
>>872 どうもありがとうございます!できました。
そのヒントを元になんとなく適当に書いてみたのですが動きました。
for ($i = 0; $i < count($c); $i++) {
$d[$c[$i][0]] = $c[$i][1];
}
こんな書き方できるとは知りませんでした。
勉強になりました。どうもありがとうございました。
じゃあ次にその2つあるループを1つにしようよ
875 :
867 :2007/08/10(金) 07:36:07 ID:nObsuZln
>>874 ネストするってことですか?
$a = array("a<>1", "b<>2", "c<>1", "d<>2");
foreach ($a as $b) {
$c[] = explode("<>", $b);
for ($i = 0; $i < count($c); $i++) {
$d[$c[$i][0]] = $c[$i][1];
}
}
もっときれいな書き方があるんでしょうか?
普段1つずつ考えてるので難しいことやったこなくて・・・
手続き脳ですみません。
876 :
842 :2007/08/10(金) 08:14:37 ID:???
別に必要ないならしなくていいんでね? そんなにオーバヘッドを気にする必要があるシステムでもないんだろうし、 自分の求める機能が実現できたら十分。
オーバーヘッドって何? ロナウジーニョとかキャプテン翼とかのあれか?
>>864 windowsを普通に終了させようとすると、アパッチが起動中です終了しますか?って聞いてくる。
で、okすると固まる。
タクストレイ?からEXITしても同じ。開いてctrl+cでもダメ。
win98使いは、やっぱりいないのか?www
サポート終了した98なんて今さら使ってるほうが危ない。 今インターネットを見てるマシンが98なら、特別な理由がない限りLinuxにでも乗り換えたほうがいい。 ネット関連ならLinuxで十分だし、開発も十分できるしな。 クライアントを持つネトゲとかでWindowsを使わざるを得ないなら仕方ないが。
>インターネットを見る これがプログラマの発言だと思うと悲しくなってくる
ブラウジングとかが正しい言い方なのかね?
ブラウジング(笑) インターネットしてるマシンでおk インターネットを見るとか(笑)
Linux、ちょっと調べた感じでは、ど素人の自分にも何とかなりそうな悪寒。 でも、本当は色々と問題があるんだろう? 罠なんだろうぅぅっ?ハァハァ…
>>880 一般的には浸透してるわけで下手な揚げ足はとるなよ。
Web製作板でホームページを作るというのが変とかなんでもかんでもタグっていうなって言ってるやつだろ?
>>883 ディストリビューション系ならなんとかなるかもしれないわね♪
ちょっとどこにだしてんのよ
キモイ
887 :
:2007/08/10(金) 11:16:49 ID:???
んだとごら
888 :
nobodyさん :2007/08/10(金) 11:20:01 ID:eXaunsZh
889 :
nobodyさん :2007/08/10(金) 12:08:13 ID:DopQ6EEa
2つ以上の配列のキーを見て同じキーを持つ別の配列の値同士と足し算したいのですが 何かそんな便利な関数ありますか? arrayの項目を眺めててもいまいち該当する関数がなさそうなのですが作るしかないでしょうか? $a = array('リンゴ'=>1, 'オレンジ'=>2 ,'メロン'=>3); $b = array('リンゴ'=>2, 'オレンジ'=>3,' メロン'=>4, 'ブドウ'=>1); $c = array('リンゴ'=>5, 'イチゴ'=>4); この3つの配列を元にして $d = array('リンゴ'=>8, 'オレンジ'=>5, 'メロン'=>7, 'ブドウ'=>1, 'イチゴ'=>4); という配列を作りたいです
>>888 $_GET['page']が数字しか入らないなら
$now_page = (int)$_GET['page'];
で全てが解決しない?
892 :
nobodyさん :2007/08/10(金) 12:20:24 ID:eXaunsZh
数字以外も入れる予定なんです。 $keyを記事番号にしようとしているんですが、記事番号がページごとに分割してしまっていまして、
>>888 すまん俺には状況が見えないが
[前] 1 2 3 4 5 [次]
見たいなページ移動のリンクを作りたいという事なのか??
894 :
nobodyさん :2007/08/10(金) 13:03:56 ID:eXaunsZh
2chの各スレッドの左側に記事番号あるじゃないですか。 それを実現したいんです。
じゃあ記事の管理方法による
兄貴!このスレまだ生きてますよ!!やっちゃいましょうよ!!
897 :
nobodyさん :2007/08/10(金) 13:32:39 ID:eXaunsZh
各記事はそれぞれのファイルとして保存しています。
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
899 :
nobodyさん :2007/08/10(金) 13:56:51 ID:Zwzs53gD
htaccessの設定で 「必ずconfig.phpを最初にincludeさせる!」というような命令ないですか?
RewriteRule ^(.*)$ $1?inkuru-do=config.php [L]
902 :
nobodyさん :2007/08/10(金) 14:09:21 ID:Zwzs53gD
>>897 すまん内容がさっぱり見えない
もう少し条件と実行後の結果がわからんと
こりゃどうしようもないんじゃない?
質問なんですが、 会員認証で ・ID、Passを入力して送信 ・DBに接続してそれぞれ確認してOKなら会員ページ、ダメなら元のページ という流れがあると思うんですが、 そもそもDSNの書式etcが間違っていたりしたら 正しいID、Passを入力しても会員ページに入れないですよね? それなら、ログインページを表示した段階で、ユーザのフォーム入力に関係なく、 最初にDBとの接続テスト位した方がいいんでしょうか? で、接続できなかったら「ただいまメンテナンス中です」みたいな警告出して管理者側に 異常を通知する、みたいな… プロの方で、そういうことやる場合はありますか? (僕は趣味プログラマです) それともそういう検証用のスクリプトは別ページでもたせて、定期的に実行してメール通知とか してるんでしょうか?
905 :
nobodyさん :2007/08/10(金) 14:24:23 ID:eXaunsZh
載せてあったスクリプトを見てもわかりませんか?
906 :
904 :2007/08/10(金) 14:24:30 ID:bS5HQken
すみません、sageてしまいました よろしくお願いします
909 :
nobodyさん :2007/08/10(金) 14:43:52 ID:eXaunsZh
はい。そうです。
>>909 データ形式は
[ユニークな連番ID]<>[本文データ]\n
でいい??
>>909 ちなみに表示させたい番号ってユニークな連番ID?
それともページごとの上からの順番?
その程度のプログラムさえ自力で組めなきゃ諦めたほうが身のため
>>909
くだすれだっつーの
914 :
nobodyさん :2007/08/10(金) 15:39:20 ID:eXaunsZh
すみませんが、ユニークな連番IDってなんでしょうか?
>>914 重複しない数字
たとえば
1<>hogehoge
2<>ほげほげ
3<>hagehage
といった感じに同じ数字は2度と出てこない連続する数字
連番の時点でユニークなんだが
>>916 まぁとちくるった奴がいない限りそうなんだが
二度と同じ番号を発行しないと言う意味では
連番だけでは説明不足なきがしたのだよ
918 :
nobodyさん :2007/08/10(金) 15:54:41 ID:eXaunsZh
ありがとうございます。 ユニークな連番IDです。
表示するときに1からインクリメントしてけばいいじゃん
ここのスレの雰囲気って、最近入った会社の職場の雰囲気とそっくり。 私の職場だけかと思っていたけど、ここの業界関係者って、 無駄にプライドが高くて、パソコン以外には人間的な魅力がない人たちばっかり。 なんか、進む道間違えたみたい...orz
921 :
nobodyさん :2007/08/10(金) 16:14:53 ID:eXaunsZh
インクリメントですか。 具体的にスクリプトを出してくれるとありがたいのですが、だめですか?
>>918 じゃぁ元の質問に戻るけど
1)表示させたい番号ってユニークな連番ID?
2)それともページごとの上からの順番?
1)なら該当部分を以下に変更
//通常表示
foreach($oya_per[$now_page] as $value)
{
//分解
list($sub_id,$source) = explode('<>', $value);
echo "$sub_id:$source<br />";
}
2)なら該当部分を以下に変更
//通常表示
$key = 1;
foreach($oya_per[$now_page] as $value)
{
//分解
list($sub_id,$source) = explode('<>', $value);
echo "$key:$source<br />";
$key++;//0を非表示
}
>>921 インクリメントの意味はわかってる?
$key++; <=コレのことだよ??
924 :
nobodyさん :2007/08/10(金) 16:18:28 ID:eXaunsZh
わかってますよ、 スクリプトのどこに書けばよいかわからなかっので
$array = array("おはよう","こんにちは","こんばんわ","おやすみなさい"); $int = 1; foreach($array as $value){ echo "{$int}.{$value}<br />\n"; $int++; } こういうこと?
実行結果を送ります。 よければmail下さい。
あと、ここは下らない質問をするスレだぞ 下らないやつが質問するスレじゃないぞ とりあえず試してできなかったら質問しろ 最近は他人任せな質問が多すぎる
928 :
nobodyさん :2007/08/10(金) 16:29:53 ID:2KWq4PpO
>>920 <life>
<? echo "人生やめれば?"; ?>
</life>
929 :
nobodyさん :2007/08/10(金) 16:31:47 ID:eXaunsZh
>>920 この業界に入った女性プログラマなんかはほとんどが別業種に移っていくな。
理由の第一位が「この業界の男性は予想以上にヲタクが多かった」らしい。
要はこのスレにいるような人達は気持ちが悪いって事だよな。
931 :
nobodyさん :2007/08/10(金) 16:41:50 ID:eXaunsZh
記事番号 1ページ目 1から 20 2ページ目 21から40 という表示をさせたいのです。 インクリメントでは$keyと同じく分割されて表示されます。 1から20という番号が2ページ目からも表示されてしまうんです。
>>931 その現在のページ数はどこからとってくるの?
>>931 //ページ処理
//$pagenoに1〜のページ番号が入っているものとする
$pageMax = 20;
$startRow = ($pageno -1) * $pageMax + 1;
$endRow = $pageno * $pageMax;
//$startRowから$endRowまでのデータを表示させる処理
:
:
こうゆうことかい?
>>930 逆に、それでも生き残る女性エンジニアは、性格がきつい。
他部署の女性はすごく魅力的に見える。隣の芝生は青い、では無いな。
935 :
nobodyさん :2007/08/10(金) 16:57:19 ID:eXaunsZh
>>920 のレスだけで女性と決め付けるところがまたヲタっぽいよねw
937 :
nobodyさん :2007/08/10(金) 17:03:00 ID:2KWq4PpO
まぁ女エンジニアほど使えないものはない
940 :
nobodyさん :2007/08/10(金) 17:13:06 ID:eXaunsZh
あなたの言動は一論から見れば『死ね』と言っているのと同じです。 恥を知れ
戯けが罵り合いたいならほかでやれ 恥を知れ
942 :
nobodyさん :2007/08/10(金) 17:20:34 ID:eXaunsZh
まぁ、今から少しPCに向かって試してみます、 では
お前もな 恥を知れ
夏ですねぇ
Smartyの質問は該当スレでって書いてあるけど、 Smartyのスレが見つかりません。該当スレってどこ?
947 :
nobodyさん :2007/08/10(金) 17:34:14 ID:eXaunsZh
デキタァアアァァアアァ!!!!!!!!!!!
>>933 さんのがヒントになリマシタァ!!!!!!!!
私の質問に答えてくれた優しき方々ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
951 :
nobodyさん :2007/08/10(金) 18:18:41 ID:ruvNpz1s
fc2ブログが 画像を他のサイトから呼び出すと「表示できません」て感じのhtmlを表示しますが これってどうやってるんですか? リファラ判定でブロックくらいは簡単にできそうですが htmlを表示とはこれいかに?
リファラ見てリダイレクトしてるだけだろ
953 :
nobodyさん :2007/08/10(金) 18:40:53 ID:aMYah7ck
スレ違いだったらすみません。 サイトAでCookieをセットします。 サイトBのページから、<script>タグで、サイトAにあるPHPを呼び出した際に FireFoxではサイトAのCookieが読めるのですが、IEでは読めないようなのです。 これってブラウザの仕様ですかね?
>>779 >>780 返答が遅れて申し訳ありません
URLは
urlencodeした文字列を
さらにurlencodeしたものに変わっているようです。
エクスプローラ上では
一度だけurlencodeしただけのファイル名なのですが、
もう一度urlencodeしなければリンクできません。
なぜなんでしょうか?
XSS!
Smarty のプラグイン呼び出しで、例えば こんなふうにエスケープした変数 {$articleTitle|escape:"url"} をパラメータで渡せますか?
957 :
889 :2007/08/10(金) 23:47:13 ID:???
>>957 array_marge_recursiveを使えば少しだけ幸せになれると思う
>>889 自分でつくれよカス
どらえもんと勘違いするなっ!
カスはお前だ ネイティブ関数でできるならそれを使うのが当たり前 なんでもかんでも自分で作るという思想は要領を得ないバカ 他人の作ったものをありがたく使え 俺は知らないけど帳簿とかに使えそうだし PEARかなんかで提供されてるんじゃね?
ねえよバカ
だいたいおまえは知りもしないくせに あるんだったらURLはれよ。 そんなあいまいな回答してんなクズ
またなんか言わないと気がすまない馬鹿共が沸いてるなw
答えられないならいちいち煽らないで黙っとけ。
たんたんと質問と回答をすればいい。
ソースの1つも出せない馬鹿回答者は要りません。
>>958 が答えになってるといっても過言ではないな。
964 :
火炎放射器 :2007/08/11(土) 03:58:39 ID:???
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
自演はやめてください。チンケなプライドの持ち主諸君
夏休みダー!!!
967 :
874 :2007/08/11(土) 08:05:04 ID:???
>>875 ネストじゃなくてそもそもそのcount($c)のループ必要ないでしょ。
>>957 無理です。
set merge php でググってごらん
>>958 まったく見当違い。
$dir->read() これってどんな動作すんの?
>>968 var_dump($dir->read())
NULL以外の情報出ないぜ
じゃ何も動作しないんだろ
なんだそりゃ
今日もくだらない一発で朝がはじまりましたね
ごめんなさい><;
>>968 の前にはdir関数があったりする
自己解決したが、まぁそういうことだ
関数じゃないだろ
へ?
ああ、疑似オブジェクトね
へ?擬似オブジェクト?知ったかぶりばっかりだな
関数でもないし擬似オブジェクトでもない $dir変数に何のインスタンスが入ってるかも分からないで動作が分かるわけないだろ ID出さない、知ったかぶりする、言葉遣いが悪い、自己中 ちょっとひどいなこれは
このスレってそんくらいの価値しかないじゃん?
今日も香ばしいですね^^;
>>967 958は<少しだけ幸せになれる>んだから、自作してみろということだな。
$d = array_merge_recursive($a,$b,$c);
foreach($d as $k=>$v) {
$v = (array)$v;
$rtn[$k] = array_sum($v);
}
var_dump($rtn);
みたいな感じで
立てんなクズ
埋め
uma
.datファイルで保存するよりもデータベースで管理したほうが負荷は軽い? かなりの量のデータを保存しときたいんだけど
実際に計測しないとなんとも。
そんな違いがないなら問題ないんですけど
.datファイルって何だよ。拡張子だけで分かる訳がないだろ。
993 :
火炎放射器 :2007/08/11(土) 13:04:29 ID:???
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
よくわかる
い
も
く
い
た
1000 :
nobodyさん :2007/08/11(土) 14:45:34 ID:HqtTNwXM
1000なら
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。