【PHP】下らねぇ質問はID出して書き込みやがれ 80

このエントリーをはてなブックマークに追加
1nobodyさん
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
2nobodyさん:2009/02/01(日) 18:40:22 ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
3nobodyさん:2009/02/01(日) 18:41:34 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
4nobodyさん:2009/02/01(日) 18:42:35 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://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
5nobodyさん:2009/02/01(日) 18:43:40 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プログラムとして実行された結果になる。
6nobodyさん:2009/02/01(日) 18:44:54 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に保存?
 → 好きにしてください
7nobodyさん:2009/02/01(日) 18:47:56 ID:???
テンプレがなかったのでコピペした
>>4は前スレ>>7を使用
8nobodyさん:2009/02/01(日) 19:03:59 ID:b90OQfT9
では、さっそく。

loggixインスコしたが、システム環境設定を変更して「設定を保存」しても反映しない。
新規ログや新規ダウンロードの投稿は正常にできるのに。。。

9nobodyさん:2009/02/01(日) 19:05:48 ID:???
>>8

ど偉そうスレへ
10nobodyさん:2009/02/01(日) 19:19:37 ID:b90OQfT9
>>9
分かりました。そちらに聞いてきます。

また、質問後に無線マウスを落っことし破損してしまい
ショックで返信遅れました。すいません。
11nobodyさん:2009/02/01(日) 19:55:26 ID:???
12nobodyさん:2009/02/01(日) 21:50:20 ID:/O5+s7Bi
http://www11.uploader.jp/user/aploader/images/aploader_uljp00007.txt
を実行して、./aha.xmlをブラウザでみると、

<?xml version=\"1.0\" encoding=\"UTF-8\"?>…(1)
<rss version=\"2.0\">
<channel>
<title>2chtv</title>
<link>http://speedo.ula.cc/test/p.so/epg.2ch.net/tv2chwiki/?guid=ON</link>
<description>2ちゃんねるTV番組欄</description>…(2)
<language>ja</language>

(2)の部分が文字化けしてしまいます。
(1)をshit-jisにすると、(2)以外の<descruption>は正常に表示されるのですが、
(2)だけ文字化けしたままです。
どうすれば文字化けしないようになるのでしょうか?
13nobodyさん:2009/02/01(日) 22:17:27 ID:???
ループを使えば$strs[7]から$strs[41]くらいまでは一回で済む。
ま、解決してから自分で勉強だな。
コードをコピペしたら、その瞬間に「自分は糞コードを生み出している」という自覚を持て。

最初の問題が発生するのは、encodingでUTF-8を名乗っているのに各エントリの中身がShift_JISだから。
二番目の問題は、「2ちゃんねるTV番組欄」という文字列がUTF-8だから。

解決策:読み込んできたテキストをmb_convert_encodingでUTF-8に変換する。
$word を読み込んだ直後に、$word = mb_convert_encoding($word, 'UTF-8', 'SJIS');
encoding欄はUTF-8のまま。
14nobodyさん:2009/02/01(日) 22:27:43 ID:rPQwGHoV
win環境です
apacheのhttpd.confのconfigチェックがDOSからできるように
php.iniのconfigチェックってできますか?
15nobodyさん:2009/02/01(日) 23:01:00 ID:???
できます。
16nobodyさん:2009/02/01(日) 23:13:39 ID:rPQwGHoV
すいませんやり方をおしえてください
1712:2009/02/01(日) 23:23:31 ID:/O5+s7Bi
>>13
ありがとうございます。

>$word を読み込んだ直後に、$word = mb_convert_encoding($word, 'UTF-8', 'SJIS');
(2)以外の<description>は正常に表示されるんですが、
firefoxでaha.xmlを開くとやはり(2)が2?????TV???となってしまいます。


「2ちゃんねるTV番組欄」だけ書かれたテキストファイルをUTF-8で保存して
file_get_contentsから変数に代入して、その変数を表示させたらうまくいったのですが、糞コードですよねぇ

stsr[7]~[41]は

for($i=0;$i<7;$i++){
$strs[7+$i*5] = "<item>";
$strs[8+$i*5] = "<title>".$c[6-$i].$m."</title>";
$strs[10+$i*5] = "<description>".$d[6-$i]."</description>";
$strs[9+$i*5] = "<link>".$u.$b[6-$i]."/"."</link>";
$strs[11+$i*5] = "</item>";
}
にしました。
18nobodyさん:2009/02/02(月) 03:30:39 ID:???
>17
PHPコードはちゃんとUTF-8か?
現象だけ見るとPHPコードがSJISになってるっぽい。
晒されてたコードがUTF-8だったんで大丈夫だと思ったんだが…

ttp://gist.github.com/55940
「このコードなら動くはず」ってうpろうとしたが、暇だったんで書き直した。
ギリギリで入門レベルまでに抑えたつもり。やってる事はほぼ同じ。
titleとdescriptionを入れ替えたのと、file_get_contentsの代わりにfile、fwriteの代わりにfile_put_contentsを使ってるのが大きめの違い。
 ・(存在期間の長い)変数名や関数名は人間が読んで理解できる名前にする。
 ・複数同じものがあったら配列に入れる。配列の中には同じものしか入れない。
  (本文に混じってヘッダーとかフッターとか入れない)
  (タイトルとURLとをごっちゃにして入れない)
 ・何行かまとまってひとつの意味を持つコードは、ちゃんと関数として束ねる。
辺りに気をつけて頑張れ。
19nobodyさん:2009/02/02(月) 06:27:09 ID:???
改行がない数MBの英数半角のみのテキストファイルがあります。
0001 APPLE0001000002 CHERRY0003000003 BANANA000150

これを適切な場所で改行を入れると
0001 APPLE000100
0002 CHERRY000300
0003 BANANA000150

3つのフィールドがきちんと揃っています。

phpでこの数MBの改行の無いテキストファイルを
上のように整形ことはできるのでしょうか?

秀丸で行うと、1行数百万文字のため、ほとんど動かない状態になります。
バッファ的な問題かと思いますが、phpはこういう作業は不得意ではないでしょうか?
20199:2009/02/02(月) 06:28:23 ID:???
上記の例は
商品コード・商品名・価格
という情報になっています。
数字はゼロフィルされて、文字情報は空白で埋められて、各フィールド位置と改行位置は揃っています。
21nobodyさん:2009/02/02(月) 06:31:15 ID:???
つスレタイ
22199:2009/02/02(月) 06:52:51 ID:rAwfZGrE
>>21
はう、失礼しました。
23nobodyさん:2009/02/02(月) 07:00:51 ID:???
>>22
数MB程度なら余裕で処理できるのでは?
それでも気になるようならfreadでバイト数指定するとか。
24nobodyさん:2009/02/02(月) 09:15:46 ID:KIIJTR4m
すいません、自分はwww鯖をdebianで運用しているものです。
Web鯖に旧0ちゃんねるをダウンロードしてpublic_html下に置きました。
で、admin.cgiとbbs.cgiを以下のとうり修正しました。
bbsroot をhttp://hoge.com
cgiroot をhttp://hoge.com/test
しかしたがらホームページにいくと403が出てきます・・
perlのパスも合ってるはずなのによくわかりません。
何か改善策があればご教授くださいませ
25nobodyさん:2009/02/02(月) 09:30:44 ID:???
403ってのはスレタイが理解できないあわてんぼうさんがよく出すエラーの意味
26nobodyさん:2009/02/02(月) 09:35:01 ID:KIIJTR4m
>>25
スレ違いですか?
27nobodyさん:2009/02/02(月) 09:49:03 ID:???
>>26
そのperlのパスを書いたcgiはphpで出来ているの?
それとも、パーミッション設定とかCGIの設置場所とかそういうのをPHPだと思ってるとか?
28nobodyさん:2009/02/02(月) 10:21:52 ID:???
>>24
ここはPHPのスレです
というかスレ違いの連発を見ると、スレタイにも問題がありそう
2chの慣習から【PHP】が本題を修飾してるだけと読み捨てられるので
次スレから "PHPの下らない〜" に変えましょうか
29nobodyさん:2009/02/02(月) 10:24:36 ID:???
PHP出版のことだと思ってるんじゃね?
30nobodyさん:2009/02/02(月) 11:55:54 ID:Di7qHe/A
2ちゃんねるなど、名前の欄やEmail欄に入力すると、クッキーでその欄は保存されますよね
その機能を、どのクライアントからでも同じ状態にする、ということをしたいのですが
何か方法はありませんでしょうか

つまり誰かがsageといれたら、他の人も全員sageと入力されている状態にしたいのですが
31nobodyさん:2009/02/02(月) 12:03:09 ID:???
>>30
Webサーバーとは別にキャッシュ用のサーバーを立てて、そこにmemcachedを入れる。
そのサーバーでは、リクエストを受けてmemcachedに保存するスクリプトを書いておく。
Webサーバーに投稿があったら、そのデータのうちキャッシュしたいものを、
CURLでキャッシュサーバーのphpファイルに送る
するとそのデータはmemcachedに保存される。
そのデータをwebサーバーのmemcacheクライアントを使って読み込んで利用するようにすれば、できる。
32fus‎ianasan:2009/02/02(月) 12:04:45 ID:???
ふしあなさんテスト
33nobodyさん:2009/02/02(月) 12:05:16 ID:???
あれ、ふしあなさんってもう使えないのか?
34marunouchi333-shibuya.uso.ocn.ne.jp:2009/02/02(月) 12:08:40 ID:2iNQZ6gz
ほれ
35nobodyさん:2009/02/02(月) 12:10:18 ID:Di7qHe/A
>>31
ありがとうございます。試してみます。
36nobodyさん:2009/02/02(月) 12:56:43 ID:nxLE/4BM
>>18
ありがとうございます!
>PHPコードはちゃんとUTF-8か?
テキストエディタはTerapadで、
文字コードして保存→UTF-8で保存
しています。
>>18のコードを同様に保存しても、文字化け。
使っているレンタルサーバー(http://atpages.jp/)の設定が関係しているんでしょうか?
3712:2009/02/02(月) 12:57:27 ID:nxLE/4BM
↑名前入れ忘れました
38fusia‎nasan:2009/02/02(月) 13:07:08 ID:???
>>34
なんでだ?おれは使えないよ?自分でIP入力したとか?
39nobodyさん:2009/02/02(月) 13:50:03 ID:jTY1nP2b
HTMLファイルの<body></body>の中身を取得しようと
preg_match("/<body>(.*)<\/body>/is",$html,$sorce);

としました。
これで取得できるのですが、bodyタグが
<body bgcolor="#cccccc">
などと、別のタグが追記されていると取得されません。

どのような正規表現の書き方をすれば、
このような場合にも対処できますでしょうか?
40nobodyさん:2009/02/02(月) 13:51:29 ID:???
<body.*?> or <body[^>]*>
41nobodyさん:2009/02/02(月) 13:54:21 ID:???
bodyに属性つける書き方やめろよks
cssにしろや
4239:2009/02/02(月) 13:57:55 ID:???
>>40
出来ました!ありがとうございました。
43nobodyさん:2009/02/02(月) 17:45:33 ID:as+feHTC
phpで動的にtableの間に<tr><td>a</td><td>b</td></tr>的なのを何行かずらっと表示させて、
tdの上と下にボーダーつけたんだけど、<td>a</td><td>b</td>のaとbのtdのつなぎ目が
_ _
a  b
 ̄  ̄
みたいに微妙に開くんですけど、これを
__
a b
 ̄ ̄
みたいにきっちりするにはどうしたらいいでしょうか。cssでもhtmlでもどちらでもいいです。
画像で使うのも考えてみたのですが、できればtableでやってみたいです
phpに無理やり関連づけてしまいましたがよろしくおねがいします。
44nobodyさん:2009/02/02(月) 17:51:41 ID:???
>>43
スタイルを調整して、それをphpから出力したらいいよ。
出力するときは、echo か printでいいんじゃない?
難しく考えすぎ
45nobodyさん:2009/02/02(月) 17:56:33 ID:???
>>43
border-collapse:collapse
46nobodyさん:2009/02/02(月) 18:07:21 ID:as+feHTC
>>44
>>45
おお!border-collapse:collapse;でできました!!
ありがとうございます!
4746:2009/02/02(月) 18:09:28 ID:???
べつにたいしたことじゃないから礼はいいってことよ
4844:2009/02/02(月) 18:11:36 ID:???
へぇ、そんな簡単なことだったんだ。
49nobodyさん:2009/02/02(月) 18:14:16 ID:???
うぜえ
50nobodyさん:2009/02/02(月) 18:16:40 ID:???
50
51nobodyさん:2009/02/02(月) 18:33:56 ID:???
恥ずかしがるなよ
5252:2009/02/02(月) 18:54:25 ID:pyoydElk
オブジェクト型が以下の場合、

object(hogeRow)#69 (8) {
["_data:protected"] => array(8) {
["id"] => string(1) "1"
}
["_cleanData:protected"] => array(8) {
["id"] => string(1) "2"
}

次の方法で取得すると、「_data」側の値「1」が取得されます。
$object->id;

本当は「_cleanData」側の値「2」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
53nobodyさん:2009/02/02(月) 18:58:00 ID:???
$object->idで取れないだろ
__get使ってんのか?
5452:2009/02/02(月) 19:07:11 ID:pyoydElk
>>53
すみません、Zend_Db_Table_Rowset_Abstract型のオブジェクトです。
55nobodyさん:2009/02/02(月) 19:11:23 ID:???
5652:2009/02/02(月) 19:14:09 ID:???
>>55
了解です。ありがとうございます。
57nobodyさん:2009/02/02(月) 19:16:02 ID:pyoydElk
Zend_Db_Table_Rowset_Abstract型のデータで、

object(hogeRow)#69 (8) {
 ["_data:protected"] => array(8) {
  ["id"] => string(1) "1"
 }
 ["_cleanData:protected"] => array(8) {
  ["id"] => string(1) "2"
 }
・・・

次の方法で取得すると、「_data」側の値「1」が取得されます。
$object->id;

本当は「_cleanData」側の値「2」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
5857:2009/02/02(月) 19:17:03 ID:???
すみません。誤爆しました。
59nobodyさん:2009/02/02(月) 20:12:08 ID:enCDFoM0
PHPでhttpとhttpsの判別するにはどうしたらいいですか?
$_SERVERをvar_dumpしても、それらしい変数はありません
apacheのディレクティブで判別用の環境変数を設定すれば出来るかなーとも
思っていますが
60nobodyさん:2009/02/02(月) 20:27:38 ID:???
foreach ($_SERVER + $_ENV as $key => $value) {
echo $key . " : " . $value . "<br>\n";
}

ちょっと気になったんでhttpとhttpsの場合で見比べてみたけど
httpsのほうには
HTTP_X_FORWARDED_PROTO : https
というのが出てきたよ
61nobodyさん:2009/02/02(月) 20:30:13 ID:???
$_SERVER["SCRIPT_URI"]
6260:2009/02/02(月) 20:34:52 ID:???
他のサーバでやってみたけど必ずしもそうとは限らないみたいだな
ただhttpと比べて取得できる変数や変数の中身が変わってくるみたいだから
自分のサーバではどうなのか見比べてみて
httpsで取得できる変数が存在したらhttpsと決めるといった感じでやってみればいかがだろうか?
ブラウザや設定によって変わる変数もあるのでそこを注意しないといけないけど
63nobodyさん:2009/02/02(月) 20:50:03 ID:???
おいおい、どんなヘタレ鯖使ってんだ?
SSLでgrepしたらいくらでも$_SERVERの中にあるだろ
64nobodyさん:2009/02/02(月) 20:56:09 ID:???
正規表現での最短マッチについて質問させてください。
下記のようなhtmlを読み込んで
<li><a href="okachimachi">御徒町</li>
の部分だけにマッチングさせてスクレイピングしたいのですが、

パターンを /<li.*?御徒町.*?>/
でやってみても最短にはなりません。
どのような方法があるのでしょうか?



<li><a href="ueno">上野</a></li><li><a href="okachimachi">御徒町</a></li><li><a href="ochanomizu">御茶ノ水</a></li>

65nobodyさん:2009/02/02(月) 20:56:11 ID:???
ヘタレ鯖が巷にはあるようだな。そんな鯖でSSL使って何を
ttp://oshiete1.goo.ne.jp/qa1418972.html
66nobodyさん:2009/02/02(月) 20:57:19 ID:???
>>64
最短マッチの意味わかってる?
おれはよく知らない。
67nobodyさん:2009/02/02(月) 20:57:57 ID:e9JkXj9O
マッチングさせたいのは

誤 <li><a href="okachimachi">御徒町</li>

ではなく

正 <li><a href="okachimachi">御徒町</a></li>

です。失礼しました。
68nobodyさん:2009/02/02(月) 21:05:54 ID:25ge88B9
PHP講座ってどんくらいもうかるの?
69nobodyさん:2009/02/02(月) 21:09:22 ID:???
>>68
会社の差、個人差が多すぎる話をしてどうする?
でも、俺の場合PHP経験数年で、某会社の新人にPHPを教えてるが、出張1日あたり、20万円(税・経費込)で週3回。
いかない日は教材作ってるから、個人だとあんまり儲からんね。
70nobodyさん:2009/02/02(月) 21:12:27 ID:25ge88B9
1日20万円だって〜〜〜〜〜〜〜〜〜〜〜〜!!!!!!!!!!!!!!
71nobodyさん:2009/02/02(月) 21:15:15 ID:25ge88B9
<?php
print str_repeat("20万円だって〜〜!",100);
?>
72nobodyさん:2009/02/02(月) 21:15:56 ID:???
>>71
せめて改行してくれ見づらい
7359:2009/02/02(月) 21:17:24 ID:???
レスありがとうございます。標準的な方法はないみたいですね
自鯖なので、SSL用のポートだったら
SetEnvでHTTPSという環境変数を設定するようにしました
74nobodyさん:2009/02/02(月) 21:18:08 ID:25ge88B9
でもおかしいな、計算が合わないよ
相場だと1回5000円で、10人生徒がいたとして5万円。
20人だと10万円で、40人で20万円。

たかがPHP講座で40人も生徒が集まるか?
75nobodyさん:2009/02/02(月) 21:23:29 ID:???
>>74
どんな糞口座だ?
PHPのハンズオントレーニングなら、一人1時間1万円取られるよ。
1日で4〜6万が相場
76199:2009/02/02(月) 21:26:17 ID:???
>>23
phpって1行の文字列の制限があったと思うのですが、
1行10万文字を読み込んで、改行を入れて加工することができるのでしょうか?
77nobodyさん:2009/02/02(月) 21:31:47 ID:???
>>76
どこに書いてあったの?
7876:2009/02/03(火) 00:00:31 ID:Zy01yD9b
>>77
http://www.e-and-a.ws/06/101.asp
参考書に書いてあったのですが、
ググったところ、このページの半分下のほうに「1024」で検索すれば書いていました。
これの制限にひっかかるのではないのでしょうか?
79nobodyさん:2009/02/03(火) 00:09:36 ID:???
一行の制限はありません
80nobodyさん:2009/02/03(火) 00:16:30 ID:???
ガタガタ抜かす前にやってみろよ。

file_put_contents('long.txt', str_repeat('12345', 150000));
$str = file_get_contents('long.txt');
$replaced = str_replace('5', "\n", $str);
file_put_contents('replaced.txt', $replaced);

150,000 * 5文字を変数に保持し、ファイルに書き出し、読み込み、変換する。
余裕で動く。俺の環境だと一瞬で完了する。

やってみて気づいた制限は、文字列がPHP_INT_MAXバイト(32bit環境なら40億強)を超えるとNGになる事。
また、PHP側のメモリ利用制限量(php.iniのmemory_limit)を超えてもNGになる。
81nobodyさん:2009/02/03(火) 00:19:49 ID:???
と思って過去ログ辿ったら、オリジナルの問題は「数百万文字」なのか。
>76だけ見て10万文字で試してしまった。
82nobodyさん:2009/02/03(火) 00:24:15 ID:???
引数でバイト数が指定できる関数のことで混乱してるんじゃないの
fgetsだと第二引数を省略すれば関数的には行の最後まで読んでくれるらしいよ
83nobodyさん:2009/02/03(火) 01:54:32 ID:???
>>78
よう分からん。
↓を読んでphpに1行の文字列の制限があると判断したってこと?


 「fgets()関数」

  fopen()関数 で開いたファイルの、指定したファイル名の1行を取出しま
  す。
  取出す場合には、引数で最大バイト数を指定しますが、省略した場合には
  自動的に 1024バイト(日本語で 512文字分)になります。
84nobodyさん:2009/02/03(火) 11:09:06 ID:LJeHoB4T
一般ユーザーがphp.iniの設定値を.htaccessファイル内の
php_flag php_valueによって上書きすることができますが、
.htaccess内のphp_flag php_valueの使用を禁止する方法は
ありますでしょうか?
85nobodyさん:2009/02/03(火) 11:11:32 ID:???
ないよ
86nobodyさん:2009/02/03(火) 11:26:29 ID:???
php_admin_valueってそのためじゃなかったっけ?
87nobodyさん:2009/02/03(火) 12:07:21 ID:???
AllowOverride none ではないのかな?
88nobodyさん:2009/02/03(火) 12:12:28 ID:???
noneは不便だろ
89nobodyさん:2009/02/03(火) 13:43:43 ID:dcWE6E+I
header関数で別ページに飛ばしたいのですが
この関数は他の出力よりも前に書かないといけないみたいですけど
htmlを出力した後に呼び出してもちゃんと別ページに移動できます
これはブラウザの仕様でしょうか?
90nobodyさん:2009/02/03(火) 13:47:35 ID:???
正常にheaderで飛ばしたのなら出力されたかもわからないわけだが
91nobodyさん:2009/02/03(火) 13:52:16 ID:z3SY7sls
php5を使っています。
関数の中で同じクラスの関数を呼び出すにはどうすればいいですか?

class c_check{
  global $error_message;
function __construct(){...}
function f_int($var,$endflg){
intかチェック
$error_message = 'intエラーです';
}
function f_isset($var,$endflg){
issetチェック
$error_message = 'issetエラーです';
}
.
.
.
function show_error(){
$error_message表示&ログ記録&スクリプト終了処理
}
}
というクラスがあって、
f_issetやf_intの中で$endflgがTRUEならshow_errorを呼び出したいのですが、
$this->show_error();と書いても呼び出されません。
どこかに自分のオブジェクトを生成しなければならないのでしょうか?
92nobodyさん:2009/02/03(火) 13:53:25 ID:???
>>89
やってみなよ。
そういうのは、一度やってどんなエラーが出るのか知っとけ
93nobodyさん:2009/02/03(火) 13:55:34 ID:???
>>91
がんばれ
94nobodyさん:2009/02/03(火) 14:20:19 ID:dcWE6E+I
>>92
ありがとうございます
すでに実行済みで疑問に思ったのでここで質問させていただきました
95nobodyさん:2009/02/03(火) 14:22:06 ID:dcWE6E+I
>>90
クッキーを読み込み
ファイル書き込み後文字出力
そのごheader関数を使い別ページに移動

この一連の流れの後にクッキーの値を確認、ファイルの書き込み内容も確認してます
96nobodyさん:2009/02/03(火) 14:24:24 ID:z3SY7sls
>91です。
すいません、なんか入力値がおかしなことになってました。
97nobodyさん:2009/02/03(火) 14:34:10 ID:???
>>91
globalなんて使わないからメンバ変数にしな
private $error_message;にして
セットは$this->error_message = "";でやる感じ
エラーチェックは1つのメソッドでやったほうがいい

>関数の中で同じクラスの関数を呼び出すにはどうすればいいですか?
staticメソッドならClass::method(自クラスならself::methodでも可)で呼び出せるけど
インスタンスメソッドなら自信をインスタンス化しないとならない
98nobodyさん:2009/02/03(火) 14:35:30 ID:???
>>89 >>94-95
素晴らしい釣りだな

> これはブラウザの仕様でしょうか?
99nobodyさん:2009/02/03(火) 14:36:27 ID:???
>>97みたいなカスの言うことは話半分で聞いとけ
中には正しいことも混じってるだろうが。
100nobodyさん:2009/02/03(火) 14:41:07 ID:???
>>97の言うことを理解できなくて発狂する>>99であった
101nobodyさん:2009/02/03(火) 14:44:47 ID:???
あぁ、確かに理解する気になれん。
用語を正しく使えてないからな。
102nobodyさん:2009/02/03(火) 14:46:37 ID:???
用語を知らないだけだろw
Javaあたりやってるやつなら普通に理解できる
103nobodyさん:2009/02/03(火) 14:48:49 ID:???
> globalなんて使わないからメンバ変数にしな

使わないんじゃねぇよ。使えないんだよ
104nobodyさん:2009/02/03(火) 14:49:38 ID:???
> エラーチェックは1つのメソッドでやったほうがいい

あほか、設計次第だろが
105nobodyさん:2009/02/03(火) 14:50:06 ID:???
どういう反論してくるかと思えばこれはひどい
106nobodyさん:2009/02/03(火) 14:50:35 ID:???
> インスタンスメソッドなら自信をインスタンス化しないとならない

はしょりすぎ、スコープが書いてなきゃ意味ないだろ
107nobodyさん:2009/02/03(火) 14:51:36 ID:???
> セットは$this->error_message = "";でやる感じ

言われんでも、質問者だってそのぐらい知ってんだろ
えらそうに、
108nobodyさん:2009/02/03(火) 14:53:09 ID:???
だいたい、質問者は
> どこかに自分のオブジェクトを生成しなければならないのでしょうか?
って聞いてるんだ。答えは YES
それ以外は蛇足以外のなにものでもない
109nobodyさん:2009/02/03(火) 14:53:36 ID:???
えらそうとかガキかお前は
110nobodyさん:2009/02/03(火) 14:53:58 ID:???
アホラシw
111nobodyさん:2009/02/03(火) 14:54:44 ID:???
ガキだけど、なに?
あんた、もしかして、中年オヤジなわけ?
112nobodyさん:2009/02/03(火) 14:57:22 ID:???
>>103-104はただの揚げ足だな
同じフィールドにセットするという質問者の書き方にあわせただけだろ
まったく関係ないフィールド値なら話も変わるが
113nobodyさん:2009/02/03(火) 14:59:05 ID:???
開き直ってるとこがまた痛いw
ム板に帰りなよ
114nobodyさん:2009/02/03(火) 14:59:15 ID:???
>>91なんて釣りに決まってんだろ。(誰のw)
115nobodyさん:2009/02/03(火) 15:00:09 ID:???
開き直って悪いかw カスドモ
116nobodyさん:2009/02/03(火) 15:00:26 ID:???
>>85-88
ありがとうございました。
レンタルサーバでhtaccessで大半の機能は使えるけど
php_value php_flgは使えないサーバがあったので、
どこで制御しているのか気になっての質問でした。
117nobodyさん:2009/02/03(火) 15:35:21 ID:???
>>91
$c = new c_check();
$c->f_int( "数字じゃないよ", 0 );

でOK
118nobodyさん:2009/02/03(火) 16:02:57 ID:MgNsuIVl
mysqlでtimeで時間を保存してて、
その形式が00:00:00だったとき、
phpでselectするときに、24時間で、秒で表したいんだけど
そんな関数ってありますでしょうか。
explodeで、:で配列だして、それぞれ秒変換して、足す。
ならできそうなんですけど、ぱっと一瞬で変換してくれるような方法があれば教えください。
119nobodyさん:2009/02/03(火) 16:07:42 ID:???
なんかこの前そんな質問あったな
ちょっと過去ログみてこよう
120nobodyさん:2009/02/03(火) 16:20:25 ID:???
>>118
直訳するとMysqlから引っ張ってくる
00:00:00形式を数値化(unixtime形式)して取得したいと
いっているのか?
試してないけどMysql側でUNIX_TIMESTAMP()という関数が
あるがこれ駆使したらできないか?
121nobodyさん:2009/02/03(火) 16:22:47 ID:MgNsuIVl
>>119
そうでしたか
>>120
ちょっとやってみます
122nobodyさん:2009/02/03(火) 16:31:43 ID:MgNsuIVl
やってみたところ
UNIX_TIMESTAMP()で思い通りのことができました。
ありがとうございました
123nobodyさん:2009/02/03(火) 17:31:46 ID:DYfqiAfI
くだらない質問ですいませんがお願いします
PHPの掲示板(展開方式)でおすすめのやつおしえてください
124nobodyさん:2009/02/03(火) 17:33:01 ID:???
やっぱ自作でしょ
125nobodyさん:2009/02/03(火) 17:34:59 ID:???
126nobodyさん:2009/02/03(火) 17:42:41 ID:???
>>98

いいえ真面目に質問してますが^^;
127nobodyさん:2009/02/03(火) 17:43:34 ID:???
この時間は再帰処理も書けない厨房が降臨してるからまともな回答はでないと覚えておいたほうがいいぞ
128nobodyさん:2009/02/03(火) 17:46:33 ID:???
うんうん
この時間は、再帰の必要のないところで再帰したがる奴が(ry
129nobodyさん:2009/02/03(火) 18:55:26 ID:???
>>123

phpbbぐらい知っとけ
130nobodyさん:2009/02/03(火) 19:23:49 ID:ijF8lhfw
1)あるディレクトリへの直接のアクセス(ブックマークからのリンク含む)を禁止したいです

リファラとって、リファラ中にそのサイトのドメインが文字列としてあればOKという対処で
いいんでしょうか?

また、headerのロケーションでの移動は、リファラにその情報が乗らないんでしょうか?
ログイン画面からのOK処理でlocation移動させるとリファラチェックがエラー扱いになります
やり方がまずかったのかも知れないですが、、

1)の処理のためのいいやり方を教えてください、御願いします
131nobodyさん:2009/02/03(火) 19:42:03 ID:???
loadHTMLで適当なHTML読み込むと警告でるけど
DOM化はされているようだ。
で、この警告がでないようにする方法ってある?
132nobodyさん:2009/02/03(火) 19:53:15 ID:???
>>130
.htaccess
ではだめなん?
なんか後半の意味がわからないけど
133nobodyさん:2009/02/03(火) 20:00:53 ID:d7p/0aUM
create_functionのサンプルとして載っている

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "新しい匿名関数: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// 出力
// 新しい匿名関数: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>


