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

このエントリーをはてなブックマークに追加
1nobodyさん
まず読め→【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カテゴリ)の各スレで
2nobodyさん:2007/07/27(金) 16:33:20 ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 47
http://pc11.2ch.net/test/read.cgi/php/1180181033/
【PHP】下らねぇ質問はここに書き込みやがれ 46
http://pc11.2ch.net/test/read.cgi/php/1178955837/
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1178955768/
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/
3nobodyさん:2007/07/27(金) 16:34:16 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
4nobodyさん:2007/07/27(金) 16:35:07 ID:???
【簡易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プログラムとして実行された結果になる。
5nobodyさん:2007/07/27(金) 16:35:45 ID:???
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に保存?
 → 好きにしてください
6nobodyさん:2007/07/27(金) 16:36:35 ID:???
◆前々スレ
【PHP】下らねぇ質問はここに書き込みやがれ 49
http://pc11.2ch.net/test/read.cgi/php/1182794620/
7nobodyさん:2007/07/27(金) 16:47:40 ID:TWr2luhO
PHP5でデータベースを読み、既に作成してあるxlsファイルに乗っけて出力したいと思います。
ググったら「PHPExcel 1.0.0」というのを見つけたのですが、これらを日本語で解説しているサイト
もしくは書籍はないでしょうか?ご存知の方いましたらぜひ教えてください。
8nobodyさん:2007/07/27(金) 16:57:39 ID:???
                    ___
               , 二¨-―-- 、`丶、
               /_ ..-――-.. 、十ヽ\
            //::.::,:.:.:./::/::.::.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ヽ ,仆、: : :|| : :`¨¨´: :冫、
9nobodyさん:2007/07/27(金) 17:01:16 ID:???
    |┃三 ガラッ! ┌──────┐ミ 
    |┃       | ここまで天麩羅|   サッ!
    |┃ ≡ 〆⌒└─┬────┘ミ  
____.|┃   ( ___)│     
    |┃=  (_》 ^ω^)E)  テッテレー♪ 
    |┃ ≡⊂     ノ    
10nobodyさん:2007/07/27(金) 17:01:43 ID:???
>>7
英語の本家サイト読め。大した分量じゃないだろ
11nobodyさん:2007/07/27(金) 18:20:42 ID:???
PostgreSQLの検索結果から
「該当数を取得して、指定オフセットから、指定行数を取得する」場合
以下の二つの方法だとどちらが良いのでしょうか?

 ・SQLのSELECT構文とLIMIT/OFFSET を組み合わせる 

 ・SQLにLIMIT/OFFSETは付加せず、pg_result_seekとfor文で取得する


前者はLIMITをかけている為、1クエリでは正確な該当数が取得出来ません。
該当数を取得する為のクエリも発行する必要があるかと思います。
12nobodyさん:2007/07/27(金) 18:21:26 ID:ScuneWRk
ID出し忘れたorz
>>11 です。
13nobodyさん:2007/07/27(金) 18:49:43 ID:???
>>12
場合による
ポスグレに限定するならPHPの関数使ったほうが楽かも…
14nobodyさん: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
15nobodyさん:2007/07/27(金) 20:40:52 ID:vcSWcDTg
前のスレ>>994
誘導していただきありがとうございました。
16nobodyさん:2007/07/27(金) 20:41:32 ID:ScuneWRk
>>13
SQLにLIMITが入っていないと、数万レコードヒットした時に負荷が高そう・・・
と心配しているのですが、関係無いのでしょうか?
DBMS(Postgres)の動作原理を理解していないので、判断出来なくて困惑中なのです。

17nobodyさん:2007/07/27(金) 21:43:25 ID:9eNA5Rdl
PDOで接続したDBからテーブルのリストを取得するにはどうすればいいですか?
マニュアルにも載ってないし・・
18nobodyさん:2007/07/27(金) 21:44:26 ID:???
>>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しておけば楽。
19nobodyさん:2007/07/27(金) 23:45:07 ID:???
PHPに限らないんだけどネットで公開されてるスクリプトの頭に

$Id:ファイル名,v バージョン 日時 作成者 Exp $

こういうの書かれてるのあるよね
なんか自動で入れてくれるソフトってあるの?
20nobodyさん:2007/07/28(土) 00:41:00 ID:bsQuBWzY
classのファイルは拡張子を.class.phpにして、
オートローダもそれで読みに行くようにしてます。
interfaceを、.class.phpに格納するのはおかしいですが、
別拡張子にすると、判定が煩雑になりそうです。
どうするのがベターでしょうか?
21nobodyさん:2007/07/28(土) 00:48:15 ID:???
>>16
LIMIT演算子を入れるのは良いけど、予め件数が分かっているの?
LIMIT 0,100とかやって、50件しかヒットしなかったら、SQLエラーで
データが返却されなくなるよ。
22nobodyさん:2007/07/28(土) 00:49:57 ID:???
>>20
> interfaceを、.class.phpに格納するのはおかしいですが、
それは、お前の脳がJava脳になっているだけ。
PHPで実装するならPHPの流儀に従え。

郷に入りては郷に従えだ。
23nobodyさん:2007/07/28(土) 00:51:24 ID:???
>>19
例えば、eclipse for phpなら、設定によって勝手に入れてくれる。
24nobodyさん:2007/07/28(土) 04:11:35 ID:???
PHPってあきた
25nobodyさん:2007/07/28(土) 04:14:13 ID:RgsKpMVS
PDOってDBの抽象化するっていうけど
DB毎に癖があるからそのまま置き換えられるなんてことないよな。
存在価値あんのこれ?
26nobodyさん:2007/07/28(土) 04:15:23 ID:???
PDOはメモリ関係にバグができるのでおすすめしない
27nobodyさん:2007/07/28(土) 04:24:31 ID:???
こんな所で、取るに足らないプログラム言語談義を花を咲かせていないで、
朝生で政治の勉強でもしろよ。
ホント、ここの奴らは馬鹿ばっか。
28nobodyさん:2007/07/28(土) 04:29:43 ID:mnRiX82D
>>26
何がおすすめ?mysqli?
29nobodyさん:2007/07/28(土) 04:34:06 ID:???
>>28
どのDBがおすすめ?ってきいてるようなもん
30nobodyさん:2007/07/28(土) 04:55:31 ID:aG4rD0W5
echo "document.write(\"〜\")";

で<p>$keyword</p>と表示させるにはどうしたら良いのですか?
3130:2007/07/28(土) 04:57:35 ID:???
あ、すいません。くだすれ(超初心者用)の方が合ってますねw
スレ汚しすいませんでした。
32nobodyさん:2007/07/28(土) 12:02:59 ID:???
>>26
まじで!?
sqlite3はPDO経由でしかアクセスできないからPDO使ってるだけど
kwsk教えて
33nobodyさん:2007/07/28(土) 12:08:29 ID:???
PDO バグ
でググッたらわんさか出てきた
なにかとバギーみたいねorz
sqlite3はあきらめて2でいくかぁ…
34nobodyさん:2007/07/28(土) 13:30:55 ID:HJ4GwfPv
質問です
・企業ユーザからの情報登録が必須のサイトを開発
・ある程度以上登録が集まってから公開したい
・なので、一般公開はしてないけど登録フォームへの誘導機能は付けたい
・かつ、登録してくれるユーザには、登録した情報がどのように運用されるのか
 実用レベルで確認できるようにしたい
※平たく言えば、一般ユーザ以外の登録ユーザにのみ実用レベルで公開したい

…というような条件の時、どうしたらいいですかね?
トップディレクトリにベーシック認証かければいいんでしょうか?
それとも、PHPを使ってもっといいやり方があるでしょうか…
アイディアおねがいします
環境はcentOS apache2 php5 mysql5 です
35nobodyさん:2007/07/28(土) 13:39:37 ID:4LsToeD9
>>34
どの程度知られてはまずいのかによって違うな。
また、アクセス情報を企業ユーザから得られるかによって違う。

URLを公開しないから顧客にだけ教える。URL漏れてもいいっていうのが
一番楽なケース。
次に楽なのが、顧客ユーザからの接続IP範囲が判っていて(教えてもらえて)
それで運用していいと言われるケース。IPで決めればなにも必要なし。
最悪手は多分、認証(パスワード等)情報などを配布しろとか言われてアクセスを
妨げたいケースだな。認証パスワードなんか実は情報だだもれだろうし、ユーザビリティ最悪。

で、どういうケース?
3634:2007/07/28(土) 13:42:39 ID:HJ4GwfPv
ドメインはとっていて、URLに誘導してそこで一般/登録ユーザを振り分けたいんです
企業の接続IPとかは考えなくていいかなと思ってます
3734:2007/07/28(土) 13:43:12 ID:HJ4GwfPv
書き忘れた
>>35
ありがとうございます
38nobodyさん:2007/07/28(土) 13:50:19 ID:???
?それじゃ個人で登録しようがなにしようがOKになるだろ。
登録ユーザが企業ユーザであるという保障はどこにある?
3934:2007/07/28(土) 13:54:30 ID:HJ4GwfPv
>>38
こちらで、企業あてにURLとその認証のID、Passを配布して(メールとか営業で)、
そこから先は個別の企業ごとのページを作ってもらおうと思ってます。
40nobodyさん:2007/07/28(土) 14:00:15 ID:???
その程度の発想で商売でやるの大丈夫か?
それで問題生じないのかとかいうことをおいたとして、

>トップディレクトリにベーシック認証かければいいんでしょうか?
これはね・・・友達だけの掲示板作ってるんじゃないんだから、
ちゃんとSSLで実装しなさい。
配布したIDパスワードも企業側で変更出来るようなものを作りこんだうえで
やらないとだめだよ。
4134:2007/07/28(土) 14:13:30 ID:HJ4GwfPv
>>40
度々ありがとうございます
SSLについては、個別の登録フォームには設置しようと思っていましたが、
トップから適用した方がいいってことですね。わかりました。
ユーザID,Passも変更可能なつくりにする予定です。

トップの一般会員ハジキの認証は、ベーシック認証じゃダメなんですかね?
0)SSL必須
1)サイト全体を作っておいて、トップページの一番上にhttp_authのベーシック認証
2)認証クリアしたもののみ、実ユーザ登録ページに転送(この認証のID,Passは共通)
3)ユーザ登録ページでID・Pass設定(以後、自由編集可能)

これなら実用レベルで見て回れるぞ、と思ってたんですが…
このイメージじゃ無理なのかなぁ…
4234:2007/07/28(土) 14:14:32 ID:???
× 一般会員ハジキの認証
○ 一般ユーザ

でした すみません
43nobodyさん:2007/07/28(土) 14:20:02 ID:???
>>41
考え方を整理してごらん。おかしいだろ?
ベーシック認証が破られれば登録ページに自由にアクセスできるのに
そこでSSL使っててなにか意味があるか?
4434:2007/07/28(土) 14:24:04 ID:???
そうか、そうですね
もうちょっと考えてみます!
4534:2007/07/28(土) 14:25:30 ID:???
ほとんどPHPと関係ない話題になってましたね
申し訳ありませんでした。
>>43
ありがとうございました
46nobodyさん:2007/07/28(土) 16:52:40 ID:???
外部サイトのHTMLを読み込んで文字列として扱うにはどうすればいいの?
includeでそれらしいことができたんだけど、echoしなくても勝手に表示されて困ってる.
get_include_contentsは書式エラーが出るし、readfileも勝手に表示されるし、fopenは無理だし、もう何が何だか。
47nobodyさん:2007/07/28(土) 17:01:54 ID:???
>>46だけど事故解決した。
考えてくれた人がいたらありがとう。
4846:2007/07/28(土) 18:51:17 ID:???
あ、ごめ。うぇb制作板と間違えた。
首つってくる・・・orz
49nobodyさん:2007/07/28(土) 20:49:58 ID:???
PHPでUTF-8NにURIエンコードできないの?
サーバーサイドで実現させたいんだけど
50nobodyさん:2007/07/28(土) 21:00:27 ID:???
すげー馬鹿っぽい質問
51nobodyさん:2007/07/28(土) 22:14:28 ID:Kk4QHFhL
AdodbでMySQLに接続すると、25ミリ秒ほど掛かります。
mysql_connect関数でMySQLに接続すると、0.3ミリ秒ほどしか掛かりません。

Adodbのコンパイルに時間が掛かっているかと想像しているのですが、
このAdodbでの接続を速くする手法とかはないのでしょうか?

Adodbを使用することのメリットよりも速度を重視した場合、
mysql関数やmysqli関数で実装した方が良さそうな感じです。
52nobodyさん:2007/07/28(土) 22:18:31 ID:???
>>51
それ常識
53nobodyさん:2007/07/28(土) 22:31:56 ID:???
>>51
レスありがとうございます。
本質を見失っていました。
データベース抽象化しないのは駄目なやり方・・・というわけではないですね。
54nobodyさん:2007/07/28(土) 23:23:44 ID:PaYijQ8b
propelとか使うよりかは速いだろうし
ある程度の速度がでるからたいていはPDOで必要充分だけど
クラの要望で更に速度を求めるのなら必然的にべた書きでクエリ発行がきほんぬ
55nobodyさん:2007/07/29(日) 00:00:58 ID:???
>>53
自分でスピード計って自分なりの答えを出したなら
それより正しいやり方なんて無い。
56名無しさん@そうだ選挙に行こう:2007/07/29(日) 01:28:21 ID:???
>>43
ベーシック認証のパスワードとか平文
で流さなくなるからその部分は良いん
じゃない?

しかしそれ以外に良い方法なんかあるか?
URL公開で誰でもアクセスできわけだし
57名無しさん@そうだ選挙に行こう:2007/07/29(日) 01:55:50 ID:???
>>54
PDOはバグだらけ

      m9 三 9m
     彡  ∧∧  ミ
    m9  (^Д^)  9m プギャプギャプギャプギャー!!
     ヾヽ\ y  ) 彡
      m9/三 9m
       ∪ ̄ ̄ ̄\)
58名無しさん@そうだ選挙に行こう:2007/07/29(日) 02:39:15 ID:???
>>56
?SSLを使わないのを前提にしてベーシック認証の話を考えてたんだよ質問者は。
あと他の部分もレスの流れ読んでから書き込みなさいね。
59名無しさん@そうだ選挙に行こう:2007/07/29(日) 03:15:05 ID:LTvsXwuR
ヒアドキュメントの中にPHP埋め込みってできないっすか?

print <<<_EOM_
<html>
<body>
<?
echo "aaa";
?>
</body>
</html>
_EOM_;

こうすると直接
<?
echo "aaa";
?>
が表示されてしまいます。(ソースに)
60名無しさん@そうだ選挙に行こう:2007/07/29(日) 03:36:48 ID:???
PHPの構文の中にPHPを埋め込みたいってアホか
61名無しさん@そうだ選挙に行こう:2007/07/29(日) 07:04:12 ID:???
最近、このレス盛り上がんないなぁ。
もっと、盛り上がれよ。もっと、煽れ煽れ煽れ!!
62名無しさん@そうだ選挙に行こう:2007/07/29(日) 08:28:33 ID:???
しつもんです
今、GDで画像を縮小保存するスクリプトを書いてるんですが、
縮小した画像を表示してみるとガタガタしています。
(人物の顔の輪郭とか)
これはどうしようもないことなんでしょうか?
解決法ないですかね?
6362:2007/07/29(日) 09:30:56 ID:9qZJ5AIW
いかん、ID出し忘れた
よろしくおねがいします
64名無しさん@そうだ選挙に行こう:2007/07/29(日) 09:40:24 ID:???
>>60
eval
65名無しさん@そうだ選挙に行こう:2007/07/29(日) 11:36:23 ID:???
>>63
ものっそ計算とかできるのでなければGDじゃ無理かもしれない。
imagickとかでやればおk。ぼかしと組み合わせたりね
66名無しさん@そうだ選挙に行こう:2007/07/29(日) 12:29:33 ID:???
>>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

ってエラーがでるんですが、いまいち解決策が浮かびません

ヒントおねがいします
68nobodyさん:2007/07/29(日) 17:32:57 ID:???
ヒント:訳せ
69名無しさん@そうだ選挙に行こう:2007/07/29(日) 17:55:43 ID:???
もうなんともなあ。初歩の英語も読めんでよプログラムとか書くやめろよ。
70名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:01:57 ID:???
>>69
お前が人間やめろ
恥を知れ
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行びっしり書いて処理するのでは
どちらが処理時間がはやいでしょうか?
73名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:57:48 ID:???
>>72
びっしり書く方が速い
74nobodyさん:2007/07/29(日) 20:35:13 ID:???
>>72
そんなん気にするならPHPなんか使うな
75nobodyさん:2007/07/29(日) 21:10:22 ID:???
>>72
今はびっしりが流行ってる
76nobodyさん:2007/07/29(日) 21:11:20 ID:???
for
0.00137519836426 msec
ずらずら
0.00004291534424 msec
77nobodyさん:2007/07/29(日) 21:29:21 ID:???
PHPのループは遅いで有名だよね
78nobodyさん:2007/07/29(日) 21:33:40 ID:???
関数にしちまえばいい
79nobodyさん:2007/07/29(日) 21:55:22 ID:zURM7j22
なるほど、ありがとうございました。
びっしり書くことにします。
8069:2007/07/29(日) 22:01:33 ID:???
>>70
なんで?
81nobodyさん:2007/07/29(日) 22:08:25 ID:zURM7j22
たびたびすみません、\nを
echo で表示しようとすると、ソースの中で改行されます。

しかし、$a = "テスト\nあああ";という
$aに格納されてる文字列をファイルに保存して、
fileで読み込んでechoで出力すると\nが文字列として表示されます。
なぜなんでしょうか???
82nobodyさん:2007/07/29(日) 22:28:09 ID:???
オブジェクトの存在しないプロパティに代入したら
エラーにならずにプロパティが作成され代入されます。
この動作変じゃないですか?
エラーになるようにできませんか?
83nobodyさん:2007/07/29(日) 22:34:00 ID:???
できる
84nobodyさん:2007/07/29(日) 22:37:47 ID:???
>>83
どうすれば出来ますか?
85nobodyさん:2007/07/29(日) 22:46:26 ID:???
念じれば出来る
86nobodyさん:2007/07/29(日) 22:55:37 ID:???
出来ないよ。
>>83は早くできる根拠を出せよ
87nobodyさん:2007/07/29(日) 23:00:26 ID:???0
出来ないんですか?
PHP以外のオブジェクト指向言語でもそうなのでしょうか
プロパティってそんな軽いもんなんですか
88nobodyさん:2007/07/29(日) 23:01:42 ID:???0
うん軽い。存在より軽い。
89nobodyさん:2007/07/29(日) 23:02:53 ID:zURM7j220
すみません、$time = date('YmdHis')で
一度変数に格納したら、値が変わらないようにしたいのですが、
どうしたらいいでしょうか?
90nobodyさん:2007/07/29(日) 23:04:09 ID:???0
>>88
耐えられません
どうにかして重くなりませんか?
あと83の人お願いします
91nobodyさん:2007/07/29(日) 23:08:19 ID:???0
>>89
$time の値はいじらない限り変わらないと思うけど?
92nobodyさん:2007/07/29(日) 23:10:58 ID:???0
>>89
define使って定数にすればOK
9388:2007/07/29(日) 23:18:51 ID:???0
>>90
ある意味セッタ、ゲッタメソッドを作らないで直接代入する貴方にも
責任があると思う。ドプチェクのようなもの。
94nobodyさん:2007/07/30(月) 01:59:08 ID:???
>>90
んなことマニュアルのOOPのページ見れば書いてあるんだが
95nobodyさん: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?
96nobodyさん:2007/07/30(月) 02:29:08 ID:???
>>93
OOPといえば、setter、getterのことだと思っている単細胞ハッケーン
97nobodyさん:2007/07/30(月) 02:50:25 ID:0Togw9Jb
sage
98nobodyさん:2007/07/30(月) 05:03:59 ID:???
つまんない流れ
99nobodyさん:2007/07/30(月) 07:26:58 ID:???
29日午前7時25分ごろ、神奈川県山北町神尾田の丹沢湖にかかるヘイロク沢橋の下で、湖水が干上がった場所に放置されていたドラム缶から腐敗臭がする
100nobodyさん: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?
101nobodyさん:2007/07/30(月) 07:37:04 ID:???
ドラム缶から腐敗臭
102nobodyさん:2007/07/30(月) 09:06:30 ID:???
唇から媚薬
103nobodyさん:2007/07/30(月) 09:47:41 ID:???
<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']を試したけど、なりません
104nobodyさん:2007/07/30(月) 09:52:46 ID:???
>>103
は?動的に作るってどう作りたいんだ?
105nobodyさん:2007/07/30(月) 10:46:13 ID:???
>>103
確かに何を言いたいのか分かりそうで意味が分からない。
もっと聞くべき事とそれの材料を整理汁。
あと>>1
自己解決するぞ
106nobodyさん:2007/07/30(月) 10:53:53 ID:???
>>103
他のやつと同様に何がしたいかさっぱり理解できんが
とりあえずもちついて
print_r($_POST);
でほしいものが飛んできているか確認してみな
107nobodyさん:2007/07/30(月) 12:59:04 ID:???
>>103
じつはフォームはgetで送っているとかじゃないよね・・・
108nobodyさん:2007/07/30(月) 13:05:19 ID:???
ものすごい根本的な質問なのですが。
for と while ってどっちかだけでも全ての事が出来ますよね?
いまいち別々にある理由が分からないんです。
つまり片方が無くてもなんとかはなるんじゃないかと思うので、二つある理由が分かりません。

好みとか見やすさのためなんでしょうか?
109nobodyさん:2007/07/30(月) 13:24:54 ID:???
>>108
それをいいだしたらswitchだってforeachだっていらない子になりマス。
110nobodyさん:2007/07/30(月) 13:32:52 ID:???
敷衍していえば、Cだってperlだって要らなくなるしな。
世の中の言語がphpだけで事足りてしまう。
111nobodyさん: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日 などです。
112nobodyさん:2007/07/30(月) 13:54:16 ID:???
>>108
用途がちがいだろ。素人おつかれ
113nobodyさん:2007/07/30(月) 13:59:08 ID:???
>>108は俺もプログラミングやりはじめたとき思ったな。
でも、プログラミングしてるうちに、両方を使い分けるようになる。
言葉では説明できないがな。
ここで、ちゃんと理由説明せずに批判だけしてるやつも同じ。
114111:2007/07/30(月) 13:59:14 ID:???
と、思ったら…変数名間違ってました…。お恥ずかしい限りです。
115nobodyさん:2007/07/30(月) 14:04:41 ID:???
>>113
人を批判する前にじぶんが説明できるようになれよ
116nobodyさん: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
117nobodyさん:2007/07/30(月) 14:16:17 ID:???
elseifかforeach使う
118nobodyさん:2007/07/30(月) 14:18:25 ID:???
なぜstrposをつかう・・・・・?
119nobodyさん:2007/07/30(月) 14:19:33 ID:???
>>115
「言葉では説明できない」って書いてあんじゃん。おばかさん。
120nobodyさん:2007/07/30(月) 14:26:32 ID:???
>>116
$deny = array(".jp", ".net");
$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);

foreach($deny as $value)
{

if(preg_match('/'. $value .'$/', $host)) exit();

}
121nobodyさん:2007/07/30(月) 14:41:18 ID:j81avk9K
>>120
どうもです。
でもそれだとブラウザで見に行くと真っ白けなんです。
122nobodyさん:2007/07/30(月) 14:42:20 ID:j81avk9K
>>116
 $deny='.jp';

  $deny = array(".jp", ".net");
にしても一緒でした。
123nobodyさん:2007/07/30(月) 14:44:13 ID:???
>>121
>ブラウザで見に行くと真っ白けなんです

意味がわからん
これだけコピーして貼り付けても何も表示されないわな
とりあえず、この流れの意味を理解することをお勧めする。
124nobodyさん:2007/07/30(月) 14:50:02 ID:???
>>122
やり取り見た感じアクセス規制以前の部分から勉強することをオヌヌヌする。
あと流れ的に$allowって変数名のほうがいい
125nobodyさん:2007/07/30(月) 15:31:40 ID:???
>>119
それは言い訳ですか
126nobodyさん:2007/07/30(月) 15:35:40 ID:???
>>108
出来るか出来ないかと言えば一つの関数でできるが
少しずつ冗長なケースがあるんだよ
プログラマはその少しの冗長が我慢できなくなる人種
そのためにほとんど似ているがちょっと違う関数が出来た
127nobodyさん:2007/07/30(月) 15:41:30 ID:???
forとかwhileは関数じゃなくて文だな
ブロック中で参照もしないループカウンタの存在が
疎ましくてたまらなくなったら
それが大人の階段のぼった時
128nobodyさん:2007/07/30(月) 15:45:47 ID:???
PHPマニュアルをググるとやたら出てきて困ります
決定版はどこのサイトですか??
129nobodyさん:2007/07/30(月) 15:48:58 ID:???
lol
130nobodyさん:2007/07/30(月) 15:54:43 ID:???
つ 公式サイト
PHPspotはアフィ厨サイトなのでおすすめしない
131nobodyさん:2007/07/30(月) 15:59:46 ID:vRSUKu0i
mysql_queryで、SELECTで検索した結果からさらに内容を絞り込む方法はありませんでしょうか?
132nobodyさん:2007/07/30(月) 16:02:50 ID:???
ある
133nobodyさん:2007/07/30(月) 16:02:57 ID:???
>>128
んで公式マニュアルの検索部分をfirefoxの検索エンジンとして登録しておくと結構便利
134nobodyさん:2007/07/30(月) 16:05:29 ID:???
>>131
1、クエリで絞り込む文をはじめからべた書き。
2、mysql_fetch_arrayでぶん回して絞込み。

抽象的過ぎるからこれくらいしか思いつかん
13562:2007/07/30(月) 16:10:18 ID:jeC1TV1e
>>65-66
ありがとうございます
imagickは便利そうだけどインストールしたのに上手く動きませんでした
>>66さんの言ってることに注意してGDでやることにします
ありがとうございました
136nobodyさん:2007/07/30(月) 16:11:46 ID:vRSUKu0i
>>134
ベタ書き方法を思いついたのでベタ書きします
ありがとうございます
137nobodyさん:2007/07/30(月) 16:19:14 ID:vRSUKu0i
すみませんド忘れです
mb_convert_encodingの配列version教えてください。
138nobodyさん:2007/07/30(月) 16:31:19 ID:???
>>130
アフィ厨(笑)
13962:2007/07/30(月) 16:35:44 ID:???
>>66
ImageCopyResampledでやってみたら凄く綺麗に出来ました
ありがとうございます 助かりました!
140137:2007/07/30(月) 16:36:00 ID:vRSUKu0i
mb_convert_variablesで解決しました
141nobodyさん:2007/07/30(月) 17:08:37 ID:2xutiaGX
PHPスクリプトの置き場所について

public_htmlより上においててもたいていのスクリプトは動作しますか?
142nobodyさん:2007/07/30(月) 17:35:16 ID:???
>>141
大帝のスクリプトなら逝ける筈
庶民のスクリプトは無理だと思う
143nobodyさん:2007/07/30(月) 18:02:48 ID:???
>>141
で、どこから実行するのそれ?
144nobodyさん:2007/07/30(月) 18:07:58 ID:2xutiaGX
public_htmlないからincludeして実行しようとおもいます
145nobodyさん:2007/07/30(月) 18:17:21 ID:I6x/cfL/
$today = date("Y/m/d");
echo "今日は$todayです";

今日の日付を表示するスクリプトですが、
$todayは日にちが変われば中身がかわりますよね?
これは毎回アクセスするたびに$todayがセットされるということですか?
メモリの話はよくわからないのですが、
date関数から日付を表示するのではなく、date関数で今日の日付を見て、
2007/07/30という値をその日限り有効にセットした別の変数とか作れますか?
値をメモリ上に保持しとくみたいな感じで・・・(変なこといってたらすみません)
それで日付が変わったら、新しい値次の日の値をセットして、またその日限り有効みたいな。

微々たるものだとは思うのですが、少しでも効率化を図りたいと思っています。
146nobodyさん:2007/07/30(月) 18:22:33 ID:???
>>145
日付って鯖にセットされてる時刻じゃね?
147nobodyさん:2007/07/30(月) 18:34:09 ID:1FSTDxFa
// 全角文字は使用禁止とする
if( ereg( "[^\x21-\x7E]", $this->Form[$AttriName] ) ) {
return False;
}

よく○○チェックなどありますが
EUC JIS UTF-8で文字コードは変わってしまいますよね?
148nobodyさん:2007/07/30(月) 18:36:01 ID:???
>>147
はい、そうですね。
149nobodyさん:2007/07/30(月) 18:39:01 ID:???
>>145
だってwebなんだから表示した瞬間そこで接続は切れて、ご破算になるんだぜ?
要求x送信の1つのルーチンを第三者が関れないだろ?
チャットでもなんでもログファイルを仲介して別だろ?
150nobodyさん:2007/07/30(月) 18:40:27 ID:1FSTDxFa
>>148
ということはフリーの外部クラスとかで
マルチバイトの○○正規表現チェックなどは
範囲前後が不完全という事でFAですか?
151nobodyさん:2007/07/30(月) 18:42:35 ID:???
>>150
それなら
strlen!=mb_strlenでいいんじゃね?
152nobodyさん:2007/07/30(月) 18:45:27 ID:1FSTDxFa
>>151
じゃなくて、ひらがな〜とか 漢字〜とか
153nobodyさん:2007/07/30(月) 18:45:30 ID:???
>>145
dateにどれくらいの負荷がかかるのかということと
仮にそれを保持しようとした場合に考えられる方法(file書き出し、DB登録)
どちらがより効率的かというと明らかに前者。
154nobodyさん:2007/07/30(月) 18:50:28 ID:???
>>152
ひらがな〜 漢字〜 の意味がわかんない。
155nobodyさん:2007/07/30(月) 19:07:10 ID:???
// ■ 漢字チェックを行う
//
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;
}
156nobodyさん:2007/07/30(月) 19:24:52 ID:???
流れが読めない
157nobodyさん:2007/07/30(月) 19:34:52 ID:???
全角文字が含まれていないかチェックするだけなら、>>151がスマート
158nobodyさん:2007/07/30(月) 20:05:09 ID:???
>>144
きちんとやれば特に問題ないんじゃない、多少直で置くよりスキルが必要かもしれないけど大したレベルじゃない。
よく分からないならpublic_html内に置いたほうが分かりやすいかもしれないが。
159103: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文をかいてみましたが、何も入っていませんでした。

ちょっとまた手が離せないので取り合えずご報告致します。
160nobodyさん:2007/07/30(月) 20:34:31 ID:???
>>159
やりたいことはわかった。
けど、実際のソース出してもらわないとどこが悪いのかわからないよ。
161nobodyさん:2007/07/30(月) 20:48:09 ID:???
162nobodyさん:2007/07/30(月) 21:00:30 ID:s/YUXnbP
メール送信で、ヘッダをRFC2822、RFC2047に準拠させようとしています。
1行の文字数制限をキッチリやってくれるものはないでしょうか。
PEAR::MAIL_mimeが出来そうだったんですが、
asciiコードだけのヘッダ行は1000文字以上でも折り返してもらえませんでした。
163nobodyさん:2007/07/30(月) 22:17:53 ID:???
error_reportingで得られる数字を
分かりやすい定数のリストに直す方法を教えて下さい
164nobodyさん:2007/07/30(月) 22:22:50 ID:???
>>110が馬鹿すぎて吹いた
165nobodyさん:2007/07/30(月) 23:59:32 ID:???
>>161,164
シッ、関わっちゃいけません!
誰も触れてないでしょ!w
166nobodyさん:2007/07/31(火) 00:37:46 ID:???
>>159
けったくそい日本語だな
再帰的にセレクトボックスを作りたいってことか?
167nobodyさん:2007/07/31(火) 02:01:23 ID:???
昨日、phpの最適化で結構悩んでいたんだけど、
DBにインデックスしたら、今まで3時間掛かっていたのが、35秒で出来た。

処理件数が数百万件のDBだったため、検索に時間が掛かると思っていたが、
これほどインデックスが効果を発揮するとは。。

お前らも自分の心にインデックスを作れって頑張れよ。
168nobodyさん:2007/07/31(火) 02:14:28 ID:???
インデックスないとかありえないだろ…
169nobodyさん:2007/07/31(火) 02:15:20 ID:???
インデックスが大量にあるとinsert時のコストは高くなるけどな。
あとから参照する事が多いなら適切なインデックスは当然でしょ。
170nobodyさん:2007/07/31(火) 02:16:22 ID:???
俺も知った時は驚いたけどさ、数百万件のDB扱ってる人が今更気づいたってのはちょっと怖いですよw
171nobodyさん:2007/07/31(火) 02:35:34 ID:???
DBについて言っておくと、単にindex付けて早くなって喜んでいるのは素人プログラマーか新人プログラマー
プロは、トランザクション単位でindexをcreateしたりdropしたりする。
検索系で処理で時間が掛かる場合は、始めにindexをつけて処理が終了したらdropする。
そうすることで、参照系も更新系も最速で処理が可能になる。
最近は、そこまで気を利かせて設計できる奴も少なくなったけど、
まぁ、趣味でやるならそれもいいけど。
172nobodyさん:2007/07/31(火) 02:51:25 ID:???
>>171
ん???よく分からないんだが、インデックス付けっ放しでよくね?

何でいちいち削除したりすんの?

インデックスするのだって、時間かかるっしょ?
173nobodyさん:2007/07/31(火) 02:58:40 ID:S7XQhQpV
ソースを読んでPHPの勉強をしたいと思います。
初級者から中級者に適したおすすめのフリーソフトやスクリプトを教えてください。
174171:2007/07/31(火) 03:10:48 ID:???
>>172
素人前回乙

インデックスの仕組みがよく分かっていないようだけど。
インデックスは、キーとなるカラムを決まった順番に並べておいて、
二分検索することで目的の行へすばやく移動できるの仕組み。

じゃあ、insert処理したらどうなるかと言えば、再び順番に並び替えるために、
インデックスを張りなおす必要がある。

例えば、データが100万件あって2番目にinsertしたら、
後の(100万-1)件のインデックスは再度インデックスの張りなおし。
つまり、insertするたびに、indexを作ることになるわけで、
検索0.01秒で出来ても挿入に100秒掛かることになりかねない。

ここまで説明したら、分かるよな。まぁ、お前はDBの基礎からやり直せ。
175nobodyさん:2007/07/31(火) 03:14:06 ID:???
自慢したがる香具師って「プログラマー・素人・新人」って言葉が好きだよね。
そんなの誰も聞いてないのに言いたがる
176nobodyさん:2007/07/31(火) 03:15:34 ID:???
>>173
おれがはじめてつくったスクリプトはメールフォームだったな。
その次に掲示板くんだ。

フリーソフトはPHPエディタでいいんでない?おれは使ったことないけど
177nobodyさん:2007/07/31(火) 03:20:39 ID:???
>>174の言ってる事がわからないんだけど誰か教えてくれ。
検索する時に
create index
select
drop index
って毎回やるって事?
178171: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秒

あとは、自分でよく考えろ。よ〜く考えてからレスしろよな。
179nobodyさん:2007/07/31(火) 03:35:49 ID:???
更新時にインデックス外すとかdb本に普通に書いてることだろ
得意になってる奴の方がガキくさい
180nobodyさん:2007/07/31(火) 03:39:22 ID:???
>>171は今日勉強したばかりのネタがこのスレででたから答えたくてしょうがないんです
いじめないでください
181nobodyさん:2007/07/31(火) 03:46:43 ID:???
おれのサイト、インデックスつけたままで参照と更新繰り返しているんだけど・・・

リクエストされるたびに、インデックス付けたり外したりするの面倒だなぁ・・・
182177:2007/07/31(火) 03:51:58 ID:???
>>178
スマンな。
>検索系で処理で時間が掛かる場合は、始めにindexをつけて処理が終了したらdropする。
お前のつたない日本語を直訳したら>>177になった。
更新時にindex外す事を言いたかっただけなのか?
あんなに長々と文字を費やして・・・。
183nobodyさん:2007/07/31(火) 03:54:43 ID:???
>>178はお前に分かるように説明してやってたんだろw
>>177の時点で理解できてないことがもうアホかと
184nobodyさん: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って本当に使わないといけないもの
なんですか?
185nobodyさん:2007/07/31(火) 04:49:26 ID:???
addslashesでいいよ
186nobodyさん:2007/07/31(火) 05:28:34 ID:???
どこかのブログに
mysqlのエスケープにaddslashes使うなんてありえないって書いてたよ。
addslashes
mysql_escape_string
mysql_real_escape_string
違いよくわからんな
違いの分かる男解説頼む
187nobodyさん:2007/07/31(火) 05:43:39 ID:???
つか普通はprepare使う
188nobodyさん:2007/07/31(火) 06:39:25 ID:???
http://ig.secure-cube.jp/info-g/alert/hi060602_01_t.html
このへん見ると、real_escapeはSJISのためにあるようだが

http://d.hatena.ne.jp/hoshikuzu/20060211#P20060211PHPSQLINJECTION
ここを見ると、SJIS使ってる限り、real_escapeもプレースホルダも駄目らしい

ガチで安全な最終回答って何なの?
189nobodyさん:2007/07/31(火) 09:31:10 ID:???
UTF-8 + PDO + bindParam()
190nobodyさん:2007/07/31(火) 09:32:08 ID:???
bindparamって自動的にエスケープしてくれてんの?
191nobodyさん:2007/07/31(火) 09:34:16 ID:???
bindParamなんて童貞しかつかわねぇよ
192nobodyさん:2007/07/31(火) 09:41:32 ID:???
まぁPDOでもプリペアドステートメント使う罠

ttp://jp.php.net/manual/ja/function.PDOStatement-execute.php

$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
193nobodyさん:2007/07/31(火) 09:42:55 ID:???
addslashes
一般的なデータベースが対象で、MySQLのための関数ではないし、すべてエスケープされない
mysql_escape_string
文字コードを考慮しない
194nobodyさん:2007/07/31(火) 09:51:36 ID:???
JavaのJDBCや、PerlのDBIと同じように処理するPHPのPDOを使っておけば、とりあえずPHPだけ批判されることはないんでねーの?
エスケープ処理はMySQL側がやるわけだから。

そもそも記事にPHPのバージョンも、MySQLのバージョンもないから、何ともいえない。
>>190
する
195nobodyさん:2007/07/31(火) 11:34:05 ID:???
DBのキャラクタセットにSJIS使うとかアホな事はせず
まともなDB抽象化ライブラリを正しく使ってりゃいいだけの話と思うんだがな
196nobodyさん: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 でやるしかないかなぁ・・・
197nobodyさん:2007/07/31(火) 12:11:38 ID:???
SJISはアウアウで、EUC-JPはおkなの?
198nobodyさん:2007/07/31(火) 12:12:35 ID:???
>>196
ないと思う
ファイルに書き出しておくかクッキーつかえばいいんでないの?
199nobodyさん:2007/07/31(火) 12:17:06 ID:???
DBで実装するのが妥当かと
200nobodyさん:2007/07/31(火) 12:22:35 ID:???
男は黙ってutf-8n
201nobodyさん:2007/07/31(火) 12:28:04 ID:???
>>196
そこまでの実装を考えているのであれば素直にDBインストールする。
レンタルだったら乗り換える。
202196:2007/07/31(火) 12:32:40 ID:7/aws5UY
みなさんレスどうもありがとうございます。
このサーバは自分がroot権限を持っているサーバです。
sqliteでやろうと思いましたが、今後の CRM でやりたいことが増えていくことを考えると、
いまから DB インストールしておいたほうがいいか・・・
DB を入れる方向で進めてみます。
203nobodyさん: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 を参考に設定しているのですが。。。
何かわかる方いらっしゃったらお願いします。
204nobodyさん:2007/07/31(火) 13:27:06 ID:???
すみません 質問です
今、アップローダーを作っています。それで、画像名重複・上書きを避けるために

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 で開発してます
205nobodyさん:2007/07/31(火) 13:27:45 ID:z41KQ86Q
header関数を利用してPHPから画像を表示させたいのですが
複数の画像を表示するにはどうしたらいいのでしょうか?
206204:2007/07/31(火) 13:28:16 ID:UkgDKT8r
sageてしまいました
お願いします
207nobodyさん:2007/07/31(火) 13:30:20 ID:???
>>204
text.jpgの部分を変数にすればいいんでは?
208nobodyさん:2007/07/31(火) 13:40:33 ID:???
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");
は必要ないと思うんだけどどうだろうか?
209nobodyさん:2007/07/31(火) 13:47:06 ID:???
>>205
まずheaderについて辞書で調べてください
210nobodyさん:2007/07/31(火) 13:48:24 ID:HvsnPYPO
MySQL質問スレってないですか?
DB板検索しても見つからないんですが・・・

ここでDB関係の質問するよりはいいですよね
211nobodyさん:2007/07/31(火) 13:55:31 ID:???
>>210
別にここでもいいよ。
そもそもMySQLはphpで実装されているわけだし。
212205:2007/07/31(火) 13:58:29 ID:z41KQ86Q
>>209
goo辞書より
印刷物のページ上部の日付・文書名・小見出しなどを記した部分。
また、電子メールなどで、データの先頭に置かれる、内容識別のための定型の情報。

調べましたができません。
213nobodyさん:2007/07/31(火) 13:59:58 ID:HvsnPYPO
>>211
有難うございます。
ですが、MySQLスレを見つけて書き込んでしまいました。
また次回質問があればコチラでさせていただきます。
214nobodyさん:2007/07/31(火) 14:00:39 ID:???
>>212
不覚にもワロタwwww

http://jp2.php.net/manual/ja/function.header.php
215nobodyさん:2007/07/31(火) 14:08:06 ID:???
>>211
え?

>>210
それは兎も角、ある程度だったらいいんじゃね?
216204: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");
>は必要ないと思うんだけどどうだろうか?

あ、そうかもしれないです ほんとだ
ちょっと試してみます ありがとうございます
217nobodyさん:2007/07/31(火) 14:31:35 ID:HvsnPYPO
会員制サイトで、ログインしていろいろなページを回るときに
セッションIDにログインしているか否かを格納して、それを元にページを表示しているのですが、
セッションの中身って改ざんされたりするのでしょうか?
セッションにIDとパスワードを保存しておいて、毎回それでログインチェックをするほうが良いのでしょうか?
218nobodyさん:2007/07/31(火) 14:39:39 ID:???
データベース板
http://pc11.2ch.net/db/
219nobodyさん:2007/07/31(火) 14:43:25 ID:???
>>217
>セッションの中身って改ざんされたりするのでしょうか?
当然です。
>セッションにIDとパスワードを保存しておいて
論外です。
>毎回それでログインチェックをするほうが良いのでしょうか?
当然です。
220nobodyさん:2007/07/31(火) 14:44:31 ID:HvsnPYPO
>>219
>セッションにIDとパスワードを保存しておいて
論外です。

これはどのような理由で論外にしたのでしょうか。
また、何かお勧めの方法があれば教えてください。
221nobodyさん:2007/07/31(火) 14:54:59 ID:ti5DbwcI
PHPで、自分のサイトから外、というか他ドメインに飛んでいくものを
すべてカウントするのに簡単な方法ないですかね?

思いついたのは

1 javascriptでリンクのonClickでPHPを呼び出して、DBに登録する方法。
この方法はモバイルに使えない。

2 飛び先に全部一枚PHPのページをかまして、DBにカウントを登録。
この方法はモバイルもいけるけど、マウスオーバーしたりリンク先を確認したときに実際の飛び先と違うサイトが表示されちゃって
なんか胡散臭い感じもする。

また、どっちの方法を使っても全リンクを手動で変更しなきゃならないじゃないですか?
なんかすごく簡単な方法を見逃したりしてないでしょうか?
222nobodyさん:2007/07/31(火) 14:59:41 ID:???
>>221
jump.php?url=http://www.yahoo.co.jp/

jump.php
$url = $_GET['url']; //←適当に処理して

〜〜〜〜〜〜〜 //DBに格納するなど

header("Location: {$url}");
223nobodyさん:2007/07/31(火) 15:00:10 ID:???
Location: ヘッダで自動的にリダイレクトすれば普通のユーザにはわからんだろう。

リンク書き換えもsed -iでワンライナー一発かませばたいていいけると思うが。
PHPでリンクを生成してる場合には使えないけど。
224nobodyさん:2007/07/31(火) 15:11:25 ID:???
>>220
セッションがのっとられたらどうしましょう。
それを考えましょう
225nobodyさん:2007/07/31(火) 15:19:04 ID:HvsnPYPO
>>224
ではどのように対策すれば良いのでしょうか。
$_SESSIONにログイン関連のものを格納しておくとどちらにしても乗っ取られるとダメなような気がします。
226nobodyさん:2007/07/31(火) 15:22:23 ID:yIMYAVOK
echo $_POST['str'];
というコードがあったとき、$_POST['str']に\とかエスケープ文字が入ってたとします。
そういうことがある場合を配慮して、以下のコードを入れるべきでしょうか?
(当方の環境では、\nや\tに手を加えなくてもそのまま文字列として出力できました。)
if (!get_magic_quotes_gpc()) {
$str = addslashes($str);
}
227nobodyさん:2007/07/31(火) 15:23:26 ID:???
>>225
ダメな気がするならおまえのやり方でやれよ。
別にとめやしねえから
228nobodyさん:2007/07/31(火) 15:25:33 ID:HvsnPYPO
>>227
いや、だから自分のやりかたが不安だからここに聞きにきたんですよ
229nobodyさん:2007/07/31(火) 15:30:51 ID:???
人がレスしてくれてるのに、そのレスに、根拠無しに「駄目な気がするとか」
自分の気分だけ書くんだったら来るな。
230nobodyさん:2007/07/31(火) 15:39:52 ID:HvsnPYPO
>>229
気分をそのまま発言しているのはそちらではないですか?
231nobodyさん:2007/07/31(火) 15:48:47 ID:???
はいはい、またID出しての釣り厨か。
232nobodyさん:2007/07/31(火) 15:50:29 ID:???
セッションIDとPASSに格納してのログインはダメ⇒ではどのように対策すれば?⇒ダメな気がするならおまえのやり方でやれよ。

テラ矛盾wwwwwwwww
回答側無知杉wwwwwwwwww
233nobodyさん:2007/07/31(火) 15:57:29 ID:???
>>226
どういう風にそのポストの値を使いたいかによって違う。
一般論はないよ(これはget_magic_quotes_gpcがTRUEでstripslashesするかどうか
ということも同様)
234nobodyさん:2007/07/31(火) 15:58:15 ID:???
>>228
結局はどうやっても完全に防げるということは無いのである程度の妥協は必要です。
会員制サイトがどの種類のものかにもよりますが個人や趣味で作るCMSなサイトであれば
ログインした時点で$isUserや$authなりのセッションを発行する程度で充分だと思っています。

>>219が論外といったのは財布の中にキャッシュカードとそのキャッシュカードの暗証番号をメモした紙を
入れているのと同じだからです。
同一ID、passで登録してたら他のサイトまで被害にあう人がでる可能性もでてくるでしょう。