を実行すると、文字化けするんだけど、なんで?
134nobodyさん:2009/02/03(火) 20:03:16 ID:???
>>130
セッションで固有ID振ってく手はあるかもね

>>133
文字コードに問題があるから
135nobodyさん:2009/02/03(火) 20:29:15 ID:d7p/0aUM
>>134
どういうことかな?
UTF-8のホームページから、コピーしてきて、
エディタにUTF-8で貼り付けてるから
問題ないと思うんだが。
それに文字化けするのってこのサンプルだけ
なんだよね。
136nobodyさん:2009/02/03(火) 20:31:03 ID:d7p/0aUM
http://cybergarden.biz/lectures/php-intro.html

ここ見ると、PHPのハンズオン講座、
1時間5千円で、5時間で2万5千円で、
18人集めるから、一日で売り上げが
45万円集まるんだよね。

そのうち、半分が経費だとしても、
一日の仕事で20万くらい余裕でかせげそう。

お前らなんで講師やらないの?
137nobodyさん:2009/02/03(火) 20:35:04 ID:???
>UTF-8のホームページから、コピーしてきて、

lol
138nobodyさん:2009/02/03(火) 20:40:05 ID:d7p/0aUM
プログラマーってバカだよね〜
講師になれば1日で45万円かせげるのに、
わざわざコードを書いて、1ヶ月で40万しかもらえないなんて。

しかも書いたコードの著作権も会社に取られて
しまうんでしょう?
139nobodyさん:2009/02/03(火) 20:45:55 ID:???
じゃあお前がなればいいじゃん
140nobodyさん:2009/02/03(火) 20:46:51 ID:d7p/0aUM
>>139
まじでなりたいわ。
PHPのハンズオンの会社で
一番料金の高いところはどこ?
141nobodyさん:2009/02/03(火) 20:49:56 ID:???
スレ違い
142nobodyさん:2009/02/03(火) 21:04:24 ID:???
PHPの講師(笑)
143nobodyさん:2009/02/03(火) 22:27:39 ID:G0zcxThl
PHPファイルの拡張子をなぜphpにしたのでしょうか。
PHP関連情報をググるときに何も関係ないものがファイル名で引っかかってうざいのですが・・・
144nobodyさん:2009/02/03(火) 22:31:57 ID:???
もっとがんばって検索うまくなれ
145nobodyさん:2009/02/03(火) 22:45:44 ID:???
検索ってやっぱり絞り込むための言葉を拾い出すセンスだよなあ
146nobodyさん:2009/02/03(火) 23:35:37 ID:???
どの言語で作成したのかわかるため
別にphpじゃなくてもoresamaって拡張子だってphpは動かせるぞ
ようは好きな拡張子を設定しテロ
147nobodyさん:2009/02/04(水) 03:01:42 ID:aAjFpYnj
>>132
htaccessだとどういう処理になるでしょうか?
リダイレクトだけくらいならわかるんですが、組み合わせになると自信がないです
スレ違いですみませんが、良ければ簡単に教えてください
148nobodyさん:2009/02/04(水) 03:03:45 ID:???
スレ違い
149nobodyさん:2009/02/04(水) 05:13:39 ID:???
>>147
どの程度の厳密性するかによる
リファラだと偽装とか携帯でリファラを出さないのとか、
そもそもリファラを送信しないクライアントもあるかもしれない
そんなのまで目くじら立てるか否か
(例えばPCで画像を直リンクさせたくない処理とかが参考になると思う)
それが我慢できないのなら、そのディレクトリに認証をかけるしかないし、
webプログラミング的に言えばセッションでもってそのディレクトリでスクリプト的に
(スクリプト経由でファイルを出す)処理するとかだな
150149:2009/02/04(水) 05:15:44 ID:???
ぁぁ、.htaccessの話とは関係なかったな
一般論ってことで
151nobodyさん:2009/02/04(水) 05:55:37 ID:P19oRL/b
perlのクダスレも作れや!クズども
152nobodyさん:2009/02/04(水) 07:34:29 ID:???
>>150
.htaccessでもできるよ。実際にはmod_rewriteが使えれば、だけど。
スレチだけどね
153nobodyさん:2009/02/04(水) 11:20:20 ID:???
>>138
売上45万で受取45万だと思ってるバカ乙
154nobodyさん:2009/02/04(水) 11:50:27 ID:???
>>153
雇われだと受け取れてもせいぜい15万が良いところね…
>>138は競馬などで3万円かけて3万1千円のあたりがきたら
3万1千円儲かったと思える幸せなやつなんだろう(´ω`)
155nobodyさん:2009/02/04(水) 12:16:17 ID:Kwvel5vA
httpd.confでhttp://localhost/a.php?a=$1 みたいなのをhttp://localhost/a/$1
で表示させました。
すると、a.phpと同じ場所にあるb.phpにリンクできるように、
a.php内でa href="b.php"としていたリンクの表示が、http://localhost/a/b.php
となってしまいました。
なのでa href="../b.php"とすることで対処できたのですが、
もしも、このリンクが性的に大量にあったとすると、
全部../をつけなければいけないということでしょうか?
ほぼスレ違ですがよろしくお願いします。
156nobodyさん:2009/02/04(水) 12:17:20 ID:Kwvel5vA
→静的
157nobodyさん:2009/02/04(水) 12:28:25 ID:???
>>155
HTMLの勉強しろ
リンクは基本的にホームディレクトリからの絶対パスで指定すべき
相対パスなんか使うな
158nobodyさん:2009/02/04(水) 12:31:19 ID:Kwvel5vA
>>157
なるほど、勉強になりました。
一度最初から編集するのは面倒くさいかもしれませんが、
逆にそれの方がすっきりするような気がしてきました。
ありがとうございました。
159nobodyさん:2009/02/04(水) 12:39:19 ID:???
>>158
本気か?
普通はhttpd.confの設定を1対1になるように関数でもクラスでも書いて、
パラメーターをURLに変換するんだよ。
160nobodyさん:2009/02/04(水) 16:42:03 ID:???
mod_rewireが使えない鯖でそれっぽいことやる海外スクリプト使ってるからべつにいいや
161nobodyさん:2009/02/04(水) 16:48:23 ID:???
フリーライダー乙
162nobodyさん:2009/02/04(水) 19:45:30 ID:ycXVzljr
こんばんわ〜
PDOでデータベース構築しようと思います。
163nobodyさん:2009/02/04(水) 20:04:25 ID:???
>>162
PDOで質問でもない内容なら↓こちらでどうぞ
ttp://pc11.2ch.net/test/read.cgi/tech/1232712334/
164nobodyさん:2009/02/04(水) 22:53:26 ID:???
http://blog.livedoor.jp/dankogai/archives/51172176.html
>ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(),

array_repeat...?
165nobodyさん:2009/02/04(水) 22:56:46 ID:???
array_repeat に一致する日本語のページ 約 293 件中 1 - 10 件目 (0.42 秒)
http://www.google.co.jp/search?hl=ja&q=array_repeat&lr=lang_ja
166nobodyさん:2009/02/04(水) 23:41:01 ID:ofs0LpAO
phpの基本文法を覚え、よく使われる関数の使い方も覚えました
このあとクラスについて覚えるべきかフレームワークの使い方を覚えるべきは悩むのですが
どちらがおすすめでしょうか?
167nobodyさん:2009/02/04(水) 23:42:00 ID:???
>>166
PEAR→クラス→FW
168nobodyさん:2009/02/04(水) 23:42:08 ID:???
基礎文法を完全に学ぶ
169nobodyさん:2009/02/04(水) 23:51:49 ID:???
>>166
ネタにマジレスして悪いんだけど、
文法とか、関数はマニュアル見ながらやれば十分、
フレームワークだって、ドキュメントとAPI、phpDoc見れば大概のことはわかる。
そんなんは枝葉に過ぎんよ。

決定的に違いがでるのは、ソフトウエア開発の基礎的なノウハウ
何を基礎だと思ってるかってのが開発者の個性。そこを磨け
170nobodyさん:2009/02/05(木) 00:10:28 ID:???
ウザ先輩乙www
171nobodyさん:2009/02/05(木) 00:17:17 ID:???
          ,      /〃ハヾ  / ∧∨〃、ヾ} l| :}ミ;l\
        /〃// / 〃l lヽ∨,〈ヾ、メ〈 }} ;l リ ハ l`!ヽ.
          //' /,'  ,' 〃 l l川/,ヘ丶\;;ヽ/:'/〃∧ l ト、:l !
         〃,'/ ;  ,l ,'' ,l| レ'/A、.`、\;;ヽ∨〃/,仆|│l }. |、
         i' ,'' l| ,l ' l. !| l∠ニ_‐\ヽ;\,//,イ| l | l ト/ λ!   、
.        l ;  :|| ,'i:/ l| |:|: |``'^‐`ヾ∨`゙//|斗,l ! | ,タ /l.| l  三__|__
       l ' l |」,' l' lハ |'Ν    ̄´ /` ,|l_=ミ|! ly' ,〈 :|| |  口 |
        |l .l H|i: l | ゙、| l        _.::: ,!: l厂`刈/ /!} :l|    ‐┬‐
        |! :l |)!| ! |  ヽ      '´ ’/'_,.   ノイ.〃/|!    │田│
        l|l |l 「゙|l |`{             ..   _   |}/,ハ l     ̄ ̄  
       |!l |l、| !l :|.      ‘ー-‐==ニ=:、__j:)  l'|/|l リ    、 マ
ヽ ̄ニ‐、__.」乢!L!lヱL」__           ー、 `'''´   从「 /     了 用 
 \ `ヽ\      /l |       / ̄´     //        '"`ー‐
.  ,、  l  ゙、    / ' |、      {        /l/         ,
   '}  l  ゙,    /   |:::\      }     ,.イ/          レ |  
   l  l   l  ,.イ   l:::::::::\__   `'-‐::"// |′          ノ
   l   !   K ヽ,、 \「`''''''''"´:::::::;;:" //          
.    l   l   ト、\( _.... ヽ  .:.::::::::;;″ /'       _    
\   |  l|  八、ヽi´    | .:.:::::::::::::i' .:/'"´ ̄ ̄ ̄ ,.へ\
172nobodyさん:2009/02/05(木) 02:40:41 ID:???
>166
クラスを使いこなすには経験が必要だが、PHPのクラスの使い方は非常に簡単。
というか、クラスの基本的な使い方が分からないと、フレームワークは理解できないし使えない。

クラスのインスタンスの生成、メソッドとメンバ変数、クラスの継承くらいまでは理解しておく事をオススメする。
当面は使い道が良く分からなくてもよいから、どう書くと何が起きるのかは理解しておく。
173nobodyさん:2009/02/05(木) 03:33:35 ID:+8hoj09r
$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = $_GET['hoge'];
}
上のは下の方が安全なんでしょうか?
$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = htmlspecialchars ($_GET['hoge']);
}
174nobodyさん:2009/02/05(木) 03:40:38 ID:???
>>166
悪いことは言わないJavaをやったほうがいい
175nobodyさん:2009/02/05(木) 03:52:40 ID:???
>>174
wat 4?
176nobodyさん:2009/02/05(木) 07:27:23 ID:???
みんな表示にどれくらいの種類のブラウザを試してるもんなの
177176:2009/02/05(木) 08:02:47 ID:???
なんで無視するんですか?
178138:2009/02/05(木) 08:10:13 ID:???
案外釣れなかったから再レスするけど、
マジで講師いいよ。
日に45万は見栄張りすぎたけど、30万は確実にいくし。

まぁ、実際の俺は自宅警備だからこれは妄想にすぎないんだけど。
179nobodyさん:2009/02/05(木) 08:12:45 ID:???
それは、本当に貰ってる俺を釣りたいのか?
180nobodyさん:2009/02/05(木) 08:17:28 ID:???
>>178
釣りたければもう少し金額を下げておけ。
181179:2009/02/05(木) 08:23:26 ID:???
>>180
でも、それくらいはいくだろ。
俺も35万前後は毎月もらってるし
182nobodyさん:2009/02/05(木) 08:26:03 ID:???
>>181
おまえ、せっこい釣りだな。小房かよ
別に、おれは困らんし
183nobodyさん:2009/02/05(木) 08:27:30 ID:???
あ、名前欄に入れる数字間違えただけか、煽ってスマン
184nobodyさん:2009/02/05(木) 08:27:48 ID:???
>>181
こんなところでつまらない見栄張ってる暇があったら働けよw
たかだかPHPの講師でそんなにもらえるわけねぇだろ
この業界が儲かるといわれて注目されてた時代はとっくに終わってるんだよ
185nobodyさん:2009/02/05(木) 08:29:08 ID:???
>>184
ツッコミちがうぞ
181は「毎月」ってボケてるんだ
186nobodyさん:2009/02/05(木) 08:36:13 ID:???
>>182-183
落ち着けよ

どうせ、ひとつ上まで >>178>>179 の自作自演なんでしょ
朝から香ばしいスレだぜ、まったくw
187nobodyさん:2009/02/05(木) 08:38:30 ID:???
うん。そうなの。ごめんね
188nobodyさん:2009/02/05(木) 08:40:48 ID:???
稼げないのが常識だと思ってる奴が数名いることだけはわかった
189nobodyさん:2009/02/05(木) 08:41:11 ID:???
>>187 www
190nobodyさん:2009/02/05(木) 08:54:54 ID:???
釣り師と釣られ師がいてもたったこれしか伸びないなんて...
全盛期(4,5年前かな)に比べるとかなり過疎ってるな。

あのころは金になると思ったボンビーメンたちがPHPやPerlスレに
押し寄せていたのに。時がたつのは早いですねぇ、えぇ。
191nobodyさん:2009/02/05(木) 08:57:48 ID:???
スレ違いのしょうもない話に乗っても意味ないから君以外の皆は放置してるだけだよ
192191:2009/02/05(木) 09:08:08 ID:???
訂正
スレ違いのしょうもない話に乗っても意味ないから君と俺以外の皆は放置してるだけだよ
193nobodyさん:2009/02/05(木) 09:21:05 ID:???
わざわざ騙ってそんなこと訂正して嬉しいのかw
194nobodyさん:2009/02/05(木) 09:25:22 ID:???
名前欄に数字いれてないで、素直にPDOの質問出せばいいのに

質問

って
195nobodyさん:2009/02/05(木) 09:26:35 ID:???
今、暇だから特別にこたえてやんよ
196nobodyさん:2009/02/05(木) 09:33:16 ID:r201bcdx
formから受け取った画像ファイルを
画像ファイルとして読み込めるかどうか判断できる
方法を知っていたら教えてください。
今は、getimagesizeで取得できるかどうかで、
できなければ画像ファイルじゃない、と判断しているのですが、
なにか抜け道があるようなきがして不安なのです。
よろしくお願いします。
197nobodyさん:2009/02/05(木) 09:47:33 ID:???
GDで新しいイメージを作ってそこにペースト。
それから保存する
198nobodyさん:2009/02/05(木) 09:56:19 ID:???
>>173
htmlspecialcharsは実際に表示するときでいいよ
リクエスト受け取るときは何もしなくていい
199nobodyさん:2009/02/05(木) 11:18:57 ID:???
>>195
今じゃなくて、「常に」暇なんでしょw
どうでもいいけど「やんよ」ってどこの訛りですか?
200nobodyさん:2009/02/05(木) 11:22:13 ID:???
>どうでもいいけど「やんよ」ってどこの訛りですか?
2chは初めてですか?
201nobodyさん:2009/02/05(木) 11:23:02 ID:???
>>200
そうですが何か?w
202nobodyさん:2009/02/05(木) 11:33:05 ID:???
>>199
常にってのは大げさだけど、暇な時間、多いかも。
あくせく働かなくても、儲かってるから
203nobodyさん:2009/02/05(木) 11:37:27 ID:???
>>202
経済的にコンプレックスをかかえてるのはわかるけど、そういう見栄を張って
むなしくなりませんかw
204nobodyさん:2009/02/05(木) 11:38:37 ID:???
>>202
へぇ、自宅警備ってそんなに儲かるんだ。
205nobodyさん:2009/02/05(木) 11:39:26 ID:???
ひゃひゃ、なんか、くすぐったいねぇ
206nobodyさん:2009/02/05(木) 11:41:04 ID:???
ガキども
ここで雑談するな
スレ違いだ
207nobodyさん:2009/02/05(木) 11:46:56 ID:???
>>204
もう自宅警備歴がかれこれ5年になるけど、めちゃくちゃ儲からないよw
ヤフ桶での転○での利益が月7〜15万ではっきり言ってきつい。
日常生活に(お家がダンボールになっちゃうかもしれないという)スリルを
求める奴にはおすすめだけどね。
208nobodyさん:2009/02/05(木) 11:49:33 ID:???
おまえら、せめて自宅警備のついでに開発しろ
まともに開発できるやついたら、1か月80万〜100万払うぞ。俺が。まじで。
209nobodyさん:2009/02/05(木) 11:53:33 ID:???
>>208
そこまで言うなら、まずは
お名前、ご住所、電話番号
を晒さないとね
210nobodyさん:2009/02/05(木) 12:00:34 ID:???
開発力の証明になるようなサイト作って、仕事募集中って書いてくれたら、
おれからコンタクトするよ
211210:2009/02/05(木) 12:03:28 ID:???
言い忘れてたけど、もちろん全部嘘だから。それだけは承知しといてね
212nobodyさん:2009/02/05(木) 12:42:10 ID:???
だめだこいつらwwww
普通の人間になってください
213nobodyさん:2009/02/05(木) 12:45:05 ID:???
>>211
おまえ、まだいたのか。
稼ぎそこなったなw
214nobodyさん:2009/02/05(木) 13:08:01 ID:???
>>167
pearいいですね、勉強してみます
>>168
文法ぐらいなら難しいことでもないのでもう完ぺきです
>>169
感性を磨きます
>>172
php5ですが簡単な使い方は覚えました
class keisan {
public $i=2;
public $n=3;
function tasizan(){return $t=$this->$i+$n;}
function hikizan(){return $h=$this->$n-i}
}

$obj=new keisan();
echo"<p>".$obj->tasizan()."</p>";
echo"<p>".$obj->hikizan()."</p>";

>>174
javaも勉強してみます
215nobodyさん:2009/02/05(木) 14:18:04 ID:???
なんか滅茶苦茶だね
216nobodyさん:2009/02/05(木) 14:24:15 ID:l+G3Usoa
ヤフオクの商品出品画面とかみたいに
一時的にアップした画像を次のページのさらに次でアップしたいのですがどう引き継げばいいですか?

index1.htm ここのフォームで画像をアップする

index2.htm ここで画像を表示して「この画像でいいですか」と出して

index3.htm ここで「完了」と出す

2で一時フォルダに保存すれば3でアップと同時に一時フォルダの画像を消すことができるけど
ユーザーが3に行かずにやめてしまった場合は残ってしまいます。

3で再びアップさせればいいんだけど、1から3へ画像ソースのディレクトリを引き継ぐ事はできないんですか?
よく分からないので教えてください。
217nobodyさん:2009/02/05(木) 14:30:41 ID:???
一時ディレクトリにタイムスタンプ付きファイル名でアップさせてしまう。
完了したら、それを正規ディレクトリに移す。
一時ディレクトリは定期的に掃除するスクリプトを動かす。
218nobodyさん:2009/02/05(木) 14:41:24 ID:???
実際にアップロードしたくないのなら
フォームで選んだら出るC:\なんちゃらってパスをJavaScriptで取得して
そのパスを次の画面でhiddenで渡す
次の画面でそのパスをimg srcに埋め込んでローカルのファイルを表示させる
とかでいいんじゃねえ
PHP関係ないけど
219nobodyさん:2009/02/05(木) 15:21:13 ID:???
>>218
JSのセキュリティ的にローカルのパスをセットしてアップって無理じゃない?
220nobodyさん:2009/02/05(木) 15:26:19 ID:???
>>218
javascript以前にHTMLから勉強しなおし
そんなこと出来たらサイト作成者側から好きなファイルを
アクセスしたやつから勝手に回収することができるじゃないか!?
221214:2009/02/05(木) 15:28:19 ID:???
>>215
ぼくにですか?
222173:2009/02/05(木) 15:30:57 ID:+8hoj09r
>>198
ありがとうございます
223nobodyさん:2009/02/05(木) 15:33:57 ID:???
ゲットの中身が整数である決まりならhtmlspe(ryを使わずにintvalを使うこともできる
224nobodyさん:2009/02/05(木) 15:42:27 ID:+8hoj09r
>>223
はい 整数なんですよ。
これでいいんでしょうか?


$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = intval($_GET['hoge']);
}

225nobodyさん:2009/02/05(木) 15:52:33 ID:???
>>221
>public $i=2;
カプセル化の意味がないので、privateにする。
publicは通常使わない。継承する親クラスで、継承先で使いたい時にprotected使うぐらい。
通常はprivateでOK。

>function tasizan(){return $t=$this->$i+$n;}
PHPの場合メンバー変数のアクセス方法は、$this->$iではなく、$this->i(iに$いらない)。
同様にnのほうもちゃんと$this->nにする。
return $this->i + $this->n;といった感じ。

単純な2値の計算なんかの場合はstaticメソッドを使うとよい。
class keisan {
static function tasizan($a, $b){return $a+$b;}
}
echo keisan::tasizan(2,3);

最初は誰だって滅茶苦茶なのは当たり前。
がんばってちょうだい。
226nobodyさん:2009/02/05(木) 15:57:04 ID:???
初心者相手に、僕すごいんだぞってか
227nobodyさん:2009/02/05(木) 16:07:57 ID:???
publicは通常、使わない、というが、
最後にはnewしてインスタンス化して使うんだよね


だから、少なくても、最後の一個はpublicに
しないとダメなんでしょ?
228nobodyさん:2009/02/05(木) 16:10:03 ID:???
>>227
public classとかphpにはないんで。
基本グローバル
229nobodyさん:2009/02/05(木) 16:11:37 ID:???
PHP使う時に他の言語の常識を振りまわすkz
230nobodyさん:2009/02/05(木) 16:42:15 ID:kfp6uZBj
var_dumpしたら、複雑な連想配列でした、これをさくっと取り出せないのでしょうか?
配列構造は、ケースによってまちまちです。
array(4) {
["tes"]=>
array(1) {
["aaa"]=>
string(12) "*"
}
[0]=>
array(8) {
["bbb"]=>
string(10) "*"
<省略>
["ggg"]=>
string(4) "*"
["hhh"]=>
string(1) "*"
["iii"]=>
string(4) "*"
}
["jjj"]=>
array(1) {
["kkk"]=>
string(4) "*"
}
["lll"]=>
array(1) {
["fff"]=>
NULL
}
}
231nobodyさん:2009/02/05(木) 16:45:21 ID:???
ヒント foreach 再帰
232nobodyさん:2009/02/05(木) 16:50:25 ID:???
質問になってないのに、よくヒント出せるな。
233230:2009/02/05(木) 17:11:23 ID:???
やっぱ再帰ですよね。
phpは、よくわかんないだけど、割に便利な関数があるんで、
そんなのがあったりするんかなと。ググる前に質問しちゃいました。ゴメンね。
でもコード考える気がなかったりするw
php,再帰,連想配列でググってみたらよさげなものがあるんで、
流用しようw
234nobodyさん:2009/02/05(木) 17:17:37 ID:???
新キャラ出現w
235nobodyさん:2009/02/05(木) 17:51:32 ID:???
PHP5.1.6のmb_convert_encodingでマルチバイトで1000文字くらいの改行の無い文字列の文字列変換をすると、
決まった長さまでは正常だけど、それ以降が文字化けするというのは仕様ですか?
236nobodyさん:2009/02/05(木) 17:55:34 ID:???
んなわけねーだろ
237nobodyさん:2009/02/05(木) 18:09:53 ID:???
5.1系は使うなとあれほどいっただろ
238235:2009/02/05(木) 18:46:55 ID:???
あ、申し訳ないです。問題の切り分けを間違えてました…。