もし本当に見られてはならない極秘文書などを扱う場合はそもそもネットワーク上ではやらないようにする。
どうしてもやる場合はphpだけでなくサーバのアクセス制限から何から考えられる限りのことをしましょう。
破られるときは破られますが。
235nobodyさん:2007/07/31(火) 16:23:19 ID:???
>>226
俺は削除とか変換で対応する
データベースに入れるときは専用のescape関数使う
236nobodyさん:2007/07/31(火) 16:26:19 ID:???
>>226
逆に
f (get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
している。
237nobodyさん:2007/07/31(火) 16:37:50 ID:yIMYAVOK
ありがとうございます。
>>236さんのやり方がコード編集も楽だったので使わせていただきました。
238nobodyさん: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でやるべきでしょうか?
コメント書きたいのですが行数がギリギリなのでお許しを・・・汚いソースですみません。
239nobodyさん:2007/07/31(火) 18:19:40 ID:???
>>238
$fp = fopen($log, 'a');
240238:2007/07/31(火) 18:28:00 ID:???
>>239
それだと思ったとおりの動作にはなりませんでした。
ただおかげで改行を入れ忘れてることに気づきました。ありがとうございます。

ちなみにそれでやった場合、
PHP<>1
Java<>10
から、
PHP<>1
Java<>10Java<>1のようになりました。

PHP<>1
Java<>11
という風になってほしいです。
241nobodyさん:2007/07/31(火) 18:51:17 ID:???
>>240
スマソ。ちゃんとみてないでてきとうにいっちゃった。

foreach内にfwrite($fp, $line[0].'<>'.$line[1]);fclose($fp); があるのが原因。
wというのはあくまでも上書きだから
$lineで読み込んだ行を逐一fput or fwriteして追記していく。
242nobodyさん:2007/08/01(水) 00:33:03 ID:???
>>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);
}
243nobodyさん:2007/08/01(水) 00:45:31 ID:???
fputs
244nobodyさん:2007/08/01(水) 01:22:52 ID:???
>>242
まずはファイル関数のマニュアル読むか、入門本買って超シンプルな所から作り始めなさい。
出来ないってことはまだ早いんです。
245nobodyさん:2007/08/01(水) 01:46:26 ID:???
>>244
は?
246nobodyさん:2007/08/01(水) 01:58:38 ID:CHA5n09T
xdebugは実運用では無効にした方がいいとのことですが
php.ini自体を変えるということですか?
247nobodyさん:2007/08/01(水) 02:02:33 ID:???
>>245
は?そうだろ
248nobodyさん:2007/08/01(水) 02:11:44 ID:???
>>242
空のcount.txt用意してそれ動かしてみたけどログがだいぶむちゃくちゃw
?vote=hogehogeとかうてばいいんだよな?
ファイル関数ってむずいね。普段DB使ってるからさっぱりだけど面白そうだな。
ちょっと後で作ってみるか。
249nobodyさん:2007/08/01(水) 02:18:32 ID:???
たしかにファイル関数のほうが難しいっていうか、DB使ったほうが余計な事考えずにすむ。
250nobodyさん:2007/08/01(水) 02:23:54 ID:???
流れ的に>>242は238とは別人じゃねーの?
>>244がハヤトチリしてややこしくしたって感じだな
251nobodyさん:2007/08/01(水) 03:09:16 ID:???
どっちにしろ>>244みたいのは余計なお世話。
あんなこといったらこのスレの意味がない。
252nobodyさん:2007/08/01(水) 03:44:52 ID:???
変数の中身の大きさ(バイト)を調べる関数ってあります?
DBから出したバイナリデータのサイズ測ろうとしたけど、それらしい関数が見つからなくて。
253nobodyさん:2007/08/01(水) 03:58:34 ID:???
丸投げにそのまんま答えてやるより、先を考えたら>>244のほうが優しい気もするけどな。
別に答えてくれた人を批判しているわけではないが、質問者は工夫しなさ過ぎ。
254nobodyさん:2007/08/01(水) 04:20:08 ID:???
>>244のいう超シンプルっていうのはまさにこういうもののことだと思うが。
これ以上シンプルにしろっていわれても逆に難しいぞ。
255nobodyさん:2007/08/01(水) 04:41:47 ID:???
こたえたくないならスルーしてくれ。
回答側のおれからしてもめざわりだ
256nobodyさん:2007/08/01(水) 05:59:18 ID:???
仕事でプログラミングをしている方は
どんな大学(学部)を出ているんですか?
また、どんな学部ならプラグラミングを学べますか?
どうか、回答よろしくお願いします。
257nobodyさん:2007/08/01(水) 06:26:22 ID:???
PHP単体のベンチマークプログラムを書こうとしています。
abつかうとかじゃなくて。
それで、user time/system timeをPHPで測定する関数はありますか。
258nobodyさん:2007/08/01(水) 06:31:31 ID:???
自己レス。
>>257
posix_timesというのがありました。
スレ汚しすまん。
259nobodyさん:2007/08/01(水) 06:33:55 ID:???
学部では情報系とか工学系が多い。
CやPerlやJavaあたりは学習でよく使われるといわれる。
ただ実力社会だから学歴や学部はあまり関係ないよ。
会社はいってからやったりするとこもあるから。
逆にいえば会社入るまでプログラミングとは無縁なんて人もざら。
他にも文系の人が趣味でやってて本格的に始めたりね。
260nobodyさん:2007/08/01(水) 07:20:26 ID:???
>>259
回答ありがとうございました。

今、某大学の附属校に通っていまして、
3年生の選択科目の希望を夏休み明けに
出さなければいけないんです。

それが学部選択にも影響するんですが、
情報・工学系といったら理工学部、
理工学部を選択する場合は、
私の大嫌いな化学が必修なんですよね。
それですごく悩んでいまして。
261nobodyさん:2007/08/01(水) 07:36:14 ID:???
好きな学部選びなよ。授業で勉強する必要はなし。
情報科学部卒の知り合いが大学でやったプログラムの知識なんて役にたってないと。
会社はいってから研修で飛躍的に伸びたって。
興味あるなら、大学入ったらアルバイトでプログラマーになればいいよ。
PGは基本使い捨てで人数不足だから、会社さえ選ばなければ実は誰でもなれる。
MSやGoogleに就職したいというなら話は別だけど。
262nobodyさん:2007/08/01(水) 09:17:12 ID:???
PHPにはextract()という大変ありがたい関数があるんですが、これの逆を行ってくれる関数はありませんか。
ローカル変数を配列として取得したいんです(イメージはpythonのlocals())。
get_defined_vars()だと環境変数も含めて取ってくるので、ちょっと希望とは違います。
263nobodyさん:2007/08/01(水) 09:58:56 ID:???
ありません。
264nobodyさん:2007/08/01(水) 12:06:09 ID:???
スレチごめん
>>260
基本的に、大学(情報系学部学科)はプログラミングを学ぶというより、プログラミング技術を使って研究をする機関だ。プログラミングを学びたいだけなら、専門学校の方が合っている。
265nobodyさん:2007/08/01(水) 12:18:19 ID:???
>>262
function test() {
$a = "test";
$arr = get_defined_vars();
}
お望みのものが取れると思うが。
266nobodyさん:2007/08/01(水) 12:18:41 ID:???
コンピュータエンジニアリングを学びたいなら大学行ったほうがいい。
単純にプログラマーとして働きたいだけなら、WEB系ならちょっと勉強すれば現場で充分やっていけるよ。
すげー簡単なので。
267nobodyさん:2007/08/01(水) 13:18:28 ID:???
同意。
勉強したいなら大学行って、稼ぎたかったらキャリア詰む。
そういう単純な考えでいいと思うぜ。
268nobodyさん:2007/08/01(水) 13:38:58 ID:???
文字列の取り出し方法を考えていますがうまくいきません
ソースを取り出して

$src="<p>Aの価格:2400円</p>";

という中から2400の部分を抜き出したいんですがpreg_replaceじゃダメみたいで困ってます
269nobodyさん:2007/08/01(水) 13:49:05 ID:???
失敗したの書くの忘れてた

$price=preg_replace("/価格:(.*?)円/","$1",$src);
これだと$priceが「<p>Aの2400</p>」になってしまいます
どう書けば値段の部分だけ残るようになりますか
270nobodyさん:2007/08/01(水) 13:57:20 ID:???
patternに"<p>Aの"と"</p>"が含まれてないんだから当たり前。
$price = preg_replace("/<p>Aの価格:(.*?)円<\/p>/","$1",$src);
271nobodyさん:2007/08/01(水) 13:58:13 ID:???
ちなみに抽出したいだけならpreg_matchのほうをおすすめしておくよ。
272nobodyさん:2007/08/01(水) 14:27:53 ID:???
とりあえず>>1嫁よな
273nobodyさん: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と表示されるのでしょう。。。
274204: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"));
}

というプログラムでファイルのアップロードとリネームには成功したんですが、
上書きが出来ていません。
なぜでしょう? どなたかアドバイスおねがいします
275nobodyさん:2007/08/01(水) 15:27:43 ID:3aU7WUlJ
クラス内でusortを使う場合は

usort ($a, "cmp");
usort ($a, $this->cmp);

どちらなのでしょう?
どっちも動かないので、書式がわからず直しようが…
276nobodyさん:2007/08/01(水) 15:49:40 ID:???
>>260
大学へ入ってプログラムが役に立つ将来性のある研究とかしたほうがいい。
プログラムだけ出来る人なんてある程度の年になったら使い物にならないからポイ捨て。
長い目で食っていける道を探したほうがいいよ。
大学できちんと研究して大きめの企業入るとかね。
277nobodyさん:2007/08/01(水) 15:55:11 ID:???
>>273
正直信用は出来ません。

でもsjisソースで表示させるなら、なにもしなくても日本語はsjisで読めるはずだけど?
ブラウザ側の文字コード指定とか確認したほうがいいんじゃない?
それともソースが実はUTF-8だとか・・。

ソースを最小限にして晒してみそ。
278nobodyさん: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");
と指定してますが、あくまでも優先順位ですよね?
279nobodyさん:2007/08/01(水) 16:21:43 ID:???
>>278
その実際は中身はUTF-8ってどういうこと?
ソースはsjisなんでしょ?
外部から来たデータって事?
280275: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.
うーん
281nobodyさん:2007/08/01(水) 17:02:04 ID:???
>>275
メソッドを使う場合は
usort($a,array(__CLASS__,'cmp')); // 内部から
usort($a,array('ClassName','cmp')); // 外部から
282nobodyさん:2007/08/01(水) 17:31:36 ID:3aU7WUlJ
>>281
なんと。
ありがとうございます。やってみます。
283nobodyさん:2007/08/01(水) 17:53:14 ID:???
evalに、PHPのコードだけでなく、ファイル名や行番号も渡すことはできますか。
evalしてエラーがあったときに、それがどのファイルの何行目に相当するかがわかるようにしたいです。

$code = file_get_contents('example.php');
// $codeをゴニョゴニョ
eval($code); // エラーがあってもファイル名が表示されない

284nobodyさん:2007/08/01(水) 17:58:52 ID:???
285283: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です。
286nobodyさん:2007/08/01(水) 19:09:39 ID:???
>>283
eval()は元々文字列用だし…ファイルごとやるならrequireは使わないの?
287283:2007/08/01(水) 19:13:40 ID:???
>>286
ファイルの内容そのままではなく、読み込んで手を加えた上で実行しようとしています。
一時ファイルに書き出すしかないんでしょうか。でもそれだと元とは違うファイル名になるし。
288nobodyさん:2007/08/01(水) 19:37:04 ID:???
>>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の一番上も読みましょう。
289nobodyさん:2007/08/01(水) 21:23:29 ID:???
>>288
でもそれだとSJISで日本語は読めないんじゃ・・
290nobodyさん:2007/08/01(水) 21:30:11 ID:???
>>264, >>2666-267, >>276
回答ありがとうございました。
プログラミングを学ぶのでなく、
プログラミングを使った研究をするということで、
なるほどと思いました。
質問してよかったです。
ありがとうございました。
291288:2007/08/01(水) 21:34:44 ID:???
>>289
「PHPソースコードはSJISで書いているが、
ブラウザで見るとUTF-8と認識され文字化けしている」
質問だと思ったけど改めて見てみたら、

>>273
> PHPはsjisでしているのですが、なぜ勝手にutf8になっているのでしょうか?
>>278
> とりあえず、mb_detect_encodingでsjisと表示されますが、実際は中身がutf8です。

どっちだかわかんねーや。
292nobodyさん:2007/08/01(水) 22:07:33 ID:???
mb_detect_encoding
なんか使うのがバカ。意味なしだろ
293nobodyさん:2007/08/01(水) 22:43:00 ID:???
プログラミング時に使うために
二つのクラスのメソッドの有無を表示するスクリプトを書いていますが、
get_class_methodsだとpublicなメソッドしか取得できません
外からprivateあるいはprotectedなメソッドを取得する方法ってありませんか?
それ用にクラスを書き換えるのは嫌なんですよね
294nobodyさん:2007/08/01(水) 22:48:23 ID:???
なんのためのprivate、protectedなのか
295nobodyさん:2007/08/01(水) 22:52:00 ID:???
うーん確かに。
やっぱりないですよね
296nobodyさん:2007/08/01(水) 23:04:06 ID:???
>>293
ReflectionClassクラスのgetMethodsメソッドで出来る。
297nobodyさん:2007/08/01(水) 23:09:06 ID:???
中のスコープからget_class_methods($this)するか
Reflectionかな
298nobodyさん:2007/08/01(水) 23:11:18 ID:???
>>295
こんなんダメ?

class Test {
public function get_methods() {
return get_class_methods($this);
}
}

$test = new Test;
print_r($test->get_methods());
299nobodyさん:2007/08/01(水) 23:25:54 ID:???
>>296-297
ありがとうございます
ReflectionClassで出来ました
>>298
調査対象クラスは調べられてることすら知らない感じにしたいんですよ
300nobodyさん:2007/08/02(木) 02:03:28 ID:???
このスレが必要なくなる日はくるのだろうか。

Google先生は不要?――ソースコード共有サイト「code*」開設
http://www.atmarkit.co.jp/news/200708/01/code.html

コードなにがし
http://code.nanigac.com/
301nobodyさん:2007/08/02(木) 02:11:14 ID:???
こいつは面白いな
かなり人集まるだろ
302nobodyさん:2007/08/02(木) 02:22:05 ID:???
こういうサイトは他にもあるが、殆どユーザーいないという(笑)
303nobodyさん:2007/08/02(木) 02:34:33 ID:???
ニコニコもそうだけど、やっぱ知名度って重要だな
304nobodyさん:2007/08/02(木) 02:38:37 ID:???
mixiのコミュニティと何が違うのかと
305nobodyさん:2007/08/02(木) 04:07:51 ID:???
>>300
なんというか、質問のレベルが低すぎて苦笑してしまった(答えてる側もね)
306nobodyさん:2007/08/02(木) 04:40:21 ID:???
世の中には色んなレベルの色んな人がいる事を知ったほうがいい
307nobodyさん:2007/08/02(木) 05:42:34 ID:???
>>265
本当だ。。。関数つくってその中で呼べばいいのか。
遅れましたが、ありがとうございました。
308nobodyさん:2007/08/02(木) 05:48:04 ID:???
>>307
ローカル変数の意味が分かってないんじゃ…
309nobodyさん:2007/08/02(木) 06:37:28 ID:???
おれ、このレスの住民にすげー怒り覚えるわ。
人が真剣に質問してんのに、冷やかしのレスばっか。
貴重な時間無駄にしたわ。ほんと、バカばっか。
真面目な人の迷惑になるから、このスレさっさと消してくれる。
310nobodyさん:2007/08/02(木) 06:42:32 ID:???
>おれ、このレスの住民にすげー怒り覚えるわ。
(^0^)
311nobodyさん:2007/08/02(木) 09:29:45 ID:???
『底辺の奴らは黙って見てろ』って空気が漂っている
が、優しく答えてくれる人がいることを忘れてはならな
312nobodyさん: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したら
後で問題が起きる可能性はあるのでしょうか?

なるべく元データは弄らないようにしたほうがいいのだろうか?と思いました。

313nobodyさん:2007/08/02(木) 11:24:27 ID:???
>>312
ケースバイケース
314nobodyさん: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 ); //エスケープ
}
}
メールの時は、確認ページまではエスケープ。送信時には戻す
エスケープしたまま本文中に&???;なんてあったら不自然ですよね…
315nobodyさん:2007/08/02(木) 11:35:51 ID:???
>>309
オンブにダッコされるのを待っている時間が貴重というなら
なぜ自分で解決しようと考えない?
2chの使い方まちがってるよ
しらないものは仕方ないが努力はしろ
てめーがどれだけ焦ってるかなんてレスするやつらは知らんし
ろくな答えが無くて怒るのは見当違いだ
316nobodyさん:2007/08/02(木) 12:01:11 ID:???
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はたくさん関数があるけど、本当に欲しいものは抜けてる気がする。

317nobodyさん:2007/08/02(木) 12:09:37 ID:???
>>315
だから、努力しても見つからないから、ここで聞いてるんだが。
努力なら人一倍している。20歳で入った今の会社で24歳の最年少で課長になったからな。
5人の大卒の部下を鼻で使っているよ。
まぁ、30歳になったら社長になる勢いだけどな。
あまり、俺を知らないくせに生意気な口聞くないよ。
俺の会社に来たら、たっぶりしごいてやるからな。
318nobodyさん:2007/08/02(木) 12:13:57 ID:???
>>316
$_POSTとかでは isset( )よく使うけどそれ以外で困ったことないな
319nobodyさん:2007/08/02(木) 12:25:15 ID:???
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}等してみてもうまくいきませんでした。

ご指導お願いします。
321nobodyさん:2007/08/02(木) 13:51:00 ID:n8RElLWH
MySQLを使ってDBにINSERT処理しようとしているのですが、
PRIMARYキーを設定してありまして、同じキーがあるかどうかは、
DBに検索してみないと分かりません。

そのため、DBエラーを回避するため、一回検索を掛けて同じキーがあればUPDATE
無ければINSERT処理をしていたのですが、偶然INSERT IGNORE とREPLACE INTOという便利な関数を見つけました。

INSERT IGNOREとREPLACE INTOは全く同じ動作をするのですが、
全く同じものだということでしょうか?

また、通常このような処理の場合にはどういう風に処理するべきでしょうか?
上記のような処理で問題はないでしょうか?
宜しくお願いします。
322nobodyさん:2007/08/02(木) 14:00:31 ID:???
>>321
スレタイくらい読んだら?
323nobodyさん:2007/08/02(木) 14:06:26 ID:n8RElLWH
>>322
すみません、環境を書き忘れていました。
OSはWindows XP SP2
MySQL5.1.12-beta
PHP5
です、宜しくお願いします。
324nobodyさん:2007/08/02(木) 14:11:43 ID:???
>>323
ここはPHPのスレです。
MySQLに関する質問は専用のスレでお願いします。
325nobodyさん: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のようにサブクエリが使えなくなってしまいます。
サブクエリと内部結合を同時に使う方法はないのでしょうか?
326nobodyさん:2007/08/02(木) 14:17:33 ID:???
>>325
スレタイくらい読んだら?
327nobodyさん: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]等してみてもうまくいきませんでした。

ご指導お願いします。
328nobodyさん:2007/08/02(木) 14:22:00 ID:tBx5FvgN
>>326
以前、ここでMySQLの質問はどこですればいいと尋ねたところ、
ここでもDBを取り扱うので構わないと言われたのでコチラに投稿しました。
329nobodyさん:2007/08/02(木) 14:22:27 ID:???
>>327
荒らしですか?
330nobodyさん: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);
331nobodyさん:2007/08/02(木) 14:26:14 ID:???
>>328
MySQLのスレで質問しないのは何故ですか?
332nobodyさん:2007/08/02(木) 14:30:44 ID:tBx5FvgN
333nobodyさん:2007/08/02(木) 14:32:32 ID:???
334nobodyさん:2007/08/02(木) 14:50:34 ID:???
プッ...
人一倍努力家で30才で一社を従える社長
そんな奴が仕事で躓いたあげく2chに必死で神頼み
なんかわらえる
335nobodyさん:2007/08/02(木) 15:05:01 ID:???
>>334
そっとしといてやれよ。夏なんだからさ・・・
336nobodyさん:2007/08/02(木) 15:20:33 ID:???
CGIとPHPの違いってなんですか?

CGIを調べると以下のように記述されていましたが
これだとサーバーサイドなプログラミング言語はすべてCGIに含まれませんか?

CGIとは、Common Gateway Interface の略で、WWWサーバの中で外部プログラムを実行するための仕組みをいいます。
インターネット文化がそうであるように、CGIもUNIXの中から生まれ発展してきました。
337nobodyさん:2007/08/02(木) 15:22:07 ID:???
338nobodyさん:2007/08/02(木) 15:24:48 ID:???
>>337
思いっきりググるってどんなググり方だよ
339nobodyさん:2007/08/02(木) 15:28:46 ID:???
>>332
MySQLのスレで質問しないのは何故ですか?
340nobodyさん:2007/08/02(木) 15:28:54 ID:???
>>325
phpに関連薄すぎ。
エラー出てるんだから subquery is ambiguous の意味ぐらい調べろよ

select a.* ,b.* from hoge as a , fuga as b where a.id = b.id

みたく、ちゃんと別名を振れ
341nobodyさん:2007/08/02(木) 15:36:37 ID:???
>317 はどこを縦読み?
342nobodyさん:2007/08/02(木) 15:54:17 ID:???
だ     しても見           聞     が
 力   一倍    。20歳で        24歳の    課長
        を鼻で
          社長になる勢いだけどな。
あま    らないくせに生意気な
俺の         ぶ し   やるからな。
343nobodyさん:2007/08/02(木) 16:19:22 ID:???
>>338
ヒント 思いっきりは「ググル」にかかってるのではない
344nobodyさん:2007/08/02(木) 16:22:20 ID:???
>>343
いちいち解説しなくていいよ。
どうせ>>338は夏厨だろ、ほっとけよ。
345nobodyさん:2007/08/02(木) 16:23:47 ID:???
>>343-344
ネタにマジレス乙
346nobodyさん:2007/08/02(木) 16:27:27 ID:???
>>343-345
ネタにマジレス乙
347nobodyさん:2007/08/02(木) 16:31:37 ID:???
>>343-344
空気が読めない人達ですね。
348nobodyさん:2007/08/02(木) 16:54:31 ID:???
>>344-347
ネタをネタと分からない人間には・・・
349nobodyさん:2007/08/02(木) 16:59:55 ID:???
いつものことだが、ここは、下らないことにレスが集中するんだなぁ。
まぁ、下スレだから、スレ通りといえばその通りだがw

脳みそが単純に出来ていて、悩みが無さそうで羨ましいわ。
350nobodyさん:2007/08/02(木) 17:05:26 ID:???
ここ2chだよね・・?
不真面目ですいません フヒヒ
351nobodyさん:2007/08/02(木) 17:08:51 ID:???
2chだから煽ればいいとかくだらねえレスすればいいとか思ってるなら大間違いだぜ。
そういうのがやりたければ

__     __  ___ _____  _____     ___ ___    ___
|   |    /  /  |  //       | /__  __/ [][] _| |_| |__ _| |_
|   |.   /  /  /  / /   / ̄ ̄|. l    / /     |    _  | |_  レ'~ ̄|
|   |  /  /  /  / /   /.  / /    |  |___      ̄|  | / / /   /| |
|   |  /  /  /  / /    ̄ ̄ /     \__|     |  |  ̄ /_  /  | |_
|   |. /  /  /  / /   / ̄ ̄ ̄                |_|     |__|   \/
|   |/  /  /  /. /   /  
|.     /  /  /  /   / 
|    /. /   | ./   /  
352nobodyさん:2007/08/02(木) 17:13:01 ID:???
VIPからきますた
353nobodyさん:2007/08/02(木) 17:16:09 ID:???
VIPって、歪んだ正義感で取るに足りない自尊心を満足させているオナニー集団か?
354nobodyさん:2007/08/02(木) 17:40:13 ID:jTKaEZE/
既にインストールしているPHPに、mbを入れたいのですが、一番簡単な方法はどのような方法がありますか?
Redhat上のApacheに組み込んでいます。
355nobodyさん:2007/08/02(木) 17:46:23 ID:???
>>353
オナニー集団ってより、キチガイ集団www
356nobodyさん:2007/08/02(木) 17:54:08 ID:YI4RuKYl
if ($_SERVER['REQUEST_METHOD'] === POST) {

}