mb_send_mailでの問題でした。

mail("[email protected]", "test", mb_convert_encoding("1234567890123…(改行無しで1000文字)", "JIS", "UTF-8"));
で改行のない長い文字列を送ると、

これで本文の途中から「…123・u條。毅僑…」と文字化けしてしまいます。
239nobodyさん:2009/02/05(木) 19:10:36 ID:???
PHPは糞杉るので他の言語に転向したいんですが、何がいいですか?
240216:2009/02/05(木) 19:15:28 ID:nQqyz+9C
>>217-220
遅レスだがありがと。
結局定期的に消すしかないのか。
まあ誰かがアップした時に同時にゴミ画像消すスクリプト動かせば手間はかからんな。

241nobodyさん:2009/02/05(木) 19:15:59 ID:???
HTMLはCとタイマン張れるほどの立派な低級言語だからHTMLおすすめ
242nobodyさん:2009/02/05(木) 19:17:24 ID:???
>>239
JSP
243nobodyさん:2009/02/05(木) 19:19:59 ID:???
このスレは糸を垂らすと必ず釣れるんだなw
244nobodyさん:2009/02/05(木) 19:25:09 ID:???
>>241
低級言語の意味わかってねぇwww
しったかぶり厨うざいよ
245nobodyさん:2009/02/05(木) 19:52:16 ID:+8hoj09r
(´・ω・`)
246nobodyさん:2009/02/05(木) 19:57:05 ID:???
>>245
無視されたくらいでageんなよ
247nobodyさん:2009/02/05(木) 19:58:30 ID:???
HTMLは上級下級問わず全てのwebにかかわる人に愛され続けてる言語です
248nobodyさん:2009/02/05(木) 19:59:53 ID:???
マークアップ言語語りたいならhttp://pc11.2ch.net/hp/池
249nobodyさん:2009/02/05(木) 20:10:27 ID:???
>>247
お前、空気嫁ないねってよく言われるでしょ?
250nobodyさん:2009/02/05(木) 20:15:36 ID:r201bcdx
>>197
なるほど、参考にさせていただきます。
ありがとうございました。



$dir = C:\\www\\a\\、みたいに指定して
下のようにディレクトリaを削除してみたのですが、
if(DIRECTORY_SEPARATOR == '\\'){
system('rmdir '.$dir.' /s /q');
}
$dir = G:\\www\\a\\にしたときは、削除できませんでした。(エラーなし)
phpとかもろもろはCドライブにインストールしているのですが
それが原因でしょうか?
widows2000 php5.2.6
251nobodyさん:2009/02/05(木) 20:19:19 ID:???
$dir = C:\\www\\a\\
文法上おかしくない?
252nobodyさん:2009/02/05(木) 20:23:48 ID:???
""でくくらなきゃ
253nobodyさん:2009/02/05(木) 20:26:47 ID:r201bcdx
>>251
>>252
すみませんでした。ここへ書くときに忘れてました。
正しくは、
$dir = "C:\\www\\a\\";
なのですが、やはりGドライプで操作したときは、
消したいディレクトリがその場に残ったままなんです。
254nobodyさん:2009/02/05(木) 20:31:05 ID:???
DIRECTORY_SEPARATORが\\なの?
255nobodyさん:2009/02/05(木) 20:34:21 ID:???
>>253
そもそもプロンプトで
 rmdir G:\www\a\ /s /q
は通るの?
256nobodyさん:2009/02/05(木) 20:43:59 ID:r201bcdx
>>254
どこかのサイトに書いてあったのをやったらできたのです。
>>255
すみません、よくみたらまた間違ってました><;
$dir = "C:\\www\\a";
でした。
これで、aはきえました。
257nobodyさん:2009/02/05(木) 20:47:50 ID:???
ほうほうそれで?
258nobodyさん:2009/02/05(木) 20:50:25 ID:3zIJ+Mqp
pearで一番簡単な入門的なパッケージってどれでしょうか?
259nobodyさん:2009/02/05(木) 20:51:00 ID:r201bcdx
それで、さきほど>>255さんを参考に
コマンドプロンプトで
rmdir G:\www\a /s /q
をしたら、消えてくれました。
260nobodyさん:2009/02/05(木) 21:00:26 ID:???
>>258
特に無い
261nobodyさん:2009/02/05(木) 21:09:41 ID:???
>>259
× rmdir G:\www\a\ /s /q
○ rmdir G:\www\a /s /q

ってことか?
262nobodyさん:2009/02/05(木) 21:15:47 ID:r201bcdx
>>261
試しにさっき、
rmdir G:\www\a\ /s /q
やってみたら、これも消えてくれました。
でも、なぜあphpで書くと処理してくれませんね。
263nobodyさん:2009/02/05(木) 21:25:19 ID:???
権限とかopen_basedirとか?
結果を取得するなりログを見るなりすればなんかでるでしょ
264nobodyさん:2009/02/05(木) 21:55:05 ID:r201bcdx
いろいろやっていくいうちに、原因がわかりました。
ものすごくくだらないですが・・
まず、CをGと変更しているのに、削除しようとしているのは
Cの方だったことがわかりました。
そこでもう一度視野を広げてみてみると、
原因はphpの編集ツールにありました。
CからGへapacheのルート?wwwディレクトリをコピーで移動させてからも、
そのツールの編集画面を開いたまま編集していました。
つまり、Gの方のphpを編集している気でいたら、Cの方のphpを編集しており
Gの方のC:\\www\\aがそのままになっていただけでした。
ありがとうございました。
265nobodyさん:2009/02/05(木) 21:56:40 ID:r201bcdx
訂正
すみません。原因はツールより、私の方にありました。
266nobodyさん:2009/02/05(木) 22:48:44 ID:Gj5tVrB7
超くだ質ですが、お願いします。

[1.htmlの内容]
<form name="form" action="./1.php" method="GET">
<input name="name" type="text">
<input name="name2" type="text">
<input type="submit" value="送信"></form>

[1.phpの内容]
<?php
$name1 = $_REQUEST["name"];
?>
値は<?php print $name1;?>

1.htmlのnameに山田、name2に太郎と入れてsubmitした時に1.phpのprintに
値は山田太郎 と出力させるようには出来ないのでしょうか?
267nobodyさん:2009/02/05(木) 22:50:53 ID:???
>>266
value
$_GET[]
268nobodyさん:2009/02/05(木) 22:56:49 ID:???
$_REQUEST["name"] . ' ' . $_REQUEST["name2"]
269nobodyさん:2009/02/05(木) 23:04:00 ID:Gj5tVrB7
>>267
>>286
ありがとう!こんな事で2時間以上ぐぐってたのか・・
270nobodyさん:2009/02/05(木) 23:08:37 ID:ApJraLWL
永続接続を使った場合apacheの待機プロセスorスレッドの分だけデータベースにスレッドが立ったままになっちゃいますけど
そういうものなんですか
psコマンドで出すとズラーっと並んでいて気になります
271nobodyさん:2009/02/05(木) 23:13:16 ID:???
>>270
そういうものです。
272nobodyさん:2009/02/05(木) 23:14:15 ID:???
つまり気にしなくておk?
273nobodyさん:2009/02/05(木) 23:16:02 ID:???
OKかどうかは、運用と鯖のパワーバランス
274nobodyさん:2009/02/05(木) 23:19:21 ID:???
わかりました
ありがとう
275nobodyさん:2009/02/06(金) 01:07:33 ID:Zd9hNyvT
20090206
を書式化して
2009年02月06日

としたいのですが、やはり一度分割して配列に入れる方法しかないのでしょうか?
276nobodyさん:2009/02/06(金) 01:09:40 ID:???
echo date( "Y年m月d日", strtotime( "20090206" ) );
277nobodyさん:2009/02/06(金) 01:16:12 ID:???
>>275
strtotime
278nobodyさん:2009/02/06(金) 01:37:39 ID:3pSilmD2
一般的になコーディング方法について教えてください。
私は以下のようにしてコーディングしているのですが、
このスタイルは間違っていますか?

<?php
class Test{
 // 送信ボタン名
 private $_submitButtonName = "test_submit";

 // フォームを出力する
 public function print_form(){
  print "<form action=\"{$_SERVER["PHP_SELF"]}\" method=\"POST\">\n";
  print "<input type=\"text\" name=\"textarea0\">\n";
  print "<input name=\"{$this->get_submitButtonName()}\" type=\"submit\" value=\"送信\">\n";
  print "</form>";
 }
 // 送信ボタン名を返す
 public function get_submitButtonName(){
  return $this->_submitButtonName;
 }
 // 送信されたかチェックする
 public function determineSubmit(){
  if( isset($_POST[$this->get_submitButtonName()]) ){ return true; }
  else{ false; }
 }
} // END class Test
279278:2009/02/06(金) 01:38:02 ID:3pSilmD2
$obj = new Test;

$obj->print_form();

if($_SERVER["REQUEST_METHOD"]=="POST"){
 if($this->determineSubmit()){
  〜
 }
}
?>
280nobodyさん:2009/02/06(金) 01:44:36 ID:???
コーディングスタイルに正解も間違いもないよ
281nobodyさん:2009/02/06(金) 01:58:55 ID:???
>>278
普通はHTMLタグはページ用のファイルに書くんじゃないかな
submitボタンのname属性も可変にする必要ないと思うけどするなら、

<form action="test.php" method="POST">
<input type="text" name="textarea0">
<input name="<?=MyConst::SUBMIT_BUTTON_NAME?>" type="submit" value="送信">
</form>
282nobodyさん:2009/02/06(金) 02:00:52 ID:???
set_submitButtonNameしたいときもあるかもしんねぇだろwww
283nobodyさん:2009/02/06(金) 02:17:24 ID:???
>278
クラス名が具体性を欠く。$obj = new Test;
の1行からは、何をしたいのかという意図が全く伝わってこない。
そもそもそのクラスは、「何を」表したクラスなんだ?アプリケーションか?ユーザーからのリクエストか?今から生成するフォームか?

クラス内の処理が実質的に全てstatic。こんなクラスはインスタンス化する意味が無い。
ボタン名をconstにして全てstaticメソッドにする、あるいはクラス自体を取っ払って単なるグローバル関数にする。

ボタン名を定数ではなく変数にする意味は?
変数を使うというのは「この値はスクリプトの実行中に変化する可能性がある」という意思の表明でもある。だから「変わる数」なんだよ。
動的に変わるならばそのままでもいいが、もし仮に実行中に変わらないならば定数にすべきだ。

determineSubmitという関数名。回りくどい上に、意味がおかしい。サブミットされたかは、このメソッドが決めるわけじゃない。
百歩譲ってもcheckSubmitted()。
俺ならisSubmitted()もしくはsubmitted()。boolを返す事が自明になるし、どっちの場合にtrueが返るのかも分かりやすい。
それとアプリケーション構造として、処理に必要になる値の存在だけをチェックすべきだ。
textarea0に文字が入ってさえいれば、サブミットボタンが押されてようが爆発してようが別にどうでもいいだろ?

サブミットされたかは関数なのに、POSTかどうかの判定は変数を直接見ている。記述のレベルが揃っていない。
「好きな食べ物は辛いものと糖質を75%以上含むものです」なんて言わないだろ?同じレベルの記述では抽象度を揃えろ。
「辛いものと」なら「甘いもの」だし、「糖質を75%含む」ならば「カプサイシンを10mg含む」だ。その時興味のあるレベルに揃えるんだ。
つまりif( isPosted() && isSubmitted() ) か、if( $_SERVER["REQUEST_METHOD"]=="POST" && isset($_POST[[$key]) 。
284283:2009/02/06(金) 02:34:31 ID:???
クラスは、クラスが必要なところでだけ使えばいいんだよ。
クラスを使う事が偉いのではない。クラスを使うことで分かりやすい/保守しやすいコードを書く事が偉いんだ。
「なんでクラス使ってるの?」と聞かれて、答えられるか?説得する必要はないが、自分なりの回答が存在するか?

ttp://d.hatena.ne.jp/masayang/20081211/1229033163
その程度の処理にクラスを持ち出すのは、このコードと同じ事をしている。
クラスや関数などの中間層は、増やせば増やすほど何をやっているか分かりにくくなる。
 $this->determineSubmit()
より
 isset($_POST['test_submit'])
の方が分かりやすい。具体的に何をやってるか、メソッドの定義部を読みに行く手間も省ける。
ま、練習中なら、過剰なまでに抽象化するのもひとつの経験だけどな。
285nobodyさん:2009/02/06(金) 02:38:16 ID:y9gQg+aR
PDO の質問です。

$id = 1;
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->execute($id);

で、実行したバインド済みのSQL(select * from hoge where id = '1')
を取得したいんですが、方法はありますでしょうか。
286nobodyさん:2009/02/06(金) 02:49:11 ID:???
>>284
そりゃそうだ
時給制や残業制とは無能であればあるほど金がもらえる仕組みなんだよ
287nobodyさん:2009/02/06(金) 02:50:43 ID:???
>>285
なんでマニュアルみーへんの?
288nobodyさん:2009/02/06(金) 03:12:57 ID:???
これくらいなら僕でもできるもん!
>>285
間違ってるかも・・・
詳しくは先輩から聞いてください><

$id = $_GET["id"];
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->blindParam(1,$_GET["id"])
$sth->execute();
289nobodyさん:2009/02/06(金) 03:27:05 ID:???
>>288
まず日本語学んだら?
>で、実行したバインド済みのSQL(select * from hoge where id = '1')
>を取得したいんですが、方法はありますでしょうか。
290288:2009/02/06(金) 03:53:28 ID:???
すまんね。書き直します。

PDO の質問です。

$id = 1;
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->execute($id);

以上のコードの後に、パラメーターがバインドされた形の
実際に実行されたSQL文を取得したいのですが、方法は
ありますでしょうか。
* 上記の例では "select * from hoge where id = '1' " を得たい。
.  簡単にいうと getLastQuery() 的なもの。

>>287, 288, 289
日本語スマソ

お分かりの方お願いします。
291nobodyさん:2009/02/06(金) 03:57:16 ID:???
はい?285=288なの?
292285 != 288:2009/02/06(金) 04:01:32 ID:y9gQg+aR
まちがえt
293nobodyさん:2009/02/06(金) 04:04:39 ID:???
294nobodyさん:2009/02/06(金) 04:13:51 ID:???
>>289
>>287
>>293
早く教えろよ
わからねーのか
295291:2009/02/06(金) 04:16:12 ID:???
わからねーよ
296285 ◆Oto8cICx9k :2009/02/06(金) 04:23:43 ID:y9gQg+aR
めんどくさいから鳥つけた

>>293
結構読んだはずなんだけど分からんかった。
user noteまでは読み切ってないので、どのへん〜だけでも
ヒントくれたら助かります。

297nobodyさん:2009/02/06(金) 04:29:33 ID:???
結構ではなく全部読め
298nobodyさん:2009/02/06(金) 04:31:05 ID:???
自作自演ですか?
299298:2009/02/06(金) 04:33:07 ID:???
そうです俺馬鹿なもんで
300nobodyさん:2009/02/06(金) 04:37:15 ID:???
>>299
馬鹿なんだ^−^−^−^−^−^
301nobodyさん:2009/02/06(金) 04:38:48 ID:???
きもい〜★
302nobodyさん:2009/02/06(金) 04:49:25 ID:???
なんかエッチな気分
303nobodyさん:2009/02/06(金) 05:35:37 ID:???
表現が稚拙だな
304nobodyさん:2009/02/06(金) 06:29:21 ID:IlUhJl+1
スレ違いかな…
phpと.htaccessの質問なのですが…
.htaccess中のRewriteEngineを使用して拡張子の書き換えを行い、
htmlへアクセスした際、phpへリライトするということをしたいです。
[例]
http://www.***.com/cgi/sample.html
 ↓
http://www.***.com/cgi/sample.php
で、
RewriteRule ^(.*)sample.html(\?.*)?$ $1sample.php$2
と、設定するとうまく動作してくれるのですが、
RewriteRule ^(.*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
と、設定すると404(not found)となってしまいます。恐らく、リライトのルールに合致しない為
書き換えが行われていないのだと思います。
なんで…なんでなのぉ〜(号泣)



305nobodyさん:2009/02/06(金) 07:06:20 ID:???
phpは全く関係ないな。こじつけにもほどがある。
このスレ、そんなに頼りになると思ってんの??ありえん。
# mod_rewriteスレがあるよ
306nobodyさん:2009/02/06(金) 10:01:08 ID:???
>>404
スレチ

AddTypeでググれ
307nobodyさん:2009/02/06(金) 10:05:50 ID:???
>>304
こんな感じじゃない?
RewriteRule ^([^\/].*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
308278:2009/02/06(金) 11:46:08 ID:3pSilmD2
返信遅くなりました。
私としては、”意味のまとまり”をクラスとする、
というつもりです。
先のTestクラスは意味を表していないので例として間違っていました。
申し訳ありません。

例えば、先日私は「郵便物の配達履歴」のプログラムを組みました。
そこでは、
(1)郵便物を登録するクラス
 ・登録フォームを出力
 ・ユーザの入力が間違っていないか(番地は数字と-のみとか)チェック
 ・過去の履歴を検索してユーザの入力を助ける
 ・郵便番号からDB中の住所を検索する
 etc
(2)過去に登録した郵便物を検索するクラス
 ・フォームを出力する
 ・ユーザが入力した情報から過去の郵便物を検索する
 ・検索したものを編集/削除する
 etc
(3)ログイン時の認証をするクラス

を用意しました。
309278:2009/02/06(金) 11:46:44 ID:3pSilmD2
続・308

意味のまとまりをクラス化し、
そのクラスに関係する情報はそのクラスで全て管理する、
という気持ちでやっていたので、
>>278のような感じになりました。
(確かに、>>283さんのいうようにボタン名はconstにしたり、
if( isPosted() && isSubmitted() ) を用いるべきでした。)

私はJava、C++メインなためどうしてもクラスありき、
(といってもJavaもC++も大した力はありませんが・・・)
で考えてしまうのですが、
PHPは必ずしもそうではない、ということでしょうか? 
310nobodyさん:2009/02/06(金) 11:52:24 ID:???
PHPはクラスありきではない。
PHPはスクリプト言語、スクリプトからクラスを使う。
しかし、実質的にクラスベースっ"ぽい"開発もできる。

あとは好みの問題。
311nobodyさん:2009/02/06(金) 11:52:37 ID:???
Javaのスキルも程度が知れるな
312nobodyさん:2009/02/06(金) 13:29:37 ID:???
クラスってなにかくんですか?
313nobodyさん:2009/02/06(金) 13:30:14 ID:???
MVC
314nobodyさん:2009/02/06(金) 13:53:32 ID:???
MDD
315nobodyさん:2009/02/06(金) 14:03:37 ID:???
TDD
316nobodyさん:2009/02/06(金) 14:06:07 ID:???
MVC意識してるのにうまく分離できない
VとCがくっついたりVとMがくっついたり・・・
317nobodyさん:2009/02/06(金) 14:06:11 ID:???
やまだくんです
318nobodyさん:2009/02/06(金) 14:09:43 ID:???
まだやくんです
319nobodyさん:2009/02/06(金) 14:37:49 ID:???
>>308-309
基本的にどの言語だろうとクラスの本質は変わらないはず。
オブジェクト指向で書けるようになると戻りたくないというのも解る。
…が、その設計は果たしてどうだろう?
クラスはその名の通り型(intやstring、ひいては構造体等の)であって、
(そのような側面もあるが)名前空間が本領ではない。
クラスの本質は「データとメソッドを結びつける」ことによって、
自身の振る舞いを知っている型として纏まって独立し、
型・コードの再利用は勿論、カプセル化やポリモーフィズムなど様々な恩恵を生み出す…。

そこで話を戻すとその内容はクラス、というよりも
デザインパターンの話になってしまうのではないか。
まずはパータンの前に郵便物情報のクラスを作ってから、
それをActiveRecord/MVCのModelとかにして、
そいつに郵便物情報の処理を適切にスタティック/インスタンスメソッドなり追加して
その外側からViewやControllerで操作する…というのが私見。

# Javaや.NETのクラスライブラリの中から処理形態として類似したものを真似てみるのもいいかと。
320nobodyさん:2009/02/06(金) 14:45:05 ID:???
>>319
そんなクラスの一般論なら、クラスでググればいいだけだろ。
うざいからほどほどにしてくれ。

「デザパタの前に実装してPHPのくせを先に学ぶのを先にした方がいい」
って私見ぐらいは語ってもいいけど、デザインパターンが通じない開発者の方が少数派だろ。
321nobodyさん:2009/02/06(金) 14:46:21 ID:iuyfFTeY
いまのPHP三大フレームワークは以下のものと認識してもよろしいでしょうか?
cakePHP
シンフォニー
zendフレームワーク
322nobodyさん:2009/02/06(金) 14:47:30 ID:???
=>フレームワークスレ いけ
323nobodyさん:2009/02/06(金) 14:48:16 ID:???
>>320
おいトリップつけるかIDだせ
324nobodyさん:2009/02/06(金) 14:51:16 ID:???
CI
yii Framework
325nobodyさん:2009/02/06(金) 14:51:50 ID:???
>>323
なんで?
326nobodyさん:2009/02/06(金) 14:53:22 ID:???
JavaはPHPより難しい

2日で諦めた

俺低脳だし
327nobodyさん:2009/02/06(金) 14:54:40 ID:???
PHPを諦めたの?それとも人生?
328nobodyさん:2009/02/06(金) 14:58:32 ID:???
>>327
人生とかお前馬鹿?
329327:2009/02/06(金) 14:59:27 ID:???
はい 馬鹿です^^
330nobodyさん:2009/02/06(金) 15:00:31 ID:???
ここにいる人
きもっ〜>_<
331nobodyさん:2009/02/06(金) 15:01:30 ID:???
何むしゃくしゃしてるの?悔しいの?
332nobodyさん:2009/02/06(金) 15:02:39 ID:???
くだらんケンカはよそでやれ
333nobodyさん:2009/02/06(金) 15:15:36 ID:???
[PHP]IDを出さずにくだらないケンカをするスレ[質問]
334nobodyさん:2009/02/06(金) 15:18:21 ID:???
自演で長文投下してるやつ、キモイな
335nobodyさん:2009/02/06(金) 15:36:20 ID:???
キモ
336nobodyさん:2009/02/06(金) 18:02:25 ID:Iyeu5pU3
pearでこれは覚えろっていうパッケージを教えてください
337nobodyさん:2009/02/06(金) 18:17:50 ID:???
ない
338nobodyさん:2009/02/06(金) 18:31:35 ID:???
>質問スレで運悪く、ろくな答えもよこさないくせに態度のでかいヘボ回答者
>にあたってしまったが、他への心象を気にして強く出れなかったお方

ロクな回答者に絡まれると大変ね
339nobodyさん:2009/02/06(金) 21:36:43 ID:???
ロクな回答者に絡まれたら良いじゃん
340nobodyさん:2009/02/06(金) 21:41:21 ID:???
つうか、ここで質問してまともな回答を期待する方が、頭オカシイだろ
腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
341nobodyさん:2009/02/06(金) 21:44:01 ID:???
助けてもらって当然、与えてもらって当然、他人に右往左往してもらって当然、って考えてる子が多い
342nobodyさん:2009/02/06(金) 21:59:23 ID:???
そんなこと言っててもエサを投げればすぐ食いついてくるくせに( ´∀`)σ)Д`)
343nobodyさん:2009/02/06(金) 22:31:27 ID:???
XREAスレが静かになったと思ったらこっちでファビョってたのかqqq
344nobodyさん:2009/02/06(金) 23:05:54 ID:???
このての分野ってキモイ人間多いよな
345nobodyさん:2009/02/06(金) 23:06:38 ID:???
お前が一番だから心配すんな
346nobodyさん:2009/02/06(金) 23:13:40 ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
347nobodyさん:2009/02/06(金) 23:14:08 ID:???
お前が一番そうだから心配すんな
348nobodyさん:2009/02/06(金) 23:14:18 ID:???
キモイ人間にとって、このスレは快適なのさ
349nobodyさん:2009/02/06(金) 23:14:20 ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
350nobodyさん:2009/02/06(金) 23:14:41 ID:???
お前が一番そうだから心配すんな
351nobodyさん:2009/02/06(金) 23:15:06 ID:???
344 :nobodyさん:2009/02/06(金) 23:05:54 ID:???
このての分野ってキモイ人間多いよな

345 :nobodyさん:2009/02/06(金) 23:06:38 ID:???
お前が一番だから心配すんな

346 :nobodyさん:2009/02/06(金) 23:13:40 ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ

347 :nobodyさん:2009/02/06(金) 23:14:08 ID:???
お前が一番そうだから心配すんな

348 :nobodyさん:2009/02/06(金) 23:14:18 ID:???
キモイ人間にとって、このスレは快適なのさ

349 :nobodyさん:2009/02/06(金) 23:14:20 ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。

350 :nobodyさん:2009/02/06(金) 23:14:41 ID:???
お前が一番そうだから心配すんな
352nobodyさん:2009/02/06(金) 23:16:00 ID:???
344の必死さにワロタw
353nobodyさん:2009/02/06(金) 23:16:46 ID:???
>>345
>>347
>>350
反応早すぎw
354nobodyさん:2009/02/06(金) 23:17:36 ID:???
この流れをみれば必死なのは反応の早い彼だと思うがあえてスルーしとこう
355nobodyさん:2009/02/06(金) 23:17:41 ID:???
いつもの基地外君はさっさと潰しとかんと迷惑だからなぁ
356nobodyさん:2009/02/06(金) 23:19:16 ID:???
>>354
きめぇw
357nobodyさん:2009/02/06(金) 23:19:16 ID:???
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
358nobodyさん:2009/02/06(金) 23:20:43 ID:???
>>358
キモイ
359nobodyさん:2009/02/06(金) 23:21:43 ID:???
お前が一番そうだから心配すんな
360nobodyさん:2009/02/07(土) 01:04:26 ID:???
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
361266:2009/02/07(土) 01:21:58 ID:nwjNO9JF
先日はお世話になりました。性懲りもなく本日もかなりのくだ質ですが、ちょっと
行き詰まり気味なのでお願いします。

00.htmlの内容
<html><head>
<script language="JavaScript" type="text/javascript">
<!--
function send (url){
document.form_orz.action=url;
document.form_orz.submit();}
//--></script></head>
<body>
<form name="form_orz" action="./01.php" method="GET"><td>
<input type="text" name="xxx">
<input type="submit" value="送信x">
<input type="text" name="yyy">
<input type="button" value="送信y" onClick="send('./02.php')"></td>
</form></body></html>

01.phpの内容
<?php
$xxx=$_REQUEST["xxx"];
echo "値は$xxx です";
?>

02.phpの内容
<?php
$yyy=$_REQUEST["yyy"];
echo "値は$yyy です";
?>
362266:2009/02/07(土) 01:22:41 ID:nwjNO9JF
つづき

同じform内では複数のsubmitを使うのはちょっとコツが要るっぽいので
ぐぐってあちこちを調べた結果、javascriptを使ってこのように書きました。
結果としては普通に動きますけど"送信y"をクリックした時に別窓で結果の値を
表示させたいのです。そこでjavascriptのwindow.openなるものを知りまして
00.htmlの<script>〜に次のように書きました。(>>361で書いたものは//で消して追記しました)

window.open(url);
document.form_orz.target = "yyy";
document.form_orz.method = "post";
document.form_orz.action = "url";
document.form_orz.submit();

これだと確かに新しく別窓が開くのですが「値は です」という表示でうまく受け渡しが
出来ていない様子です・・・。このように別窓で結果の値を表示させるようにするには
どのようにすれば良いでしょう?多分、window.open周りだと思うので本来ならばこのスレ
ではなくてjavaのくだ質スレが見つからなかったのでこちらに書かせて頂きました。
363nobodyさん:2009/02/07(土) 01:35:26 ID:???
window.open(url, "yyy");

targetの"yyy"とウインドウの識別名を一致させないとダメ
364nobodyさん:2009/02/07(土) 01:40:39 ID:???
365nobodyさん:2009/02/07(土) 01:42:25 ID:???
というか、どう考えてもPHPの話題じゃねえだろ。
366nobodyさん:2009/02/07(土) 11:32:12 ID:???
今年中にはPHP覚えまくって稼ぎまくろうかと思う
367nobodyさん:2009/02/07(土) 11:55:18 ID:???
11ヶ月もかけるのか・・・
368nobodyさん:2009/02/07(土) 22:21:56 ID:???
PHPで情報サイトを作ろうと思います。
さあ大変だ
369nobodyさん:2009/02/07(土) 22:35:07 ID:???
 しかし、ある一握りの子達は、大変指導に時間と手間がか
かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
370nobodyさん:2009/02/08(日) 00:48:59 ID:???
営業中
371nobodyさん:2009/02/08(日) 01:17:06 ID:DxNfF4Ma
$html = '<strong>{$text}</strong>}';

と言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので

$text = "あああ";
echo $html;

としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
372nobodyさん:2009/02/08(日) 01:20:16 ID:???
$html = "<strong>{$text}</strong>";
373nobodyさん:2009/02/08(日) 01:22:02 ID:???
さて、原因はどっちでしょう

@$htmlの宣言の時点で$textの中身が空っぽだから
A$html宣言のときに「"」じゃなく「'」で囲ってるから
374371:2009/02/08(日) 01:24:19 ID:DxNfF4Ma
>>372-373
'にしないと文字列として変数が扱われないのではないですか?

Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
375nobodyさん:2009/02/08(日) 01:29:23 ID:???
>>374
試してから言えカス
376nobodyさん:2009/02/08(日) 01:30:03 ID:???
>374
無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、

$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;

だと、<strong>ぬるぽ</strong>が出力されてガッされる。
377371:2009/02/08(日) 01:30:08 ID:DxNfF4Ma
もちろん試しました
が、中身は消えます
378376:2009/02/08(日) 01:31:08 ID:???
何を大嘘書いてるんだ俺は。
うんこが出力されてガッされない、が正解。
379nobodyさん:2009/02/08(日) 01:36:23 ID:???
>>374
自分でテンプレエンジンも作れない雑魚レベルなら素直にsmarty使え
380nobodyさん:2009/02/08(日) 02:43:12 ID:???
>>371
eval() や include() を使って評価する

function replace($template, array $params = array()) {
    extract($params);
    return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}

echo replace('私は{$name}です。', array('name' => '371'));
381nobodyさん:2009/02/08(日) 11:20:52 ID:DarObAIw
定義したhello関数を$testに格納して、呼び出したいところでecho $testを書いたのですが
$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?

function hello() {
return "<p>こんにちは</p>";
}


$test = hello();

#このあたりに別の処理をおいてます

echo $test;
382nobodyさん:2009/02/08(日) 11:23:54 ID:???
>>381
それはない。
helloでreturnしないでechoしてんじゃないの?
383nobodyさん:2009/02/08(日) 12:37:30 ID:???
>>381
もしくは勘違い。html見てみるがよろし
384nobodyさん:2009/02/08(日) 12:43:55 ID:WhrhZbLr
秒数を、
"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
385nobodyさん:2009/02/08(日) 12:50:59 ID:???
>>382

どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
386nobodyさん:2009/02/08(日) 12:51:42 ID:???
>>384
string date ( string $format [, int $timestamp ] )
387nobodyさん:2009/02/08(日) 12:56:50 ID:???
>>385
>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
388nobodyさん:2009/02/08(日) 15:04:52 ID:???
>>385
お前は何を言ってんだ?
389nobodyさん:2009/02/08(日) 15:26:32 ID:???
function hello(){echo"こんにちは"}
#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される

あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
390nobodyさん:2009/02/08(日) 15:29:48 ID:???
391nobodyさん:2009/02/08(日) 15:46:17 ID:mhFiPpin
>>389
別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。

まさに、下らない
392nobodyさん:2009/02/08(日) 16:14:38 ID:???
cなら格納しただけで実行はされないのにPHPってクソだな
393nobodyさん:2009/02/08(日) 16:23:49 ID:???
394nobodyさん:2009/02/08(日) 16:24:30 ID:???
echoしてくれたほうがいい
395nobodyさん:2009/02/08(日) 16:26:32 ID:???
普通関数内でechoしても関数を実行されない限りは動かないはずなのにな
関数を変数に格納するだけで動作するとか変な仕様だな
396nobodyさん:2009/02/08(日) 16:30:31 ID:???
配列の最後の添字を得たいのですが、簡単な方法ありますでしょうか?
自分なりに考えてみたのですが、回りくどいような気がするので

$i=1;
foreach($icarr as $key => $val)
{
  $hai[$i]=$key;
  $i++;
}
echo $hai[$i-1];
397nobodyさん:2009/02/08(日) 16:32:14 ID:???
てか、変数にしなくても、
hello();
だけで表示されるくね
398nobodyさん:2009/02/08(日) 16:33:12 ID:???
>>395
$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
399nobodyさん:2009/02/08(日) 16:42:39 ID:???
Cでカスだったやつは、PHPに来てもカスだな
400nobodyさん:2009/02/08(日) 16:47:42 ID:F6PnIVyb
変数$a,$b〜$zまであって、
とりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
401nobodyさん:2009/02/08(日) 16:59:07 ID:???
PHPの言語は何の言語で作られてますか?
402nobodyさん:2009/02/08(日) 17:03:37 ID:???
403nobodyさん:2009/02/08(日) 17:05:00 ID:???
>>401

phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
404nobodyさん:2009/02/08(日) 17:05:45 ID:???
[php] 攻撃:89 素早さ:21 防御:77 命中:86 運:45 HP:139
[c] 攻撃:36 素早さ:29 防御:59 命中:13 運:95 HP:223

php vs c 戦闘開始!!
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は120のダメージを受けた。
[c]の攻撃 HIT [php]は1のダメージを受けた。
[php]の攻撃 HIT [c]は92のダメージを受けた。
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は128のダメージを受けた。
[php]が[c]を倒しました(ラウンド数:3)。
405nobodyさん:2009/02/08(日) 17:08:43 ID:???
>>396
end
array_pop
406nobodyさん:2009/02/08(日) 17:17:02 ID:???
>>400
$a = $b = $c = $d = $e = $f = 0;
407nobodyさん:2009/02/08(日) 17:41:19 ID:???
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}

というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
408nobodyさん:2009/02/08(日) 18:37:59 ID:???
>395
クロージャを格納するのと関数の実行結果を格納するのは別の操作だ。JavaScriptで言うと
var hoge = hogeFunc();
var hoge = hogeFunc;
Cで言えば、関数ポインタを渡すのと関数の戻り値を渡す事の違い。

>400
for($loop=ord('a'); $loop <= ord('z'); $loop++){
${chr($loop)} = 0;
}
うっかりループ変数に$iを使っちまったぜ…9番目の変数が$iなのを忘れていた。

まとめて初期化したいという事は、何らかのかかわりを持った変数群だろうから、配列にしておく事をお勧めする。
変数名に意味を持たせるのは地獄の始まりだしな。そもそも、この処理(可変変数)は禁呪に近い。地獄への直行便だ。
$aが実は「アルファベットaの登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
409408:2009/02/08(日) 18:45:37 ID:???
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
410nobodyさん:2009/02/08(日) 19:01:39 ID:???
$$loopの$が2つつくのってどういう意味ですか?
411nobodyさん:2009/02/08(日) 19:43:49 ID:???
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
ttp://jp2.php.net/manual/ja/language.variables.variable.php
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。

パッと見>409のコードはスッキリしてるだろ?
この後のコードが死ぬほどカオスになる。デバッグの難易度も跳ね上がるし、コード解析の類も殆ど効かなくなる。
自分で書いておいてなんだが、こんなコードを書く奴がチームにいたら何とかして転属させる。
412nobodyさん:2009/02/08(日) 19:46:02 ID:???
じゃそんなの教えんなよ
413nobodyさん:2009/02/08(日) 20:05:59 ID:???
仕様で語りたいんなら、言語仕様の闘技場でもいってくれ。
いくらブログを呼んでもらえないからって、こんなところで、下らない持論を
ひけらかさなくてもいいだろ。
みんなわかってて使ってるんだ。

たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
414nobodyさん:2009/02/08(日) 20:47:00 ID:???
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
415nobodyさん:2009/02/08(日) 20:47:53 ID:???
わからないから使ったことない俺の立場も考えて教えてくれよ!
416nobodyさん:2009/02/08(日) 21:15:49 ID:???
いらっしゃいませ
いっぱい echoしていってね!
417nobodyさん:2009/02/08(日) 21:24:27 ID:???
初心者だからってバカにするなよ!!!!!
418396:2009/02/08(日) 23:48:11 ID:lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
419nobodyさん:2009/02/08(日) 23:51:15 ID:???
array_keysかければいいじゃん
420nobodyさん:2009/02/08(日) 23:51:19 ID:???
count
421nobodyさん:2009/02/08(日) 23:59:29 ID:???
$array = array('yahoo' => 'www.yahoo.com', '2ch' => 'www.2ch.net', 'google' => 'www.google.com');
$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
422nobodyさん:2009/02/09(月) 01:00:26 ID:3WrJzpwr
$aに含まれる連想配列の数は不定です。
この$aのキーを元に、2つの配列に分けたいと思います
キーの先頭文字aとbを元に2つの配列に分けたいのですが
どなたかご教示お願いいたします

$a['a1']=1;
$a['b201']=2;
$a['b31']=2;
$a['a23']=0;
$a['b1']=2;
$a['a300']=1;
$a['b42']=1;
$a['b3']=2;
423nobodyさん:2009/02/09(月) 01:06:58 ID:FohDFk4k
【OS名】Windows XP Pro x64
【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
424nobodyさん:2009/02/09(月) 02:35:15 ID:???
>>422
PHPのバージョンぐらいは提示しといた方がいいぞ

比較的新しいバージョンなら

$aa = array();
$ab = array();
foreach ($a as $key => $val) {

if ($key[0] = 'a') {
$aa[$key] = $val;
}
else if ($key[0] = 'b') {
$ab[$key] = $val;
}
else {
}

}
425nobodyさん:2009/02/09(月) 02:37:33 ID:???
>>423
php excelで検索すれば、いっぱい引っかかるから、良さそうなの適当につまんでみて
426nobodyさん:2009/02/09(月) 03:00:22 ID:1doMXVgO
セキュリティのことでお聞きしたいんですが (板違いならすいません

test.php?num=○○ というのがあって

○○にSQL文をうたれる場合があるんですよね?

○○は整数なので、is_numericを使えば完璧ですか?
427nobodyさん:2009/02/09(月) 03:12:12 ID:???
ctype_digit()のがベター
428nobodyさん:2009/02/09(月) 03:18:07 ID:???
いや適切にエスケープすりゃ整数だの数値だのどうのと考える必要ないだろ
429nobodyさん:2009/02/09(月) 11:06:59 ID:???
>>424
なんかスマートじゃないなあ
430nobodyさん:2009/02/09(月) 11:14:24 ID:???
じゃどんなのがスマートなんだ
431nobodyさん:2009/02/09(月) 11:21:54 ID:???
php5ならarray_intersect_ukey使えばおk
432nobodyさん:2009/02/09(月) 11:27:14 ID:???
>>424
新しいバージョンとか明示しといて新しい技術が使われてない件
433nobodyさん:2009/02/09(月) 11:53:59 ID:3Lbj9zQQ
配列のキーと要素をarray_walkでくっつけたいのですが
うまく動作しません
どなたかアドバイスお願いします

$ary=array("a"=>"001","b"=>"002","c"=>"003);

function test($value,$key) {
$s= $key.$value;
}

$a = array_walk($ary,"test"));
echo $a;
434nobodyさん:2009/02/09(月) 12:05:26 ID:zB3vQynG
phpで簡単に日付計算してくれる関数ないの?
mysqlみたいにintervalみたいなやつあったら便利なのに
435nobodyさん:2009/02/09(月) 12:12:51 ID:???
shitsumonnha gutaitekini
436nobodyさん:2009/02/09(月) 12:13:53 ID:???
>>433
return
>>434
あるじゃん
437nobodyさん:2009/02/09(月) 12:17:00 ID:???
>>433
すまんreturnはarray_mapだった
array_walkは第一引数を参照で指定みたいね
438nobodyさん:2009/02/09(月) 12:36:49 ID:zB3vQynG
>>436
strtotimeでできたわ
dクス
439nobodyさん:2009/02/09(月) 12:55:30 ID:3Lbj9zQQ
ありがとうございます
値を引き継げないのでarray_walkは諦めます
440nobodyさん:2009/02/09(月) 13:05:40 ID:???
>>439
ヒント:要素に要素とキーをくっ付けて入れて戻して連結
441nobodyさん:2009/02/09(月) 13:09:54 ID:???
>>440
久々に、本物のヒントを見た。
442nobodyさん:2009/02/09(月) 13:16:13 ID:???
>>440-441
同一人物乙
443nobodyさん:2009/02/09(月) 16:48:36 ID:7eq/MQEm
mb_substitute_character()で何も指定しない状態で
echoすると設定されているものが表示されるとマニュアルに
あるのですが、実際にechoすると63という数字が
表示され、これがいったい何を意味してるのか分りません
63の意味と他にはどんなものが用意されているのか
知りたいので関連したページでも結構です教えてください
444nobodyさん:2009/02/09(月) 16:51:17 ID:9eTCLU3p
分からんから教えて

hoge.incというファイルに<?php ?> でくくらないfunctionを入れて別のファイルから呼び出して
evalでPHPにして使いたいんだけど
includeと組み合わせてできないの?

eval(include("hoge.inc"));ってやってみたけどそのままソースが表示された。
<?php ?>でくくればいいだけの話なんだけど、evalも使ってみたいと思って。

外部ファイルと組み合わせる時、evalってどうやって使えばいいの?教えてYO!
445nobodyさん:2009/02/09(月) 16:59:56 ID:???
>>443
無効な場合にcが出るということでは?よく分かんないけど
>>444
http://pc11.2ch.net/test/read.cgi/php/1158647441/
446nobodyさん:2009/02/09(月) 17:02:55 ID:???
>>444
returnして変数にいれるか、obで取得
447nobodyさん:2009/02/09(月) 17:09:51 ID:???
file_get_contentsで十分だろ
448nobodyさん:2009/02/09(月) 17:14:04 ID:???
>>446
そんなの嫌。もっと簡単な方法教えれ。
449nobodyさん:2009/02/09(月) 17:17:12 ID:9eTCLU3p
>>447
お前天才。一発解決だわ。


あとさー、file_get_contentsでwikipediaのソースを取得したいんだけど
なぜか403になるんだよ。なんで?
他のサイトはソースが取得できるのにwikipediaだけは無理なの。
なんで?

450nobodyさん:2009/02/09(月) 17:32:15 ID:???
>>444
evalなんて使うな!シネカス
451nobodyさん:2009/02/09(月) 17:38:31 ID:???
>>450
damare kono chimpo yarou
452nobodyさん:2009/02/09(月) 18:47:03 ID:???
>>449
具体的なURL貼ってくれ
試してみるから
453nobodyさん:2009/02/09(月) 18:56:59 ID:???
>>451
kutabare kusare manko babaa
454nobodyさん:2009/02/09(月) 18:58:53 ID:9eTCLU3p
>>452

$URL = "http://ja.wikipedia.org/wiki/%E9%99%B0%E8%8C%8E";

if ($stream = fopen($URL, 'r')) {
$a = stream_get_contents($stream, -1);
fclose($stream);
}

print $a;
455nobodyさん:2009/02/09(月) 19:06:59 ID:???
おれがやってみたらあれだその・・
Hostヘッダ出さないとアクセス拒否る方式だったよ。。2chも同じ感じ
456nobodyさん:2009/02/09(月) 19:15:51 ID:9eTCLU3p
>>455
じゃあどうすればいい?

こんなエラーでるんだけど

Warning: fopen(http://ja.wikipedia.org/wiki/manko) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in
457nobodyさん:2009/02/09(月) 19:24:47 ID:???
あれれ
こっちではそれで取って来れるな
458nobodyさん:2009/02/09(月) 19:25:26 ID:9eTCLU3p
>>455
発見した!!

mankoの部分をURLエンコードした日本語にすると問題なくいける
%E5%B0%8F%E6%B3%89%E7%B4%94%E4%B8%80%E9%83%8E

アルファベットなら本来URLエンコードする必要ないのにな。
なんで?
教えれ!
459nobodyさん:2009/02/09(月) 19:27:25 ID:dUyWPnKH
php5+ImageMagick6でsetCompressionQuality()を使いたいんだけど、
まったく画質が変わりません。
何をインストールすればいいのでしょう?

460nobodyさん:2009/02/09(月) 19:33:49 ID:???
症状の出るソースをわざわざ改変しないでそのまま出せって
どうせ、アルファベットといってもスペースとかが入ってたんだろ?
461nobodyさん:2009/02/09(月) 19:34:54 ID:???
>>460>>458あてな
462nobodyさん:2009/02/09(月) 19:37:48 ID:???
>>458
URIの仕様書をよめ
463nobodyさん:2009/02/09(月) 20:49:31 ID:9eTCLU3p
>>460
フォームに入れてそれを次のページで出したいんだよ。
ソース全部だすからな。
おそらくpostで受信した文字が文字化けしてるんだと思うが全く分からん。

test.php

<form action="test2.php" method="post">
<input type="text" name="url" size=10><br>
<input type="submit" value="送信" name=post>
</form>



test2.php

<?php
if($_POST["post"]){
$URL = $_POST["url"];
$URL = "http://ja.wikipedia.org/wiki/".$URL;

if ($stream = fopen($URL, 'r')) {
$a = stream_get_contents($stream, -1);
fclose($stream);
}

print $a;
}
?>

両方ともファイルはunicodeで書いているぞ。
464nobodyさん:2009/02/09(月) 20:51:14 ID:9eTCLU3p
mb_convert_encodingもやってみたけど無理だった。
だれか〜、知ってる人教えて。
465nobodyさん:2009/02/09(月) 20:59:10 ID:???
if($_POST["post"]){


↑これって何をしている?
466nobodyさん:2009/02/09(月) 21:07:07 ID:???
>>465
ID出てないよ
467nobodyさん:2009/02/09(月) 21:34:03 ID:???
>>463
$URL = rawurlencode($_POST["url"]);

とでもしとけばいけるだろ
468nobodyさん:2009/02/09(月) 22:01:42 ID:Qs8URjyA
>>465
何してるっていうか、それなかったらブラウザのURL欄にそのページのURL入れて開いただけで、スクリプトが全部動作しちゃうだろ。
前のページからそのpostが送られてきた時にだけその動作するようにしてるんだよ。

>>467
いけたー!!お前は神。urlencode()でやってたわ。
こんな関数知らなかったし。
いや、マジで今日半日粘ったが、こんなにあっさり解決できるとは。
ありがとなー。

469nobodyさん:2009/02/09(月) 22:06:54 ID:FtaflIUs
内部エンコードと出力エンコードが違う場合は
文字列出力部分だけmb_convert_encoding使うか、
obの出力バッファ使って全部まとめて変換するか、
あるいはそれ以外の方法か、どれがいいですか?
470nobodyさん:2009/02/09(月) 22:19:00 ID:WXM1ENAJ
preg_replaceで正規表現に一致したら指定の文字列を置き換えられますが、
置き換え後の文字列が空欄の場合、置き換えないようにするには
どうすればいいのでしょうか?
471nobodyさん:2009/02/09(月) 22:30:16 ID:???
置き換え後の文字列が空欄なら置き換えない?
じゃ最初からpreg_replaceかけなきゃいいんじゃね?
472nobodyさん:2009/02/09(月) 22:31:48 ID:???
>469
ob_を使ってまとめてエンコードを変換するとスッキリまとめやすい。
いちいちmb_*を使ってると、エンコードをいじる場所がコード内のあちこちに散りやすいからな。
個人的には出力内容を最初から文字列として保持しておく(コード内にechoは最後の一箇所のみ)のが好みだが、処理の流れはob_*と大差ない。
ビューとロジックが完全に分離してるとこういうのは凄く楽なので、余裕があるなら勉強するといい。
473nobodyさん:2009/02/09(月) 22:38:34 ID:???
まとめてエンコードすると無駄なオーバヘッドかかるし余計なとこまでエンコードして
思わぬトラブルになったりしない?
ビューとロジック分離っていうかロジックの出力を頭使わずに丸ごと変換してビューって言ってる感じじゃない?
凄く楽っていうか楽だけ追求してね?
474nobodyさん:2009/02/09(月) 22:52:17 ID:???
楽だけ追求ワラタ
475nobodyさん:2009/02/10(火) 00:27:26 ID:???
>>468
なるほどねー
476nobodyさん:2009/02/10(火) 01:40:45 ID:JZ5c+5nE
関数の呼び出しを変数で指定したいと思います。

$func = "TEST";
echo $func."()";

でecho TEST();が実行されるようなイメージなのですが無理です。
$funcの値を指定せずに、存在する関数を実行したいのですが
どのような書き方をすればいいのでしょうか?
477nobodyさん:2009/02/10(火) 01:44:54 ID:???
$func = "TEST";
echo $func();
478nobodyさん:2009/02/10(火) 05:23:25 ID:???
__autoload() について質問させてください。

ttp://www.doyouphp.jp/php5/php5_autoload.shtml
上記urlを参考に同じ階層にあるクラスのオートロードは出来たのですが、
深い階層のクラスをオートロードすることが出来ません。
__autoload()では同一階層しかサポートされてないのでしょうか。

■ファイル構成
test.php
Class/Testclass.php

■test.phpの中
function __autoload($className) {
 include_once $className . ".php";
}
$test = New Class_TestCass();

■TestClass.php
の中
class Class_Testclass{
 public function Cass_Testclass(){
 }
}
479nobodyさん:2009/02/10(火) 05:24:11 ID:Y5D0wRGj
478です
すいません、ID出すの忘れてました。
480nobodyさん:2009/02/10(火) 05:43:43 ID:???
include_once "dirname/" . $className . ".php";
481nobodyさん:2009/02/10(火) 12:30:18 ID:Y5D0wRGj
>>480
ありがとうございます。
確かにその方法なら深い階層も対応できますね。

しかし階層決め打ちということは、
下記のように用途によってディレクトリ分類された場合に対応できなさそうな感じですね。

Class/Mail/MailUtils.php
Class/Http/HttpUtils.php

__autoload()を使わず素直に include_once したほうが良いでしょうか。
482nobodyさん:2009/02/10(火) 12:33:37 ID:???
ZendFrameworkみたいな感じにしたら?
483nobodyさん:2009/02/10(火) 13:05:28 ID:???
>>481
複数のディレクトリから探すよう自分で実装するなり
好きな動きをするオートローダを複数登録する
http://www.php.net/manual/ja/function.spl-autoload-register.php
function __autoload() {} を定義する方法は PHP 5.0 時代のもの
484nobodyさん:2009/02/10(火) 16:01:26 ID:SQlQ1ExK
表示に0.001秒ぐらいかかるけど、速いほうかな?
485nobodyさん:2009/02/10(火) 16:06:01 ID:???
処理内容による
486nobodyさん:2009/02/10(火) 22:09:13 ID:/0S9pNKD
PDOの永続的接続(PDO::ATTR_PERSISTENT)を有効にした際のことで質問させてください。
この接続で、クエリ発行時のフェッチモードにPDO::FETCH_CLASSを指定すると
$sth = $dbh->query($sql, PDO::FETCH_CLASS, "classname");
次の警告が出ました。(抜粋)

PHP might crash if you don't call $stmt->setFetchMode() to reset to defaults on this persistent statement.

警告には"将来のバージョンで改善される"とあり、最新版ではなおっているようなのですが、PHP5.2.0ではこうなります。
このまま続けると、間もなくデータベース(MySQL)接続数の上限を越え、アクセスできなくなりました。

この警告の意味がよくわからないのですが、これは
(1)「永続的接続が有効の場合、フェッチモードはデフォルトにしとけ」という意味でいいんでしょうか?
(2)「使い終わった後デフォルトに戻しとけ」のような気もするし・・・

で、いくつかテストしてみると、
永続的接続無効ならPDO::FETCH_CLASSでいける、
有効のまま後で戻しても警告は同じ(警告が示すスクリプト中の行番号はクエリ発行(上記)の行)
ということで、(1)の意味だろうと思ってるのですが、いまいち確信もてないというか、情報も見つけられませんでした。
回避策などありましたらお願いします。
487nobodyさん:2009/02/10(火) 22:41:41 ID:???
最新版でそのバグが直っている可能性が高いわけで、とりあえず、バージョンをあげるってのが解ではないかな。

エラーメッセージの意味は、
永続的接続を使う時、後からfetchModeを変えるなよ。さもなければPHPはクラッシュするよ。(現バージョンでは)
っていう意味だと思うので、
永続的接続を使うなら、最初っからfetchMode込みでPDOを有効にするとかで回避できないかな。(想像だけど)
488486:2009/02/10(火) 23:12:03 ID:???
>>487
ありがとうございます。
確かに"後から変えるな"でしたらツジツマがあいます。
レン鯖環境なのでPHPのバージョンアップは無理でして、
先に複数のスクリプトが動作している都合もあるため、
今回はPDO::FETCH_CLASSの使用を断念する方向で考えたいと思います。
尚、確認できた範囲では、この現象はPHP5.2.6では修正されていました。
489nobodyさん:2009/02/10(火) 23:43:38 ID:???
<?php

$filename = './sample.txt';
$fp = fopen($filename,'r') or die("ファイル({$filename})のオープンに失敗しました");
while ($i<10) {
$line = fgets($fp,1024);
print $line."<br>";
$i++;
}
fclose($fp);

?>

この処理ってファイル全部読みこんでから1行ずつ参照してるの?
それとも1行ずつ読み込んでるの?
490nobodyさん:2009/02/10(火) 23:44:19 ID:zLX+VTwA
上げ忘れ
491nobodyさん:2009/02/10(火) 23:47:30 ID:???
>>489
後者は技術的に無理
492nobodyさん:2009/02/10(火) 23:49:49 ID:???
いや後者だろ
493nobodyさん:2009/02/11(水) 00:09:02 ID:???
fopenで開いてるんだから一度全部ファイルを読み込んでますよね
494nobodyさん:2009/02/11(水) 00:11:52 ID:ZREnIZbz
え?
495489:2009/02/11(水) 00:25:22 ID:ad9tMb4N
全部読みこんでるんすね
496nobodyさん:2009/02/11(水) 00:27:36 ID:???
fopenってのは、ファイルハンドルを取得するだけ。
開いたり読んだりはしません。名前に騙されないように。
497nobodyさん:2009/02/11(水) 00:34:44 ID:???
膨大な行数のテキストファイルを作って、
変数に追記しながら、memory_get_usageを出力したらわかるよ。
498nobodyさん:2009/02/11(水) 01:07:44 ID:???
fopenって詐欺だよね。
なんもオープンしてないやん、っていう。
499nobodyさん:2009/02/11(水) 01:20:02 ID:???
開いてるだろ。読んでないだけで。
500nobodyさん:2009/02/11(水) 01:29:39 ID:???
>>498
おまえはサンプル動画ファイル開いた瞬間に全部把握できるんか?
501nobodyさん:2009/02/11(水) 01:48:16 ID:???
>>498
readとopenの区別もつかんのか
502nobodyさん:2009/02/11(水) 02:09:56 ID:???
>fopenで開いてるんだから一度全部ファイルを読み込んでますよね
これはひどい
503nobodyさん:2009/02/11(水) 02:56:55 ID:???
もしかしたらphpのfopenの実装は全部ファイルを読み込む実装になってるんじゃないか?
504nobodyさん:2009/02/11(水) 03:06:44 ID:???
なんで?
505nobodyさん:2009/02/11(水) 06:16:18 ID:fA4Wiagl
SJISで作ってるサイトで、mb_send_mailを使ってメール送信してるんですが
メールタイトルだけが化けてしまいます。
化けるときと化けないときがあって、

「質問    山田」みたいなタイトルのとき、質問の後の空白部分に
半角スペースを何個入れるか、全角スペースを何個入れるかみたいな微妙な違いで
それ以降の名前部分が化けるわけです
(質問A みたいに、他の文字を追加しても化けます)
どういうことなんでしょうか?
タイトル全体のバイト数がカギかと思ったのですがそうでもなくまるで見当がつきません
どうしたら化けないようにできるでしょうか、ご意見御願いします。

本文にもタイトルにも
mb_convert_encoding(mb_convert_kana($title), "ISO-2022-JP", "SJIS");
といった処理はしてあります
506nobodyさん:2009/02/11(水) 06:25:05 ID:???
phpのバージョンによってはバグがある
mb周りの設定がわからないとエスパーするにも限界があるかと。

あとは、化ける場合と、化けない場合で、
mb_encode_mimeheader
した結果がどうなるか試してみるとか。
507nobodyさん:2009/02/11(水) 06:56:22 ID:2yeXD9TR
お願いします、POSTデータをtxtファイルに書き出してるんですが、htmlタグを
含んだ文字は出力できないんでしょうか?
OSはXP、apache2.23でphpは5.28です。

$hen01 = $_POST["namae"];
$fp = fopen('x.txt', 'a');
flock($fp, LOCK_EX);
$return = fputs($fp, "$hen01\n");
flock($fp, LOCK_UN);
fclose($fp);

このように書くと普通に改行つきでx.txtが生成されるんですが4行目を
$return = fputs($fp, "<input value= "$hen01\n" onFocus="this.select();">");
なんて書くとエラーになって書き出してくれません。
微妙に"の位置を色々変えたりしたけどだめでした。
508nobodyさん:2009/02/11(水) 06:58:10 ID:???
そりゃそんなダブルクオーテーションの使い方したらおかしい
509nobodyさん:2009/02/11(水) 07:11:54 ID:???
""の中の"は\"にする
510nobodyさん:2009/02/11(水) 07:13:20 ID:2yeXD9TR
>>508 >>509
ありがとうございます。
やっぱそうでしたか、、""が不適切なのは解りました。
仕様的にはhtmlタグも使えるって認識でいいんですよね?
\ は別の部分(カラータグ)で使ったのを思い出しました、エスケープ文字って言うんでしたっけ。
早速再挑戦してきます。
511nobodyさん:2009/02/11(水) 07:16:06 ID:???
あとエラー出るならそれをちゃんと読まなきゃだめだよ
512nobodyさん:2009/02/11(水) 10:25:50 ID:mmguShEj
すいません。Windows版のPHPで、

# PHP 5.2.8 installer [17,662Kb] - 08 December 2008
# PHP 5.2.8 Non-thread-safe installer [17,489Kb] - 08 December 2008

↑ノンスレッドセーフって、どう違うんですか?

513nobodyさん:2009/02/11(水) 10:42:56 ID:???
>>512
スレッドが無くても安全なんですよ
514nobodyさん:2009/02/11(水) 12:12:50 ID:???
>>512
ノンスレッドセーフ版はスレッドセーフ版に比べてかかるコストが少ないため
スレッドセーフである必要がない場面でパフォーマンスを出すために使われる
Non-thread-safe の方をスレッドセーフなApacheやIISで動かすと死ぬ
スレッドについてはOS寄りの話だからググってくれ
515nobodyさん:2009/02/11(水) 12:14:48 ID:???
fopenは全部読み込んでるだろzk
$fpに代入してvar_dump($fp)してみろksg
516nobodyさん:2009/02/11(水) 12:19:35 ID:???
>>513
あー「スレッドセーフじゃない」 って事じゃなくて、
「スレッド無しでもセーフ」って事ですかw
じゃぁNTS版でいいわけですね。りょうーかい&さんきゅ
517nobodyさん:2009/02/11(水) 13:23:12 ID:???
>>515
困った子だねぇ、

<?php
$fp = fopen("test.txt", "r");
var_dump($fp);

結果:
resource(2) of type (stream)
518nobodyさん:2009/02/11(水) 18:28:21 ID:???
てs
519nobodyさん:2009/02/11(水) 21:31:55 ID:lrcGAYKJ
PHP_EOLで改行されない
PHP Version 5.2.8
520nobodyさん:2009/02/11(水) 21:44:11 ID:bJ9hTr4x
PHP Version 5.2.6です。
以下のソースみたいにCURL関数を使ってgifとかjpegとかにつなぐと文字化けしちゃうのはどうしてなんでしょうか?
ちゃんと画像を表示するにはどうしたらいいのでしょうか?
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://img.2ch.net/img/php_a.gif");
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
"Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg",
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
));
$output = curl_exec($ch);
curl_close($ch);
echo $output;
521nobodyさん:2009/02/11(水) 21:52:03 ID:???
>>519
echo ord(PHP_EOL);
で何がでるかチェック。
522nobodyさん:2009/02/11(水) 21:52:17 ID:???
文字化け?
523nobodyさん:2009/02/11(水) 21:52:45 ID:???
>>520
headerを正しく使う
524nobodyさん:2009/02/11(水) 22:02:26 ID:???
よくDL制限付きのアップローダーを見るけど、
あれって、一度のダウンロードで、ファイルのフルパス取得してから
次からはそのフルパスでアクセスすれば、DL回数に反映されないんじゃない、
と思ってやってみたら、今のところ有名なアップローダーで全部成功した。
525nobodyさん:2009/02/11(水) 22:12:04 ID:???
DL回数が反映されなくて何が嬉しいんだ
526nobodyさん:2009/02/11(水) 22:14:48 ID:???
まぁそれはそうなんだけど、DL回数なのに?的な意味で。
でもDL回数に反映されなきゃ、そのフルパスからダウンロードすれば
ファイル削除されることなくみんなダウンロードできちゃうけど、
でも、そうなったらアップロード主が消すと思うけど。
527nobodyさん:2009/02/11(水) 22:20:50 ID:???
528nobodyさん:2009/02/11(水) 22:21:09 ID:???
はい?DL回数に応じて削除されるもんなの?
529nobodyさん:2009/02/11(水) 22:24:54 ID:???
>519
HTML中で改行してもブラウザ上の表示は改行されない。
header('Content-Type: text/plain');
としておくか、<br>を出力しろ。
530nobodyさん:2009/02/11(水) 22:28:42 ID:???
>>528
DL制限を例えば10回な感じで設定して、アップロード。

ファイルのダウンロードページにアクセスしたときに、DL回数がカウントされていく

そのカウントが、設定した10回に達したら削除される

みたいな感じのアップローダー
531nobodyさん:2009/02/11(水) 22:30:41 ID:???
そんなの簡易実装で充分だろ
532nobodyさん:2009/02/11(水) 22:37:18 ID:???
>>529

<?php
header('Content-Type: text/plain');
print "aaa\n";
print "bbb";
?>

ほー
これだと改行されるんだ?
533nobodyさん:2009/02/11(水) 22:46:13 ID:???
それだと改行されるって・・・
534nobodyさん:2009/02/11(水) 23:35:24 ID:lrcGAYKJ
>>521
13でした

>>529で納得
535nobodyさん:2009/02/11(水) 23:42:50 ID:???
>>534
ん、Macか?、まぁ、いいや納得したんなら
536nobodyさん:2009/02/12(木) 00:15:58 ID:???
falseのときも0返してくるのがイライラする
0をpostしたときと区別つかん
537nobodyさん:2009/02/12(木) 00:16:45 ID:???
>>520
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, "http://img.2ch.net/img/php_a.gif"l);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");

$image = curl_exec($ch);
curl_close($ch);

header("Content-type: image/gif");
echo $image;

>>536
===
538nobodyさん:2009/02/12(木) 00:17:40 ID:???
>>537
===か!!!
とんくス!!!!!
539nobodyさん:2009/02/12(木) 00:19:33 ID:???
知らんでPHPやってたんかw
540nobodyさん:2009/02/12(木) 00:31:43 ID:???
>>535
確かにCRを返すところは納得してない@win
541nobodyさん:2009/02/12(木) 00:31:48 ID:uAz9Jv0X
eclipseの環境の作り方を教えてくれたまえ
542nobodyさん:2009/02/12(木) 00:36:02 ID:???
スレ違いだ
543nobodyさん:2009/02/12(木) 00:49:20 ID:???
作り方も糞も、PleiadesあたりからAll-in-oneパッケージのPHPの奴落とせば一発だろ。
544nobodyさん:2009/02/12(木) 03:30:09 ID:???
なんて素敵な言語なんだろう。
感動した。
545nobodyさん:2009/02/12(木) 05:27:34 ID:???
>>540
すまん、ord出した人だけど、ordは最初の1文字だけだって後から気付いた
13 10 なら13が返るので正解っぽい。
546nobodyさん:2009/02/12(木) 09:44:20 ID:YRRhxMXp
クッキーが消えません。PHP5です。

クッキーに上書きはできるのですが

setcookie ("TestCookie", "テスト");

クッキーを削除したいのに消えないんです


setcookie ("TestCookie");

再度 $_COOKIE["TestCookie"];とすると

テスト

と表示されてしまいます。
過去の時間指定してもダメでした。なんとかなりませんか?
547nobodyさん:2009/02/12(木) 09:54:56 ID:???
setcookieをしても$_COOKIEは新しくならない。$_COOKIEの値は、「リクエスト開始時のクッキーの値」だからな。
再度リクエストするとクッキーが消えているのが確認できるはず。
つうか開発者なら、HTTPヘッダーを確認できる状態にして、Set-Cookieヘッダを読め。
548nobodyさん:2009/02/12(木) 09:57:37 ID:???
×ヘッダー
○ヘッダ
549nobodyさん:2009/02/12(木) 10:23:24 ID:???
マイクロソフト製品ならびにサービスにおける外来語カタカナ用語末尾の長音表記の変更について

ttp://www.microsoft.com/japan/presspass/detail.aspx?newsid=3491
政府の外来語ルールもいまは「省く事ができる」になっている。
JISルールも今はどっちでも良い事になっている。

本物のエンジニアは長音記号を削る(キリッ
だっておwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
550nobodyさん:2009/02/12(木) 10:33:27 ID:???
一ヶ月位前かな、このスレに「データー」と言ってる奴がいた。もちろんデータの事ね。
誰も指摘しなかったことに笑ったけど。
551nobodyさん:2009/02/12(木) 10:36:48 ID:???
そんなことを一ヶ月前から引きづッテルおまえはA型
552nobodyさん:2009/02/12(木) 10:40:44 ID:sBTdXhh1
整数0以上の値をチェックしたいのですがis_numericですと負の数もtrueになります
正の数のみ受け付ける処理をしたいのですがif(0 > $i)のようなやり方以外で
方法ご存知の方いらっしゃいましたらご教示お願いします
553nobodyさん:2009/02/12(木) 10:49:59 ID:???
それ、文字列なんでしょ? 
0-9だけで構成されてるかどうかを確認したいっていうエスパーであってる?
554nobodyさん:2009/02/12(木) 11:01:33 ID:???
is_numeric($n) && $n > 0 でいいじゃん
比較演算子でできることをわざわざ関数で実装するとかありえん
555nobodyさん:2009/02/12(木) 11:02:50 ID:???
>>550
してた記憶があるが?
仮にお前の言うとおりだとしてもお前もしてないんじゃんw
556nobodyさん:2009/02/12(木) 11:03:40 ID:???
>>552
if($i > 0 and is_numeric($i)){

}

これでいいじゃないか
$iが0以上の数字で 数値の場合
557nobodyさん:2009/02/12(木) 11:06:09 ID:???
しーたいぷ_でじっと()
558nobodyさん:2009/02/12(木) 11:07:23 ID:???
>>555
ごめん。わざわざ書き込むのめんどかったし。

data そもそも英語でも語尾は伸ばさないのだから日本語になっても伸ばさないはずなんだけど
なぜかそいつは伸ばしてたんだよ。
でもレスしてるみんなもそれで理解してたみたいだし、まぁいいかなってw
559556:2009/02/12(木) 11:08:54 ID:???
かぶってたわ。
560nobodyさん:2009/02/12(木) 11:13:37 ID:???
>>557
わざわざわかりにくく書かんでも
ctype_digit
数字で構成された文字列かどうかを比較。ただし、数値型だとfalseになる
561nobodyさん:2009/02/12(木) 11:14:13 ID:???
>>558
うん、つまりそういうことだよ。一つ勉強になったね
562nobodyさん:2009/02/12(木) 11:14:59 ID:???
>>554
>>556
それ、整数じゃなくても通るよ
563nobodyさん:2009/02/12(木) 11:17:51 ID:???
>>560
関係ないけどこんなblogがあった

http://www.ironhearts.com/diary/archives/001376.html
>結論:
>○面倒でもValidateは正規表現で行うべし
>○面倒でも開発環境と実機のPHPのバージョンは合わせるべし
>○もしくは、Validateしてくれるフレームワークを使うべし

だってさ。
俺的には
・オーバヘッドの大きい正規表現なんかでバリデートせずにできるだけ標準関数で実現すべし
・関数使う前に仕様をチェックすべし。面倒だなんて思うならPG失格
て感じだが
564nobodyさん:2009/02/12(木) 11:27:28 ID:???
正規表現使うとオーバーヘッドでダメになるような糞システムならハードをまず見直せ
565nobodyさん:2009/02/12(木) 11:28:11 ID:???
>>554
>>556
初心者乙www
566nobodyさん:2009/02/12(木) 11:28:42 ID:???
>>552
例えば、一度floorなどのmath関数に通して数字にしてみる
とか
567nobodyさん:2009/02/12(木) 11:29:35 ID:???
ifと演算子を使うやつは入門者レベル
568nobodyさん:2009/02/12(木) 11:32:38 ID:???
嘘こけ低脳
569nobodyさん:2009/02/12(木) 11:34:03 ID:???
PGならもっとスマートに書けるんだがな
>>554よ16時までにもっともらしい回答がなかったら俺が答えてやる
570nobodyさん:2009/02/12(木) 11:34:16 ID:???
>>564
スケーラビリティ気にする必要のない弱小システムさんにはもってこいですよね分かりますw
571nobodyさん:2009/02/12(木) 11:34:31 ID:???
>>566
おいおい、floor通したら、バリデートにならんでしょ。
572nobodyさん:2009/02/12(木) 11:34:52 ID:???
>>569
書けるなら今書けよ
573nobodyさん:2009/02/12(木) 11:35:04 ID:???
mod_match組み込んでるから大規模システムでも余裕な俺の会社は勝ち組
574nobodyさん:2009/02/12(木) 11:36:57 ID:???
>>569に期待
ctype_digitよりスマートな回答ってなんだろうな。
575nobodyさん:2009/02/12(木) 11:38:38 ID:???
mod_macho組み込んでる俺は男前
576nobodyさん:2009/02/12(木) 11:39:13 ID:???
ctype_digitだと0で始まっても真だろ
577nobodyさん:2009/02/12(木) 11:41:40 ID:???
ctype_digitは完ぺきじゃないだろ
578nobodyさん:2009/02/12(木) 11:41:58 ID:???
別にいいじゃん。(おれのシステムじゃないし)
579nobodyさん:2009/02/12(木) 11:48:03 ID:???
だから君は三流のままなんだよ
580nobodyさん:2009/02/12(木) 11:51:44 ID:???
phpできるかな?
アメリカのヤフーなんだけど、ボタンとかの複数のイメージを1つのファイルだけで表現してる。
キャッシュ効率のためだと思うんだけど一体、どうやって単一ファイルの一部の矩形領域を特定のボタンとして画面表示できるわけ?
http://l.yimg.com/a/i/us/nws/pv/ypv_sprite_main3.gif
581nobodyさん:2009/02/12(木) 11:53:04 ID:???
css
582nobodyさん:2009/02/12(木) 11:57:23 ID:???
^[1-9][\d]*$
これは、しょぼいよね。うーん。
583nobodyさん:2009/02/12(木) 11:59:35 ID:???
[\d]の[]は要らんだろ
末尾の$は改行にもマッチする
584nobodyさん:2009/02/12(木) 12:02:33 ID:???
ベクター画像をそのまま表示させてるサイトがどっかにあった
あれどうやってんだろう
585nobodyさん:2009/02/12(木) 12:25:49 ID:???
>>562
  ,,..-----;-----、_   
,r'''´      ;;、ミ  ,)
;;::::::    彡 i'   ̄ヽ
;;::::::::   彡ノ    |       
;;:::::::::    /    ^|_     ィ'ミ,彡ミ 、
;;:::::  / ヽ | U    |_・)   ミf_、 ,_ヾ彡  < 読解力ないのか
i;;;;;; ,i( `.|  J   |      .ミ L、 t彡    >>552は正の数のみ受け付ける処理をしたいそうだ
\;;/' ヽ_ヽ     / ,>     ヽ∀ ノ     マイナスを通さなければいいんだろ?
 ∧ヽ、  i      >      /<V>ヽ    