このコードなんですが、POSTは""で囲むのでしょうか?
357nobodyさん:2007/08/02(木) 17:55:58 ID:???
え?
358nobodyさん:2007/08/02(木) 18:00:47 ID:???
>>356
print $_SERVER['REQUEST_METHOD'];
ぐらいやってから質問してください。
359nobodyさん:2007/08/02(木) 18:15:48 ID:YI4RuKYl
>>358
""で囲まなくてもうごくんですよ。どちらが正しいのかわからないんです
360nobodyさん:2007/08/02(木) 18:17:13 ID:???
意味がわかんない
361nobodyさん:2007/08/02(木) 18:18:23 ID:YI4RuKYl
フォームからPOSTで送信されたか条件判断するコードです。
362nobodyさん:2007/08/02(木) 18:18:47 ID:???
ヒント:var_dump($_SERVER["REQUEST_METHOD"]);
363nobodyさん:2007/08/02(木) 18:20:25 ID:???
1は数字ですよね
"1"は文字列型数値ですよね
"POST"で囲めば文字列ですよね
POSTの場合だとどうなるのかわからなくて。

条件判断で===を使ってるのにPOSTでも"POST"でも動作するのがわからないんです。すみません
364nobodyさん:2007/08/02(木) 18:21:21 ID:YI4RuKYl
>>362さんのおかげで解決できました。
ありがとうございました。
365nobodyさん:2007/08/02(木) 18:23:04 ID:???
>>364
分かっているかもしれないが
http://www.php.net/manual/ja/types.comparisons.php
も見ておくといいかも。
366nobodyさん:2007/08/02(木) 18:26:20 ID:YI4RuKYl
>>365
ああああ、やっぱそうなると===でどちらも正しく動くのはおかしかったですよね。
なんでどっちも動いたんだろう(@@;)
367nobodyさん:2007/08/02(木) 18:35:46 ID:???
>>366
""でくくらない POST は定数と考えるのがphp的な定義だと思うけど。
そもそも、それで動くのか。
定数で該当するものが無ければ、文字列として扱ってくれるのかな・・。

var_dump(POST);
ってやるとどうなるんだろう。

とにかく文字列として扱いたいなら、""は必須。
368nobodyさん:2007/08/02(木) 18:38:26 ID:???
>>367
定数て当てはまらなかったら文字列なはず
<?=TEST?>
で「TEST」と表示されるのと同じでは?
369nobodyさん:2007/08/02(木) 18:43:25 ID:???
>>368
やっぱりそうなんだありがとう。
でも、確実に処理するためには""はあったほうがいいだろうね。
複数人のプロジェクトとかで定数をどっかで宣言されるって事もあるだろうし。
370nobodyさん:2007/08/02(木) 19:06:10 ID:???
何をそんなわかりきったことを言ってんの?
371nobodyさん:2007/08/02(木) 19:10:48 ID:???
あったほうがいいじゃなくてないとダメだろう
E_NOTICEだろ
372nobodyさん:2007/08/02(木) 19:12:54 ID:???
というかその妙な仕様は明らかにバグの温床になる
373nobodyさん:2007/08/02(木) 19:21:41 ID:???
要するにウンコって事か
374nobodyさん:2007/08/02(木) 20:15:13 ID:???
なにかくだ質じゃなくて高尚な場所だと勘違いされてらっしゃるお偉い方がいるみたいですね
375nobodyさん:2007/08/02(木) 20:35:29 ID:???
>>374
高尚に感じるのは、お前が低俗だからだろ
376nobodyさん:2007/08/02(木) 21:51:55 ID:???
初級者は2chで叩かれて当然。2chに何求めてるの?w
377nobodyさん:2007/08/02(木) 22:00:42 ID:???
餓鬼が見るような板じゃないんだし、低レベルな煽りあいは不要。
みんなクールに頼むよ。
378nobodyさん:2007/08/02(木) 22:14:01 ID:???
じゃあ、俺は、ギムレットを頼む
379nobodyさん:2007/08/02(木) 22:45:45 ID:???
このスレって妙にキムチ臭いんだよ。
妙にたどたどしい日本語書いたり、レス内容を丸ごと勘違いしたり、たまに発狂したり。
380nobodyさん:2007/08/02(木) 22:56:21 ID:???
夏厨が湧いてるだけだろ
381nobodyさん:2007/08/02(木) 22:57:57 ID:???
>>379
韓国人を悪いおかしく思います.
382nobodyさん:2007/08/02(木) 23:00:15 ID:???
夏になってスレが伸びるようになった。ま、過疎るよりはいーんじゃない。
383327:2007/08/03(金) 00:47:18 ID:???
>>330
どうもありがとうございました(T▽T) 
>>299
荒らしじゃないですっ!マジで困ってました;;
384nobodyさん:2007/08/03(金) 03:10:51 ID:???
>>367
ってことはユーザー関数でtrueが返ってきたきたときの条件判断は
if (????? === "true")ってちゃんと""としなきゃだめなんだね
385nobodyさん:2007/08/03(金) 03:15:17 ID:???
>>384
はぁ?
386nobodyさん:2007/08/03(金) 03:22:02 ID:???
>>385
また振り出しにもどりたいのか?
387nobodyさん:2007/08/03(金) 03:26:02 ID:???
>>384
>>365を見たほうがいい

っていうか
?????
ってなんだ?????
388nobodyさん:2007/08/03(金) 03:28:08 ID:???
兄貴!!このスレそろそろ本気で潰しにかかりますか?
389nobodyさん:2007/08/03(金) 03:29:45 ID:???
>>388
やっておしまいっっ
390nobodyさん:2007/08/03(金) 03:44:29 ID:???
おまえはアホか?>>366をもういちどみろ
391nobodyさん:2007/08/03(金) 06:05:00 ID:???
>>384
バーカバーカ
392nobodyさん:2007/08/03(金) 06:33:12 ID:???
まぁまぁ、そう熱くならずに、自分のおならの臭いを嗅いでエクスタシー感じようよ。
393nobodyさん:2007/08/03(金) 10:37:55 ID:JeGw1lzo
すいません、質問ですが、

今共有サーバーでPHPのCMS2つ稼動させたいのですが、
この共有サーバーはデータベースが一つしか割り当てられません。

ヘッドが違えばいくつものCMSをいとつのデータベース(MySQL)で共有させることは可能なのでしょうか?
もちろん遅くなるとはおもうのですが・・・

394nobodyさん:2007/08/03(金) 10:51:47 ID:???
>>393
それはPHPの質問では無いかと・・。
テーブル名がかぶったりしなきゃ動くかもしれないけど、全くオススメ出来ないと思う。
395nobodyさん:2007/08/03(金) 11:01:06 ID:???
>>384
型を理解しないままphpやってもわからないままだとおもうので
逆にjavaやcをちょっとやってみたらどうかな
396nobodyさん:2007/08/03(金) 11:03:31 ID:???
>>394
やっぱりなにかしらの障害があるんですね。
ケチらずにいくしかないかな・・・

397nobodyさん:2007/08/03(金) 11:41:46 ID:???
すいません、質問です。。

???? ??? ????? ????? ??? ?? ??????
398nobodyさん:2007/08/03(金) 11:47:29 ID:???
>>397
>?????
この部分の「?」←これを「?」←これに変えてみたら動くと思います
399nobodyさん:2007/08/03(金) 12:12:53 ID:gCv41M7L
>>337 >>338 >>343
遅レスだが。
2ちゃんねらーは国語力が弱いので、この機会に少し日本語を勉強しよう!

>すいません、思いっきりググったら載ってました。

本人は、「思いっきり」を「ググったら」ではなく、「載ってました」に掛けて
いるつもりだが、この文法では「ググったら」に掛かってしまう。
(なので>>343の解説は×)

>>337の正しい日本語は、

>すいません、ググったら思いっきり載ってました。

になる。
phpみたいな簡単な言語を扱えるプログラマーなんて沢山います。(ほとんどが無能)
しかし日本語やコミュニケーション能力に長けた人は少ないです。(コミュニケーションがやたら上手い無能も多い)
この機会に自分の日本語を見つめなおしましょう。(英語ができれば更に貴重です)
400nobodyさん:2007/08/03(金) 12:25:50 ID:???
>>399
常識的に考えて
「思いっきりググったら載ってました」
を見たら
「思いっきり載ってた」んだな
と思うのが普通。
文法なんかより空気を理解できるようになろうぜ。
401nobodyさん:2007/08/03(金) 13:23:31 ID:???
瑣末な紕繆に、殊更穢い字句を並べ立てて煽るのって、福島瑞穂そっくりだね。
402nobodyさん:2007/08/03(金) 14:32:37 ID:???
>>400
おまえ仕事できないやつだろw
あいつだろw
あいつなんだろw
あいつしかいねぇよなwww
403nobodyさん:2007/08/03(金) 14:43:36 ID:gCv41M7L
>>400
それを空気読むとは言わない。
それに、プロは空気で仕事しない。絶対に確認する。勘違いだったらどうするんだ?
それに>>399は文法がロジックとして間違ってる話をしている。空気読めてないのはお前。
404nobodyさん:2007/08/03(金) 14:46:26 ID:gCv41M7L
>>401
瑣末と片付ける時点でプロに向いてない。
405nobodyさん:2007/08/03(金) 14:50:02 ID:???
2chの発言でプロだとかお前等頭大丈夫か?
406nobodyさん:2007/08/03(金) 14:53:44 ID:???
407nobodyさん:2007/08/03(金) 15:58:00 ID:???
function定義の中で$aが真のときだけ処理したいっていう場合は

function test($a) {
 if ($a) {
  ここで処理
 }
}

function test($a) {
 if (!$a) return;
 ここで処理
}

上の二つどっちのほうがいい?
408nobodyさん:2007/08/03(金) 16:07:29 ID:???
上の方が可視性は高いように思えるが。。。
409nobodyさん:2007/08/03(金) 16:12:14 ID:???
可視性を高めて且つ戻り値が必要なら
function test($a) {
 if ($a) {
  $hoge = ここで処理
 }else{
  $hoge = false;
 }
 return $hoge;
}
の方がいいと思う
410nobodyさん:2007/08/03(金) 16:25:25 ID:UDicn/s5
mysql_fetch_assocをwhileでループさせると
検索結果の上から順番に取得してきますが、
これを一番したから取得してくるような関数はありませんか?

53件中、日付が一番最新の5件を持ってきて表示させたいのですが、
表示するときに一番最新の日付を一番したになるように表示させたいのです。
411nobodyさん:2007/08/03(金) 16:58:43 ID:???
>>409
それはみずらいな
412nobodyさん:2007/08/03(金) 17:00:47 ID:???
>>410
しってる人がいるかな?むずかしそうだね。
らくにできる関数が見つかればいいんだが・・・
ねえ、一度取得したものをarray_reverseじゃだめなのかな?
え〜と、だれもこたえなかったらおれちょっと調べてくるけどね。
よろしくね。
413410:2007/08/03(金) 17:02:42 ID:UDicn/s5
>>412
ありがとうございます。
一度配列に格納してarray_popでwhileループしているのが現状です・・・。
検索結果をしたから取得する関数があれば便利なんですけどねぇ・・・orz

自分ももう一度調べてきます
414nobodyさん:2007/08/03(金) 17:19:03 ID:???
マニュアルとか全然調べてないんだけど、
PHPスクリプトの処理速度を測る関数とかって存在する?
415nobodyさん:2007/08/03(金) 17:22:15 ID:???
あるわけねえだろタコ!
abかjava制のメジャーなのがあるからそれでもつかってろよ
416nobodyさん:2007/08/03(金) 17:23:52 ID:???
残念
それなら自分で作るからjavaは遠慮しときます
417nobodyさん:2007/08/03(金) 17:45:10 ID:???
>>413
それってSQLの ORDER BY を使えない理由はあるの?
418nobodyさん:2007/08/03(金) 18:03:14 ID:???
>>416
自分でつくるの?なにで?
PHPで?(笑)
419nobodyさん:2007/08/03(金) 18:10:40 ID:???
>>418
むずかしくないだろ
420nobodyさん:2007/08/03(金) 18:38:55 ID:???
オリジナル言語作ってそれで組むんじゃね?
421nobodyさん:2007/08/03(金) 18:53:28 ID:???
ベンチが取りたいんだろ?
microtime使えばいいだけじゃん
422nobodyさん:2007/08/03(金) 18:54:35 ID:???
>ベンチ
>ベンチ
>ベンチ
423nobodyさん:2007/08/03(金) 18:54:56 ID:???
>>410
SQLの範疇だからステートメントを
SELECT * FROM (SELECT * FROM "table" ORDER BY "date" DESC LIMIT 5) ORDER BY "date" ASC;
みたいな感じにすればいいと思うよ。
424nobodyさん:2007/08/03(金) 19:05:27 ID:RjyFibPY
>>423
なんでそんなネストさせてるんだ
425nobodyさん:2007/08/03(金) 19:22:53 ID:???
426nobodyさん:2007/08/03(金) 19:33:03 ID:???
>>414
APDとかは?
http://jp.php.net/apd
427nobodyさん: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);

で戻り値を返したいのですが、戻り値が帰ってきません。どこを変更したらよいかアドバイスいただけますか?
428nobodyさん:2007/08/03(金) 21:29:25 ID:???
for文が・・・w
429nobodyさん:2007/08/03(金) 21:30:56 ID:???
>>427
おまえにはアイが足りない
430nobodyさん:2007/08/03(金) 21:31:48 ID:???
>>427
突っ込みどころが多すぎるからとりあえず想像で

function req($cnt,$strm$num,$relim ="<br>"){
$d = '';
for ($i=0;$i<=$num;$i +=$cnt)
$d .= $str.$delim;
return $d;
}
431430:2007/08/03(金) 21:35:30 ID:???
すまん、これがあったんだな

print req(0,"ねこ",10);

だとすると
for($i = $cnt;$i<=$num,$i++)
か・・・
432nobodyさん:2007/08/03(金) 21:39:08 ID:???
>>427
function reQ($cnt, $num, $str, $delim = "<br>") {
$d = array();
for ($i = $cnt; $i <= $num; $i++) {
$d[$i] = $str.$delim."\n";
}
return $d;
}

こうか?
433nobodyさん:2007/08/03(金) 21:40:32 ID:DTQfj132
すいません。ものすごくバかな質問をしていたのに今きがつきましたw

戻り値かえしたらそこで終わりですよね。

普通の変数と同じ感覚でつかってました
434nobodyさん:2007/08/03(金) 21:48:33 ID:???
>>432
そうか$cntをわざわざ送る意味が見当たらなかったが
それならアリエール。
435nobodyさん:2007/08/03(金) 21:57:12 ID:???
str_repeat()とかarray_fill()とか使った方が速いしスマート。
436nobodyさん:2007/08/04(土) 03:22:45 ID:???
"a,b,c,1,a234"という文字列を
a
b,c
1,a234
というように分割したい(それぞれの文字数は不定)のですが
いろいろ考えたけど無理でした、アドバイスお願いします。
437nobodyさん:2007/08/04(土) 03:53:37 ID:???
エスパーでも無理
438nobodyさん:2007/08/04(土) 04:10:01 ID:???
何がしたいのか分からん
439nobodyさん:2007/08/04(土) 06:00:19 ID:???
3段目が3つならまだ話がわかるんだが、
それじゃ何がしたいのか確かにサッパリだなw
440nobodyさん:2007/08/04(土) 07:00:08 ID:???
>>436
explode(",", "a,b,c,1,a234");
とすれば、配列で返ってくるから、あとはお好きなように。
441nobodyさん: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]の間の空白(改行)は一体なんなんでしょう?
とてもきになるのですが、改行が入ってない場合と同じ意味でしょうか?
改行をとる方法もあれば教えていただきたいです。
442nobodyさん:2007/08/04(土) 07:12:21 ID:???
>>440
ありがとうございます。うまくいきました。
で、あとaとbをカンマで再結合することは可能でしょうか??
443nobodyさん:2007/08/04(土) 08:00:01 ID:???
>>442
implode(",",$data)でoK
444nobodyさん:2007/08/04(土) 08:09:23 ID:???
>>441
file()は改行を区切りに配列を返すけど、改行コードは消さないんよ。
ファイルの改行コードが\nのみでPHP5の場合は
file('ふぁいるめー',FILE_IGNORE_NEW_LINES);
それ以外の場合は
array_map('rtrim',file('ふぁいるめー'));
そんな感じで。
445441:2007/08/04(土) 08:19:44 ID:AjkJINGy
>>444
わかりやすい説明どうもありがとうございます。
納得いたしました。
PHP5を使っているので、FILE_IGNORE_NEW_LINESで消します。
勉強になりました。ありがとうございました。
446nobodyさん:2007/08/04(土) 11:14:59 ID:???
>>445
\rは削除してくれないようだからtrimの方がいいんじゃない
どうせWindows使ってるんだろ
447nobodyさん:2007/08/04(土) 11:41:32 ID:0PEp3FTo
くだらない質問で申し訳ないんだが、PHPで
http://www.example.com/index.php
というTOPページから引数を渡して
http://www.example.com/index.php?action=form
みたいな感じでフォームを出したいんだけどどうすればいいんですかね?

参考URLかググる単語でもいいんで教えてください。
448nobodyさん:2007/08/04(土) 11:42:38 ID:???
form タグのGETメソッドを使えばいい。
phpとは関係ないけど。
449nobodyさん:2007/08/04(土) 12:44:11 ID:???
>>448
formタグでGETして$_GETで持ってくるのはわかるんですけど、
formタグだったらinputじゃないとvalueとnameを持ってこれないじゃないですか。
inputで作ったらtypeを通常のaタグみたいなリンクに出来ないよなぁと思うんですが・・・。
450nobodyさん:2007/08/04(土) 13:10:02 ID:???
>>449
じゃあにAタグで「?action=form」を追加したら?
451nobodyさん:2007/08/04(土) 13:39:54 ID:???
何がしたいのか分からん
PHPでindex.phpというページから引数を渡してindex.php?action=formのようにフォームを出したい
ページから引数を渡すという表現が意味不明
URLのようにフォームを出したいという表現が意味不明
452nobodyさん:2007/08/04(土) 13:42:50 ID:???
>>450
その手があったかorz

解決しました。ありがとうございました。
453nobodyさん:2007/08/04(土) 13:43:50 ID:???
>>451
自分の読解力がないのを棚にあげて、人の文章力にケチを付けるゆとり。
454nobodyさん:2007/08/04(土) 14:32:44 ID:???
>>453
いや、俺も普通に意味わかんない
455nobodyさん:2007/08/04(土) 14:44:58 ID:???
ちょい質問
include "../include/test.php";
これでエラー出るんだが・・・・。
includeする回数って別に制限とかないよね?
456nobodyさん:2007/08/04(土) 14:47:44 ID:???
>>455
パスが間違っている。
パスのところに、点が二つ飛んでいる。
457nobodyさん:2007/08/04(土) 14:52:49 ID:???
>>452
>>454

理解できないなんて日本は終わったね。
458nobodyさん:2007/08/04(土) 14:57:14 ID:???
>>456
んにゃ、あってるよ
上の階層のディレクトリであるincludeディレクトリの中のtest.phpをincludeしたいから
459nobodyさん:2007/08/04(土) 15:00:47 ID:???
エラー文ぐらっはりましょう。
IDだしましょう。
460nobodyさん:2007/08/04(土) 15:01:17 ID:???
言葉に注意して質問しましょう
461nobodyさん:2007/08/04(土) 15:04:20 ID:yv7m/dc0
amazonの、”この商品を買った人はこんな商品も買っています”とか、
2ちゃんの”このスレを見ている人はこんなスレも見ています。(ver 0.20)”とかは、

この機能を自分でも作りたいのですが、
どんな作り方をしているのでしょうか?
おおまかに説明してもらえると助かります
462nobodyさん:2007/08/04(土) 15:07:10 ID:yv7m/dc0
日本語おかしくなってた
すいません

上記2つのような機能を自分でも作りたいので、
考え方をおおまかに説明してもらえるとありがたいです
463nobodyさん:2007/08/04(土) 15:10:10 ID:???
>>461
その質問前にもあったなぁ。
それで、単純に考えてレスしている奴が、一喝されて撃沈されていたような。
464nobodyさん:2007/08/04(土) 15:12:01 ID:???
>>461
何パターンかあると思うがセッション
465nobodyさん:2007/08/04(土) 15:13:06 ID:???
あとリファラも
466nobodyさん:2007/08/04(土) 15:21:01 ID:???
普通はDBの設計でどうにかすることだろ。
467nobodyさん:2007/08/04(土) 15:23:45 ID:???
リファラじゃ無理だろ
リクエスト毎にDB使ってたら負荷かかる
ってことでセッソン
468nobodyさん:2007/08/04(土) 15:28:23 ID:???
リクエスト毎にDB使ってたらって・・じゃあどうやって商品の情報自体を取り出してるんだよ。
469nobodyさん:2007/08/04(土) 15:28:44 ID:nfa9BST8
PHPerのみなさんは
CLIで使うスクリプトもPHPで書いてるんですか?
シェルスクリプトで書くには少し複雑くらいの規模のスクリプトを
何で書くか迷ってます
まともに書けるのはPHPだけなんですが…
この際Pythonとか学んだほうがいいでしょうか?
470nobodyさん:2007/08/04(土) 15:41:03 ID:???
>>453
ケチなんか付けてない。
それじゃ上で書いた点について説明してくれ
もしくは447の0PEp3FTo。どういうことだ?
471nobodyさん:2007/08/04(土) 15:48:09 ID:???
>>469
PHPでもPythonでもPerlでもRubyでも何でも。
環境と好みで。
積極的に選択するなら、一番コストの少ないやつ。
OSに標準で入ってて環境をいじる必要が無いやつとか、
過去に自分で書いたコードを流用できるやつとか。
472nobodyさん:2007/08/04(土) 16:05:23 ID:???
>>470
答えられた奴はエスパーなんだからもうほっとこうぜ
473nobodyさん:2007/08/04(土) 16:21:47 ID:???
ぱいそんくんの日本での普及率の低さは異常
474nobodyさん:2007/08/04(土) 16:31:04 ID:???
>>465
おまえバカ
475nobodyさん:2007/08/04(土) 16:32:33 ID:???
ぱっと見でおっぱい括弧を探す癖がついてるからか
phthonといいrubyといいインデントでブロック判断するのはどうも慣れないな・・・
476nobodyさん:2007/08/04(土) 17:01:53 ID:???
今から勉強するとなれば
Perl<pythonだけどな
477nobodyさん:2007/08/04(土) 17:16:26 ID:???
Phytonは面白いよね。Zopeの印象が悪すぎるんだよ。
478nobodyさん:2007/08/04(土) 17:24:06 ID:???
PHPerって「ピーエイチパー」って読むの?なんかマヌケな響き・・
479461:2007/08/04(土) 18:26:46 ID:yv7m/dc0
>>463-468
レスありがとうございます

Aスレが開かれたとき、AスレのIDをセッション変数におさめ、
次にBスレが開かれたとき、Bスレのレコードの"このスレを見ている人はこんなスレを・・・(仮名)フィールド"にAスレのIDをいれる
と同時にBスレのIDをセッション変数に・・・

こんな考え方ですかね?
480nobodyさん:2007/08/04(土) 18:30:55 ID:???
PHPuser
481nobodyさん:2007/08/04(土) 18:44:02 ID:???
オッパッピーが正解。
482nobodyさん:2007/08/04(土) 18:55:29 ID:???
くだらんがワロてしまった
483nobodyさん:2007/08/04(土) 19:18:06 ID:???
>>474
なぜこれが使えないのは説明してからいいましょう。
できないりゆうを述べてください、おまちしております。
はい、どうぞ
484nobodyさん:2007/08/04(土) 19:59:09 ID:???
>>483
何ムキになってんの?
485nobodyさん:2007/08/04(土) 20:25:15 ID:???
>>479
ただ「こんなスレも見ています」っていうのだったらそれでおk
486nobodyさん:2007/08/04(土) 20:54:56 ID:???
>>485
まぁ、確かにその程度のレベルならそれでもいいな。
プロはそんな陳腐な作りにはしないけど。
487nobodyさん:2007/08/04(土) 21:03:56 ID:???
プロパティの有無をクラスの中から調べる方法教えてください。
iseetだと、値を代入していないプロパティを検出できません。

↓これは検出できるが
class hoge {
private $moge = '';
}