';;;;;;`、 \ \___」        ||   | |
;;;;;;;;;;;;\  `ーイ          (L,_O
;;;;;;;;;;;;;;;; \ /7           | | |
;;;;;;;;;;;;;;;;;;; `'`i;;l          _L」L」
;;;>>562;;;;;;;;  i';;i           ̄


586nobodyさん:2009/02/12(木) 12:27:22 ID:???
>>565
 
 
                         、z=ニ三三ニヽ、
                        ,,{{彡ニ三ニ三ニミヽ
         / ̄ ̄\      }仆ソ'`´''ーー'''""`ヾミi
       /       \     lミ{   ニ == 二   lミ|
        |::::::         |      {ミ| , =、、 ,.=-、 ljハ
       |:::::::::::     |    {t! ィ・=  r・=,  !3l    お前が一番初心者なんだろ?
        .|::::::::::::::     |     `!、 , イ_ _ヘ    l‐'
         |::::::::::::::    }        Y {.┬=、__` j ハ ̄"''─-、
         ヽ::::::::::::::   }     ,. -‐ へ、`ニ´ .イ / / ,, -‐‐ヽ
        ヽ::::::::::  ノ    /、   |l`ー‐´ / / -‐   {
        /:::::::::: く     /  l   l |/__|// /  ̄   /
_____ |:::::::::::::::: \ /    l    l l/ |/  /       /
          |:::::::::::::::::::::::\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 

587nobodyさん:2009/02/12(木) 12:30:00 ID:???
>>567
 
 
                         、z=ニ三三ニヽ、
                        ,,{{彡ニ三ニ三ニミヽ
         / ̄ ̄\      }仆ソ'`´''ーー'''""`ヾミi
       /       \     lミ{   ニ == 二   lミ|
        |::::::         |      {ミ| , =、、 ,.=-、 ljハ
       |:::::::::::     |    {t! ィ・=  r・=,  !3l    基本に徹するのがが一番いいんだぞ
        .|::::::::::::::     |     `!、 , イ_ _ヘ    l‐'    バカは正規表現なんかを使いたがるが
         |::::::::::::::    }        Y {.┬=、__` j ハ ̄"''─-、  速度が遅くなるんだぞ
         ヽ::::::::::::::   }     ,. -‐ へ、`ニ´ .イ / / ,, -‐‐ヽ
        ヽ::::::::::  ノ    /、   |l`ー‐´ / / -‐   {
        /:::::::::: く     /  l   l |/__|// /  ̄   /
_____ |:::::::::::::::: \ /    l    l l/ |/  /       /
          |:::::::::::::::::::::::\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 

588nobodyさん:2009/02/12(木) 12:33:08 ID:???
ifに複数の処理をさせるほうが遅いだろksg
589nobodyさん:2009/02/12(木) 12:41:52 ID:???
if(($i - ($j = floor($i))) == 0 and $i > 0 and is_numeric($i)){
print "test";
}


できた。整数だけ通して正の数で数字。
俺って天才じゃね?
590nobodyさん:2009/02/12(木) 12:43:43 ID:???
>>588
 
 
                         、z=ニ三三ニヽ、
                        ,,{{彡ニ三ニ三ニミヽ
         / ̄ ̄\      }仆ソ'`´''ーー'''""`ヾミi
       /       \     lミ{   ニ == 二   lミ|
        |::::::         |      {ミ| , =、、 ,.=-、 ljハ
       |:::::::::::     |    {t! ィ・=  r・=,  !3l    関数だって内部でifの処理してるんだぞ
        .|::::::::::::::     |     `!、 , イ_ _ヘ    l‐'    
         |::::::::::::::    }        Y {.┬=、__` j ハ ̄"''─-、  
         ヽ::::::::::::::   }     ,. -‐ へ、`ニ´ .イ / / ,, -‐‐ヽ
        ヽ::::::::::  ノ    /、   |l`ー‐´ / / -‐   {
        /:::::::::: く     /  l   l |/__|// /  ̄   /
_____ |:::::::::::::::: \ /    l    l l/ |/  /       /
          |:::::::::::::::::::::::\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 

591nobodyさん:2009/02/12(木) 13:01:36 ID:???
>>589
それ、テストしてみろ、だめだぞw
592nobodyさん:2009/02/12(木) 13:03:51 ID:???
なんで$jに代入してんの?w
593nobodyさん:2009/02/12(木) 13:03:54 ID:???
>>552
> 整数0以上の値

自然数もわからんのかここのPHPerども
594nobodyさん:2009/02/12(木) 13:08:27 ID:???
>>589
$i = "+01e1";
if(($i - ($j = floor($i))) == 0 and $i > 0 and is_numeric($i)){
print "test";
}

結果:test
595nobodyさん:2009/02/12(木) 13:09:20 ID:???
>>591
なにが?
596nobodyさん:2009/02/12(木) 13:10:11 ID:???
>>590
処理をする所が違うだろアホだろおまえ
597nobodyさん:2009/02/12(木) 13:11:19 ID:???
598nobodyさん:2009/02/12(木) 13:11:56 ID:???
16進数も数字であることには違いない
599nobodyさん:2009/02/12(木) 13:15:47 ID:???
16進数の話がどこででてきたの?
600nobodyさん:2009/02/12(木) 13:16:41 ID:???
preg_match("/^[1-9]\d*$/D", $i);
Dなんてあったんだね
601nobodyさん:2009/02/12(木) 13:19:20 ID:???
>>599
16進数はダメだとも言っていない
整数であればいいんだろ?
602nobodyさん:2009/02/12(木) 13:21:18 ID:???
>>601
もしかして、>>594のこと?
>>594は16進数じゃないよ。
603569:2009/02/12(木) 13:29:32 ID:???
じゃあそろそろ正解だしちゃうぞ

if (ereg("^[0-9]+$",$i)) {
print "test";
}
604nobodyさん:2009/02/12(木) 13:33:05 ID:???
おまえ、569じゃないだろ。
そんな釣り餌にかかるのは俺だけw
605nobodyさん:2009/02/12(木) 13:34:18 ID:???
>>603
0通ってるし。
606nobodyさん:2009/02/12(木) 13:37:04 ID:???
>>603
if (ereg("^[0-9]+$",$i) and $i != 0) {
print "test";
}
607nobodyさん:2009/02/12(木) 13:38:45 ID:???
>>604
なぜならお前が569だからな


はやくPG的な回答を求む。
608nobodyさん:2009/02/12(木) 13:38:48 ID:???
1-9でいいし
609nobodyさん:2009/02/12(木) 13:41:14 ID:???
>>608
それじゃ、10が使えないだろ。
>>600で正解でいいでしょ。とりあえず
610nobodyさん:2009/02/12(木) 13:42:28 ID:???
>>606

$i = "0123";
611nobodyさん:2009/02/12(木) 13:44:18 ID:???
>>608
なんかわらたw
612nobodyさん:2009/02/12(木) 13:47:05 ID:???
>>608
それじゃ、-8になっっちやうじゃないか。
正の数が知りたいんだぞ。
613nobodyさん:2009/02/12(木) 13:47:15 ID:???
条件式にandって書く奴、なんかスゲーひさしぶり
614nobodyさん:2009/02/12(木) 13:48:58 ID:???
>>613
Cから始めた人はみんなandだよね
615nobodyさん:2009/02/12(木) 13:49:36 ID:???
んなこたぁない
616nobodyさん:2009/02/12(木) 13:53:06 ID:???
&&が主なプログラムってperlとかパイソンとかweb系に多いよな
c++とかjavaとかのアプリ開発はandが一般的だし、
617nobodyさん:2009/02/12(木) 13:53:56 ID:???
しまむらがいいかユニクロがいいか程度の違い
618nobodyさん:2009/02/12(木) 13:59:54 ID:???
いや、
var_dump($x += 0 && 3);
var_dump($x += 1 and 3);

結果の型すら変わる
619nobodyさん:2009/02/12(木) 14:03:29 ID:???
それを書くなら
var_dump(false || false && true);
var_dump(false || true and true);
こっちのほうがいいだろ。上がfalseで下がtrue
620nobodyさん:2009/02/12(木) 14:04:22 ID:???
>>618-619
ばか?
621nobodyさん:2009/02/12(木) 14:08:36 ID:???
たかが自然数ごときでスマートな書き方もしらない自称上級者(笑
622nobodyさん:2009/02/12(木) 14:09:41 ID:???
お前がキレイに書け
623nobodyさん:2009/02/12(木) 14:10:00 ID:???
っていうか&とかめんどくさくね?

shiftおしながら&とかキーも離れてるし。

andなら即入力できるわ。
624nobodyさん:2009/02/12(木) 14:10:45 ID:???
>>621
お前が書いてくれるんだろ?
625nobodyさん:2009/02/12(木) 14:12:33 ID:???
if(>>621 == >>552){
print "氏ね";
}
626nobodyさん:2009/02/12(木) 14:13:22 ID:???
と、初心者がお怒りのようです
627nobodyさん:2009/02/12(木) 14:13:59 ID:???
if(>>621 == "初心者"){
print "true";
}
628nobodyさん:2009/02/12(木) 14:14:28 ID:???
と、初心者がお怒りのようです
629nobodyさん:2009/02/12(木) 14:15:02 ID:???
と、初心者がお怒りのようです
630nobodyさん:2009/02/12(木) 14:15:06 ID:???
>>627
trueの使い方・・・・
631nobodyさん:2009/02/12(木) 14:15:33 ID:???
と、初心者がお怒りのようです
632nobodyさん:2009/02/12(木) 14:17:32 ID:???
と、初心者がお怒りのようです
633nobodyさん:2009/02/12(木) 14:18:41 ID:???
なぁなぁ、俺をほっといて進行するなよ
634nobodyさん:2009/02/12(木) 14:21:08 ID:???
と、>>625がお怒りのようです
635nobodyさん:2009/02/12(木) 14:34:56 ID:lqdvRsSw
PHPでURLから変数を渡す場合、GETを使用して下記の通り入力しています

www.nobody.jp/?id=20090212


これを、例えば2chのように

www.nobody.jp/20090212/

としたい場合は、PHPの中身をどうしたらよいでしょうか?

よろしくお願いいたします
636nobodyさん:2009/02/12(木) 14:35:37 ID:???
コンパイルしなおすか?って話?
ないない
637nobodyさん:2009/02/12(木) 14:40:01 ID:???
mod_rewrite
638nobodyさん:2009/02/12(木) 14:44:40 ID:???
>>635

path_info
query
639nobodyさん:2009/02/12(木) 14:44:41 ID:???
ctype_digit((string)$i)
これが一番
640nobodyさん:2009/02/12(木) 14:51:50 ID:???
>>639
"0" "01"
641nobodyさん:2009/02/12(木) 14:58:27 ID:???
$i = "0123";
$i = $i*1;

if (ereg("^[0-9]+$",$i) and $i != 0) {
print "test";
}
642nobodyさん:2009/02/12(木) 15:01:22 ID:???
>>641
0123でfalseにならないといけないわけでしょ。本末転倒
643nobodyさん:2009/02/12(木) 15:07:28 ID:lqdvRsSw
>>638
ありがとうございます
家に帰ったら試してみます
644nobodyさん:2009/02/12(木) 15:08:14 ID:???
そもそも10進数かどうかを判断する関数が無いPHPが悪い
645nobodyさん:2009/02/12(木) 15:12:22 ID:???
$i = "0123";
if(ereg('^0+',$i)){
$i = "error";
}

if (ereg("^[0-9]+$",$i) and $i != 0) {
print "test";
}
646nobodyさん:2009/02/12(木) 15:22:25 ID:???
>>645
$i = "123\0";
647nobodyさん:2009/02/12(木) 15:24:05 ID:???
君たちのレベルの低さに吐き気がする
648nobodyさん:2009/02/12(木) 15:28:12 ID:???
>>647
じゃあてめーが作れ
649nobodyさん:2009/02/12(木) 16:14:09 ID:???
煽りにいちいち反応するなよ。
言わせとけ。
650nobodyさん:2009/02/12(木) 16:54:48 ID:???
$i*1 これ地味に使えるな
651nobodyさん:2009/02/12(木) 17:01:58 ID:???
おまえらエディタは何つかってるの
おれはphpエディタってやつ。
乗り換えようかな
652nobodyさん:2009/02/12(木) 17:09:00 ID:???
今年のバレンタインデーはすごいヴぉ!

2/14 8:31:30 にUNIXtimeが「1234567890」になるんだっちょ。

チョコが貰えないorz、とかいって拗ねてる場合じゃないぜベイベー
653nobodyさん:2009/02/12(木) 17:09:04 ID:???
>>651
viエディタ
654nobodyさん:2009/02/12(木) 17:19:43 ID:aZX0AV9v
serializeしたデータの中にHtml要素の文字列があるとunserializeで失敗してしまうんですが、
これは回避できないんでしょうか
655nobodyさん:2009/02/12(木) 17:22:53 ID:???
>>651
PwwwHwwwwwPwwwwエwwディwwwタwwwwwwwwwwwwwwwww
656nobodyさん:2009/02/12(木) 17:26:43 ID:???
>>654
何があるとだめなん?
657nobodyさん:2009/02/12(木) 17:32:06 ID:???
>>654
何がどう失敗で、どんなエラーメッセージが出るの?
658nobodyさん:2009/02/12(木) 17:54:09 ID:aZX0AV9v
falseが帰ってくるだけでエラーは出てないようです。
調べてみたら ' があると駄目みたいです。¥を使っても駄目みたいです。

659nobodyさん:2009/02/12(木) 17:58:13 ID:???
>>658
それは、serializeしたデータの保存&読みだしでデータが欠損してるんじゃないの?
serializeしてその場でunserializeしたらどう?
660nobodyさん:2009/02/12(木) 18:02:38 ID:???
試してみたけどfalseなんて返ってこないで正常に実行できるけど
661nobodyさん:2009/02/12(木) 18:05:58 ID:???
あたりまえだ
662nobodyさん:2009/02/12(木) 18:13:38 ID:???
PHPエディタはCotEditorが一番だと思います
663nobodyさん:2009/02/12(木) 18:21:26 ID:yggi4kx9
unixタイムから日数だけを得る方法を教えて下さい
できるだけシンプルなのがいいです。

例えば去年の10月1日のタイムスタンプがあって、今年の2月2日のタイムスタンプがあった場合
その間は何日なのかが知りたいです
664nobodyさん:2009/02/12(木) 18:24:59 ID:Xw2bfIqD
携帯の絵文字の切り出しに、
mb_ereg_search_*系の関数を使おうと思ったのですが、
どうも挙動がおかしいので調べたところ、
以下で、mb_regix_encodingは-win系のエンコードが使えないと見ました。
http://ml.php.gr.jp/pipermail/php-users/2003-October/018702.html
これはかなり以前の記事ですが、現在のPHP5でもそうなのでしょうか?
665nobodyさん:2009/02/12(木) 18:29:43 ID:nDyTrHL0
ホームページにコメント機能を付けたいと思ってます
教えてください
666nobodyさん:2009/02/12(木) 18:37:15 ID:aZX0AV9v
DBへ入れたものが駄目なようでした。

何かが違ってるようにも見えないんですが・・・・
667nobodyさん:2009/02/12(木) 18:50:34 ID:???
>>666
addslashes()
これ使おうな
668nobodyさん:2009/02/12(木) 19:10:52 ID:???
>>666
エスケープしてなかったら、保存もエラーになるでしょ。
エスケープを2重にやってるとかじゃない?
669nobodyさん:2009/02/12(木) 20:53:37 ID:V/w7K2RO
404ページをオリジナリティかつ、トップページに戻れるようなデザインにするのって
なんかデメリットある?
デフォルトの404ページの方が良いみたいなことって特にないよね?
670nobodyさん:2009/02/12(木) 20:55:34 ID:???
404に限らず全てのエラーページをオリジナルにしてる俺に謝れ!
671nobodyさん:2009/02/12(木) 21:09:57 ID:???
404枚のオリジナルページを作るってこと?
ん、デフォルトページも404枚あるの?
そんなにバリエーション作ってたら管理しきれなくね?
672nobodyさん:2009/02/12(木) 21:11:25 ID:???
>>669
サイトのブランドイメージとかそういうのもあると思うよ
673nobodyさん:2009/02/12(木) 21:12:18 ID:???
しかもphp関係ないしweb制作板いけよ
674nobodyさん:2009/02/12(木) 21:34:16 ID:???
HP制作会社なら404もしっかり作ってほしいね
趣味でやるなら別だけど
675nobodyさん:2009/02/12(木) 21:50:02 ID:???
>>671
いや、べつに1〜404まであるわけじゃないよ。
大抵403,404,500だけあれば事足りる。

676nobodyさん:2009/02/12(木) 22:06:17 ID:???
>>675

>>671はネタ。スルーでおk
677nobodyさん:2009/02/12(木) 22:07:37 ID:???
>>667
今どきそれは推奨されてないんぢゃ?

と思ったがマニュアルにはなんも書いてないなぁ。
http://jp2.php.net/manual/ja/function.addslashes.php
678nobodyさん:2009/02/12(木) 22:13:55 ID:???
>>665
PHPでできるけど、
何も知らないところから勉強はじめたら、
3ヶ月はかかるよ?
679nobodyさん:2009/02/12(木) 22:15:52 ID:???
>>665
お手軽にコメント機能を実現するならブログに
するという選択肢もある。

○ WordPress.com (ブログレンタルサービス)
http://ja.wordpress.com/
680nobodyさん:2009/02/12(木) 22:23:21 ID:???
> PHP ディレクティブ magic_quotes_gpc はデフォルトでは on で、
> 全ての GET、POST、COOKIE データについて基本的に addslashes() を実行します。
こんな数年前の情報が残ってるぐらいマニュアルがメンテされてないな
どっちにしろ addslashes() が出てくる場面じゃない
681nobodyさん:2009/02/12(木) 22:28:22 ID:???
>>678
お返事ありがとうです。
メールフォームが作れるくらいです。
データベースを使うことになるんでしょうか?

>>679
ブログも良さそうですね
682nobodyさん:2009/02/12(木) 22:30:05 ID:???
>>680
おれ去年最新版入れたときまだデフォルトONだったよ
数年前とかいいかげんなこと言うな
683nobodyさん:2009/02/12(木) 22:30:34 ID:???
>>663
DateTime::diffは?

http://jp.php.net/manual/en/book.datetime.php

日本語のマニアルなかったw
684nobodyさん:2009/02/12(木) 22:45:33 ID:???
>>682
685nobodyさん:2009/02/12(木) 22:53:53 ID:???
>>682
未だに php.ini-dist を元にして使ってるいい加減な奴に言われたかないねぇ
686nobodyさん:2009/02/12(木) 22:54:06 ID:???
php,iniのauto_prepend_file
に複数のファイルを指定したいとおもっています

auto_prepend_file = "HTML.php"
は動作しましたが

auto_prepend_file = "HTML.php:Debug.php"
と書いたところエラーになってしまったのですが、
複数の場合どう記述すべきなんでしょうか?

それともうひとつ質問があります
先にあげたauto_prepend_file
と似たような要望なのですが、
指定したディレクトリのphpファイルすべてを
あらかじめ読み込ませるのは
php.iniで可能でしょうか?
687nobodyさん:2009/02/12(木) 22:54:09 ID:???
>>684
今、win版5.2.8落としてみたら
php.ini-distはON
php.ini-recommendedはOFF
php.iniを作らずにコマンドプロンプトからphpinfo()したらON

デフォルトはONっていうのが正しそうだね。
688nobodyさん:2009/02/12(木) 22:54:37 ID:???
php.iniのdistとreの違いって何ですか?
689688:2009/02/12(木) 22:55:07 ID:dX5bqrmp
あげわすれました
690nobodyさん:2009/02/12(木) 23:07:17 ID:???
>>688,689
php.ini-dist は既存環境との互換性を重視した設定
古いスクリプトがうごかねぇぞと言ってくる、理解してない人でも動かせるように用意されている
php.ini-recommended はPHPの設計者が推奨する設定
新規開発はこれを基にする

magic quotes についてはデフォルトがOFFと考えるのが普通
691nobodyさん:2009/02/12(木) 23:07:31 ID:???
magic_quotes_gpc
ttp://jp2.php.net/manual/ja/info.configuration.php
デフォルトはON
PHP5.3で非推奨
PHP6で削除
らしい。
692nobodyさん:2009/02/12(木) 23:08:23 ID:???
今のところデフォルトはONだが、まともなやつはOFFで設計するっつうことだ。
693680:2009/02/12(木) 23:17:16 ID:???
マジッククォートの件は俺が間違っていたな、悪かった
694nobodyさん:2009/02/12(木) 23:53:45 ID:???
>683
echo (phpversion() . "\n";
print_r(get_class_methods('DateTime'));

5.2.5
Array
(
[0] => __construct
[1] => format
[2] => modify
[3] => getTimezone
[4] => setTimezone
[5] => getOffset
[6] => setTime
[7] => setDate
[8] => setISODate
)
マニュアルが無いのは、かなり新しい関数だから。
695nobodyさん:2009/02/13(金) 00:29:51 ID:D5WxhWPp
while($row = mysql_fetch_array($result)){
・・・
}

で、mysql_num_rows($result)=10のとき、
whileが0〜5回繰り返しまでは$aの操作を、
6〜10回までは$bの操作を、
という風に一気に10回繰り返えさずに
分けて繰り返す方法がありましたら教えてください
よろしくお願いします。
696nobodyさん:2009/02/13(金) 00:35:03 ID:yq9DBS5q
このような構造の20個のデータをmysqlで保存したとします
このときピンポイントで1ってところのデータのみ取り出すにはどのようにしたらよろしいのでしょうか?


■■■■■
■■■■■
■■■1 ■
■■■■■
697nobodyさん:2009/02/13(金) 00:42:24 ID:???
■は全部同じ値??
698nobodyさん:2009/02/13(金) 00:52:17 ID:???
table

a b c d e
■■■■■
■■■■■
■■■1 ■
■■■■■

なら、
$sql = "select * from table limit 3,1";
で、dを配列で取り出す
699nobodyさん:2009/02/13(金) 01:01:06 ID:???
→$sql = "select * from table limit 2,1";
700nobodyさん:2009/02/13(金) 01:01:19 ID:???
>695
ループ回数を数えておく変数をひとつ定義すれば好きなようにできるだろ。
$i = 0;
while($row = mysql_fetch_array($result)){
 if($i < 5){
  a($row);
 }

}
701nobodyさん:2009/02/13(金) 01:06:32 ID:???
途中で送信しちった。$i++をどっかでインクリメントな。
つうかmysql_関数は時代遅れだから使うな。mysqli_系の関数、もしくはPDOを使え。
702nobodyさん:2009/02/13(金) 01:16:42 ID:???
つうか++$iのがいいだろ
703nobodyさん:2009/02/13(金) 01:20:44 ID:???
>>696
プライマリーキーは設定してるの?
704nobodyさん:2009/02/13(金) 02:16:25 ID:???
>>696 >>698
SELECT * FROM table WHERE d='1';
705nobodyさん:2009/02/13(金) 02:27:33 ID:???
>>694
DateTimeの全てのメソッドの実装は5.3以降みたいだね

ソースらしいものは、以下のサイトぐらいしか見つからなかった
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/datetime/versions.xml?revision=1.3&view=markup
706nobodyさん:2009/02/13(金) 02:44:16 ID:vhWCyXdF
>>635ですが>>638さんに教えていただいたことを調べて見たんですが
よく分かりませんでした

どなたか具体的に教えていただいてよろしいでしょうか
707nobodyさん:2009/02/13(金) 02:53:13 ID:???
何が分からなかったんでしょうか?
708nobodyさん:2009/02/13(金) 04:00:17 ID:???
>>706
mod_rewrite使えばいいよ
709nobodyさん:2009/02/13(金) 04:11:21 ID:???
追記
ここ読めばいいよ
ttp://www.phppro.jp/phptips/archives/vol15/1
710nobodyさん:2009/02/13(金) 07:08:53 ID:???
phpでムーバブルタイプのブログを作ってみたんですが
phpとmysqlが動くレンタルサーバーを探すのが大変なので、
レンタルサーバー上にphpファイルをおかずに済ませようと考えています

そこでローカルでphpを動作させ、ブログの記事であるhtmlファイル作成
ftp関数でアップロードする方法を考えました

しかし気になることがあるのですが、
リモート上でスクリプトを作動させ、htmlファイルを作るより
ftpでhtmlファイルをアップロードするほうが、
負荷がかかってしまうんじゃないかと心配しています

実際どうなんでしょうか?
711nobodyさん:2009/02/13(金) 09:18:45 ID:???
>>710
とりあえず>>1
なんか知ってる単語すべて並べてみました的な内容だな(ry
と蛇足は良いとして

逆に質問するがそんなにアクセスがあるサイトなのか?
一日の総アクセス数は?
同時アクセスは最大いつなんだ?
そもそもサイトは秒単位で更新しなきゃならないサイトなのか?
712nobodyさん:2009/02/13(金) 09:21:01 ID:???
> phpとmysqlが動くレンタルサーバーを探すのが大変なので、
めっちゃありふれてるのでは?
713nobodyさん:2009/02/13(金) 10:11:28 ID:???
★★ Java の宿題ここで答えます Part 67 ★★
http://pc11.2ch.net/test/read.cgi/tech/1232627790/l50
Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
C/C++の宿題片付けます 122代目
http://pc11.2ch.net/test/read.cgi/tech/1232029287/
Rubyの宿題教えてください。2限目
http://pc11.2ch.net/test/read.cgi/tech/1200175247/

PHPの宿題スレはないの?
714nobodyさん:2009/02/13(金) 10:23:44 ID:???
>>704
dが重複のデータを持ってたらダメっぽくない?
715nobodyさん:2009/02/13(金) 10:24:50 ID:???
元質問者の意図が曖昧すぎるから答えようが無い
716nobodyさん:2009/02/13(金) 10:34:56 ID:X27qI4tl
【OS名】CentOS 5.2
【PHPのバージョン】php5.2.5
【他の設定】
ルータに80番ポートだけ開けてローカルのサーバを公開してます。
DNSはレジストラ提供のDNSサービス
【質問内容】

mb_send_mailにてメールを送信した場合hotmailや特定の企業に届きません。

$sender = "テスト@xxxxx.jp";
$from = mb_encode_mimeheader(SENDER_NAME,"SJIS","UTF-8")." <".$sender.">";
$to = "テスト@hotmail.co.jp";
$bcc = "";
$subject = "テスト";
$body = "テスト";

mb_language("Japanese");
mb_internal_encoding("UTF-8");

$body = mb_convert_encoding($body,"ISO-2022-JP","UTF-8");

$headers .= "From: ".$from."\n";
$headers .= "Bcc: ".$bcc."\n";

mb_send_mail($to,$subject,$body,$headers);

とりあえず自分の使っているプロバイダのSMTPを利用してメールを送信している状況です。
ウェブサーバからメールを送信したいのですが、どのようにすればよいのでしょうか?
717nobodyさん:2009/02/13(金) 10:50:04 ID:???
hotmailや特定の企業に届かないとして、
gmailやyahooメールには届くんでしょうか?
自鯖だけに届くとかいう落ちではないですよね。
届かないというとき、バウンスメールは返っているのでしょうか。

OP25の関係のような気もするけど。

相手先固有の問題だとすると、80番を開けているサーバからはメールを受け取らないとか
そういう相手方のフィルターかもしれないですよ。

まぁ、mb_send_mailの問題じゃないから、板違いかもよ
718716:2009/02/13(金) 11:00:14 ID:???
>>717
ありがとうございます。

SPFなども影響してそうなので他の板で質問してみます。
719nobodyさん:2009/02/13(金) 13:07:37 ID:???
>>706
おまえw
$_SERVER['PATH_INFO']でググレksg
720nobodyさん:2009/02/13(金) 13:08:32 ID:???
>>715が無知なだけだろ
721nobodyさん:2009/02/13(金) 17:13:28 ID:???
何が?
722nobodyさん:2009/02/13(金) 20:26:14 ID:z8n3Lehc
php 5.2.6ですが、
こっちは表示されるのに、
<?php
phpinfo();
?>
こっちは表示されません
<?
phpinfo();
?>
この書き方では動作しなくなったのだと思いますが、いつからでしょうか?
何というキーワードで調べたら良いのか分かりませんでした。
723nobodyさん:2009/02/13(金) 20:30:15 ID:/1Tm7nmx
short_open_tag
724nobodyさん:2009/02/13(金) 20:30:27 ID:???
short_open_tag設定次第
設定に依存しない<?phpを使うようにすればいいだけ
725nobodyさん:2009/02/13(金) 20:46:18 ID:???
>>723
>>724
ありがとうございます!
726nobodyさん:2009/02/13(金) 21:52:56 ID:???
どういたしまして
また何かあったらお気軽にどうぞ
727722:2009/02/13(金) 22:34:12 ID:???
>>726
氏ね
728nobodyさん:2009/02/13(金) 23:44:42 ID:???
>>727
なんて態度
お前なんかさっさとし・ね ハート
729nobodyさん:2009/02/13(金) 23:45:17 ID:D5WxhWPp
pdoでfetchAll()で、試しに返り値が空(行数0)のセレクトしたら、
エラーで
Fatal error: Call to a member function fetchAll() on a non-object in
って言われた。
これは単に、データがありませんってことではない?
false返してくれるのかとおもい、if($row = $result->fetchAll()){・・・}else{・・・}ってやってみたけど
elseしてくれずに上のエラー。
どないしたらええんや。お助けください。
730nobodyさん:2009/02/13(金) 23:46:17 ID:???
>>700
インクリメントでできました
ありがとうございます
731nobodyさん:2009/02/13(金) 23:47:03 ID:D5WxhWPp
>>700
インクリメントでできました
ありがとうございます
732nobodyさん:2009/02/13(金) 23:57:21 ID:???
プレースホルダ使ってるならプリペア段階で処理を分岐してみたら?
733nobodyさん:2009/02/13(金) 23:59:02 ID:D5WxhWPp
>>732
わかりました、ちょっと調べてやってみます
734nobodyさん:2009/02/14(土) 00:11:46 ID:3Pie4ZQq
php6の新機能について解説してたサイトをブックマークしたのですがなくしてしまいました
どなたかご存知の方おりましたらおしえてください
735nobodyさん:2009/02/14(土) 00:19:36 ID:???
>729
それ以前、prepareが失敗してる。SQL文がおかしい。
prepareの返り値はPDOStatement型だが、失敗するとfalseが返る。
で、falseに対しfetchAll()メソッドを呼んでるからそういうエラーになるわけだ。
(接続失敗時は例外を投げる、とドキュメントにあるんだが、実際にそういう挙動をする。ドキュメントが古いのかバグなのかは知らん)
736nobodyさん:2009/02/14(土) 00:35:09 ID:KQ2Mn8Wx
テキストの空行を削除したいのだけどどうすればいいですか?

737nobodyさん:2009/02/14(土) 00:39:45 ID:???
>>736

^\n$
738nobodyさん:2009/02/14(土) 00:55:32 ID:???
>>736
file_put_contents("output.txt", preg_replace("/(?:\x0d\x0a|[\x0a\x0d]){2,}/", "\n", file_get_contents("input.txt")));
739nobodyさん:2009/02/14(土) 00:56:22 ID:t4r/C+ZK
>>732
始めは、prepareとか使わずにqueryで、sql文の中にも直接変数を入れていたのですが
そのprepareを見よう見まねでbindしてみたところ、
今のところエラーもなく思い通りの結果がでてきました。
>>735
なるほど、prepare自体をしてなかったのがエラーの原因ということでしたか。
phpにもmysqlにもまだ慣れておらずpdoもよくわかってないのでもうちょい調べて
みることにします。

ありがとうございました。
740nobodyさん:2009/02/14(土) 04:34:09 ID:???
こんな記事があった

Can Your Programming Language Do This?
http://www.joelonsoftware.com/items/2006/08/01.html
741nobodyさん:2009/02/14(土) 08:19:15 ID:???
>>738
有賀と
742nobodyさん:2009/02/14(土) 11:12:36 ID:???
Joel Spolskyは普通に有名人。
君のプログラミング言語で、これ、できる? - The Joel on Software Translation Project

ttp://local.joelonsoftware.com/wiki/%E5%90%9B%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%80%81%E3%81%A7%E3%81%8D%E3%82%8B%3F

無名関数はPHP5.3で実装予定。
MapReduceは、PHPにはarray_mapとarray_reduceという捻りのない名前で実装されている。
配列型(あるいは他のコレクション型)を定義しなおさない限り、PHPでは使いづらいと言わざるを得ない。
ArrayObjectも割と腐ってるしな。なんでksort()とかの戻り値がvoidなんだよ、と。
まあそれでも、無いよりはマシだけどな。
743nobodyさん:2009/02/14(土) 11:22:10 ID:???
下質スレで語る人って(ry
744nobodyさん:2009/02/14(土) 11:28:29 ID:???
>>742
はいはい、どっかいけカス
スレ違い
745nobodyさん:2009/02/14(土) 11:52:36 ID:???
>>738
たかが空行削除するだけで、
こんなにたくさん書かないといけないんだ?
746nobodyさん:2009/02/14(土) 12:09:55 ID:???
確かに誰でも一度は
$data = sort($list);
なんてのをやったはず
747nobodyさん:2009/02/14(土) 12:17:46 ID:???
>>745
おまえだれ
748nobodyさん:2009/02/14(土) 12:26:19 ID:???
>>746
やったやったw
749nobodyさん:2009/02/14(土) 12:35:32 ID:???
変数の頭に$付けるのウザ杉。
何の意味があるのかさっぱり分かんねえ。
誰だよこんな糞言語作ったの。
750nobodyさん:2009/02/14(土) 12:40:51 ID:???
$じゃなくて、£ならよかったのか?
751nobodyさん:2009/02/14(土) 12:45:10 ID:???
>>749
そうか?
見やすくていいと思うけど

それより関数名がださすぎる、一貫性がない、引数の順番で混乱する
それでも楽だからPHPで書いてるが
752nobodyさん:2009/02/14(土) 12:47:11 ID:???
スレチだ
753nobodyさん:2009/02/14(土) 12:48:41 ID:???
そうそうなんでもかんでも$とかアホかと、
もっと、配列は@、ハッシュは%とかわかりやすくしれ
754nobodyさん:2009/02/14(土) 12:56:07 ID:???
>>753
pe

いや、やめとこw。
755nobodyさん:2009/02/14(土) 12:59:23 ID:???
perl厨房はうせろ
756nobodyさん:2009/02/14(土) 13:02:58 ID:???
どっかのpe言語みたいで嫌だ
757nobodyさん:2009/02/14(土) 13:30:59 ID:???
>753
>749は尤もだが、お前の言い分はPHPの言語特性を理解してないの丸分かりで格好悪いぞ。
758nobodyさん:2009/02/14(土) 15:31:28 ID:mQ2YcNed
session_regenerate_id(true)とするとセッションが切れることがおおいけど
何か対策はあるのかな?trueを入れない以外で。
ゆっくりページ移動するとかリロードを連打しなければ切れないけど。

759nobodyさん:2009/02/14(土) 15:41:51 ID:???
Ajaxとか使いまくって重いページ表示にすればそういうこともある罠
760nobodyさん:2009/02/14(土) 15:42:50 ID:???
>>758
なんか、思いこみで書いてない?
F5アタックで切れても問題がないところで、regenerateするだろ普通、
761nobodyさん:2009/02/14(土) 15:51:50 ID:???
古いページを無効にするためのID更新なのに、古いIDのまま連打したらこけますって言われてもなぁ。
そうですかとしか。
762nobodyさん:2009/02/14(土) 16:26:31 ID:???
ScanDirでディレクトリのファイル
一覧を取得するとファイル名
'.'と'..'というファイル名が混じっているのですが、
これは何でしょうか?
763nobodyさん:2009/02/14(土) 16:37:26 ID:???
>>762
.. 親
. 子供
764nobodyさん:2009/02/14(土) 16:49:26 ID:???
>>762
.ドット
.. ドットドット
でググレ
765nobodyさん:2009/02/14(土) 16:50:11 ID:???
>>763
そりゃ違うだろ。
766nobodyさん:2009/02/14(土) 17:13:05 ID:???
無名関数なんていらねー
難読になるだけだから実装しないでいいわ
767nobodyさん:2009/02/14(土) 17:41:51 ID:CGIm9AbT
上でも出てきましたがf5アタックをphpで防ぐにはどのようにしたらよろしいでしょうか?
768nobodyさん:2009/02/14(土) 17:45:21 ID:???
記録した以前のipと時間が、時間内に一致したらアクセスできないようにする
769nobodyさん:2009/02/14(土) 17:55:26 ID:???
>>767
apacheで対策したほうがいいって話ではなくて?
770nobodyさん:2009/02/14(土) 18:06:39 ID:???
771nobodyさん:2009/02/14(土) 18:08:28 ID:???
>>770
スクリプト仕込まれた画像だから閲覧禁止
おもちゃの画像だからどうしても見たけりゃ見ればいい
772nobodyさん:2009/02/14(土) 18:30:26 ID:???
$

(^ω^;)
これでいいお
773nobodyさん:2009/02/14(土) 18:47:27 ID:???
>>770
チグリスユーフラテスはおらぬか、チグリスユーフラテスは・・
774nobodyさん:2009/02/14(土) 19:23:11 ID:brjzsDYF
セキュリティテストのために画像にPHPスクリプトを埋め込む方法を教えてください
775nobodyさん:2009/02/14(土) 19:24:50 ID:???
,php → .jpg
776nobodyさん:2009/02/14(土) 19:44:41 ID:brjzsDYF
できましたら正式な画像(バイナリ)への埋め込み方を教えてください
777nobodyさん:2009/02/14(土) 19:50:47 ID:???
正式なって何?
778nobodyさん:2009/02/14(土) 19:52:46 ID:???
画像にPHPスクリプトを埋め込んでもうれしくないだろ
普通はJavaScriptを埋め込むもんだ。そっちで調べてみ?
779nobodyさん:2009/02/14(土) 20:50:35 ID:VuUyjgB9
どうもはじめまして

こんなのってありなんですか?
$name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
780nobodyさん:2009/02/14(土) 20:52:30 ID:???
ありって何が?
781nobodyさん:2009/02/14(土) 20:56:12 ID:???
二重にエスケープされるんじゃないですか?
782nobodyさん:2009/02/14(土) 20:57:58 ID:???
htmlspecialcharsがエスケープ...?
783nobodyさん:2009/02/14(土) 21:00:14 ID:???
>>779
データーベースにつっこみたいなら、mysql_real_escape_stringだけをつかう。
画面に表示したいなら、htmlspecialcharsだけを使う。

これが基本
784nobodyさん:2009/02/14(土) 21:00:42 ID:???
画面(笑)
785706:2009/02/14(土) 21:34:45 ID:sjJzqBh5
>>708
ありがとうございます。私の求めていたものはそれでした。

ただ試しにロリポでしてみたんですが、404 not foundに
なってしまいます。

http://hogehoge/mode/090214/を
http://hogehoge/?mode=mode&id=090214にしたくて

.htaccessの中身を

RewriteEngine on
RewriteRule ^/([¥w]+)/([¥d]+)/$ /?mode=$1&id=$2

としました。何か誤りがあるのでしょうか?
786nobodyさん:2009/02/14(土) 21:36:40 ID:???
>>785
おれが示したpath_infoは華麗にスルーですね
787nobodyさん:2009/02/14(土) 21:38:47 ID:???
(1)苦手な事や興味の無い事にはとことん文句をつけ避けたがる
(2)思い通りにならないと泣き出す。
(3)自分がつまらない事はみんなもつまらないと思っていると勘違いするらしく
みんなの同意を得ているかのような発言。
(4)たしなめられると裏切られたと傷つく。
(5)自分の知っている事は世界認識だと勘違いしていて知らない人を見下す。
上司や取引先は自分の(偏った)知識以上の知識があって当然
無いなら無能。
(6)自分のやり方が一番合理的だと勘違いしているのでみんなに俺流を押し付けて引っ掻き回す。
(7)仲良くしてくれる人は自分を崇拝していると勘違いして無理を押し付けたり平気で傷つける。
(8)少し欠点を指摘されると消えたくなる。
(9)いつも主役の自分しか演じられない。
788nobodyさん:2009/02/14(土) 22:01:45 ID:???
全部お前のことじゃないか
789nobodyさん:2009/02/14(土) 22:03:43 ID:???
ばれたか
790nobodyさん:2009/02/14(土) 22:29:32 ID:???
>>753
そう?
perlみたいだとどれが変数でどれが配列かを見分けやすいけど
使いわけるのめんどいし。
かといってjavascriptみたいに$さえないとどれが変数なのかさえ分からない。
自分で書いたソースでもjavascriptは久々に見ると分かりづらいよ。
791nobodyさん:2009/02/14(土) 22:39:17 ID:???
txtName, intWidth, blnDelete とかがわかりやすい
792nobodyさん:2009/02/14(土) 22:48:14 ID:???
>>790
> 自分で書いたソースでもjavascriptは久々に見ると分かりづらいよ。

そ、それ、$がついたら見やすくなるんですか。
793706:2009/02/14(土) 23:00:51 ID:sjJzqBh5
>>786
これから返信する予定でした(*‘ω‘ *)

とりあえず$_SERVER['PATH_INFO']よりmod_rewriteの方が
スマートな気がしますので、まずはそちらを試してみます。
ありがとうございます。
794nobodyさん:2009/02/14(土) 23:02:09 ID:???
スマートw
795nobodyさん:2009/02/14(土) 23:06:26 ID:???
俺はRubyのルールが好き。
 ・小文字、アンダースコアで始まる場合は一時変数
 ・大文字で始まる場合は定数(グローバル定数/クラス定数)
 ・@で始まる場合はインスタンス変数(PHPでいうクラスのプロパティ)
 ・@@で始まる場合はクラス変数(PHPでいうクラスのstatic変数)
 ・$で始まる場合はグローバル
Perlの命名規則もあれはあれでいいのだが、PHPとは相性が悪いしな。

>793
path_infoの方がオススメ。
mod_rewriteは、サーバーにmod_rewriteをインストールする必要がある。自分でいじれないサーバーだとお手上げ。
あと、書き方が結構難しいので初心者にはお勧めできない。
796nobodyさん:2009/02/14(土) 23:19:07 ID:???
じゃあperl使えばよろし
797706:2009/02/14(土) 23:32:34 ID:sjJzqBh5
>>795
インストール?はされてるみたいです(ロリポップ)
難しいっていうのはどういうところがでしょうか?
798nobodyさん:2009/02/14(土) 23:37:47 ID:???
アホには使えない。
実際お前は使えてないだろ。
799nobodyさん:2009/02/14(土) 23:39:19 ID:???
アホでも使えるよ。
実際お前は使えてるんだろ。
800nobodyさん:2009/02/14(土) 23:42:54 ID:???
>>798
必死w
801nobodyさん:2009/02/15(日) 00:00:40 ID:???
「ワンワンどれ?」と聞かれてるのに「僕は車が好きなんだ」と返答するのは
コミニュケーションとしてなりたってないからね。
802nobodyさん:2009/02/15(日) 00:01:47 ID:???
>>798
はXOOPS CUBE
こないだ警察に呼び出されて注意された
(女性に対するストーカー行為で)
803795:2009/02/15(日) 00:03:46 ID:???
>797
単純に、mod_rewriteのルールの書き方が難しい。
804nobodyさん:2009/02/15(日) 00:10:54 ID:???
あなたのおつむが足りないだけという発想はないのでしょうか
805nobodyさん:2009/02/15(日) 00:27:40 ID:???
仕方ないね
806706:2009/02/15(日) 00:39:27 ID:eLN8IqbH
>>803
単純な正規表現での置換ですよね。

う〜ん……
807nobodyさん:2009/02/15(日) 01:02:31 ID:???
>>806
ほれ

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?id=$1 [QSA,L]
808706:2009/02/15(日) 01:58:27 ID:eLN8IqbH
>>807
出来ました。ありがとうございます。
^/の/が悪さをしていたみたいです。
あと、Baseも
809nobodyさん:2009/02/15(日) 02:28:42 ID:???
>>808
omae majide sine
810nobodyさん:2009/02/15(日) 03:13:17 ID:???
あの誰か居ますか?
811nobodyさん:2009/02/15(日) 03:15:37 ID:???
いるよ
812810:2009/02/15(日) 03:23:28 ID:Y9ylJZck
呼び出してすいません 解決しました。
PHPとMYSQLで一言掲示板を作ってるんですよ、でっ 文字数を制限させたいと思ったんですけど
<input name="post" type="text" value="" size="40" maxlength="100" />
これで制限されました 

失礼しました
813nobodyさん:2009/02/15(日) 03:31:53 ID:???
>>812
それだと偽装できちゃうから
サーバサイドでもmb_strlenとか使って、調べた方がいい
814nobodyさん:2009/02/15(日) 03:34:21 ID:???
>>812
セキュリティ関係はちゃんと人に聞いたほうがいい。
あなたが思いついた方法は、画面の見た目を変えるだけ。
なんら制限になっていない。

詳しくは関連キーワードでググりまくるといい。
815nobodyさん:2009/02/15(日) 03:36:46 ID:Y9ylJZck
>>813-814
お返事ありがとうございます

なるほど。
mb_strlenですね。調べてきます
816nobodyさん:2009/02/15(日) 06:55:48 ID:???
mysqlならvarchar(100)とかにしとけば勝手に切れるでしょ
817nobodyさん:2009/02/15(日) 08:29:52 ID:DOB4o/WN
メタデータ(microformat)のクローラーを作りたいんだが,検討がつかないので質問.
使える言語は,C/C++,php
phpでの(簡単な)スクレイピング処理ならやったことがある.

やっぱり
ttp://sourceforge.net/projects/phpcrawl/
みたいなの使って,コンテンツGETした後に解析をかけるんだろうかね.
(phpcawlはアクセス間隔の制御がないので叩かれていたが)
818nobodyさん:2009/02/15(日) 08:42:38 ID:???
質問になってない
819 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/15(日) 08:43:05 ID:???
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
820nobodyさん:2009/02/15(日) 08:44:43 ID:DOB4o/WN
>>818
スマンコ

作るための指標やら知識へのポインタをいただければと存じます.
821nobodyさん:2009/02/15(日) 08:49:14 ID:???
以下のコード、セキュリティ対策?で、
$file = htmlspecialchars($file); を使いたいのですが、
そうするとリンクが無効になってしまいます。
他に方法ありませんか?
また、$url は正規表現の判定だけでは不十分ですか?

$url = $_GET['url'];
if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $url)) {
$file = file_get_contents($url);
$file = strip_tags($file, "<a><br>");
echo $file ;
}
822nobodyさん:2009/02/15(日) 10:04:31 ID:???
$url = $_GET['url'];
if (preg_match('!^(?:https?|ftp)://[\-\.~\w/\?&=\+%]+$!', $url)) {
$file= file_get_contents($url);
$file= mb_convert_encoding($file, "SJIS", "UTF-8,JIS,EUC,SJIS");
$file= preg_replace("!<img\b[^>]*alt=\"?([^\"\s]+).*?>!is", "$1", $file);
$file= strip_tags($file, "<a>");
$file= preg_replace("!</a>\s*!i", "</a><br>\n", $file);
echo <<<HTML
<html><head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</head><body>
{$file}
</body></html>
HTML;

こんな感じでどうよ
823nobodyさん:2009/02/15(日) 10:31:56 ID:Ky9cwee/
デザインとロジックを分ける練習をしてます

【ロジック】
$bunshou = "ここは文章です";

【デザイン】
<div id="bunshou">
<p>{bunshou}</p>
</div>

上のようなテンプレートで{bunshou}を書き換えるには
file_get_contents使って正デザインを$dezainに読み込み規表現で{bunshou}を見つけて$bunshouに置換し
デザインをすべて置換し終わったら、$dezainを出力という処理でよろしいでしょうか?
824nobodyさん:2009/02/15(日) 10:42:16 ID:???
>【ロジック】
> $bunshou = "ここは文章です";
それは、ロジックじゃなくてモデルな。
モデルは、モデルオブジェクトを作っておく。
読み込んだあと、DOMパーサーにかけて、DOM毎に適切なクラスを割り当て、
そのクラスにモデルを注入。
それぞれに適切なビューハンドラーも作成して注入したうえで、
次にビジネスロジックを適用。
最終的な結果を出力する
825nobodyさん:2009/02/15(日) 12:24:59 ID:???
ロジックが記述してある部分をモデル層と呼ぶのだから、間違いとは言い切れない。

置換が入ると重くなるのであまりお勧めはしない。
Smartyなどのテンプレートエンジンは、テンプレートを実行可能なPHPコードに変換したものをファイルとして保存して変換を最初の一回だけにしている。
PHPだけで処理するなら、OOPが良く分からない初心者にも手の届く簡単な方法はこんな感じ。

●1.グローバル変数を使う
---model.php---
$bunsyou = 'ここは文章です';
require_once'view.php';;
---view.php---
<div id="bunshou">
<p><?php echo $bunsyou ?></p>
</div>

●2.特定の名前空間に変数をextractする
60行で作るPHP用テンプレートエンジン

ttp://anond.hatelabo.jp/20071030034313
826nobodyさん:2009/02/15(日) 14:21:42 ID:X/0BOQfC
>>825-826様、ありがとうございます
テンプレートエンジンはpreg_replaceで置換する処理が入ってるのでしょうか?
827823:2009/02/15(日) 14:22:29 ID:X/0BOQfC
IDが変わってるのは電話回線を使用のためです
828nobodyさん:2009/02/15(日) 14:36:22 ID:???
テンプレートエンジンっていっても、全部一緒じゃないからね。
ただ、単純にpreg_replaceを使ってるのは見たことない。
829nobodyさん:2009/02/15(日) 15:16:40 ID:U3AeQpvt
質問よろしくお願いします。

PHPでuuidを生成したいのですが、
どうすればよいのでしょうか?
830nobodyさん:2009/02/15(日) 15:30:35 ID:???
>>829
初期値を入れてインクリメントしていけばいい
831829:2009/02/15(日) 15:32:54 ID:U3AeQpvt
>>830
説明が足りずすみません;

http://ja.wikipedia.org/wiki/%E6%B1%8E%E7%94%A8%E4%B8%80%E6%84%8F%E8%AD%98%E5%88%A5%E5%AD%90
このuuidのことなのですが・・・
なにかライブラリなどあるのでしょうか?
832nobodyさん:2009/02/15(日) 15:35:44 ID:???
>>831
マニュアルのuniqidを見て。
その中のコメント欄に書いてあるから
833829:2009/02/15(日) 16:14:44 ID:U3AeQpvt
>>832
エクステンションがあったんですね!
知りませんでした。

ありがとうございました!
834nobodyさん:2009/02/15(日) 19:10:07 ID:???
>826
入ってるか入っていないかで言えば、入っている事が多い。実際Smartyの実装を見たが、preg系の関数を使っている。
だが、単純な正規表現置換処理以上の事を行なっている事が多い。
テンプレートエンジンを使った事があれば分かると思うが、ループとか変数代入とかマクロの機能を備えたテンプレートエンジンが多い。
最低でもforeach/while/for相当のループ処理と外部ファイル埋め込み辺りは使えないと使い勝手が悪すぎるからな。
これらは当然単純な置換だけでは実現できないわけで。

ただ、>823の仕様で作るなら正規表現による置換でいいと思う。
835nobodyさん:2009/02/15(日) 19:38:01 ID:???
ってことはそこらのテンプレートエンジンより>>823のコードのほうが高速ってことだ
836nobodyさん:2009/02/15(日) 20:06:22 ID:???
使い勝手は最悪だがな
837nobodyさん:2009/02/15(日) 21:44:11 ID:???
マイクロフォームってすごーい
838nobodyさん:2009/02/16(月) 03:52:06 ID:auGQVbhI
SQL文うたれたかログ取ることできますか?
839nobodyさん:2009/02/16(月) 03:57:18 ID:???
できるよ
840nobodyさん:2009/02/16(月) 04:01:20 ID:auGQVbhI
どうすればいいのでしょうか?
ヒントだけでもお願いします
841nobodyさん:2009/02/16(月) 05:22:10 ID:JCetDnNo
PDOでMySQLにデータを書き込んでいるんですが
1行のみのINSERTならトランザクションをかける必要はないんでしょうか?
842nobodyさん:2009/02/16(月) 07:24:48 ID:???
>>840
$qu = mysql_query("select ...");

if($qu == true){
fwrite
}
843nobodyさん:2009/02/16(月) 07:28:07 ID:ketESsJg
php4のattributs()関数って
php5のDOMElementsでのどれに当たる?

getAttributeだと指定しなきゃいけないから,困ってる.
844nobodyさん:2009/02/16(月) 11:10:18 ID:???
>>841
逆に言って悪いが、どんな状況のためにトランザクションが用意されているのか理解しよう
スレチだから ANSI トランザクション 分離レベル でググってくれ

>>843
http://www.php.net/manual/ja/class.domnode.php#domnode.props.attributes
845nobodyさん:2009/02/16(月) 11:19:22 ID:bKWxUOrT
$array = array("name"=>"あああ");
という連想配列を
echo "name=あああ";

として出力したいのですが、foreachで出力する方法以外で
良い方法やかんすうはありませんでしょうか?
846841:2009/02/16(月) 11:21:53 ID:t9SYRsc5
>>844
結局いらないってことでいいんですか?
847nobodyさん:2009/02/16(月) 11:22:51 ID:???
>>845
array_map()
848nobodyさん:2009/02/16(月) 11:29:59 ID:???
>>845
まぁ、foreachが適切だけどな。
foreachに感謝しないやつってなんなんだろうな。
Do While
each
ArrayIterator
array_shift
array_reduce

849nobodyさん:2009/02/16(月) 11:31:41 ID:???
素直にforeachを使います
850nobodyさん:2009/02/16(月) 12:17:06 ID:???
>>845
配列名が分かってるなら
print $array["name"];
で。

だいたい何でもforeachばっかり使うやつってなんなんだろうな。
forより速いとか都市伝説だし。
851nobodyさん:2009/02/16(月) 12:30:33 ID:???
質問の内容を把握できてなさすぎだろ
挙句にハッシュでforの話題が出てくる始末
852nobodyさん:2009/02/16(月) 13:03:23 ID:???
>>850
foreachよりクリーンな処理を書いてから言えよ
853 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/16(月) 13:44:51 ID:???
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |

854nobodyさん:2009/02/16(月) 13:49:11 ID:???
敗北宣言乙
855nobodyさん:2009/02/16(月) 14:11:51 ID:???
>>841
いらない

>>844
説明するときにわざわざ難しいこと言い出すやつこの業界に多すぎ
856nobodyさん:2009/02/16(月) 14:24:17 ID:???
AA張ったり難癖付けたり忙しい奴だな
857 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/16(月) 16:03:34 ID:???
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |

858やまは:2009/02/16(月) 17:00:23 ID:9drq1RmM
質問です。
name.datには
0<>山田
1<>鈴木
2<>山口
3<>小笠原
と書いています。
この中に会員がいるとして、会員ファイルには次のように書いています
0<>山口
1<>小笠原

この時、名前ファイルをループさせて、会員のみ、名前に★を付けたいのですがどうしたらよいでしょうか?

これが考えてみたソースです。


【続きへ】
859やまは:2009/02/16(月) 17:01:03 ID:9drq1RmM
【続き】

<?php
$file1 = file("./name.dat");
$file2 = file("./member.dat");
foreach($file1 as $value1){
list($no,$name) = explode("<>",$value1);
foreach($file2 as $value2){
list($no2,$name2) = explode("<>",$value2);
if($name == $name2){
$memberflag = 1;
}else{
$memberflag = 0;
}
}
echo "名前:".$name;
if($memberflag) echo "★";
}
?>
これではなぜダメなのでしょうか?
860nobodyさん:2009/02/16(月) 17:11:10 ID:???
if($name == $name2){
  $memberflag = 1;
  break;
}else{
  $memberflag = 0;
}

breakしなければflagに1たったあともループ続くから0に上書きされる
861nobodyさん:2009/02/16(月) 17:15:10 ID:???
同じ名字の人がいたらどうすんだ・・・?
862nobodyさん:2009/02/16(月) 17:23:37 ID:???
データファイルのをこのようにしてみることをすすめる

id,name,user
1,高橋,1
2,斎藤,0
3,田中,1

そしてuser項目の1と0だけ判別して会員かどうか判別すればおk
863nobodyさん:2009/02/16(月) 19:07:34 ID:icGEckGX
$_GETした数字をそのままPDOで、sql文のbindしたparamの変数に
入れると、思ったような結果が得られません。

〜省略
$sql = "select a from table where a = :P";
$result = $pdosetuzoku->prepare($sql);

$result->bindParam(":P",$p,PDO::PARAM_INT);
$result->execute();

$p = $_GET["p"];

で例えば、select a from table where a = 1、には、
確かにデータがあるし、$pも確かに1になってるんですが、
この$pを上のpdoにとおしてそのデータを取得しようとすると、
dumpするとarray(0) { } と返ってくるんです。
なので適当に$p = $p*1など、$pの値を数字型にすると、dumpの結果がarray(20) {〜〜〜 }みたいにずらっと
出てくるのですが、いろいろ調べてみるとosなんかの環境次第でそうなるみたいなんです。(当方windows2000 php5.2.6)

そこで、$pを確実に数字型で返せればいいと思ったのですが、どうすればいいのでしょうか。
できればgetが文字型であった場合は、任意の数字型の数字で返すようにしてみたいです。
よろしくおねがいします。
864nobodyさん:2009/02/16(月) 19:15:11 ID:???
数字型・・・

$_GETはいつだって文字列だよ
だから、PDO::PARAM_STR にしてみたら?

PDO::PARAM_INTがいいんならキャストしたっていいけどさ。
865nobodyさん:2009/02/16(月) 19:31:00 ID:???
>>859
array_intersect
866nobodyさん:2009/02/16(月) 19:42:19 ID:icGEckGX
>>864
そうなんです
たしかにそうなんですが、
PDO::PARAM_STRにしても、array(0) { } と返ってくるんです。
で、どうしようもなくて、param_intでしようとしたんです。

キャスト調べてみました。
$p = (int) $p;
とすることでうまくいきました。
こんな基本的なことだったんですね
もしもgetしたのがabcdとか文字だった場合の$pも0になってくれてました。
ありがとうございました

このintは、数字以外のものも、必ず数字(0)にしてくれるのでしょうか
何か例外などなければ、もうこれをつかおうと思うのですが。
よろしくおねがいします。
867nobodyさん:2009/02/16(月) 19:55:59 ID:???
配列やオブジェクト、booleanなどからキャストすると0ではなく1になることもある
キャストの一覧がマニュアルにあったけど・・
868nobodyさん:2009/02/16(月) 20:24:11 ID:7/DgmfYM
window vistaにapache2.2、php5.28をインストールしました
そのあとにmysql5.1をインストールしたのですがphp5.2.8では使えないのか動きません
諦めてmysql4.1にしたところphp5.2.8で使うことができました
mysql5.1はphp5.2.8では使えないのでしょうか?
869やまは ◆2ch.net/cU :2009/02/16(月) 20:34:44 ID:9drq1RmM
>>860
>>861
>>862
回答ありがとうございました。なんとか動きました。
870 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/16(月) 20:40:50 ID:???
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
871nobodyさん:2009/02/16(月) 20:44:03 ID:???
>>868
どう使えないかわからないとなんだけど、認証関係なら
http://dev.mysql.com/doc/refman/5.1/ja/php.html
872nobodyさん:2009/02/16(月) 21:17:51 ID:???
やヴぇえええええええええええ
sqlite使うのに成功したぁああああああああ

おめでとう自分 ありがとう自分^^v
873nobodyさん:2009/02/16(月) 21:19:35 ID:???
>>872
PHPのネイティブ関数?
874nobodyさん:2009/02/16(月) 21:30:14 ID:eMAPxKGb
windowsでphp5.2.6を使ってます
今回xdebugをインストールしたいのですがどれをダウンロードしてきたらいいのかわかりません
スレッドセーフ、非スレッドセーフというのは翻訳して調べたのですが
このスレッドセーフかどうかを調べる方法も合わせてご教示お願いします


Windows binariesの欄に以下の6つのdllがあります

5.2 VC6 Non-thread-safe
5.2 VC6
5.3 VC6 Non-thread-safe
5.3 VC6
5.3 VC9 Non-thread-safe
5.3 VC9
875nobodyさん:2009/02/16(月) 21:31:46 ID:???
>>873
もち^^v
876nobodyさん:2009/02/16(月) 21:36:30 ID:???
http://tsushima.2ch.net/test/read.cgi/news/1234784494/
ここで祭りやってるサイトってphpで作ってるのか?
数字だけじゃなく、計算式も受け付ける
877nobodyさん:2009/02/16(月) 21:37:51 ID:???
意味がわからない
878nobodyさん:2009/02/16(月) 21:44:38 ID:eMAPxKGb
すいません、5.2の非スレッドーセーフのdllでいいみたいでした
ただphpinfoにxdebugが表示されなくて困ってます
php.iniの[PHP]の項目のところに以下の記述をしました
dllはD:\php5\ext\php_xdebug.dllにあります

zend_extension_ts ="D:\php5\ext\php_xdebug.dll"
xdebug.manual_url = "http://jp2.php.net"
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *

どなたか解決策ご教示おねがいします
879nobodyさん:2009/02/16(月) 21:47:22 ID:???
なんでそんなにxdebug使いたいの?
880nobodyさん:2009/02/16(月) 21:49:50 ID:???
>>877
数量のフォームに0.1+0.1って入れても通るらしいんだ。
フォームに入れた文字列を計算してるみたい。
phpならそういう現象がおこせるんじゃないかという話。
javaサーブレットは無理だから。
881nobodyさん:2009/02/16(月) 21:51:30 ID:???
アホかお前は
882nobodyさん:2009/02/16(月) 21:53:14 ID:???
>>881
文字通り、くだらない質問で悪かったw
883nobodyさん:2009/02/16(月) 22:02:24 ID:???
eval知ってるぐらいでいばるなよ
884nobodyさん:2009/02/16(月) 22:09:18 ID:???
Fatal error: Call to intolerant joke in >>883
885 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/16(月) 22:28:07 ID:1ERhBs+i
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |

886nobodyさん:2009/02/16(月) 22:56:54 ID:???
残念ながら俺はもやしの方だ
887 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄:2009/02/16(月) 23:40:22 ID:1ERhBs+i
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─3─-3- )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |

888nobodyさん:2009/02/16(月) 23:54:11 ID:???
>>878
違う php.ini を読み込んでるとかApacheを再起動してないとかはないよな
php.ini の書き方はそれであってるが、コマンドラインからでもモジュールを確認できる
> C:\PHPへのパス\php.exe -m
とやって結果に次の項目が含まれていれば認識している
> [Zend Modules]
> Xdebug
889nobodyさん:2009/02/16(月) 23:55:37 ID:???
>>878

> すいません、5.2の【非スレッドーセーフ】のdllでいいみたいでした
(snip)
> zend_extension_ts ="D:¥php5¥ext¥php_xdebug.dll"

[zend_extension_ts]
zend_extension の亜種で、【スレッドセーフでコンパイル】された拡張モジュール用のもの。
(ttp://jp.php.net/manual/ja/ini.core.php#ini.zend-extension-ts)

890nobodyさん:2009/02/17(火) 02:19:33 ID:fqQje7br
禁止ワードチェックしたいんでけど
氏ね と入力すると ”NGワード!!”と表示されるのは嬉しいんですけど
書き込みが出来てしまいます>_<

//NGワード指定
$ng = array('氏ね','おい','えい');

foreach ($ng as $word) {
if (strpos($_POST["comment"], $word) !== false) {
echo "NGワード!!";
  }
}
891nobodyさん:2009/02/17(火) 02:21:56 ID:???
>>890
headerなんとかで
別ページに飛ばすようにして、
「禁止ワードが含まれています」
って表示したら?
そんで、セッションでそのワードを
持ちまわしして、表示とか。
892nobodyさん:2009/02/17(火) 02:25:55 ID:???
>>890
なんか他人のスクリプト改造してるのかな?
別に書き込みを行ってるロジックがあるだろうから
その箇所に組み込まないとだめ
893nobodyさん:2009/02/17(火) 02:38:31 ID:fqQje7br
>>891-892
ありがとうございます。
他人のスクリプトを改造してるのです
頑張ってみます
894nobodyさん:2009/02/17(火) 02:42:13 ID:???
一番楽なのはechoの部分でexit
895nobodyさん:2009/02/17(火) 03:23:36 ID:1nyp4+4+
以前PHP5.0か5.1で、foreachの中でreturnしたらメモリリークするというバグがありましたが
switchの中でreturnしても大丈夫ですか?
896nobodyさん:2009/02/17(火) 03:40:11 ID:???
ok
897nobodyさん:2009/02/17(火) 04:54:43 ID:fqQje7br
わおおおおお
>>891 >>892 >>893
ありがとうございます
exit;で出来ましたT_T

でもデザイン崩れるのはなぜでしょうか・・
898nobodyさん:2009/02/17(火) 05:17:18 ID:???
>>897
とりあえず暇だから、そのソースの配布元のURL貼ってみ
899nobodyさん:2009/02/17(火) 05:24:25 ID:???
まぁ自力で解決するつもりなら、メールアドレスが不正だとか本文が空だとか、
そういうエラー処理のロジック辺りに組み込んでおくべし
900nobodyさん:2009/02/17(火) 05:24:33 ID:fqQje7br
すいません
こちらの一行掲示板です

ttp://p-ho.net/index.php?page=8
901nobodyさん:2009/02/17(火) 05:55:49 ID:???
902nobodyさん:2009/02/17(火) 06:12:54 ID:fqQje7br
>>901
お手数おかけして申し訳なかったです
無事動きました!
本当にありがとうございました。
903nobodyさん:2009/02/17(火) 10:35:37 ID:FQkcexzn
     / ー  -\
 .  /  ( ●) (●)  申し訳ありません。
   |     (__人__) i
  . \__ _ `⌒´_/
   ,r´:::::::::\ゝ▼ノノ::ヽ、
   i:::::::::,::::::::ヽ¶|/::::,,:::|
   |::::::::|::::::::::::::::I:::::::i:::::|
   |::::::::|::::::::::::::::I:::::::|::::|
   |::::::::|;;;;;;;;;;;;;;人;;;;;|;;ノ
   (_)    つ /ノ
     |   . ω /
     |    / /
     |   / /
     |  / /
     | / /
     L”つ、つ
904nobodyさん:2009/02/17(火) 11:43:13 ID:eYIUjnMG
phpのエクステンションについて説明が書かれたサイトってございませんか?
905nobodyさん:2009/02/17(火) 12:51:39 ID:???
エクステンションのどんな説明ですか?
906nobodyさん:2009/02/17(火) 12:54:15 ID:???
簡単な一行書き程度の説明程度で構いません
907nobodyさん:2009/02/17(火) 13:34:04 ID:???
908nobodyさん:2009/02/17(火) 17:36:52 ID:???
ttp://dspt.blog59.fc2.com/blog-entry-56.html
このphpを使って、header.phpに呼び出してして更に<?php include("./include/header.php"); ?>としてindex.php等から呼び出してるんですが、
Fatal error: Cannot redeclare user_agent_docomo()といったようなエラーが出ます
ちなみに、同URLにあるテストプログラムでは問題ありません
解決方法がありましたらご指南願います
909908:2009/02/17(火) 17:46:41 ID:???
すいません、自己解決しました
超単純なミスでした
910nobodyさん:2009/02/17(火) 18:37:31 ID:KMCXszmR
911nobodyさん:2009/02/17(火) 19:45:43 ID:???
>>868
vista 64bit ultima
Apache 2.2.9
PHP Version 5.2.8
MySQL version5.1.3

問題なく動作してる
912nobodyさん:2009/02/17(火) 19:50:24 ID:???
>>911
すいません、書き忘れたのですがphp.iniでextへのパスを設定とOSのほうでphpディレクトリへのpathを指定したら治りました
913emi:2009/02/18(水) 03:21:35 ID:AG6GBpIj
プログラミングど素人です。すみませんが教えてください。

GPSのデータを自分のHP上にgooglemapで表示させたいんです。
HP URL http://khepresh.toyama-cmt.ac.jp/~d04233
GPSデータ
$GPGGA,025207.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,24,18,51,192,21*7D
$GPGSV,3,2,09,30,50,182,18,09,42,048,,14,38,313,24,15,11,112,16*7E
$GPGSV,3,3,09,31,05,252,23*43
$GPRMC,025207.561,V,3645.5161,N,13709.5192,E,0.00,0.00,160708,,,N*7A
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPGGA,025208.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*55
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,17,18,51,192,20*7C
$GPGSV,3,2,09,30,50,182,17,09,42,048,,14,38,313,23,15,11,112,15*75
$GPGSV,3,3,09,31,05,252,22*42

↑毎秒データが追加される。
このデータの必要な部分のみをPHPで抽出し、javascriptに組み込み
グーグルマップにリアルタイムでピンを立てていきたいんです。
流れはわかるのですが、プログラミングしろとなると本当にわからなくて…m(_ _)m

すみません。どうかよろしくお願いします。
914913:2009/02/18(水) 03:26:27 ID:AG6GBpIj
それに関する本を購入して学習してから出直せと言われそうですが、
まさにその通りです。
しかしながらこれらを今週中までにと言われたもので、一から勉強していては
到底間に合うものではないかと…
あつかましくて申し訳ないですm(_ _)m

$remove_row_list = array( 2, 3, 4, 5, 6, 7);
while ($data = fgetcsv($fp, 10000)) {
$today = date("Y/m/d l H:i:s");
print($today)."<br>\n";
if (!in_array($count, $remove_row_list)) {
echo $data[1] ."<br>\n";
echo $data[2] ."<br>\n";
echo $data[3] ."<br>\n";
echo $data[4] ."<br>\n";
echo $data[5] ."<br><br>\n";
}
{
$count++;
}
}
fclose($fp);

?>

緯度や経度などの必要な部分だけを抽出してみたつもりです。
何かおかしいような気もするのですが
これをjavascriptに組み込むことは可能なのでしょうか。
915nobodyさん:2009/02/18(水) 03:32:41 ID:???
自分で勉強して実現することを今週までと言われたのでは?
916nobodyさん:2009/02/18(水) 03:34:40 ID:???
しかもマルチですか。ありえんわ。
917nobodyさん:2009/02/18(水) 08:57:09 ID:???
素人でも昼寝しながら3〜4日あれば出来るだろ!?
本なんて購入せんで良いから駄目と思う前に勉強しろ
918nobodyさん:2009/02/18(水) 09:59:30 ID:???
富山商船高等専門学校
919nobodyさん:2009/02/18(水) 11:59:37 ID:HJmSPuYo
初歩的な質問で恐縮です。
変数名の前に、(integer)のように記すのは、
どういう意味ですか。

$id = (integer)($Id);
$date = (string)$dc->date;
920nobodyさん:2009/02/18(水) 12:04:27 ID:???
はるな愛 = (女)大西賢示;
921nobodyさん:2009/02/18(水) 12:18:07 ID:???
>>919
型変換です
922nobodyさん:2009/02/18(水) 12:23:50 ID:???
>>920-921 ありがとうございます。
923nobodyさん:2009/02/18(水) 12:31:06 ID:???
>>920
あんた天才だ
924nobodyさん:2009/02/18(水) 12:32:20 ID:???
それだとただはるな愛に代入してだけだから
はるな愛 == (女)大西賢示
がtrueになると言わないとだめだろう
925nobodyさん:2009/02/18(水) 12:35:32 ID:???
>>924
つまんね。お前に代入してやる
926nobodyさん:2009/02/18(水) 12:43:52 ID:2ixgJBqF
アクセス解析の記録方法について質問です
1日10000ユニークのサイトでは
ログをファイルに記録するのとデータベースに記録するのはどちらが妥当でしょうか?
927nobodyさん:2009/02/18(水) 12:47:35 ID:???
鯖によるが、基本はファイルにログをとってcronで回収
DBでのアクセス解析は余程DBサーバが強くて金が余って手を抜きたいときだけ。
928nobodyさん:2009/02/18(水) 12:49:43 ID:???
10000ユニーク/日をDBでやるとしんどいかもw
929nobodyさん:2009/02/18(水) 12:51:44 ID:???
1000ユニークもあるとcron使ってもさ
ファイルの容量が1M軽く超えないか?
そうなるとログ書き込みの時に重くならない?
930nobodyさん:2009/02/18(水) 12:54:06 ID:???
追加書き込み知らないのか?
931うへ ◆yiS.Z5SDUQ :2009/02/18(水) 12:58:26 ID:???
あはーん
932nobodyさん:2009/02/18(水) 13:03:38 ID:???
追加で書いてもファイルを全部読み込むから重いだろ?
933nobodyさん:2009/02/18(水) 13:08:08 ID:???
解析をどこでやるかだと思う
934nobodyさん:2009/02/18(水) 13:40:11 ID:???
>>932
ファイルを全部読みこむとか、奇想天外だな
935nobodyさん:2009/02/18(水) 13:52:15 ID:???
fopen($filename,"a")こういうことだろ
これは一度全部ファイルを読むんじゃないのか
936nobodyさん:2009/02/18(水) 13:53:38 ID:???
解析するときの話だろ・・・
937nobodyさん:2009/02/18(水) 13:56:30 ID:???
書き込み先の話だろ。
普通はApacheに任せる
でなくてもsyslogを経由する。
fopenとかあほかと
938nobodyさん:2009/02/18(水) 13:57:53 ID:???
>>935
それはファイルを開くだけで中身は読み込まない
939nobodyさん:2009/02/18(水) 14:00:44 ID:???
追記を全部読み込んで最後に書き足すだと思ってたってこと?
940nobodyさん:2009/02/18(水) 14:06:01 ID:???
1KBのファイルと1GBのファイルをfopenするのじゃどっちが重いか分かるだろ
941nobodyさん:2009/02/18(水) 14:07:14 ID:???
>>939
まさか。それはあり得ないだろう。
942nobodyさん:2009/02/18(水) 14:14:11 ID:???
memory_get_usage()で試して確認してみたらいい。
100MBのファイルだって、fopenして追記するだけならメモリ食わんから
943nobodyさん:2009/02/18(水) 14:18:39 ID:???
この流れ前も見た気がする
全部読み込んでるだろって言ってるやつ同一人物か?
944nobodyさん:2009/02/18(水) 14:21:47 ID:???
「ファイルポインタ」とはでぐぐって来い。
945nobodyさん:2009/02/18(水) 14:25:19 ID:???
シークとかランダムアクセスとか使ったことない人なんだろ
946nobodyさん:2009/02/18(水) 14:33:57 ID:???
ファイルのアップロードについての質問

ブラウザのフォームのファイルで選択しsubmitしたら、
tempフォルダにアップロードしてスクリプトが走る。
スクリプトが終了したらファイルは自動削除。
この認識に間違いないですか?

で、もし仮にphpが不正終了した場合はファイルは残ってしまうのかな?
947nobodyさん:2009/02/18(水) 14:34:28 ID:???
>>945
いやいや、それもありえんだろう。
948nobodyさん:2009/02/18(水) 14:45:05 ID:???
949nobodyさん:2009/02/18(水) 15:11:56 ID:sMdatC3/
アクセス解析のログについて質問です
NINJATOOLSで提供されているttp://www.ninja.co.jp/analyze/のような検索フレーズの表示は
ログを書きこむときにリファラーを分解して検索フレーズをログに書き込んでいくほうがいいのでしょうか?
または解析用ページで、記録したリファラーを元に検索フレーズを取って出力するのがいいのでしょうか?
950nobodyさん:2009/02/18(水) 15:21:11 ID:???
いいって何を基準に?
951nobodyさん:2009/02/18(水) 15:28:38 ID:???
そこを聞いてどうする
どれだけ、個性的なエスパーを展開できるかが回答者の力量ってもんだろう。
952nobodyさん:2009/02/18(水) 15:29:10 ID:???
何を持っていいとするのか分からないのでメリットとデメリットを考えてみた。
即興で考えたので抜けがあるかも知れないが参考までに。
あと、プログラムの早い遅いは作り方にもよるのでご注意を。

1.ログ記録時に解析してサマリーを作成
  メリット:解析結果のページが簡単で処理が少ない
  デメリット:記録時に処理が遅くなるため、アクセスの多いサイトでは致命傷になることもある

2.サマリーを作らず、表示するときに解析
  メリット:記録処理が早いため、多アクセスでも
  デメリット:解析結果のページを表示するたびに処理をするので、遅くなる。解析するデータが日々増えていく。

3.cron等で定期処理で解析してサマリーを作成
  メリット:記録も表示も速い
  デメリット:リアルタイム処理ではなくなる。
953nobodyさん:2009/02/18(水) 15:34:01 ID:sMdatC3/
今日の日付に関しては2を
過去の日付については3で作ってみたいと思います
丁寧に教えていただきまして助かりました
ありがとうございます
954nobodyさん:2009/02/18(水) 17:17:28 ID:1zPw3GNN
MySQLのBLOB型にバイナリデータを入れるとき、
単にfile_get_contents()したものを挿入するのは
SQLインジェクションなどの問題があるのでしょうか?

あるならば、対処法を教えてください。

よろしくお願いします。
955nobodyさん:2009/02/18(水) 17:37:54 ID:???
バイナリデータに限らずfile_get_conetntsに限らずSQLインジェクションの危険はあるかと
対処法は解説サイトか解説本に必ず書いてあると思います
956nobodyさん:2009/02/18(水) 17:45:31 ID:gDGkuwNe
20020916という年月日を元に作られた数字が無数にあります
これらの数字をを2002/09/16という書式に直したいのですが
ヒントだけでも頂けないでしょうか?
957nobodyさん:2009/02/18(水) 17:52:47 ID:???
おもいっきり、頻出だなぁ
sprintfでどうだ
958954:2009/02/18(水) 17:54:01 ID:1zPw3GNN
>>955
レスありがとうございます。

対処法というか、エスケープするというのはわかっているのですが、
そうすると、バイナリの内容が変わってしまうのではないかと思いまして・・・。

たとえば、格納するときにbase64_encode()して
出すときにbase64_decode()とかではダメなのでしょうか?
959946:2009/02/18(水) 18:02:40 ID:g2FBvF84
>>948
おっと失礼。
PHPのバージョンは問わず全般的なことでの質問です。
960nobodyさん:2009/02/18(水) 18:09:26 ID:gDGkuwNe
>>957
レスありがとうございます
教えていただいた関数を元に試行錯誤してみたのですが
どうしても思い通りになりません
よろしければアドバイスお願いいたします

$n = 20020916;
echo sprintf($n,"%4d%/%02d/%02d");
961nobodyさん:2009/02/18(水) 18:19:12 ID:???
substr
962nobodyさん:2009/02/18(水) 18:34:28 ID:???
>>958
ちげーよ
バイナリの内容が変わらないようにエスケープするんだよ。
エンコードするコスト払う気があるんならそれはそれでいいけどな。
963nobodyさん:2009/02/18(水) 18:35:50 ID:p2G3+rpE
アクセス解析のログについて質問です
logというディレクトリに20090218.logという風に日付別でログを作るのですが
ディレクトリは年別または月別などに分けた方がよろしいでしょうか?
長期的に見てディレクトリ内に一年分以上の大量のログファイルをためるとサーバーに負担がかかるのでしょうか?
964nobodyさん:2009/02/18(水) 18:39:36 ID:???
>>963
別に変わらない
965nobodyさん:2009/02/18(水) 18:42:23 ID:???
なんか全部一緒の人が質問してるみたいに内容がつながってるなw
966nobodyさん:2009/02/18(水) 18:58:58 ID:ysrsaPD6
参考にして制作してみます、ありがとうございました
今日初めての質問でございます
気分を害されてしまったようですね、すみませんでした
967958:2009/02/18(水) 19:04:18 ID:1zPw3GNN
>>962
何度もすみません。

もう少し詳しく教えていただけないでしょうか?

単純な文字列の場合の対処法は参考書やネット上で見つかるのですが、
バイナリの場合がなかなか見当たらなくて・・・

エンコードするコストというのは、base64エンコードによるデータの肥大化のことでしょうか?
968nobodyさん:2009/02/18(水) 19:10:32 ID:???
>>954
バイナリのヘッダなどにスクリプトを仕込まれるケース
969nobodyさん:2009/02/18(水) 19:11:49 ID:???
DBにバイナリを保存する意味がわからない
プライベートディレクトリに入れればいいじゃん
バイナリなんてDBの得意分野じゃないんだから無理してやるのはただのカッコツケマン
970nobodyさん:2009/02/18(水) 19:17:48 ID:???
>>967
あなたはエスケープの意味が分かっていない。
即ち、SQLインジェクションがなぜ起きるのかも分かっていないと思う。
エスケープの意味を調べなおした方が良いのでは。
971nobodyさん:2009/02/18(水) 19:17:48 ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
972nobodyさん:2009/02/18(水) 19:26:24 ID:???
971 名前: nobodyさん [sage] 投稿日: 2009/02/18(水) 19:17:48 ID:???
>>967
バイナリたって、所詮はテキストだからな。
973nobodyさん:2009/02/18(水) 19:30:29 ID:???
>>971
テキストはないわ
974nobodyさん:2009/02/18(水) 19:40:37 ID:???
>>973
それはありえないよな。
975nobodyさん:2009/02/18(水) 20:02:00 ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
976nobodyさん:2009/02/18(水) 20:03:59 ID:???
いや、似たようなもんだよ。バイナリにもテキストを含められるし
977nobodyさん:2009/02/18(水) 20:05:14 ID:???
ない
978nobodyさん:2009/02/18(水) 20:07:54 ID:???
>>977
似てはいないよな。
979nobodyさん:2009/02/18(水) 20:09:31 ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
980nobodyさん:2009/02/18(水) 20:56:15 ID:xNLzAD7T
レンタルサーバ(レンタルスペース?)を探してます
PHP5ならPDO_SQLite(SQLite3)は確実に使えるんでしょうか
981nobodyさん:2009/02/18(水) 20:56:38 ID:wTQrBPsG
【OS名】CentOS 5.0
【PHPのバージョン】php5.2
【連携ソフトウェア】IE6.0, MySQL
【質問内容】
JavaScriptの非同期通信を使ってHTMLのフォームから
ユーザIDとパスワードをPHPに送り、PHPでMySQLに検索かけた結果を

$user_data = array('user_num'=>$user_num, 'birthday'=>$birthday);

のように連想配列に格納してブラウザにレスポンスデータとして送り
そのデータを連想配列としてJavaScriptに参照させたいんですけど
何か良い方法はありますでしょうか?
982980:2009/02/18(水) 21:06:49 ID:xNLzAD7T
ああ踏んでいたようで
試してみますが上の方まるまるコピペでいいんでしょうか
983nobodyさん:2009/02/18(水) 21:06:49 ID:???
xmlにでもすれば?
984nobodyさん:2009/02/18(水) 21:08:25 ID:???
>>982
前スレのとことスレタイの番号だけ変更してください
985981:2009/02/18(水) 21:21:09 ID:wTQrBPsG
>>983
XMLですか・・・Ajaxをやる上では避けられないとは思ってましたけども・・・。
ありがとうございます。これから勉強してみます。
986nobodyさん:2009/02/18(水) 21:25:14 ID:???
連続規制で書き込めん…
次スレです。不足があれば追記よろしくです。
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
987nobodyさん:2009/02/18(水) 21:33:12 ID:???
>>985
形式はjsonとかjsonpとかxmlとかtextとか好きなのでやればいいじゃない
988nobodyさん:2009/02/18(水) 21:35:49 ID:???
>>985 への返信
XML難しくねって。
prototype.jsのxmlパーサだったかな?あれ使えばめちゃちょりーよ。
989nobodyさん:2009/02/18(水) 22:04:03 ID:???
おいおい、せっかく981が勉強する気になったんだから水を差すなよ
990nobodyさん:2009/02/18(水) 22:07:27 ID:???
>>989
ウゼ
991987:2009/02/18(水) 22:24:06 ID:wTQrBPsG
>>987,988,989

将来性汎用性でXMLの方が良いという記事がいくつかったので、XMLを勉強しようとおもいます。
どうもありがとうございましたm(_ _)m
992981:2009/02/18(水) 22:24:47 ID:wTQrBPsG
>>991
すいません名前間違えました。
スレ汚し申し訳ありません。
993nobodyさん:2009/02/18(水) 22:32:17 ID:???
1000なら3日で作るPHPアプリケーション 2日目午後クリアできるう♪
994nobodyさん:2009/02/18(水) 22:35:32 ID:???
その程度のなら半日もかからない件
995nobodyさん:2009/02/18(水) 23:14:30 ID:???
if構文ってややこしいですね・・
どのifでクローズしてるのかわけ分からなくなる><
996nobodyさん:2009/02/18(水) 23:20:39 ID:???
>>995
え?どういう意味?
997nobodyさん:2009/02/18(水) 23:39:57 ID:???
>>996
え?どういう意味?
998nobodyさん:2009/02/18(水) 23:42:39 ID:???
インデントしろw
999nobodyさん:2009/02/18(水) 23:53:49 ID:???
>>995
ぶら下がり構文は止めといた方がいいと、エスパーしてみる
1000nobodyさん:2009/02/18(水) 23:56:26 ID:???
>>998-999
ありがとうです。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。