↓これは検出できない
class hoge {
private $moge;
}

488nobodyさん:2007/08/04(土) 21:10:49 ID:???
>>483
おまえバカ
489nobodyさん:2007/08/04(土) 21:14:50 ID:???
>>486
プロはどんな作り方にすんの
490nobodyさん:2007/08/04(土) 21:15:31 ID:???
>>487
if($this->moge)
491nobodyさん:2007/08/04(土) 21:15:33 ID:???
そんな作り方だよ
492nobodyさん:2007/08/04(土) 21:16:37 ID:???
日本語の文章を名詞や動詞やらに分解するいい方法教えてください
493nobodyさん:2007/08/04(土) 21:18:35 ID:???
動詞 〜しろ、〜する、〜しよう、〜したい
名詞 〜で、〜を、〜に、〜は
みたいな
494nobodyさん:2007/08/04(土) 21:19:53 ID:???
>>487
class hoge
{
function check_vars()
{
var_dump(get_defined_vars())
}
}

$class = new hoge();
$class-Lcheck_vars();
495nobodyさん:2007/08/04(土) 21:20:33 ID:???
>>490
$mogeに値が入ってないからそれだと無理です
496485:2007/08/04(土) 21:22:12 ID:???
俺だったら「こんなスレをよく見ています」ってランキングにするかな
俺がプロかどうかはまた別だが
497nobodyさん:2007/08/04(土) 21:26:53 ID:???
>>492
chasen
498nobodyさん:2007/08/04(土) 21:34:29 ID:???
2chの『こんなスレ…』って、実はただのランダム抽出なんだけどねw
499nobodyさん:2007/08/04(土) 21:46:03 ID:???
>>494
それだとただローカル変数(notプロパティ)が取得できるだけでは
500nobodyさん:2007/08/04(土) 21:49:49 ID:???
>>492
形態素解析 php
chasen kakasi namazu

とかでググレカレー
501nobodyさん:2007/08/04(土) 22:03:20 ID:zy9Gu8y/
スレッドフロート型掲示板のトップソート機能の内部処理について教えて下さい。
502nobodyさん:2007/08/04(土) 22:09:53 ID:???
>>501
内部処理のどのへんについて教えてほしいですか
503nobodyさん:2007/08/04(土) 22:16:30 ID:???
時間をunixタイムスタンプで比較すると、
38年問題に対応できないですよね
38年問題にひっかからない時間比較はどうすればできますか?
504nobodyさん:2007/08/04(土) 22:19:40 ID:???
このスレを見ている人はこんなスレも見ています。(ver 0.20)
WEB制作業界からの脱出!index9.html [転職]

( ゜д゜)
505nobodyさん:2007/08/04(土) 22:20:49 ID:???
まぁ、なんとなくは分かる
506nobodyさん:2007/08/04(土) 22:21:39 ID:???
>>499
?違うよ。これで十分だろ。
満足しないら
get_class_vars(get_class($this));
でやりな。

507nobodyさん:2007/08/04(土) 22:23:43 ID:???
>>503
30年間同じシステム使う可能性をまず考える
508nobodyさん:2007/08/04(土) 22:34:41 ID:???
>>507
これだから、素人は困るぜ。
業務システムで、数年〜数十年先の未来日付をデータとして扱うことなんかザラ。
ローンのシュミレーションとかがそうだ。
まったく、このスレ夏真っ盛りだぜ。
509nobodyさん:2007/08/04(土) 22:35:17 ID:???
unixの時計を狂わせればいいだけのこと
510nobodyさん:2007/08/04(土) 22:36:41 ID:zy9Gu8y/
>>502
どうやって実現出来ているのかがわからないのです。新しいスレが投稿されたり、レスがあったのをトップソートさせるためにphp側はどんな処理をしているのでしょうか。
511nobodyさん:2007/08/04(土) 22:40:10 ID:???
>>510
スレ自体にupdated_atとかの適当なフィールド作って
レスつく度に更新させればいいだけじゃね?
512nobodyさん:2007/08/04(土) 22:43:31 ID:???
>>508
30年ローンってどんなんだよwせいぜい10年使うとしても20年。
そんなクラの案件扱った事無いんだがどんなところでそういうのあるんだ?
513nobodyさん:2007/08/04(土) 22:44:12 ID:???
闇金
514nobodyさん:2007/08/04(土) 23:00:58 ID:zy9Gu8y/
>>511さん
…すみません。
よくわからないのでわかりやすく説明してほしいです。
515nobodyさん:2007/08/04(土) 23:01:05 ID:???
>>508
数年ならともかくphpで数十年先の日付を扱うシステムを
構築しようとするお前の方が素人
516nobodyさん:2007/08/04(土) 23:05:19 ID:???
素人呼ばわりされれば、今度はPHPを叩きにくるか。
やめてくれ、可哀相だろ、PHPが。
517nobodyさん:2007/08/04(土) 23:14:58 ID:???
実際に今どうやって作っているのかわかんないから説明のしようがないです
sqlで作ると仮定した場合だと

親スレテーブル
id,タイトル,作成日時,更新日時

子スレテーブル
id,親スレid(FK),名前,内容

とでもしておいてスレに投稿される度に親スレの「更新日時」フィールドを
今の日付にupdateするだけです。
topでは更新日時順で取り出し。

>>513,516
普通に考えると>>515の言ってる事の方が納得できるよ。
お金に関した物や長期的に使うシステムだと信頼性や強度から言ってphpじゃ役不足です。
518nobodyさん:2007/08/04(土) 23:20:33 ID:???
役不足
役不足
役不足
519503:2007/08/04(土) 23:23:04 ID:???
喧嘩はやめて下さい
どうすればいいかだけを教えて下さい
520nobodyさん:2007/08/04(土) 23:25:43 ID:???
>>508がそういうのをよく扱ってるらしいから聞いてみるといいよ
521nobodyさん:2007/08/04(土) 23:36:58 ID:zy9Gu8y/
>>517
ありがとうございます。
522nobodyさん:2007/08/04(土) 23:47:54 ID:???
ブロック中にコメント文を書くと、
「そのコメントがどこまでかかっているか」が分かりにくいです
どこからどこまでかかっているのかが
わかりやすいコメント法があれば教えて下さい
523522:2007/08/04(土) 23:58:52 ID:???
新発見しました
ブロック中にブロックを書いても問題ないんですね
これでコメントの範囲を指定できそうです

function hoge ()
{
{
// comment
echo 'no error';
}
}
524nobodyさん:2007/08/05(日) 00:20:21 ID:???
525nobodyさん:2007/08/05(日) 00:32:42 ID:???
キャメルケースで、途中に大文字の単語が入る場合はどうすればいいですか?
hogePHPFugaみたいになったらかっこわるいんですが。
hogePhpFugaにするか
hogePHPfugaにするか
くらいしか方法なさそうですが、標準的な方法ってありますか?
526nobodyさん:2007/08/05(日) 00:39:43 ID:???
>>525
途中に入れなければいい。自分はOf使うな。
hogeFugaOfPHP
fooBarOfDB
527nobodyさん:2007/08/05(日) 01:06:32 ID:Mpx0Qpnu
10万件のデータに100万件のデータを総当りで検索する必要があるのですが、
検索の都合上、10万件のデータにLIKE演算子を使わざるを得なく一回当たりの
検索コストが0.7秒掛かってしまいます。

0.7秒×100万件=70万秒=194時間掛かってしまうのですが、
DB上の検索処理ではなく、phpで正規表現などをつかって時間の短縮が
測れるようなテクニックはないでしょうか?

194時間PCが使えないのは、さすがに厳しいので、せめて1日に短縮できたら、
すごく助かるのですが・・・
宜しくお願いします。
528nobodyさん:2007/08/05(日) 01:28:24 ID:???
ぱいそんくんは処理速度早いらしい
どうしてもPHPでなければならないのなら、中古屋から一万PC買ってこい
どっかのサイトにクラックでもする気か
529nobodyさん:2007/08/05(日) 01:31:48 ID:???
>>527
phpというよりか、DB側じゃね?
DB鯖の構成にも寄るけど、クエリ5分割とかして並列実行させてみるとか


like句は後方参照のみ?
何のDBか知らんが、read_buffer_size やら sort_buffer_size の調整はしてみた?
530nobodyさん:2007/08/05(日) 03:40:42 ID:???
またクラック厨かっ!
531nobodyさん:2007/08/05(日) 05:41:38 ID:ZbLLWuy9
クラスってものがわかりません。
公式のサイトみてもコードが長すぎて・・・

どなたか「こんにちは」か「こんばんわ」を表示するクラスを
書いていただけないでしょうか?
532nobodyさん:2007/08/05(日) 08:47:51 ID:rNGqt6E+
>>531
クラスにおいて表示するのはメソッドです。
こんにちはかこんばんはを表示するクラスという要件では設計が難しすぎです。
一般にこんにちはかこんばんはを表示するのはファンクションです。
533nobodyさん:2007/08/05(日) 09:19:55 ID:???
↑こいつのレスは面白くない
534nobodyさん:2007/08/05(日) 10:54:09 ID:???
>>531
いっちょおれがかいてやるぅ

public class hello{
public static void main(String[] args){
System.out.println("こんちゃ");
}
}
535nobodyさん:2007/08/05(日) 12:08:18 ID:???
>>527
forでループして検索するの?
536nobodyさん:2007/08/05(日) 12:38:33 ID:???
>>534
スレ違いです
537nobodyさん:2007/08/05(日) 15:33:06 ID:???
XREAサーバー使っている奴いる?
朝から爆発していて、他の鯖まで誘爆しまくっているww
上等だzeeeeee

ばっこするぞぉ!!!
538nobodyさん:2007/08/05(日) 15:41:31 ID:???
スレ違い
539nobodyさん:2007/08/05(日) 15:59:36 ID:???
>>538
ちょwwww
ここはXREA使ってる香具師はしないのかよ!!!!

全然、遅いし。どないやねーんがーなー
540nobodyさん:2007/08/05(日) 16:14:27 ID:???
s101だけど全く問題ないし、スレ違い
541nobodyさん:2007/08/05(日) 16:22:09 ID:???
542nobodyさん: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
と出て、インストールが開始されません。
どうしたらいいでしょうか?
543nobodyさん:2007/08/05(日) 23:57:37 ID:???
>>542
微妙にスレチだが
yum -y install php-cli
でいいんでね?
544nobodyさん:2007/08/06(月) 00:03:24 ID:eMHMQZdt
同じページを10分以内に2回以上おしても、カウントは1回までしかしない、
という風にしたいのですが、
クッキーやセッションを使う以外に簡単な実装方法はないでしょうか?
クッキーはブラウザの設定に左右されてしまうし、
セッションは正直よく理解できなくて敬遠気味です・・・
下手に無理してコーディングして穴作るのもいやなんでどうか宜しくお願いします。
545nobodyさん:2007/08/06(月) 00:31:44 ID:???
DBにアクセス状況をユーザーごとに保存。
セッション難しいやつにWebアプリは厳しい。
546nobodyさん:2007/08/06(月) 00:40:57 ID:???
>>544
>クッキーはブラウザの設定に左右されてしまうし、
セッションもそう
547nobodyさん:2007/08/06(月) 00:44:09 ID:???
>>544
セッション、クッキーつかわないって縛りだと
そういう機能をつけるのが難しくなるので
簡単には実装できなくなります
548542:2007/08/06(月) 00:44:46 ID:JgvoQd5M
>543
レスありがとうございます。
とりあえずそれは試したのですが、
Parsing package install arguments
No Match for argument: php-cli
こう言われてしまいます。
何か方法はないでしょうか?
549nobodyさん:2007/08/06(月) 00:47:08 ID:???
>>542

yum groupinstall php とか
yum install php-* とかやっとけ、つうか実験するときはどこか参考にしながらやれよ。
550nobodyさん:2007/08/06(月) 01:39:45 ID:???
┏━━━━━━━━━━━━━━━━━━━━┓
┃                                  ┃
┃             J( 'ー`)し                 ┃
┃              ( )                 ┃
┃               | |              ┃
┃           【カーチャン】             ┃
┃                                  ┃
┃.  カーチャンを見た人はいつでもいいので     ┃
┃      生きている間に親孝行して下さい。    ┃
┃                                  ┃
┗━━━━━━━━━━━━━━━━━━━━┛
551nobodyさん:2007/08/06(月) 03:20:13 ID:umt85QTT
nビットの符号なし整数の最大値は
pow(2,$n)-1
でわかりますが、これが64ビットくらいになるとうまく表示されません
文字列でいいからうまく表示されるようにするにはどうすればいいですか
552544:2007/08/06(月) 06:08:23 ID:M0QKy+cD
>>545-547
どうもありがとうございます。
敬遠していたものの、PHPを続けるにあたって避けれない箇所だと思うので、
この機会に頑張ってセッションの勉強をしてみたいとおもいます。
553nobodyさん:2007/08/06(月) 06:45:28 ID:???
>>551
コンパイルし直さなきゃならないかもしれないけど。
http://jp2.php.net/manual/ja/function.bcpow.php
http://jp2.php.net/manual/ja/function.gmp-pow.php
554nobodyさん:2007/08/06(月) 12:17:13 ID:???
555nobodyさん:2007/08/06(月) 12:37:04 ID:???
ずばりphpを使う事の利点って何だと思いますか?
556nobodyさん:2007/08/06(月) 12:38:49 ID:???
>>555
無料 気軽 シンプル 考えるより先に動くものを作れる
557nobodyさん:2007/08/06(月) 13:47:34 ID:???
>>555
javaやperlなんかより数十倍早くWebアプリが作れる
558nobodyさん:2007/08/06(月) 14:00:17 ID:???
javaより早いってことはありえないだろ。少なくとも「数十倍」なんてないない。
559nobodyさん: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);
こういう風に書き換えたんですが、やっぱりだめでした。

どうすれば改行を含んだタグ内の文字列を取得できるんでしょうか。
お願いいたします。
560nobodyさん:2007/08/06(月) 14:06:19 ID:???
>>559
つ[ strip_tags ]
561nobodyさん:2007/08/06(月) 14:43:56 ID:???
>>559 改行削除してからマッチさせる方法じゃ、ダメ??

$file = file_get_contents($url);
$file = str_replace("\n","", $file);
562560:2007/08/06(月) 14:45:33 ID:???
>>559
書き換えだったんだね・・・よく読まずにタグを取りたいんだと
勘違いしたすまん

563nobodyさん:2007/08/06(月) 15:00:00 ID:apvw8HmB
>>560-562
ありがとうございます。
strip_tagsは盲点でした。
一応これで、文字列を取り出して、この文字列にマッチしたものをpreg_replaceしたのですが、
<h1>一行で<h1><h2>かかれてる</h2>
こういう行や、途中に改行のある行は、無視されてしまいます。
つまり、単純な<p>こういう文章</p>だけしかヒットしませんでした。

う〜ん、難しいのかな、こういうのは。
564nobodyさん:2007/08/06(月) 15:30:25 ID:apvw8HmB
すいません、
file()で配列に1行ずつ入れているということを言い忘れていました。
連結しなきゃ、絶対判断できないですよね。。。
でもソースのタブや改行を維持したいんですよ。
無理でしょうか??
565nobodyさん:2007/08/06(月) 16:11:47 ID:???
>>558
なんで?
566nobodyさん:2007/08/06(月) 16:43:47 ID:???
>>564
fileで読んでforeachで回して1つの文字列に汁。
開始、閉じタグをpreg_split汁
中身の入っている配列だけ取り出す
ってのはどう?
567nobodyさん:2007/08/06(月) 16:56:46 ID:9ONTVzmv
preg_match_all("/\<title\>(.*?)\<\/title\>/si", $html, $match);
foreach($items[1] as $item){

}

こんな感じにすれば複数行でも取得できるはずです
正規表現で複数行取得の修飾子のsを入れるのがポイントです
568nobodyさん:2007/08/06(月) 17:15:07 ID:apvw8HmB
>>567
ありがとうございます。
どちらにせよ、連結しなければいけないですよね?

正規表現、覚えられる気がしない・・・・・・。
569nobodyさん:2007/08/06(月) 17:51:11 ID:apvw8HmB
配列を連結させ、
preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/si", $html, $matches, PREG_SET_ORDER);
としてから、$matchesの内容を確認したところ、ページのソース全てがマッチしてしまったようです。
うーん、よくわからん。。。
570nobodyさん:2007/08/06(月) 17:55:25 ID:FNzF7YoD
phpの質問かどうかちょっと分からないんですが、
セッションクッキーってどれくらい強固なんでしょうか?

セッションのクッキーでない、いわゆる一般のクッキー偽装って
自分のPCで編集しようと思えばできそうだけど、
自分のPCからでも参照できないセッションクッキーって
セキュリティの穴がなさそうに見えるんですが、どうなんでしょうか?

どこかに詳しいサイトありませんか?
571nobodyさん:2007/08/06(月) 18:47:52 ID:???
>>570
セッションハイジャックでググるべし
572570:2007/08/06(月) 18:57:33 ID:???
>>571
そんな単語がw
ありがとうございます、調べます。
573nobodyさん: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"] としても、正しい値を表示します
よろしくお願いします
574nobodyさん:2007/08/06(月) 20:46:08 ID:???
<a href="logout.php?user_id=<?php echo $_SESSION["user_id"]; ?>&onamae=<?php echo $_SESSION["onamae"] ?>">ログアウト</a>
575nobodyさん:2007/08/06(月) 21:00:20 ID:OuVmhPr1
>>574
ありがとうございます  ウッカリしてました。確かにechoがいりますね

聞きたいのですが、session_unset() っていうのは、セッションを全て削除するとはいっても、
そのサイトで使っているものだけですよね?
他のサービスで使っているものは破棄しないですよね?
それでもsession_destroyとの使い分けを知りたかったので質問させてもらいました
576nobodyさん:2007/08/06(月) 21:20:14 ID:???
質問させて下さい。
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のコマンドラインオプションで権限変更できそうな項目を探す
を思いつき探しているのですが、どれもいい方法が見つかりません。

もし宜しければお力添えしていただけないでしょうか。宜しくお願いいたします。
577nobodyさん:2007/08/06(月) 21:22:57 ID:SHp45+BZ
function文の中から関数名を参照したいんですが
そのような定義ずみの変数ってないでしょうか?

578nobodyさん:2007/08/06(月) 21:26:57 ID:???
>>577
え?そのまま使えるでしょ。
579577:2007/08/06(月) 21:33:35 ID:???
>>578
動的に参照したいんです
580nobodyさん:2007/08/06(月) 21:41:06 ID:???
すみません。
批判的なレスをすると、すぐに公開PROXY規制されます。
誰がどうやって、ホストを調べて公開PROXY規制をかける
のか、仕組みが分かる方はいますか?
581nobodyさん:2007/08/06(月) 21:51:40 ID:???
>>577
__FUNCTION__
582nobodyさん:2007/08/06(月) 21:52:13 ID:???
>>580
何のことを言ってるのかね

規制をかけるのは常識的に考えて管理人
Proxyは特有の環境情報を吐くのでそれを見てProxyかどうかを判定
公開Proxyを毎日チェックしてデータベースに蓄積させてるというわけではない
583582:2007/08/06(月) 21:53:12 ID:???
環境情報→環境変数に脳内変換よろ
584580:2007/08/06(月) 21:59:34 ID:???
>>582
公開ProxyじゃないのにProxy規制されるんです。
スレのテーマについて、アンチレスをした時だけすぐに。
なんか書き込みさせないようにされてる。
そんなことはあり得ますか?
585577:2007/08/06(月) 22:17:14 ID:SHp45+BZ
>>581
サンクスです!
586nobodyさん:2007/08/06(月) 22:19:03 ID:???
>>584
一応言っとくがPHPとは全く関係ないしスレ違いなんだよ
あと荒らしを手助けする場所ではないからな

公開・非公開なんて串を制限するのに関係ない
串とわかる判別方法がいくらかある

>スレのテーマについて、アンチレスをした時だけすぐに。
自動でそういう仕組みを作ることは可能
最初から串通してカキコしてるなら
串制限されてるというよりIP制限されていると考えるほうが自然
串変えても書き込みできない場合クッキーやセッションの情報が残ってると考えるのが自然

通常一人の荒らしにたいして毎回串制限かけるなんてことはしない
587580:2007/08/06(月) 22:43:55 ID:???
>>586
すみません。
初心者なのでどこで質問すればいいか
分かりませんでした。
串の刺し方もPHPの知識もないです。
それと「荒らし」じゃありません。
ゲーム関係スレで信者に意見しただけです。
親切な回答どもです。バカなので理解少しですが
IP制限をみてみます。
588nobodyさん:2007/08/07(火) 00:16:58 ID:ZZAVPEGP
サイト内の全文検索をPHPでしたいと考えているのですが
自分がかりてる鯖ではそのためのツールを用意していないとのことでした。
Namazuその他の全文検索ツールを見るといずれも鯖にインストールが必要なようですが
共用鯖の個人が使えるようなライブラリ等で、代用できるようなツールってないでしょうか?
589nobodyさん:2007/08/07(火) 01:01:18 ID:???
590nobodyさん:2007/08/07(火) 01:12:42 ID:ZZAVPEGP
いや別に既存のCGIを探してるわけじゃないんです。
ライブラリやモジュールの話は板違い?
591nobodyさん:2007/08/07(火) 01:19:39 ID:???
>>564
file_get_contents
592nobodyさん:2007/08/07(火) 01:27:59 ID:???
>>588
strpos()
593nobodyさん:2007/08/07(火) 02:28:03 ID:fxW4NvJ3
バイナリパッケージでmysqlをインストールした場所と、
phpinfoで出てくるMYSQL_SOCKET等の位置が異なり、
PHPからmysqlに接続できません。
ApacheやPHPはRPMでインストールしました。
どうすればmysqlに接続出来るようにできますか?
594nobodyさん:2007/08/07(火) 02:45:23 ID:???
PERLもつかえる人imasuka?
595nobodyさん:2007/08/07(火) 02:59:44 ID:???
いないわけねーだろ
596nobodyさん:2007/08/07(火) 03:03:24 ID:???
あなたはつかえますか?
597nobodyさん:2007/08/07(火) 03:06:56 ID:???
くだらねーけどさ、
Perlの後発であるぱいそんとPERLでは、
これから1から習得するとなればどっちが優位な選択?
Perlは日本での普及もしてるわけで困ることも少ないだろうけど、
言語としてはぱいそんのほうが優れてるのは明白なんだよな。
しかし日本での普及率といったら全然で、苦労することも色々と出てくるんじゃないかと。
598nobodyさん:2007/08/07(火) 03:10:20 ID:???
paisonのどこがすぐれてるのか具体的に
599nobodyさん:2007/08/07(火) 03:13:33 ID:???
ソースコードが見やすいのとPerlに影響を受けていること、それから人から聞いた話ではバージョンアップによる影響がないとか
600593:2007/08/07(火) 03:13:48 ID:???
色々ぐぐったところ
どうも後からの設定ではMYSQL_SOCKET等を変えたりは出来ないようで…。
RPMでPHPを入れるならmysqlもRPMにしておけということでしょうか
601nobodyさん:2007/08/07(火) 03:18:37 ID:???
PythonはGoogleでも積極的に使われてたり、
世界でも通用しそうなイメージはあるな。
Perlはもはや過去の遺物じゃないかね。
602nobodyさん:2007/08/07(火) 03:20:20 ID:???
うむ。Perlに拘っている人は胃の中の大腸菌かと。
ただ開発環境を整えるのに一苦労なんだよね>python
603nobodyさん:2007/08/07(火) 03:21:03 ID:???
pythonの話なら他でしろや禿
604nobodyさん:2007/08/07(火) 03:22:00 ID:???
関連があるので許す
605nobodyさん:2007/08/07(火) 04:22:59 ID:jAF++rY9
質問というか相談です。
今、PHP5の勉強をしてるのですが、本でオブジェクトやクラスの解説を読んでいると、
凄く観念的というかややこしくてクラクラしてきます。
(abstract宣言とか抽象クラスとかオブジェクトインターフェースとか)
これらは全部理解しないとまずいんでしょうか?  みんな完璧にマスターしてるの?
おそらく、効率化を考えたり、他人のプログラムの引継ぎをする立場なら
理解していた方がいいと思うんですが、とりあえず無視して出来る範囲で
プログラム組んでくってやり方じゃまずいでしょうか?
ちなみに僕はデザイナで、理解できた方がいいだろうという動機でPHPやってます。
606nobodyさん:2007/08/07(火) 04:31:00 ID:???
別にPHPで無理してOOPやらなくても・・・
小中高の授業じゃないんだし、片っ端から全て覚えるなんて必要はなく、
必要になったら覚えるっていう程度で問題ない。
必要性を感じないなら無視していいし、必要性が感じられればまたそこに戻ればいい。
デザイナならそれだけで食っていけるだろうに。
才能を持ってるってうらやましいぜ。
607nobodyさん:2007/08/07(火) 04:33:11 ID:???
オブジェクト・クラスはプログラム組んでるうちに分かるようになるから、それなりに慣れが必要かと
実際説明文を読んで理解しようとするよりも、どういった動作の流れかを解析することで理解できるようになるかと
まぁSE目指してるんなら技術を習得する価値はあるかと
608nobodyさん:2007/08/07(火) 04:34:34 ID:???
WEBエンジニア→デザイナ 困難
デザイナ→WEBエンジニア 努力次第で何とか
609nobodyさん:2007/08/07(火) 04:38:04 ID:???
>>608
おれの夢をくずさないでくれ
610nobodyさん:2007/08/07(火) 04:44:18 ID:???
いや、でもまあセンスさえあればデザイナも困難ではないんじゃね
簡単さではデザイナ>エンジニアなんだし、コツさえ掴めば何とか...
611588:2007/08/07(火) 05:38:49 ID:f/NUq+xJ
まだ作業途中ですがpnamazuでなんとかいけそうです。
最良の選択かどうかはわからないけど・・

>>592
下らねぇ「回答」はスレ違いかと。
612nobodyさん:2007/08/07(火) 05:41:05 ID:???
pnamazuでいいだろ
それ以上のことやりたいなら自分で書けよ
613nobodyさん:2007/08/07(火) 05:47:48 ID:???
>WEBエンジニア→デザイナ 困難

別に困難だとは思わないけどなぁ
むしろロジックを知っているからプログラマーにやさしいデザインを作ってくれるような気がする
614nobodyさん:2007/08/07(火) 05:52:05 ID:???
デザイナーもおkなら独立するだろ、常考
615nobodyさん:2007/08/07(火) 06:05:41 ID:???
>>611
お前は質問者という以前に人間として最悪だ
616nobodyさん:2007/08/07(火) 06:08:40 ID:???
>>615
負け惜しみ乙
617nobodyさん:2007/08/07(火) 06:10:52 ID:???
>>613
デザイナーはなりたくてなれるもんじゃないんだよ。
勉強したって努力したって結局はセンスと才能次第。
幼少期の感性が特に重要になってくる。
>むしろロジックを知っているからプログラマーにやさしいデザインを作ってくれるような気がする
結局はクライアント次第なんだよ。
618nobodyさん:2007/08/07(火) 06:15:31 ID:???
619nobodyさん:2007/08/07(火) 06:23:53 ID:???
宣伝乙
620nobodyさん:2007/08/07(火) 09:17:59 ID:???
( ゚д゚ )
621nobodyさん:2007/08/07(火) 10:17:08 ID:???
>>613
プログラマーにやさしいデザインをつくることはできるとはおもう
ユーザーに受け入れやすくやさしいデザインを作る事は個人に依る

なんか俺、作り込めば作り込む程きたないデザインになるんだorz
622605:2007/08/07(火) 10:27:04 ID:nqMZFXTj
答えてくれた方ありがとうございます
やっぱりできるところからやったほうがいいですよね
理解できない技術を上手に解説してくれるようなコードを探しつつ
頑張ってみます  ありがとうございました
623nobodyさん: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が再起動できません。
どうしたらいいでしょうか?
624nobodyさん: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";
625624:2007/08/07(火) 11:40:23 ID:2PnksrHf
って書いた瞬間にimplodeが思いうかんだ・・・
自己解決しました。スレ汚しすみませんでした。
626nobodyさん:2007/08/07(火) 11:49:23 ID:???
>>623
Cannot load
can not load
読み込みできない = /usr/lib64/httpd/modulesにlibphp5.soファイルがない
627nobodyさん:2007/08/07(火) 11:51:59 ID:???
>>623
昔同じ症状になってLinux使いなれてないこともあってそのまま放置したなぁw
確かその時どっかで調べたんだけど、コンパイル時にlibphp5.soを作るみたいなオプションがあった気がする。
yumじゃ古いから困ったもんだね。
628623:2007/08/07(火) 11:56:25 ID:HmBP9Y+F
>626
レスありがとうございます。
/usr/lib64/httpd/modulesには
ちゃんとlibphp5.soが入っています。

ttp://archive.netbsd.se/?ml=php-install&a=2006-01&m=1656042
このへんと同じ状況だと思うのですが、解決策が見つけられません。
629nobodyさん:2007/08/07(火) 12:05:05 ID:???
http://www.oklab.org/language_c/php5_0_2_install_bug.htm

CentOSはRHELクローンだからこの問題抱えてるんじゃないかな?
>libphp5.soのみをはじめに作って、そのあとに自分の必要なconfigureでPHPのインストール作業を行うことで解決できます。
って書いてるけど一応試してみたら?
630nobodyさん:2007/08/07(火) 13:37:40 ID:???
>>616
勝ち負けがどの辺りでついたんだい?
無理やり宣言して自分の勝ちにしたい、しないと反論できないのはのはどっちだ?ん?
さっさと死ね知障糞野郎
631nobodyさん:2007/08/07(火) 13:53:41 ID:???
はいはい夏休みなんだから子供は外出て遊ぼうね
632nobodyさん:2007/08/07(火) 14:04:29 ID:???
そうそう、カブトムシとクワガタ捕まえた数で勝ち負け決めなさい
633nobodyさん:2007/08/07(火) 14:32:20 ID:???
>>576
proc_open 関数で runas コマンドを使うのはいかがかしらん。

>>593
php.ini の mysql.default_socket や、
または実行時に mysql_connect の $host 引数で、
mysqli_connect なら $socket 引数で、
PDO なら DSN の unix_socket パートでそれぞれ指定できるそうです。
これらとは違いますか?
634nobodyさん:2007/08/07(火) 14:53:27 ID:???
$a = 'A';
echo ++$a;
ってやると'B'と表示されますが

$a = 'A';
$x = 1;
echo $a + $x;
で'B'と表示させるにはどうしたらよいですか?
なにか関数を使ってやるのでしょうか?
635nobodyさん:2007/08/07(火) 14:55:46 ID:???
636nobodyさん:2007/08/07(火) 15:11:39 ID:???
>>634
echo chr(ord($a) + $x);
637nobodyさん:2007/08/07(火) 15:31:05 ID:???
>>636
ありがとうございました。
638nobodyさん:2007/08/07(火) 15:42:01 ID:HOQBI3SI
includeについて質問させて下さい
php4ではしっかり表示されるんですが
php5になるとエラーがでます。
○○のファイルはHTMLタグのテーブルです。

<? include("○○");?>
○○をURL指定でもよびだせません
相対パスでも呼び出せません。
php5から仕様がかわったのでしょうか?

includeに同じようなタグはphpではありませんでしょうか?
アドバイスお願いします;;
639nobodyさん:2007/08/07(火) 15:45:30 ID:???
>>638
>php5になるとエラーがでます。
エラー内容は?
<?php
include("○○");
?>

でもダメ?
640nobodyさん: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

です。サーバのどこの設定を変えればよいのでしょうか?
641nobodyさん:2007/08/07(火) 16:04:07 ID:???
画像アップローダをやっていますが、
ツールで一括ダウンロードされないようにするにはどんな方法が有りますか?
642nobodyさん:2007/08/07(火) 16:06:10 ID:???
<わからない五大理由>
1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
643nobodyさん:2007/08/07(火) 16:19:18 ID:???
>>640
ファイルの文字コードがEUCでUTF-8ではないとか?

>>641
リクエストヘッダで確認
それ以外は基本的にむりじゃない?
ブラウザで表示した時点で一括ダウンロードなんだし…
644nobodyさん:2007/08/07(火) 16:25:00 ID:???
>>641
cookieを使うとか、javascriptでファイルへのリンクを作るとか、captchaとか、
どの程度強く守るかによっていろいろ考えられるでしょ。
645nobodyさん:2007/08/07(火) 16:27:03 ID:???
Apacheのerror.logはASCIIのみだったような
646640:2007/08/07(火) 16:47:07 ID:Lc4TIg8i
>>643
>>645
php.iniのログの出力先を指定することにより、日本語のロギングができました。
ありがとうございました。
647638: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
それを実行しても同じエラーでした><

648nobodyさん:2007/08/07(火) 17:32:46 ID:???
>>638
URL指定ってhttp://〜ってことか
ファイルが同じサバにあるなら普通に絶対パスで呼び出せよ
649nobodyさん:2007/08/07(火) 18:28:10 ID:???
>>600
PHPでもMySQLでも、そのどちらの設定ファイルや
起動オプションでも位置を指定できる筈だが。それで問題あるの?

my.cnfの[mysqld]ディレクティブに
「socket=/tmp/mysql.sock」とか記述するか、起動オプション
php.iniの方は
「mysql.default_socket = /tmp/mysql.sock」
とかね。
650649:2007/08/07(火) 18:30:39 ID:???
>>600
ああ、PHPの方は>>633でレスしてくれてる人がいる
651nobodyさん:2007/08/07(火) 18:51:08 ID:q5cnbu6Y
PHP4からPHP5に今日から乗せ変えて実行していみたのですが、
画面が10回に1回程度、画面が途中から切れてしまいます。
http://web1.kcn.jp/00/cgi-bin/src/up0098.jpg

CSS使っているからかもしれませんが、どの辺の設定を見直せば宜しいでしょうか?
652nobodyさん:2007/08/07(火) 18:54:04 ID:???
>>651
php5インストールしたときの環境は同じ環境?

php.iniをdiffしてみるとか。
653nobodyさん:2007/08/07(火) 19:06:57 ID:???
おい、なんで画像がグモなんだぜ?
654nobodyさん:2007/08/07(火) 19:20:08 ID:2wg4iJ0g
最近、登録フォームのページ推移を旧式の
form.php→confirm.php→complete.php
に戻したのですが、別にセキュリティ的に問題ありませんよね?

今までは↓のようにしていたのですが、なんか使いづらくて・・。
index.php?page=inquiry_form
655nobodyさん: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は元のバイナリコードのまま)

絵文字を変換できればいいので、正規表現であることにはこだわりません。
どなたか教えてください。
656nobodyさん:2007/08/07(火) 19:55:09 ID:MdqSrwDz
foreach($list as $key => $value){
echo "$key$value";
}
$keyは0から始まりますが、1から始まるようにすることはどうやってできますでしょうか?
657nobodyさん:2007/08/07(火) 20:04:06 ID:???
>>656
if($key==0)continue;
658nobodyさん:2007/08/07(火) 20:09:29 ID:MdqSrwDz
>>657
ありがとうございます。
659nobodyさん:2007/08/07(火) 20:17:00 ID:???
どういたしまして
660nobodyさん:2007/08/07(火) 22:23:25 ID:sWk5FzeF
セーフモードになっているのでファイルを作れないのですが、
cgiだとプロセス使って重くなるらしいので、
ファイル作成の部分だけを別離して、
if (!file_exists("filename")) {
//アクセスするだけでfilenameが作成されるcreate.cgiにアクセス
}
ということをしたいのですが、このcgiを呼び出す(アクセスする)ための関数みたいのありますか?
661nobodyさん:2007/08/07(火) 22:46:57 ID:???
>>660
file_get_contents
662nobodyさん:2007/08/08(水) 01:14:15 ID:???
>>661
暑さで頭がいかれてますね
663nobodyさん:2007/08/08(水) 01:29:50 ID:???
> アクセスするだけでfilenameが作成されるcreate.cgiにアクセス
は満たしてるような
664nobodyさん:2007/08/08(水) 03:40:33 ID:9os+tc0T
質問します(winXP + Apache2 + php5.2.3 です)
会員認証や、会員情報の登録を行うプログラムを作っているのですが、
セキュリティを高める為に、接続先DB関連の情報(ホスト名やsqlのuser、pass)を
宣言したPHPはhtdocsの外に置いてそれぞれ定数化するなどし、実行側PHPでは
それをincludeするなどしたほうがいいんでしょうか?

会員認証・情報登録のシステムを作る上で皆さんが行っている
セキュリティ向上の為の仕掛けやアイディアを教えてください。
よろしくお願いします。
665nobodyさん:2007/08/08(水) 03:50:01 ID:???
>>664
DBの情報は、各ページのGETのパラメータで渡しているよ。
666nobodyさん:2007/08/08(水) 04:16:21 ID:9os+tc0T
>>665
ありがとうございます
具体的にはどういうことでしょうか?
henkou.php?dbhost=www.aaa.co.jp&dbUser=uName&dbUser=dbPass
みたいな感じですか? (僕の誤解でしょうか)
失礼ですが、もしこういう意味なら、逆に危なくないですか?
(セッションに保存した方がよさそうな…)
それともそんなに気にかける必要ないといういみでしょうか?

こんな時間に済みませんが、また気が向いたら教えてください
他の方もよろしくお願いします
667nobodyさん:2007/08/08(水) 04:44:39 ID:???
>>664
別にやらないよりはやったほうがいいんじゃない
大事なのはどの手法にどんな利点と欠点があるかを正しく把握することかと
668nobodyさん:2007/08/08(水) 04:57:16 ID:???
>>666
おいおい、そうじゃないよw
GETパラメータを内部ターンで回せばって言っている。
.htaccess使っているなら、rewriteを使ってGETパラメータ渡しすれば、
管理も楽でセキュリティーもかなり強固になる。
669nobodyさん:2007/08/08(水) 05:20:50 ID:???
>>667
ですね〜 知識不足なんで色々調べてみます
ありがとうごさいました

>>668
htaccessをつかうんですか。知りませんでした、まるきり勘違いですみません…
調べて試したいと思います
ありがとうごさいました!


他にも気が向いた方がいたら、ご意見よろしくお願いします
670nobodyさん:2007/08/08(水) 07:31:07 ID:???
>.htaccess使っているなら、rewriteを使ってGETパラメータ渡しすれば

これはあんぜんなの?
671nobodyさん:2007/08/08(水) 07:58:39 ID:???
だめでしょ。rewrite使う(使える)んだったら、一般的にダメダメな「GET」(Queryコンポーネント)
でなんか処理なんかしないよ。REQUEST_URIとかPATH_INFOのパスコンポーネント系で処理する。

672nobodyさん:2007/08/08(水) 08:43:05 ID:???
>>665 >>668
むちゃくちゃすぎ
673660: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の本来の使い方とはだいぶ外れてるようですが、気にしないでいいですか?
もっと的確な関数や方法があれば是非アドバイスお願いします。
674nobodyさん:2007/08/08(水) 09:48:51 ID:???
include とか
675nobodyさん:2007/08/08(水) 10:00:15 ID:???
>>673
file_get_contentsはファイルのテキスト全文読み込み
includeはファイル読み込み
a.cgiをバックグラウンドで実行したいみたいだから
execかsystemじゃないのか??
676nobodyさん:2007/08/08(水) 10:22:42 ID:KXoVBglR
すみません、>>655ですがどなたかヒントをいただけませんか?
677nobodyさん:2007/08/08(水) 10:44:50 ID:???
>>676
たぶん正規表現の文字列のクオートをダブルクォートにする必要があるのと、
PHPのunpack()の返り値は文字列じゃなかったはず。
678660:2007/08/08(水) 10:53:10 ID:CLPnux1M
レスありがとうございます。

>>674
こちらも書き方が悪いかもしれませんが無理でした。

>>675
>execかsystemじゃないのか??
こちらの関数もセーフモードじゃ制限があるのでcgiでないと・・・orz
こちらでやるならcgiよりシェルスクリプトでも作ったほうがよさそうですね。

とりあえず別の方法を思いついたのでそちらを試して見ます。
(ファイルがなかったら全工程を記述したcgiにheader関数で飛ばすという荒業・・・)
679nobodyさん:2007/08/08(水) 11:02:21 ID:???
>>671
>PATH_INFOのパスコンポーネント系で処理する

というのは、shusei.php?namae=yamada という表記を /shusei/yamada とする処理のことですか?
この処理の意味は「ファイル名をディレクトリのように見せる」ということだと思うんですが、
その効果としては.phpを直接ダウンロードさせないことがメインなんでしょうか?
680nobodyさん:2007/08/08(水) 11:22:13 ID:???
>>678
ファイル_ゲット_コンテンツにhttp://から記入しなさい
681nobodyさん:2007/08/08(水) 13:01:37 ID:b5KxDrLF
Maximum execution time of 30 seconds exceeded
が発生したプロセスには死んでほしいのですが
なぜか固まって生き残ってしまいます。
この人たちに自殺させる方法を教えてください。
682nobodyさん:2007/08/08(水) 13:06:16 ID:???
>ファイル_ゲット_コンテンツ
683nobodyさん:2007/08/08(水) 13:09:54 ID:???
684681:2007/08/08(水) 13:32:24 ID:???
>>683
致命的エラーなのだから仕様上プロセスは終了するはずなのに
終了しないのはなぜですか
685nobodyさん:2007/08/08(水) 13:46:27 ID:???
function hoge(){
$var=計算式
return $var;
}

$a=hoge();

こうすれば$aに$varが入るのは分かるんですが、2個以上の返り血をもらいたいときはどう書けば良いんでしょうか

function hoge(){
$var1=計算式
$var2=$aを使って計算
return ????
}

$va1や$var2を計算する文を毎度書いているのでなんとかしたいです
686nobodyさん:2007/08/08(水) 13:54:54 ID:???
>>685
配列を使うとか
687nobodyさん:2007/08/08(水) 13:58:55 ID:???
2つに分けりゃいいじゃん
688nobodyさん:2007/08/08(水) 14:00:12 ID:???
クラスにして参照とか。
689nobodyさん:2007/08/08(水) 14:01:10 ID:???
天皇陛下に対して失礼な言動は日本国民として慎むべきだろ
690nobodyさん: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を付加してくれません。
ほかになにか設定を変更する場所があるのでしょうか?
(リンク先にも同じ設定をしています。)
691nobodyさん:2007/08/08(水) 14:17:05 ID:???
>>690
session_start( )してないだろ
692nobodyさん:2007/08/08(水) 14:23:53 ID:j6ELTh/z
すみません、原因は更に下らないことでした。
ローカルのリンク先ではなくサーバーのリンク先になっていましたorz
693nobodyさん:2007/08/08(水) 14:53:34 ID:???
あるあるww
694nobodyさん:2007/08/08(水) 15:00:00 ID:2+jr8RRc
HTMLをパースするのをpreg_match使って正規表現でゴリゴリやってるんだけど、
もしかしてxml関係の関数で簡単にできちゃったりする?
695nobodyさん:2007/08/08(水) 15:07:43 ID:???
xml !== html
696nobodyさん:2007/08/08(水) 15:28:29 ID:2+jr8RRc
>>695
どうもありがとうございます。
ですよね。でも構造が似てるので、できちゃったりするのかな、と思いました。
それでいろいろ調べてみた結果、tidy関数というものがありました。
そこで、もう1つ質問で、
PEARって、インストールしていないPHP上でも動くようにできないんですかね?
例えば、tidyのライブラリ?を作ったものの同じフォルダに入れて、zipしたり。。。
つまり、なるべくどこでも動くようにしたいのです。
697nobodyさん:2007/08/08(水) 15:38:15 ID:???
できる
698nobodyさん:2007/08/08(水) 15:41:52 ID:???
>>673
だからできないみたいなレスをつけてやったのにおまえときたら
699nobodyさん:2007/08/08(水) 15:42:43 ID:???
TidyはPEARじゃなくてPECLだけどね
PECLのインストールは管理者じゃないと無理
700nobodyさん:2007/08/08(水) 15:43:01 ID:???
>>680
おまえどこまでバカなの?
701nobodyさん: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
という形になっています
702nobodyさん:2007/08/08(水) 16:28:37 ID:???
>>700
そういうのもありかなと思ったけどね
リクエストがいってCGIは実行されるだろう
703nobodyさん:2007/08/08(水) 16:29:29 ID:???
>>701
そこまで考えれたんならもうちょっとだろ

・require_onceが対象ファイルを読み込む関数
・$documentroot.'../php_libs/config/config.inc.php';
・$documentrootの中身
704nobodyさん:2007/08/08(水) 16:54:42 ID:9os+tc0T
>>703
ありがとうございます  しかしわからないです
「.」 連結演算子?の理解不足なんですかね〜
現在の階層に相対パス(ファイル)をくっつけてる??? わけないか、、
本の文脈的には「config.inc.php」の中身を読みに行く処理だと思うんだけど…
見たことない書式なので…
705nobodyさん:2007/08/08(水) 16:56:38 ID:???
>>704
echo $documentroot.'../php_libs/config/config.inc.php';

してみればいいんじゃない?
706nobodyさん:2007/08/08(水) 17:02:55 ID:j6ELTh/z
HTTPリクエストでセッションIDを送信することってできますか?
mixiにログインして、自分のページの名前などを引っ張ってきたいのですが何か良い方法はないでしょうか
707nobodyさん:2007/08/08(水) 17:04:55 ID:???
ためしてみましたか?
ためしてみてできなかったら質問してください。
708nobodyさん:2007/08/08(水) 17:06:22 ID:j6ELTh/z
>>707
ログインを試しました
すると、ダミーページ?みたいなのがあって、そこでhome.plにジャンプする仕様でした
セッション維持できれば次にhome.plに飛ばすこともできるんですが、
どのようにすればセッションを扱えるのかなと
709nobodyさん:2007/08/08(水) 17:07:18 ID:OHuigtha
我是中国人。我,PHP完全不能。能?告???
710671: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系。
711nobodyさん:2007/08/08(水) 17:23:26 ID:???
↑タイポがあります。許してね

>>708
cURLでcookie使うこと考えてみました?
712nobodyさん:2007/08/08(水) 17:28:31 ID:2+jr8RRc
<.*>これが、
<h1>test</h1>
にヒットするのはわかるのですが、
<.*?>こうすると、
<h1>だけになる理由がわかりません。
?の意味は、0個、または1個のパターンというのはわかったのですが、
*か、>どちらにかかっているのでしょうか・・・?
713nobodyさん:2007/08/08(水) 17:33:46 ID:???
>?の意味は、0個、または1個のパターンというのはわかったのですが、
違うだろ。直前のものがあってもなくてもいいってこと。
714nobodyさん:2007/08/08(水) 17:34:45 ID:2+jr8RRc
?の次にくるものを優先させるという解釈でいいんでしょうか?
<.*?>でいうと、
.*(何でも文字列)があって、>が後ろにあるので、>までは許すよ〜って感じですかね??
715nobodyさん:2007/08/08(水) 17:36:35 ID:2+jr8RRc
>>713
その解釈だと、
なくても、の場合
<>になるし×
あっても、の場合なら、
<h1>test</h1>
もOKってことになりません?
716nobodyさん:2007/08/08(水) 17:40:28 ID:???
>>715
で、どうしたいわけ?
717nobodyさん:2007/08/08(水) 17:42:05 ID:???
↑これは逃げだな
718nobodyさん:2007/08/08(水) 17:43:51 ID:???
いやだって、ID:2+jr8RRcのレスとその前後みてみなよ。
いきなり正規表現の話出されても意味わからんで。
719nobodyさん: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>まで全部認識してしまいます。
「<*>から、一番近い</*>まで」というのが目的です。
720nobodyさん:2007/08/08(水) 17:48:20 ID:j6ELTh/z
>>711
cURLとは何でしょうか
検索してみたのですがCurlしかHitしません・・・。

mixiに対してどのようにCookieを生成すれば良いのでしょうか。
721nobodyさん:2007/08/08(水) 17:54:13 ID:???
>>719
以下の正規表現を試してごらん。わかると思うよ。
<...*?>←.が3つ。この数までは<h1>マッチ
<....*?>←.が4つ以上。<h1>test</h1>にマッチ

>>720
別にCurlでもCURLでもいいよ。PHPのcurl関数マニュアル読んで下さい。使い方が書いてある。
722nobodyさん:2007/08/08(水) 18:01:23 ID:2+jr8RRc
'/<(.+)[^>]*>([^(<\/\\1>)]+)(<\/\\1>)/si'
できたーうれしいー

>>721
え?なんで・・・?理解不能
723nobodyさん:2007/08/08(水) 18:03:34 ID:???
ああ、下らんID出し厨の釣りに掛かってしまった。オヤスミ。もう来るなよ。
724nobodyさん:2007/08/08(水) 18:09:01 ID:???
アンカーしてください
725nobodyさん:2007/08/08(水) 18:11:05 ID:???
ああ、すまん。
ID:2+jr8RRcに対してだ。もう来るなよ。
726nobodyさん:2007/08/08(水) 18:12:46 ID:???
>>705
そうですね!やってみます!
ありがとうごさいました
727nobodyさん:2007/08/08(水) 18:15:03 ID:2+jr8RRc
>>725
理由をかいてね
728nobodyさん:2007/08/08(水) 19:04:56 ID:???
もう来るなよ
729nobodyさん:2007/08/08(水) 20:54:22 ID:???
でも、たまには顔出せよな
730nobodyさん:2007/08/08(水) 20:54:48 ID:???
>>720
自動ログイン系を実装するなら実装する前に現状を把握するツールを使いこなせるようになることだ。
そこから話しを始めないと全く通じない。


IENaviTr ieHTTPHeaders

とか使ってブラウザのやりとりを可視化してみ。
731nobodyさん:2007/08/08(水) 21:04:02 ID:???
長い処理を実行すると、
timeoutしてしまうんですが、
何か解決する方法はありませんか?
732nobodyさん:2007/08/08(水) 21:05:06 ID:???
>>729
来なくていいよ。もう飽きた
733nobodyさん:2007/08/08(水) 21:34:19 ID:OHuigtha
まぁまぁ、そう怒らずに自分のおならの臭いを嗅いでエクスタシー感じようよ
734nobodyさん:2007/08/08(水) 21:39:33 ID:???
その話しは、さらに飽きてる
735nobodyさん:2007/08/08(水) 22:06:06 ID:???
>>731
自己解決しました
set_timeout_limit
736704: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
と表示されただけでした

当たり前といえば当たり前なんですけど、これでいいのか?? って気分です
どうなってるんだろう…
737nobodyさん:2007/08/08(水) 23:30:32 ID:???
>>736
そのファイルを移動させてもそのファイルがあるディレクトリからの
相対階層にあるファイルを読み込めるようにするため
dirname(__FILE__)の結果はそのファイルがある階層によって変わるから
OK?
738704: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"; として適宜「../」部分を編集するのと
同じでは、、と思うのですが。。
僕の手際が悪いんでしょうか?
739nobodyさん:2007/08/09(木) 01:13:31 ID:???
>>738
あ、>>704の現在の階層に相対パスをくっつけているというのはそれで合っている
/a/b/c/../hoge.php というのは /a/b/hoge.php と同じファイルパス
この相対パスの説明をしたらよかったのかな
740nobodyさん:2007/08/09(木) 01:14:12 ID:???
別に好きな方法でやりゃいいじゃん
741nobodyさん:2007/08/09(木) 01:27:45 ID:???
>>738
別にこれが正解ってのはないよ
その本がその部分の前後でなにをやっていたのかしらないけど
絶対パスや相対パスについて説明している部分だったら
自分で悩んで理解しろことなのかもしれんし
742nobodyさん:2007/08/09(木) 01:32:53 ID:???
>>738
いちいち適宜編集するのが面倒だからメインのファイルから
dirname(__FILE__)で相対位置として指定してるんだろうが
少しは考えろよ
743nobodyさん:2007/08/09(木) 01:44:09 ID:???
744nobodyさん:2007/08/09(木) 01:52:45 ID:???
>>743
荒らしは帰れ
745nobodyさん:2007/08/09(木) 01:56:32 ID:???
746nobodyさん:2007/08/09(木) 02:11:32 ID:???
>>745
お前も無意味な投稿はやめろ
747nobodyさん:2007/08/09(木) 02:19:24 ID:???
あなたもですよ

おれもふくめてね

とりあえず>>1をよくよめ
748nobodyさん:2007/08/09(木) 03:07:41 ID:???
749nobodyさん:2007/08/09(木) 03:14:50 ID:???
PHP用のユニットテスト自動化ツールっていうと
PHPunitぐらいしかない?

PHPunitの他に、
「他にもこういうのがあるよ」ってのある?
無料、有料問わず。
750nobodyさん:2007/08/09(木) 03:17:53 ID:???
最近スレだったばかりのがあるから探せ
751nobodyさん:2007/08/09(木) 03:27:08 ID:???
まじすか
まいったなぁ。一応スレ検索してみたんだけどな。
それらしきスレは見当たらなかった・・・
752nobodyさん:2007/08/09(木) 03:55:49 ID:???
ヒント:
つ 英字
753nobodyさん:2007/08/09(木) 06:47:04 ID:???
発見した!
英字ってか最近のスレってのがヒントになったぜ!
754nobodyさん:2007/08/09(木) 06:49:03 ID:???
なんで誘導すらしないのか理解できない。ほんと心狭い奴多いねw
755nobodyさん: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";
}
?>
756nobodyさん:2007/08/09(木) 06:56:56 ID:???
>>755
mktime
757nobodyさん:2007/08/09(木) 07:06:37 ID:???
試験ツールのスレ発見した俺だけど。

>>755

PHP 日付 計算
↑このワードでググるだけで幸せになれるぜ
758nobodyさん:2007/08/09(木) 07:15:22 ID:???
>>754
一対一対応での誘導より、他のケースでも適用できる一般論(検索文字列の柔軟化)を
示してあげてるんだから優しいと言えるよ。
ご当人のリテラシーは>>753見る限り向上していないみたいだけどな。
759755:2007/08/09(木) 07:18:17 ID:eIvRPvRy
>>756-757
どうもありがとうございます。
for文じゃ少し難しそうですが10個なので1つずつ書きたいと思います。
どうもありがとうございました。
760755: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";
}

どうもありがとうございました。
761nobodyさん:2007/08/09(木) 07:28:26 ID:???
>>758
そう言われると納得。
最近の流れから穿った取り方をしてしまった。
762nobodyさん:2007/08/09(木) 07:31:17 ID:???
いやまぁ、俺も勉強になったよ。

テスト=試験
って発想できないDQNだでね。
758に感謝。
763nobodyさん:2007/08/09(木) 09:47:03 ID:???
apache(linux)モジュールのPHPで、インストールした後から、
mb関数をインストールする方法を教えてケロリ〜ン☆
764nobodyさん:2007/08/09(木) 09:52:42 ID:???
再コンパイル
765nobodyさん:2007/08/09(木) 09:53:04 ID:???
>>763
>>1読まないうえに何そのキモい質問の仕方、なめてるの?
766nobodyさん:2007/08/09(木) 10:15:30 ID:???
765先生の尾ssッ者ルトおりでくぁwせdrftgyふじおl
767nobodyさん:2007/08/09(木) 10:55:26 ID:1G5XM4wp
unset()じゃセッション削除されない?
unset($_SESSION['community'])でも中身が残ったまんまになる・・・
768nobodyさん:2007/08/09(木) 11:01:32 ID:???
>>767
なぜ
session_unset( )
を使わないの
769nobodyさん:2007/08/09(木) 11:03:10 ID:1G5XM4wp
>>768
session_unsetは全てのセッションが破棄されるのでは・・・?
$_SESSION['test'];が配列になっていて、その中身のみ削除したいのです。
77067:2007/08/09(木) 11:04:25 ID:???
待ってます。
771nobodyさん:2007/08/09(木) 11:10:18 ID:???
ksortのパラメータがおかしいんだろ
該当部分のソースも出さないで答えられるわけがない。
772nobodyさん:2007/08/09(木) 12:56:20 ID:LXVZVFyI
ごめんなさい。
2ちゃんねるなどのスレッドフロート型掲示板で、スレッド一覧ページの各スレッドの左側のスレッドの番号はどのようにして表示させているんですか?
773nobodyさん:2007/08/09(木) 13:01:41 ID:???
1:とか2:とかの事ですよね?

http://pc11.2ch.net/php/subject.txt
データでは管理してないので、表示するときに
インクリメントしてると思います。
774nobodyさん:2007/08/09(木) 13:16:23 ID:LXVZVFyI
ようやく出来た。
本当にありがとうございます。
775nobodyさん:2007/08/09(木) 13:26:40 ID:???
apache(linux)モジュールのPHPで、インストールした後から、
mb関数をインストールする方法を教えてケロリ〜ン☆
もう3度目はないんだからねーっっ☆☆☆☆
776nobodyさん:2007/08/09(木) 13:33:42 ID:Q2ABjORS
>>775
教えてやるから、お前のちんちんの拡大写真をアップしろ。
777nobodyさん:2007/08/09(木) 13:41:50 ID:???
>>776
付いてないモ〜ン☆
778nobodyさん:2007/08/09(木) 13:43:09 ID:???
キモイ
779nobodyさん:2007/08/09(木) 13:46:28 ID:???
urlencodeした文字列をファイル名にしてファイルを作りました。

そのファイルをブラウザで起動してみると、
アドレスバーのurlはファイル名とは違う文字列になってしまいます。
しかしエクスプローラー上のファイル名はurlencodeした文字列のものです。

なぜなんでしょうか?
780nobodyさん:2007/08/09(木) 13:48:28 ID:???
文字コードの問題
781nobodyさん:2007/08/09(木) 13:55:38 ID:???
判決を言い渡す際に、罪を重くする理由として、
計画的な犯行は、反抗は計画的に酌量の余地はない、と言われ
非計画的な犯行は、犯行動機は短絡的で酌量の余地はない、と言われ、
結局、量刑の際に計画か非計画かは全く関係がなく、
判決の方便にしか思えないのですが、
どうでしょうか?
782nobodyさん:2007/08/09(木) 13:56:29 ID:???
>>775
ソースからコンパイルしたのかパッケージで入れたのかで違う
rpmならrpmで追加するだけ
ソースならphpizeで追加コンパイル
783nobodyさん:2007/08/09(木) 14:19:06 ID:9t8SuYZS
preg_match_all('/... /si', $str, $matches, PREG_SET_ORDER);
で、マッチしたものを、ある文字列に置き換えた$strを作りたいのですが、どうしたらいいでしょうか。
$matchesに入っている、マッチした文字列を$strから探して・・・という方法を思いついたのですが、
全く同じ文字列があった場合などが考えられるので、何か他に良い方法は無いでしょうか。
お願いします。
784nobodyさん:2007/08/09(木) 14:24:00 ID:???
>>783
preg_replace?
785nobodyさん:2007/08/09(木) 14:41:58 ID:???
>>784
あ、忘れてました。。。どうもありがとうございます。
786nobodyさん:2007/08/09(木) 14:48:39 ID:9t8SuYZS
度々申し訳ないです。 >>783ですが、
preg_replaceにした場合、特定の文字列はスキップする、などの処理を加えたい場合どうしたらいいのでしょうか?
787nobodyさん:2007/08/09(木) 15:12:42 ID:???
e修飾子で自己解決しました
788nobodyさん:2007/08/09(木) 15:36:34 ID:???
俺: ぼくにはphpにの能力もありませんが、若さが唯一の取り柄です。
上司: ということは、きみの取り柄は年々確実に減少していくっていうわけだ。
俺: ・・・。
789nobodyさん:2007/08/09(木) 15:43:12 ID:???
>>788
上司の論理的な回答に感動した
790nobodyさん:2007/08/09(木) 15:51:45 ID:ulFyQ2Aq
突然の質問失礼いたします。
最近PHPlibをいじろうかと思っているのですが、PHPユーザー会に日本語ドキュメントが見当たらない気がします。
新しくなったWebページ上で、PHPlibの日本語ドキュメントはどこにあるでしょうか?
お手数をおかけして申し訳ございません。
791nobodyさん: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のコードじゃないのか・・・。
792nobodyさん:2007/08/09(木) 16:09:31 ID:ulFyQ2Aq
>>790です。自己解決しました。
私の眼は腐っていたようです。
本当にありがとうございました
793nobodyさん:2007/08/09(木) 16:25:37 ID:???
>>790
いやはや、なつかしいね、PHPlib
ttp://www.google.co.jp/search?hl=ja&q=site%3Awww.php.gr.jp+phplib

多分もう無いけど、Googleのキャッシュにはあるみたい。
読みたいならはやいとこ保存した方がいいね。

たぶん保守か何かのためだと思うけど、
ゼロから始めるならほかのフレームワークなりPEARなりを使った方がいいよ。
794nobodyさん:2007/08/09(木) 17:18:11 ID:???
PHPlibにはPHP3がないと
795nobodyさん:2007/08/09(木) 17:21:10 ID:???
もうPHP4の開発終了がアナウンスされて、
今の時期は4から5に書き換えするための期間っていう位置づけなのに!

まぁ保守なら仕方ないね。
796nobodyさん:2007/08/09(木) 17:46:45 ID:???
現状に甘んじて仕方ないで済ませて、言われたことしかやらないのは、
金を貰ってやっているエンジニアとしては最低の部類だな。
797nobodyさん:2007/08/09(木) 17:50:12 ID:???
言われたことしかやらないじゃなくて
言われたことしかやってはいけないだな
798nobodyさん:2007/08/09(木) 17:51:43 ID:???
保守なんて数人でやるんだから勝手に仕様変えるわけにはいかないだろ。
799nobodyさん:2007/08/09(木) 18:01:23 ID:???
$a=array("佐藤","田中","鈴木","高橋");
という配列があって
$before=2、$after=0という変数を使って
3番目のデータを1番目に持って行きたいです、のこりはずれます
こんなかんじ→$a=array("高橋","佐藤","田中","鈴木");

配列関数をみてもどう組み合わせれば出来るのか分からなかったので
だれか助けて下さい(´・ω・`)

800nobodyさん:2007/08/09(木) 18:08:12 ID:???
数人でやるからだめとかいう問題ではなくて、<やってはいけない>のだよ。
契約ならば、それを守らなきゃいけない。
糞だとすればPHPlibのドキュメンテーションを引き継いでいないってところだな。
801nobodyさん:2007/08/09(木) 18:08:26 ID:???
>>777
おれでよければつきあってくれませんか?
802nobodyさん: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;
803nobodyさん: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でスレッドの左側に記事番号を表示させたいんですが、できません。
どうやったらできますでしょうか?
804nobodyさん:2007/08/09(木) 18:25:29 ID:???
>>799
おまえにプログラムは無理だ、あきらめろ
805nobodyさん:2007/08/09(木) 19:20:13 ID:???
>>799
3番目は鈴木さんだけど
806nobodyさん:2007/08/09(木) 19:33:05 ID:???
>>802
おっぱい括弧でいろんなところを囲んでみたら動くかもしれないよ。
807nobodyさん:2007/08/09(木) 19:40:27 ID:LXVZVFyI
>>806
動くとはどういう意味でしょうか?
808nobodyさん:2007/08/09(木) 19:42:44 ID:???
>>807
期待通りに動いてくれるかもしれないよってことだ
{$key}:{$source}
としてみたり
$oya_per[{$now_gages}]としてみたり
いろいろやってみれ
809nobodyさん:2007/08/09(木) 20:16:25 ID:LXVZVFyI
>>808
やりまくったが…悪い出来なかった。
810nobodyさん:2007/08/09(木) 20:18:33 ID:???
<a href="あ">あ</a> の「あ」を抜き出して
それぞれを$array[あ][あ]のように配列に格納したいんですけど
どのようにやったら出来ますか?
811nobodyさん:2007/08/09(木) 20:29:08 ID:???
>>810
strip_tagsで全てタグで除去したあとに、
一文字ずつarray_pushすれ。
812810:2007/08/09(木) 20:29:49 ID:???
マニュアル読んで自己解決しました
813nobodyさん:2007/08/09(木) 20:44:19 ID:LXVZVFyI
>>808
後少しヒント下さい。
814nobodyさん:2007/08/09(木) 20:46:23 ID:???
>>812は自分じゃないです
>>811
やってみようと思います、返信ありです
815nobodyさん:2007/08/09(木) 20:47:26 ID:???
>>814
だったら最初からID出せよボケが
816nobodyさん:2007/08/09(木) 20:55:09 ID:???
変なやつが多いね
817nobodyさん:2007/08/09(木) 20:58:58 ID:xyjVUzxx
質問です
apache5.3.4 + php5 +Mysql5 で開発してるんですが、
オススメのログ集計方法(というかフリーウェア?)はないでしょうか?
PHPを使った設置簡単で高性能なアクセスログ解析アプリのようなものが
あれば嬉しいです。
もしくは、皆さんのアクセスログ解析方法を教えてください
よろしくお願いします。

・ページごとのアクセス数集計
・リファラ確認
・曜日別集計
・グラフ化
くらいの機能があれば嬉しいです。
818817 :2007/08/09(木) 21:00:24 ID:xyjVUzxx
間違えました
apache2 + php5.3.4 + Mysql5 です
済みませんでした
819nobodyさん:2007/08/09(木) 21:11:55 ID:???
>>799
何歳?
820nobodyさん:2007/08/09(木) 21:32:01 ID:???
>>817
情報も多くて楽なので
wwbalizerあたりでいいと思うよ。
商用サイトだと集計よりも解析が欲しいため
その点では不満を感じるかもしれんが
元々そういう用途に使うものでもないしね
821nobodyさん:2007/08/09(木) 21:37:25 ID:LXVZVFyI
>>802を質問した者だが、ガチでわからない。
822nobodyさん:2007/08/09(木) 21:41:41 ID:???
>>818

php5.3.4???????????????????????????
823nobodyさん:2007/08/09(木) 21:58:14 ID:???
>>821
$keyに値は入ってんの?
824nobodyさん:2007/08/09(木) 22:10:07 ID:???
女の子の後輩が、
「PHPで2次元配列が上手く表示出来ないいんです〜」
って助けを求めてきたから
「おっぱい括弧で挟むんだよ」って教えてあげたら
「こんな感じに挟むんですか〜??」
って、俺の顔をおっぱいで挟んできた。

PHPやってて良かったって思った。
825nobodyさん:2007/08/09(木) 22:20:07 ID:LXVZVFyI
初心者で失礼します。
説明不足だったかもしれません。
1ページに20の記事を表示させているんですが、
0ページ目の記事番号は1〜20で表示出来るんだが、
1ページ目からも1〜20になってしまうんだ。
ここを解決したいんだ。
{}
これで解決出来なかった。
array_chunkの部分でこうなってしまったんだと思うんですが、
解決策はありますでしょうか?
826nobodyさん:2007/08/09(木) 22:21:30 ID:???
>>825
失礼ですがお幾つ?
827nobodyさん:2007/08/09(木) 22:48:23 ID:???
>>825
とりあえず、自分でデバッグしてから質問して下さい。
828nobodyさん:2007/08/09(木) 22:54:05 ID:???
>>825
どういう日本語の使い方だwwwwwwwwwwww
829nobodyさん:2007/08/09(木) 22:56:55 ID:LXVZVFyI
>>826
そのレスは私の質問の解決策ではないですね

『失礼ですがお幾つ?』
というのは解答なさって下さっている方々に対する私の理解力の無さを表しているのですか?

だとしたならば、直接言って下さい
尚、理解力の無さについて言っている場合は、私の質問に答えて言うのが筋かと思います。

素で私の年齢を聞いているならば、私にそれを聞く理由を説明して下さい。
830nobodyさん:2007/08/09(木) 22:59:50 ID:???
いいから早くその宿題に戻るんだ
831nobodyさん:2007/08/09(木) 23:01:48 ID:???
>>824
日本人の女は男より生まれつき頭が悪いわけだから、そんなのは当たり前。
ノーベル賞とった女性も、東大の主席卒業者も、プロ棋士(4段以上)も、未だに居ないんだから。
832nobodyさん:2007/08/09(木) 23:07:07 ID:???
>>831
別にそんなにいいじゃねぇ。女性の魅力は、中身より外見だし。
833nobodyさん:2007/08/09(木) 23:11:26 ID:???
外見はかわいいのに、中身は女王様とか勘弁してくれ
834nobodyさん:2007/08/09(木) 23:15:08 ID:???
>>820
ありがとうございます
webalizer ですね? 使ってみます!
835nobodyさん:2007/08/09(木) 23:21:32 ID:LXVZVFyI
ギェェェェェェ!!!!!!!!!!!!
ゴキブリでやがった!!!!!
死ぬ!!!!!!!!!!!!!!
でかすぎるぞ!!!!!!!!!!!!!!!!!
phpなんてやってる場合じゃねぇ!!!!!!!
つーかキンチョールきかねぇぞ!!!!!!!!!!!!!!
836nobodyさん:2007/08/09(木) 23:22:26 ID:???
>>829
いや、中学生ならその最低な質問の仕方もまだ理解できるし
頑張れって気持ちにもなるけど、社会人だったらPHPだけじゃなく色々終わってるよ、ってことを伝えたくて。それだけ。
837nobodyさん:2007/08/09(木) 23:24:39 ID:???
>>825
$now_page = ($_GET['page']) ? $_GET['page'] : 0;
これではbooleanでしか代入されないんじゃないか?
こんな書き方した事無いからわかんないが

あと個人的な好き嫌いだけどちゃんとif...else....
で書いた方が読みやすい
838nobodyさん:2007/08/09(木) 23:26:09 ID:LXVZVFyI
>>836
ネットにリアは持ち出さない主義だ。
歳で判断されんのは嫌なんだよ。
839nobodyさん:2007/08/09(木) 23:30:56 ID:???
>>838
まぁその気持ちは分かるが、何歳なの?
840nobodyさん:2007/08/09(木) 23:36:32 ID:LXVZVFyI
>>837
すみません。
boolean
まだそこまでは理解してないです。
>>839
15歳。です。
841nobodyさん:2007/08/09(木) 23:42:30 ID:???
>>840
$now_page = ($_GET['page']) ? $_GET['page'] : 0;


if($_GET['page'])
 $now_page = $_GET['page'];
else
 $now_page = 0;

あとお前も夏なのかもしれないが荒れるから他の夏にいちいちかまうな。
842nobodyさん:2007/08/09(木) 23:51:30 ID:LXVZVFyI
>>841
手間取らせて悪かった。
明日やってみる。
ありがとう。
843nobodyさん:2007/08/09(木) 23:54:55 ID:???
>>841
なにそれ…ジョークだよね?
忘れてただけだよね>isset
844nobodyさん:2007/08/10(金) 00:17:03 ID:???
>>843
なにそれ…ジョークだよね?
845nobodyさん:2007/08/10(金) 00:31:58 ID:???
>>843
志村ー、isset、isset〜!
846nobodyさん:2007/08/10(金) 00:33:39 ID:???
>>843
お前は、技術者としては一流の部類に入るかもしれないが、人間としては3流だな。
847nobodyさん:2007/08/10(金) 00:36:59 ID:???
FWばっかりいじってると普通に忘れるな
848nobodyさん:2007/08/10(金) 00:37:42 ID:???
$test[0〜n]で、値が入っている配列の数を知る関数ってありますか?

count だと 値が入っているか関係なく n となってしまいます。
849nobodyさん:2007/08/10(金) 00:45:08 ID:???
>>841の元のコードでエラーが出てないんならisset無くてもおkなはずだ。
iniの設定を見直すといい>>840
850nobodyさん:2007/08/10(金) 00:50:31 ID:???
>>848
本当に値がはいってないのかチェックすべし
851nobodyさん:2007/08/10(金) 01:07:48 ID:???
>>850

$test[0] = 1;
$test[1] = "";
$test[2] = null;

$kazu = count($test);
echo "$kazu";

これじゃダメでしょうか?
852nobodyさん:2007/08/10(金) 01:13:36 ID:???
>>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
となるはず(たぶん)
853nobodyさん:2007/08/10(金) 01:22:10 ID:???
>>852
一回作ってしまったのは、カウントから外せないという事でしょうか?
854nobodyさん:2007/08/10(金) 01:26:30 ID:???
>>853
unsetでいいと思うよ
855nobodyさん:2007/08/10(金) 01:26:31 ID:???
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>";
}

(略)

だと、

はいってない
はいってない
はいってる
はいってる
はいってない
はいってない

こうなりました。
856nobodyさん:2007/08/10(金) 01:30:07 ID:???
>>854
ありがとうございます。
やはり一つの定義された関数としては存在しないのでしょうか?

日本語ヘンですいません…orz
857nobodyさん:2007/08/10(金) 02:11:55 ID:???
>>856
自分で定義すりゃいいじゃん
値が入っていないという表現にもいろいろあるけど。
858nobodyさん:2007/08/10(金) 02:32:04 ID:???
>>824は釣り
859nobodyさん:2007/08/10(金) 02:34:18 ID:???
友達いないやつってほんと人を見下すのが好きですね
860nobodyさん:2007/08/10(金) 02:38:05 ID:???
>>859
どれに対して言ってんの?
861nobodyさん:2007/08/10(金) 02:40:34 ID:???
自分のことだろ
862 ◆OUhB3MjuK2 :2007/08/10(金) 02:54:31 ID:???
a
863nobodyさん:2007/08/10(金) 05:38:54 ID:???
ローカルにアパッチ入れたら、windows落すのにひと手間かかるようになりました。

win98seなんだけど、なんか良い方法ありませんか?
864nobodyさん:2007/08/10(金) 05:40:31 ID:???
ひと手間って何だよ
865nobodyさん:2007/08/10(金) 05:46:08 ID:???
かからねえよw
Apacheわざわざ終了させなくてシャットダウンすればいいだろw
サービスに登録しとけば起動時に毎回起動するだろw
ていうかスレ違いだよw
ていうかOS古すぎなんだよwwwwwwww
866nobodyさん:2007/08/10(金) 05:48:01 ID:???
ああ、自分で終了させる手間がかかるってことか
想像もつかなかったわ・・・
867nobodyさん: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
)
にしたいのですが、どのようにしたらよいのか方法が思いつきません。
どなたか柔軟なヒントいただけるとうれしいです。
868nobodyさん:2007/08/10(金) 06:55:02 ID:???
>>867
ヒントか・・・。
んじゃさ、まず自分ではどこまで考えられたわけ?
869nobodyさん:2007/08/10(金) 07:06:34 ID:???
>>868
恥を知れ
870nobodyさん:2007/08/10(金) 07:10:08 ID:???
substr使えば万事解決。
いやこれマジ。
871867: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次元の配列にどうもどしてよいかわからなく・・・
872nobodyさん:2007/08/10(金) 07:19:17 ID:???
>>871
惜っしいじゃーん。
そこまで分かってるんならもう一息だよ。
それをやると$dのキーが0〜3、値が配列(キーが英字、値が数字)になってしまうのが嫌なんだべ?
じゃあ$dのキーに英字を入れて、値に数字を入れてみれば・・・?
873867:2007/08/10(金) 07:27:46 ID:nObsuZln
>>872
どうもありがとうございます!できました。
そのヒントを元になんとなく適当に書いてみたのですが動きました。

for ($i = 0; $i < count($c); $i++) {
 $d[$c[$i][0]] = $c[$i][1];
}

こんな書き方できるとは知りませんでした。
勉強になりました。どうもありがとうございました。
874nobodyさん:2007/08/10(金) 07:30:36 ID:???
じゃあ次にその2つあるループを1つにしようよ
875867: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つずつ考えてるので難しいことやったこなくて・・・
手続き脳ですみません。
876842:2007/08/10(金) 08:14:37 ID:???
別に必要ないならしなくていいんでね?
そんなにオーバヘッドを気にする必要があるシステムでもないんだろうし、
自分の求める機能が実現できたら十分。
877nobodyさん:2007/08/10(金) 08:20:34 ID:???
オーバーヘッドって何?
ロナウジーニョとかキャプテン翼とかのあれか?
878nobodyさん:2007/08/10(金) 10:37:23 ID:???
>>864
windowsを普通に終了させようとすると、アパッチが起動中です終了しますか?って聞いてくる。

で、okすると固まる。

タクストレイ?からEXITしても同じ。開いてctrl+cでもダメ。

win98使いは、やっぱりいないのか?www
879nobodyさん:2007/08/10(金) 10:42:30 ID:???
サポート終了した98なんて今さら使ってるほうが危ない。
今インターネットを見てるマシンが98なら、特別な理由がない限りLinuxにでも乗り換えたほうがいい。
ネット関連ならLinuxで十分だし、開発も十分できるしな。
クライアントを持つネトゲとかでWindowsを使わざるを得ないなら仕方ないが。
880nobodyさん:2007/08/10(金) 10:51:30 ID:???
>インターネットを見る
これがプログラマの発言だと思うと悲しくなってくる
881nobodyさん:2007/08/10(金) 11:00:51 ID:???
ブラウジングとかが正しい言い方なのかね?
882nobodyさん:2007/08/10(金) 11:03:22 ID:???
ブラウジング(笑)
インターネットしてるマシンでおk
インターネットを見るとか(笑)
883nobodyさん:2007/08/10(金) 11:10:17 ID:???
Linux、ちょっと調べた感じでは、ど素人の自分にも何とかなりそうな悪寒。

でも、本当は色々と問題があるんだろう?
罠なんだろうぅぅっ?ハァハァ…
884nobodyさん:2007/08/10(金) 11:14:44 ID:???
>>880
一般的には浸透してるわけで下手な揚げ足はとるなよ。
Web製作板でホームページを作るというのが変とかなんでもかんでもタグっていうなって言ってるやつだろ?
885nobodyさん:2007/08/10(金) 11:14:59 ID:???
>>883
ディストリビューション系ならなんとかなるかもしれないわね♪
ちょっとどこにだしてんのよ
886nobodyさん:2007/08/10(金) 11:15:38 ID:???
キモイ
887 :2007/08/10(金) 11:16:49 ID:???
んだとごら
888nobodyさん:2007/08/10(金) 11:20:01 ID:eXaunsZh
>>841
解決出来なかったんだが、
889nobodyさん: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);
という配列を作りたいです
890nobodyさん:2007/08/10(金) 12:10:42 ID:???
>>888
$_GET['page']が数字しか入らないなら
$now_page = (int)$_GET['page'];
で全てが解決しない?
891nobodyさん:2007/08/10(金) 12:18:49 ID:???
>>888
頭を使えww
892nobodyさん:2007/08/10(金) 12:20:24 ID:eXaunsZh
数字以外も入れる予定なんです。
$keyを記事番号にしようとしているんですが、記事番号がページごとに分割してしまっていまして、
893nobodyさん:2007/08/10(金) 12:21:14 ID:???
>>888
すまん俺には状況が見えないが
[前] 1 2 3 4 5 [次]
見たいなページ移動のリンクを作りたいという事なのか??
894nobodyさん:2007/08/10(金) 13:03:56 ID:eXaunsZh
2chの各スレッドの左側に記事番号あるじゃないですか。
それを実現したいんです。
895nobodyさん:2007/08/10(金) 13:20:37 ID:???
じゃあ記事の管理方法による
896nobodyさん:2007/08/10(金) 13:21:56 ID:???
兄貴!このスレまだ生きてますよ!!やっちゃいましょうよ!!
897nobodyさん:2007/08/10(金) 13:32:39 ID:eXaunsZh
各記事はそれぞれのファイルとして保存しています。
898nobodyさん:2007/08/10(金) 13:32:51 ID:???
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
899nobodyさん:2007/08/10(金) 13:56:51 ID:Zwzs53gD
htaccessの設定で
「必ずconfig.phpを最初にincludeさせる!」というような命令ないですか?
900nobodyさん:2007/08/10(金) 14:06:01 ID:???
>>899
ある。php.ini。
901nobodyさん:2007/08/10(金) 14:06:38 ID:???
RewriteRule ^(.*)$ $1?inkuru-do=config.php [L]
902nobodyさん:2007/08/10(金) 14:09:21 ID:Zwzs53gD
>>900-901
有難うございます
早速試してみます
903nobodyさん:2007/08/10(金) 14:18:54 ID:???
>>897
すまん内容がさっぱり見えない
もう少し条件と実行後の結果がわからんと
こりゃどうしようもないんじゃない?
904nobodyさん:2007/08/10(金) 14:23:54 ID:???
質問なんですが、 会員認証で
・ID、Passを入力して送信
・DBに接続してそれぞれ確認してOKなら会員ページ、ダメなら元のページ
という流れがあると思うんですが、 そもそもDSNの書式etcが間違っていたりしたら
正しいID、Passを入力しても会員ページに入れないですよね?
それなら、ログインページを表示した段階で、ユーザのフォーム入力に関係なく、
最初にDBとの接続テスト位した方がいいんでしょうか?
で、接続できなかったら「ただいまメンテナンス中です」みたいな警告出して管理者側に
異常を通知する、みたいな…
プロの方で、そういうことやる場合はありますか? (僕は趣味プログラマです)
それともそういう検証用のスクリプトは別ページでもたせて、定期的に実行してメール通知とか
してるんでしょうか?
905nobodyさん:2007/08/10(金) 14:24:23 ID:eXaunsZh
載せてあったスクリプトを見てもわかりませんか?
906904:2007/08/10(金) 14:24:30 ID:bS5HQken
すみません、sageてしまいました
よろしくお願いします
907nobodyさん:2007/08/10(金) 14:24:59 ID:???
>>904
>>1くらい嫁
908nobodyさん:2007/08/10(金) 14:33:54 ID:???
>>905
>>802-803 のことだよね?
909nobodyさん:2007/08/10(金) 14:43:52 ID:eXaunsZh
はい。そうです。
910nobodyさん:2007/08/10(金) 15:14:26 ID:???
>>909
データ形式は
[ユニークな連番ID]<>[本文データ]\n
でいい??
911nobodyさん:2007/08/10(金) 15:20:03 ID:???
>>909
ちなみに表示させたい番号ってユニークな連番ID?
それともページごとの上からの順番?
912nobodyさん:2007/08/10(金) 15:24:02 ID:???
その程度のプログラムさえ自力で組めなきゃ諦めたほうが身のため>>909
913nobodyさん:2007/08/10(金) 15:25:13 ID:???
くだすれだっつーの
914nobodyさん:2007/08/10(金) 15:39:20 ID:eXaunsZh
すみませんが、ユニークな連番IDってなんでしょうか?
915nobodyさん:2007/08/10(金) 15:43:41 ID:???
>>914
重複しない数字
たとえば
1<>hogehoge
2<>ほげほげ
3<>hagehage
といった感じに同じ数字は2度と出てこない連続する数字
916nobodyさん:2007/08/10(金) 15:48:59 ID:???
連番の時点でユニークなんだが
917nobodyさん:2007/08/10(金) 15:54:10 ID:???
>>916
まぁとちくるった奴がいない限りそうなんだが
二度と同じ番号を発行しないと言う意味では
連番だけでは説明不足なきがしたのだよ
918nobodyさん:2007/08/10(金) 15:54:41 ID:eXaunsZh
ありがとうございます。
ユニークな連番IDです。
919nobodyさん:2007/08/10(金) 16:05:38 ID:???
表示するときに1からインクリメントしてけばいいじゃん
920nobodyさん:2007/08/10(金) 16:06:41 ID:???
ここのスレの雰囲気って、最近入った会社の職場の雰囲気とそっくり。

私の職場だけかと思っていたけど、ここの業界関係者って、
無駄にプライドが高くて、パソコン以外には人間的な魅力がない人たちばっかり。

なんか、進む道間違えたみたい...orz
921nobodyさん:2007/08/10(金) 16:14:53 ID:eXaunsZh
インクリメントですか。
具体的にスクリプトを出してくれるとありがたいのですが、だめですか?
922nobodyさん:2007/08/10(金) 16:15:13 ID:???
>>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を非表示
}
923nobodyさん:2007/08/10(金) 16:16:57 ID:???
>>921
インクリメントの意味はわかってる?
$key++; <=コレのことだよ??
924nobodyさん:2007/08/10(金) 16:18:28 ID:eXaunsZh
わかってますよ、

スクリプトのどこに書けばよいかわからなかっので
925nobodyさん:2007/08/10(金) 16:20:50 ID:???
$array = array("おはよう","こんにちは","こんばんわ","おやすみなさい");

$int = 1;
foreach($array as $value){

echo "{$int}.{$value}<br />\n";
$int++;

}

こういうこと?
926nobodyさん:2007/08/10(金) 16:23:18 ID:???
実行結果を送ります。
よければmail下さい。
927nobodyさん:2007/08/10(金) 16:25:04 ID:???
あと、ここは下らない質問をするスレだぞ
下らないやつが質問するスレじゃないぞ

とりあえず試してできなかったら質問しろ
最近は他人任せな質問が多すぎる
928nobodyさん:2007/08/10(金) 16:29:53 ID:2KWq4PpO
>>920

<life>

<? echo "人生やめれば?"; ?>

</life>
929nobodyさん:2007/08/10(金) 16:31:47 ID:eXaunsZh
>>928
言っていい事と悪い事があるのでは?
930nobodyさん:2007/08/10(金) 16:38:23 ID:???
>>920
この業界に入った女性プログラマなんかはほとんどが別業種に移っていくな。
理由の第一位が「この業界の男性は予想以上にヲタクが多かった」らしい。
要はこのスレにいるような人達は気持ちが悪いって事だよな。
931nobodyさん:2007/08/10(金) 16:41:50 ID:eXaunsZh
記事番号
1ページ目
1から
20
2ページ目
21から40
という表示をさせたいのです。
インクリメントでは$keyと同じく分割されて表示されます。
1から20という番号が2ページ目からも表示されてしまうんです。
932nobodyさん:2007/08/10(金) 16:45:54 ID:???
>>931
その現在のページ数はどこからとってくるの?
933nobodyさん:2007/08/10(金) 16:47:58 ID:???
>>931

//ページ処理
//$pagenoに1〜のページ番号が入っているものとする

$pageMax = 20;

$startRow = ($pageno -1) * $pageMax + 1;
$endRow = $pageno * $pageMax;

//$startRowから$endRowまでのデータを表示させる処理

          :
          :

こうゆうことかい?
934nobodyさん:2007/08/10(金) 16:52:19 ID:???
>>930
逆に、それでも生き残る女性エンジニアは、性格がきつい。
他部署の女性はすごく魅力的に見える。隣の芝生は青い、では無いな。
935nobodyさん:2007/08/10(金) 16:57:19 ID:eXaunsZh
>>932
array_chunkで一定間隔で分割しています。
>>933
そのとうりです。
936nobodyさん:2007/08/10(金) 16:58:27 ID:???
>>920のレスだけで女性と決め付けるところがまたヲタっぽいよねw
937nobodyさん:2007/08/10(金) 17:03:00 ID:2KWq4PpO
>>929
そうは思わんね

>>936
決め付けてないよね
938nobodyさん:2007/08/10(金) 17:05:46 ID:???
まぁ女エンジニアほど使えないものはない
939nobodyさん:2007/08/10(金) 17:10:23 ID:???
>>936
>>930のどこを見たら>>920を女性と決め付けてるように見えるの?
「女性」という単語を意識しすぎじゃないの?
きんもーっ☆
940nobodyさん:2007/08/10(金) 17:13:06 ID:eXaunsZh
あなたの言動は一論から見れば『死ね』と言っているのと同じです。
恥を知れ
941nobodyさん:2007/08/10(金) 17:18:10 ID:???
戯けが罵り合いたいならほかでやれ
恥を知れ
942nobodyさん:2007/08/10(金) 17:20:34 ID:eXaunsZh
まぁ、今から少しPCに向かって試してみます、
では
943nobodyさん:2007/08/10(金) 17:20:39 ID:???
お前もな
恥を知れ
944nobodyさん:2007/08/10(金) 17:27:33 ID:???
夏ですねぇ
945nobodyさん:2007/08/10(金) 17:30:32 ID:???
Smartyの質問は該当スレでって書いてあるけど、
Smartyのスレが見つかりません。該当スレってどこ?
946nobodyさん:2007/08/10(金) 17:33:33 ID:???
947nobodyさん:2007/08/10(金) 17:34:14 ID:eXaunsZh
デキタァアアァァアアァ!!!!!!!!!!!
>>933さんのがヒントになリマシタァ!!!!!!!!
私の質問に答えてくれた優しき方々ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
948nobodyさん:2007/08/10(金) 17:40:25 ID:???
>>946
落ちてるやん
949nobodyさん:2007/08/10(金) 17:44:53 ID:???
>>947
おめ
950nobodyさん:2007/08/10(金) 18:03:26 ID:???
951nobodyさん:2007/08/10(金) 18:18:41 ID:ruvNpz1s
fc2ブログが
画像を他のサイトから呼び出すと「表示できません」て感じのhtmlを表示しますが
これってどうやってるんですか?
リファラ判定でブロックくらいは簡単にできそうですが
htmlを表示とはこれいかに?
952nobodyさん:2007/08/10(金) 18:21:03 ID:???
リファラ見てリダイレクトしてるだけだろ
953nobodyさん:2007/08/10(金) 18:40:53 ID:aMYah7ck
スレ違いだったらすみません。
サイトAでCookieをセットします。
サイトBのページから、<script>タグで、サイトAにあるPHPを呼び出した際に
FireFoxではサイトAのCookieが読めるのですが、IEでは読めないようなのです。
これってブラウザの仕様ですかね?
954nobodyさん:2007/08/10(金) 18:55:03 ID:???
>>779
>>780

返答が遅れて申し訳ありません

URLは
urlencodeした文字列を
さらにurlencodeしたものに変わっているようです。

エクスプローラ上では
一度だけurlencodeしただけのファイル名なのですが、
もう一度urlencodeしなければリンクできません。
なぜなんでしょうか?
955nobodyさん:2007/08/10(金) 19:08:57 ID:???
XSS!
956nobodyさん:2007/08/10(金) 21:24:02 ID:???
Smarty のプラグイン呼び出しで、例えば こんなふうにエスケープした変数 {$articleTitle|escape:"url"}
をパラメータで渡せますか?
957889:2007/08/10(金) 23:47:13 ID:???
>>889
これ提供されてる関数では無理ですか?
958nobodyさん:2007/08/11(土) 00:13:32 ID:???
>>957
array_marge_recursiveを使えば少しだけ幸せになれると思う
959nobodyさん:2007/08/11(土) 02:42:04 ID:???
>>889
自分でつくれよカス
どらえもんと勘違いするなっ!
960nobodyさん:2007/08/11(土) 02:47:33 ID:???
カスはお前だ
ネイティブ関数でできるならそれを使うのが当たり前
なんでもかんでも自分で作るという思想は要領を得ないバカ
他人の作ったものをありがたく使え

俺は知らないけど帳簿とかに使えそうだし
PEARかなんかで提供されてるんじゃね?
961nobodyさん:2007/08/11(土) 03:14:33 ID:???
ねえよバカ
962nobodyさん:2007/08/11(土) 03:15:57 ID:???
だいたいおまえは知りもしないくせに
あるんだったらURLはれよ。
そんなあいまいな回答してんなクズ
963nobodyさん:2007/08/11(土) 03:18:40 ID:???
またなんか言わないと気がすまない馬鹿共が沸いてるなw
答えられないならいちいち煽らないで黙っとけ。
たんたんと質問と回答をすればいい。
ソースの1つも出せない馬鹿回答者は要りません。
>>958が答えになってるといっても過言ではないな。
964火炎放射器:2007/08/11(土) 03:58:39 ID:???
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
965nobodyさん:2007/08/11(土) 06:49:24 ID:???
自演はやめてください。チンケなプライドの持ち主諸君
966nobodyさん:2007/08/11(土) 06:50:31 ID:???
夏休みダー!!!
967874:2007/08/11(土) 08:05:04 ID:???
>>875
ネストじゃなくてそもそもそのcount($c)のループ必要ないでしょ。
>>957
無理です。
set merge php でググってごらん
>>958
まったく見当違い。
968nobodyさん:2007/08/11(土) 08:28:09 ID:???
$dir->read()
これってどんな動作すんの?
969nobodyさん:2007/08/11(土) 08:33:17 ID:???
>>968
var_dump($dir->read())
970nobodyさん:2007/08/11(土) 08:38:16 ID:???
NULL以外の情報出ないぜ
971nobodyさん:2007/08/11(土) 08:39:34 ID:???
じゃ何も動作しないんだろ
972nobodyさん:2007/08/11(土) 08:45:31 ID:???
なんだそりゃ
973nobodyさん:2007/08/11(土) 08:47:54 ID:???
今日もくだらない一発で朝がはじまりましたね
974nobodyさん:2007/08/11(土) 08:55:13 ID:???
ごめんなさい><;
975nobodyさん:2007/08/11(土) 09:01:38 ID:???
>>968の前にはdir関数があったりする
自己解決したが、まぁそういうことだ
976nobodyさん:2007/08/11(土) 09:04:50 ID:???
関数じゃないだろ
977nobodyさん:2007/08/11(土) 09:07:11 ID:???
へ?
978nobodyさん:2007/08/11(土) 09:10:43 ID:???
ああ、疑似オブジェクトね
979nobodyさん:2007/08/11(土) 09:42:10 ID:???
へ?擬似オブジェクト?知ったかぶりばっかりだな
980nobodyさん:2007/08/11(土) 09:49:40 ID:???
関数でもないし擬似オブジェクトでもない
$dir変数に何のインスタンスが入ってるかも分からないで動作が分かるわけないだろ
ID出さない、知ったかぶりする、言葉遣いが悪い、自己中
ちょっとひどいなこれは
981nobodyさん:2007/08/11(土) 09:57:58 ID:???
このスレってそんくらいの価値しかないじゃん?
982nobodyさん:2007/08/11(土) 09:59:36 ID:???
今日も香ばしいですね^^;
983nobodyさん:2007/08/11(土) 10:04:44 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);
みたいな感じで
984nobodyさん:2007/08/11(土) 10:13:42 ID:???
次スレたてといたから、喧嘩せずに使えよお前ら↓
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
985nobodyさん:2007/08/11(土) 10:18:49 ID:???
立てんなクズ
986nobodyさん:2007/08/11(土) 11:30:09 ID:???
埋め
987nobodyさん:2007/08/11(土) 11:44:53 ID:???
uma
988nobodyさん:2007/08/11(土) 11:55:42 ID:???
.datファイルで保存するよりもデータベースで管理したほうが負荷は軽い?
かなりの量のデータを保存しときたいんだけど
989nobodyさん:2007/08/11(土) 12:04:55 ID:???
実際に計測しないとなんとも。
990nobodyさん:2007/08/11(土) 12:06:36 ID:???
そんな違いがないなら問題ないんですけど
991nobodyさん:2007/08/11(土) 12:14:08 ID:???
>>988
つDB
992nobodyさん:2007/08/11(土) 13:00:26 ID:???
.datファイルって何だよ。拡張子だけで分かる訳がないだろ。
993火炎放射器:2007/08/11(土) 13:04:29 ID:???
まぁまぁ、そんなに熱くならずに自分のおならの臭いを嗅いでエクスタシー感じようよ。
994nobodyさん:2007/08/11(土) 13:24:12 ID:???
よくわかる
995nobodyさん:2007/08/11(土) 14:36:58 ID:???
996nobodyさん:2007/08/11(土) 14:38:27 ID:???
997nobodyさん:2007/08/11(土) 14:39:08 ID:???
998nobodyさん:2007/08/11(土) 14:41:15 ID:???
999nobodyさん:2007/08/11(土) 14:45:00 ID:???
1000nobodyさん:2007/08/11(土) 14:45:34 ID:HqtTNwXM
1000なら
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。