トップページphp
1001コメント286KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2009/02/01(日) 18:10:57ID:PdwQzQch
質問者はまず>>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を表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0002nobodyさん2009/02/01(日) 18:40:22ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003nobodyさん2009/02/01(日) 18:41:34ID:???
■過去ログ
【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/
0004nobodyさん2009/02/01(日) 18:42:35ID:???
関連リンク
■本家マニュアル   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/
0005nobodyさん2009/02/01(日) 18:43:40ID:???
【簡易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プログラムとして実行された結果になる。
0006nobodyさん2009/02/01(日) 18:44:54ID:???
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に保存?
 → 好きにしてください
0007nobodyさん2009/02/01(日) 18:47:56ID:???
テンプレがなかったのでコピペした
>>4は前スレ>>7を使用
0008nobodyさん2009/02/01(日) 19:03:59ID:b90OQfT9
では、さっそく。

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

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

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

また、質問後に無線マウスを落っことし破損してしまい
ショックで返信遅れました。すいません。
0011nobodyさん2009/02/01(日) 19:55:26ID:???
0012nobodyさん2009/02/01(日) 21:50:20ID:/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)だけ文字化けしたままです。
どうすれば文字化けしないようになるのでしょうか?
0013nobodyさん2009/02/01(日) 22:17:27ID:???
ループを使えば$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のまま。
0014nobodyさん2009/02/01(日) 22:27:43ID:rPQwGHoV
win環境です
apacheのhttpd.confのconfigチェックがDOSからできるように
php.iniのconfigチェックってできますか?
0015nobodyさん2009/02/01(日) 23:01:00ID:???
できます。
0016nobodyさん2009/02/01(日) 23:13:39ID:rPQwGHoV
すいませんやり方をおしえてください
0017122009/02/01(日) 23:23:31ID:/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>";
}
にしました。
0018nobodyさん2009/02/02(月) 03:30:39ID:???
>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とをごっちゃにして入れない)
 ・何行かまとまってひとつの意味を持つコードは、ちゃんと関数として束ねる。
辺りに気をつけて頑張れ。
0019nobodyさん2009/02/02(月) 06:27:09ID:???
改行がない数MBの英数半角のみのテキストファイルがあります。
0001 APPLE0001000002 CHERRY0003000003 BANANA000150

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

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

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

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

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

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

どのような正規表現の書き方をすれば、
このような場合にも対処できますでしょうか?
0040nobodyさん2009/02/02(月) 13:51:29ID:???
<body.*?> or <body[^>]*>
0041nobodyさん2009/02/02(月) 13:54:21ID:???
bodyに属性つける書き方やめろよks
cssにしろや
0042392009/02/02(月) 13:57:55ID:???
>>40
出来ました!ありがとうございました。
0043nobodyさん2009/02/02(月) 17:45:33ID: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に無理やり関連づけてしまいましたがよろしくおねがいします。
0044nobodyさん2009/02/02(月) 17:51:41ID:???
>>43
スタイルを調整して、それをphpから出力したらいいよ。
出力するときは、echo か printでいいんじゃない?
難しく考えすぎ
0045nobodyさん2009/02/02(月) 17:56:33ID:???
>>43
border-collapse:collapse
0046nobodyさん2009/02/02(月) 18:07:21ID:as+feHTC
>>44
>>45
おお!border-collapse:collapse;でできました!!
ありがとうございます!
0047462009/02/02(月) 18:09:28ID:???
べつにたいしたことじゃないから礼はいいってことよ
0048442009/02/02(月) 18:11:36ID:???
へぇ、そんな簡単なことだったんだ。
0049nobodyさん2009/02/02(月) 18:14:16ID:???
うぜえ
0050nobodyさん2009/02/02(月) 18:16:40ID:???
50
0051nobodyさん2009/02/02(月) 18:33:56ID:???
恥ずかしがるなよ
0052522009/02/02(月) 18:54:25ID: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」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
0053nobodyさん2009/02/02(月) 18:58:00ID:???
$object->idで取れないだろ
__get使ってんのか?
0054522009/02/02(月) 19:07:11ID:pyoydElk
>>53
すみません、Zend_Db_Table_Rowset_Abstract型のオブジェクトです。
0055nobodyさん2009/02/02(月) 19:11:23ID:???
>>54
こっちいけ
ttp://pc11.2ch.net/test/read.cgi/php/1204726884/
0056522009/02/02(月) 19:14:09ID:???
>>55
了解です。ありがとうございます。
0057nobodyさん2009/02/02(月) 19:16:02ID: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」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
0058572009/02/02(月) 19:17:03ID:???
すみません。誤爆しました。
0059nobodyさん2009/02/02(月) 20:12:08ID:enCDFoM0
PHPでhttpとhttpsの判別するにはどうしたらいいですか?
$_SERVERをvar_dumpしても、それらしい変数はありません
apacheのディレクティブで判別用の環境変数を設定すれば出来るかなーとも
思っていますが
0060nobodyさん2009/02/02(月) 20:27:38ID:???
foreach ($_SERVER + $_ENV as $key => $value) {
echo $key . " : " . $value . "<br>\n";
}

ちょっと気になったんでhttpとhttpsの場合で見比べてみたけど
httpsのほうには
HTTP_X_FORWARDED_PROTO : https
というのが出てきたよ
0061nobodyさん2009/02/02(月) 20:30:13ID:???
$_SERVER["SCRIPT_URI"]
0062602009/02/02(月) 20:34:52ID:???
他のサーバでやってみたけど必ずしもそうとは限らないみたいだな
ただhttpと比べて取得できる変数や変数の中身が変わってくるみたいだから
自分のサーバではどうなのか見比べてみて
httpsで取得できる変数が存在したらhttpsと決めるといった感じでやってみればいかがだろうか?
ブラウザや設定によって変わる変数もあるのでそこを注意しないといけないけど
0063nobodyさん2009/02/02(月) 20:50:03ID:???
おいおい、どんなヘタレ鯖使ってんだ?
SSLでgrepしたらいくらでも$_SERVERの中にあるだろ
0064nobodyさん2009/02/02(月) 20:56:09ID:???
正規表現での最短マッチについて質問させてください。
下記のような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>

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

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

ではなく

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

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

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

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になる。
0081nobodyさん2009/02/03(火) 00:19:49ID:???
と思って過去ログ辿ったら、オリジナルの問題は「数百万文字」なのか。
>76だけ見て10万文字で試してしまった。
0082nobodyさん2009/02/03(火) 00:24:15ID:???
引数でバイト数が指定できる関数のことで混乱してるんじゃないの
fgetsだと第二引数を省略すれば関数的には行の最後まで読んでくれるらしいよ
0083nobodyさん2009/02/03(火) 01:54:32ID:???
>>78
よう分からん。
↓を読んでphpに1行の文字列の制限があると判断したってこと?


 「fgets()関数」

  fopen()関数 で開いたファイルの、指定したファイル名の1行を取出しま
  す。
  取出す場合には、引数で最大バイト数を指定しますが、省略した場合には
  自動的に 1024バイト(日本語で 512文字分)になります。
0084nobodyさん2009/02/03(火) 11:09:06ID:LJeHoB4T
一般ユーザーがphp.iniの設定値を.htaccessファイル内の
php_flag php_valueによって上書きすることができますが、
.htaccess内のphp_flag php_valueの使用を禁止する方法は
ありますでしょうか?
0085nobodyさん2009/02/03(火) 11:11:32ID:???
ないよ
0086nobodyさん2009/02/03(火) 11:26:29ID:???
php_admin_valueってそのためじゃなかったっけ?
0087nobodyさん2009/02/03(火) 12:07:21ID:???
AllowOverride none ではないのかな?
0088nobodyさん2009/02/03(火) 12:12:28ID:???
noneは不便だろ
0089nobodyさん2009/02/03(火) 13:43:43ID:dcWE6E+I
header関数で別ページに飛ばしたいのですが
この関数は他の出力よりも前に書かないといけないみたいですけど
htmlを出力した後に呼び出してもちゃんと別ページに移動できます
これはブラウザの仕様でしょうか?
0090nobodyさん2009/02/03(火) 13:47:35ID:???
正常にheaderで飛ばしたのなら出力されたかもわからないわけだが
0091nobodyさん2009/02/03(火) 13:52:16ID: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();と書いても呼び出されません。
どこかに自分のオブジェクトを生成しなければならないのでしょうか?
0092nobodyさん2009/02/03(火) 13:53:25ID:???
>>89
やってみなよ。
そういうのは、一度やってどんなエラーが出るのか知っとけ
0093nobodyさん2009/02/03(火) 13:55:34ID:???
>>91
がんばれ
0094nobodyさん2009/02/03(火) 14:20:19ID:dcWE6E+I
>>92
ありがとうございます
すでに実行済みで疑問に思ったのでここで質問させていただきました
0095nobodyさん2009/02/03(火) 14:22:06ID:dcWE6E+I
>>90
クッキーを読み込み
ファイル書き込み後文字出力
そのごheader関数を使い別ページに移動

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

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

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

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

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

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

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

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

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

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

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

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

1)の処理のためのいいやり方を教えてください、御願いします
0131nobodyさん2009/02/03(火) 19:42:03ID:???
loadHTMLで適当なHTML読み込むと警告でるけど
DOM化はされているようだ。
で、この警告がでないようにする方法ってある?
0132nobodyさん2009/02/03(火) 19:53:15ID:???
>>130
.htaccess
ではだめなん?
なんか後半の意味がわからないけど
0133nobodyさん2009/02/03(火) 20:00:53ID: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
?>


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

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

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

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

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

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

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

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

決定的に違いがでるのは、ソフトウエア開発の基礎的なノウハウ
何を基礎だと思ってるかってのが開発者の個性。そこを磨け
0170nobodyさん2009/02/05(木) 00:10:28ID:???
ウザ先輩乙www
0171nobodyさん2009/02/05(木) 00:17:17ID:???
          ,      /〃ハヾ  / ∧∨〃、ヾ} 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' .:/'"´ ̄ ̄ ̄ ,.へ\
0172nobodyさん2009/02/05(木) 02:40:41ID:???
>166
クラスを使いこなすには経験が必要だが、PHPのクラスの使い方は非常に簡単。
というか、クラスの基本的な使い方が分からないと、フレームワークは理解できないし使えない。

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

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

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

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

質問

って
0195nobodyさん2009/02/05(木) 09:26:35ID:???
今、暇だから特別にこたえてやんよ
0196nobodyさん2009/02/05(木) 09:33:16ID:r201bcdx
formから受け取った画像ファイルを
画像ファイルとして読み込めるかどうか判断できる
方法を知っていたら教えてください。
今は、getimagesizeで取得できるかどうかで、
できなければ画像ファイルじゃない、と判断しているのですが、
なにか抜け道があるようなきがして不安なのです。
よろしくお願いします。
0197nobodyさん2009/02/05(木) 09:47:33ID:???
GDで新しいイメージを作ってそこにペースト。
それから保存する
0198nobodyさん2009/02/05(木) 09:56:19ID:???
>>173
htmlspecialcharsは実際に表示するときでいいよ
リクエスト受け取るときは何もしなくていい
0199nobodyさん2009/02/05(木) 11:18:57ID:???
>>195
今じゃなくて、「常に」暇なんでしょw
どうでもいいけど「やんよ」ってどこの訛りですか?
0200nobodyさん2009/02/05(木) 11:22:13ID:???
>どうでもいいけど「やんよ」ってどこの訛りですか?
2chは初めてですか?
0201nobodyさん2009/02/05(木) 11:23:02ID:???
>>200
そうですが何か?w
0202nobodyさん2009/02/05(木) 11:33:05ID:???
>>199
常にってのは大げさだけど、暇な時間、多いかも。
あくせく働かなくても、儲かってるから
0203nobodyさん2009/02/05(木) 11:37:27ID:???
>>202
経済的にコンプレックスをかかえてるのはわかるけど、そういう見栄を張って
むなしくなりませんかw
0204nobodyさん2009/02/05(木) 11:38:37ID:???
>>202
へぇ、自宅警備ってそんなに儲かるんだ。
0205nobodyさん2009/02/05(木) 11:39:26ID:???
ひゃひゃ、なんか、くすぐったいねぇ
0206nobodyさん2009/02/05(木) 11:41:04ID:???
ガキども
ここで雑談するな
スレ違いだ
0207nobodyさん2009/02/05(木) 11:46:56ID:???
>>204
もう自宅警備歴がかれこれ5年になるけど、めちゃくちゃ儲からないよw
ヤフ桶での転○での利益が月7〜15万ではっきり言ってきつい。
日常生活に(お家がダンボールになっちゃうかもしれないという)スリルを
求める奴にはおすすめだけどね。
0208nobodyさん2009/02/05(木) 11:49:33ID:???
おまえら、せめて自宅警備のついでに開発しろ
まともに開発できるやついたら、1か月80万〜100万払うぞ。俺が。まじで。
0209nobodyさん2009/02/05(木) 11:53:33ID:???
>>208
そこまで言うなら、まずは
お名前、ご住所、電話番号
を晒さないとね
0210nobodyさん2009/02/05(木) 12:00:34ID:???
開発力の証明になるようなサイト作って、仕事募集中って書いてくれたら、
おれからコンタクトするよ
02112102009/02/05(木) 12:03:28ID:???
言い忘れてたけど、もちろん全部嘘だから。それだけは承知しといてね
0212nobodyさん2009/02/05(木) 12:42:10ID:???
だめだこいつらwwww
普通の人間になってください
0213nobodyさん2009/02/05(木) 12:45:05ID:???
>>211
おまえ、まだいたのか。
稼ぎそこなったなw
0214nobodyさん2009/02/05(木) 13:08:01ID:???
>>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も勉強してみます
0215nobodyさん2009/02/05(木) 14:18:04ID:???
なんか滅茶苦茶だね
0216nobodyさん2009/02/05(木) 14:24:15ID:l+G3Usoa
ヤフオクの商品出品画面とかみたいに
一時的にアップした画像を次のページのさらに次でアップしたいのですがどう引き継げばいいですか?

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

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

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

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

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


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

0225nobodyさん2009/02/05(木) 15:52:33ID:???
>>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);

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


だから、少なくても、最後の一個はpublicに
しないとダメなんでしょ?
0228nobodyさん2009/02/05(木) 16:10:03ID:???
>>227
public classとかphpにはないんで。
基本グローバル
0229nobodyさん2009/02/05(木) 16:11:37ID:???
PHP使う時に他の言語の常識を振りまわすkz
0230nobodyさん2009/02/05(木) 16:42:15ID: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
}
}
0231nobodyさん2009/02/05(木) 16:45:21ID:???
ヒント foreach 再帰
0232nobodyさん2009/02/05(木) 16:50:25ID:???
質問になってないのに、よくヒント出せるな。
02332302009/02/05(木) 17:11:23ID:???
やっぱ再帰ですよね。
phpは、よくわかんないだけど、割に便利な関数があるんで、
そんなのがあったりするんかなと。ググる前に質問しちゃいました。ゴメンね。
でもコード考える気がなかったりするw
php,再帰,連想配列でググってみたらよさげなものがあるんで、
流用しようw
0234nobodyさん2009/02/05(木) 17:17:37ID:???
新キャラ出現w
0235nobodyさん2009/02/05(木) 17:51:32ID:???
PHP5.1.6のmb_convert_encodingでマルチバイトで1000文字くらいの改行の無い文字列の文字列変換をすると、
決まった長さまでは正常だけど、それ以降が文字化けするというのは仕様ですか?
0236nobodyさん2009/02/05(木) 17:55:34ID:???
んなわけねーだろ
0237nobodyさん2009/02/05(木) 18:09:53ID:???
5.1系は使うなとあれほどいっただろ
02382352009/02/05(木) 18:46:55ID:???
あ、申し訳ないです。問題の切り分けを間違えてました…。

mb_send_mailでの問題でした。

mail("hoge@example.com", "test", mb_convert_encoding("1234567890123…(改行無しで1000文字)", "JIS", "UTF-8"));
で改行のない長い文字列を送ると、

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

0241nobodyさん2009/02/05(木) 19:15:59ID:???
HTMLはCとタイマン張れるほどの立派な低級言語だからHTMLおすすめ
0242nobodyさん2009/02/05(木) 19:17:24ID:???
>>239
JSP
0243nobodyさん2009/02/05(木) 19:19:59ID:???
このスレは糸を垂らすと必ず釣れるんだなw
0244nobodyさん2009/02/05(木) 19:25:09ID:???
>>241
低級言語の意味わかってねぇwww
しったかぶり厨うざいよ
0245nobodyさん2009/02/05(木) 19:52:16ID:+8hoj09r
(´・ω・`)
0246nobodyさん2009/02/05(木) 19:57:05ID:???
>>245
無視されたくらいでageんなよ
0247nobodyさん2009/02/05(木) 19:58:30ID:???
HTMLは上級下級問わず全てのwebにかかわる人に愛され続けてる言語です
0248nobodyさん2009/02/05(木) 19:59:53ID:???
マークアップ言語語りたいならhttp://pc11.2ch.net/hp/
0249nobodyさん2009/02/05(木) 20:10:27ID:???
>>247
お前、空気嫁ないねってよく言われるでしょ?
0250nobodyさん2009/02/05(木) 20:15:36ID: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
0251nobodyさん2009/02/05(木) 20:19:19ID:???
$dir = C:\\www\\a\\
文法上おかしくない?
0252nobodyさん2009/02/05(木) 20:23:48ID:???
""でくくらなきゃ
0253nobodyさん2009/02/05(木) 20:26:47ID:r201bcdx
>>251
>>252
すみませんでした。ここへ書くときに忘れてました。
正しくは、
$dir = "C:\\www\\a\\";
なのですが、やはりGドライプで操作したときは、
消したいディレクトリがその場に残ったままなんです。
0254nobodyさん2009/02/05(木) 20:31:05ID:???
DIRECTORY_SEPARATORが\\なの?
0255nobodyさん2009/02/05(木) 20:34:21ID:???
>>253
そもそもプロンプトで
 rmdir G:\www\a\ /s /q
は通るの?
0256nobodyさん2009/02/05(木) 20:43:59ID:r201bcdx
>>254
どこかのサイトに書いてあったのをやったらできたのです。
>>255
すみません、よくみたらまた間違ってました><;
$dir = "C:\\www\\a";
でした。
これで、aはきえました。
0257nobodyさん2009/02/05(木) 20:47:50ID:???
ほうほうそれで?
0258nobodyさん2009/02/05(木) 20:50:25ID:3zIJ+Mqp
pearで一番簡単な入門的なパッケージってどれでしょうか?
0259nobodyさん2009/02/05(木) 20:51:00ID:r201bcdx
それで、さきほど>>255さんを参考に
コマンドプロンプトで
rmdir G:\www\a /s /q
をしたら、消えてくれました。
0260nobodyさん2009/02/05(木) 21:00:26ID:???
>>258
特に無い
0261nobodyさん2009/02/05(木) 21:09:41ID:???
>>259
× rmdir G:\www\a\ /s /q
○ rmdir G:\www\a /s /q

ってことか?
0262nobodyさん2009/02/05(木) 21:15:47ID:r201bcdx
>>261
試しにさっき、
rmdir G:\www\a\ /s /q
やってみたら、これも消えてくれました。
でも、なぜあphpで書くと処理してくれませんね。
0263nobodyさん2009/02/05(木) 21:25:19ID:???
権限とかopen_basedirとか?
結果を取得するなりログを見るなりすればなんかでるでしょ
0264nobodyさん2009/02/05(木) 21:55:05ID:r201bcdx
いろいろやっていくいうちに、原因がわかりました。
ものすごくくだらないですが・・
まず、CをGと変更しているのに、削除しようとしているのは
Cの方だったことがわかりました。
そこでもう一度視野を広げてみてみると、
原因はphpの編集ツールにありました。
CからGへapacheのルート?wwwディレクトリをコピーで移動させてからも、
そのツールの編集画面を開いたまま編集していました。
つまり、Gの方のphpを編集している気でいたら、Cの方のphpを編集しており
Gの方のC:\\www\\aがそのままになっていただけでした。
ありがとうございました。
0265nobodyさん2009/02/05(木) 21:56:40ID:r201bcdx
訂正
すみません。原因はツールより、私の方にありました。
0266nobodyさん2009/02/05(木) 22:48:44ID: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に
値は山田太郎 と出力させるようには出来ないのでしょうか?
0267nobodyさん2009/02/05(木) 22:50:53ID:???
>>266
value
$_GET[]
0268nobodyさん2009/02/05(木) 22:56:49ID:???
$_REQUEST["name"] . ' ' . $_REQUEST["name2"]
0269nobodyさん2009/02/05(木) 23:04:00ID:Gj5tVrB7
>>267
>>286
ありがとう!こんな事で2時間以上ぐぐってたのか・・
0270nobodyさん2009/02/05(木) 23:08:37ID:ApJraLWL
永続接続を使った場合apacheの待機プロセスorスレッドの分だけデータベースにスレッドが立ったままになっちゃいますけど
そういうものなんですか
psコマンドで出すとズラーっと並んでいて気になります
0271nobodyさん2009/02/05(木) 23:13:16ID:???
>>270
そういうものです。
0272nobodyさん2009/02/05(木) 23:14:15ID:???
つまり気にしなくておk?
0273nobodyさん2009/02/05(木) 23:16:02ID:???
OKかどうかは、運用と鯖のパワーバランス
0274nobodyさん2009/02/05(木) 23:19:21ID:???
わかりました
ありがとう
0275nobodyさん2009/02/06(金) 01:07:33ID:Zd9hNyvT
20090206
を書式化して
2009年02月06日

としたいのですが、やはり一度分割して配列に入れる方法しかないのでしょうか?
0276nobodyさん2009/02/06(金) 01:09:40ID:???
echo date( "Y年m月d日", strtotime( "20090206" ) );
0277nobodyさん2009/02/06(金) 01:16:12ID:???
>>275
strtotime
0278nobodyさん2009/02/06(金) 01:37:39ID: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
02792782009/02/06(金) 01:38:02ID:3pSilmD2
$obj = new Test;

$obj->print_form();

if($_SERVER["REQUEST_METHOD"]=="POST"){
 if($this->determineSubmit()){
  〜
 }
}
?>
0280nobodyさん2009/02/06(金) 01:44:36ID:???
コーディングスタイルに正解も間違いもないよ
0281nobodyさん2009/02/06(金) 01:58:55ID:???
>>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>
0282nobodyさん2009/02/06(金) 02:00:52ID:???
set_submitButtonNameしたいときもあるかもしんねぇだろwww
0283nobodyさん2009/02/06(金) 02:17:24ID:???
>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]) 。
02842832009/02/06(金) 02:34:31ID:???
クラスは、クラスが必要なところでだけ使えばいいんだよ。
クラスを使う事が偉いのではない。クラスを使うことで分かりやすい/保守しやすいコードを書く事が偉いんだ。
「なんでクラス使ってるの?」と聞かれて、答えられるか?説得する必要はないが、自分なりの回答が存在するか?

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

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

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

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

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
日本語スマソ

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

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

0297nobodyさん2009/02/06(金) 04:29:33ID:???
結構ではなく全部読め
0298nobodyさん2009/02/06(金) 04:31:05ID:???
自作自演ですか?
02992982009/02/06(金) 04:33:07ID:???
そうです俺馬鹿なもんで
0300nobodyさん2009/02/06(金) 04:37:15ID:???
>>299
馬鹿なんだ^−^−^−^−^−^
0301nobodyさん2009/02/06(金) 04:38:48ID:???
きもい〜★
0302nobodyさん2009/02/06(金) 04:49:25ID:???
なんかエッチな気分
0303nobodyさん2009/02/06(金) 05:35:37ID:???
表現が稚拙だな
0304nobodyさん2009/02/06(金) 06:29:21ID: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)となってしまいます。恐らく、リライトのルールに合致しない為
書き換えが行われていないのだと思います。
なんで…なんでなのぉ〜(号泣)



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

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

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

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

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

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

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

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

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

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

2日で諦めた

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

ロクな回答者に絡まれると大変ね
0339nobodyさん2009/02/06(金) 21:36:43ID:???
ロクな回答者に絡まれたら良いじゃん
0340nobodyさん2009/02/06(金) 21:41:21ID:???
つうか、ここで質問してまともな回答を期待する方が、頭オカシイだろ
腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
0341nobodyさん2009/02/06(金) 21:44:01ID:???
助けてもらって当然、与えてもらって当然、他人に右往左往してもらって当然、って考えてる子が多い
0342nobodyさん2009/02/06(金) 21:59:23ID:???
そんなこと言っててもエサを投げればすぐ食いついてくるくせに( ´∀`)σ)Д`)
0343nobodyさん2009/02/06(金) 22:31:27ID:???
XREAスレが静かになったと思ったらこっちでファビョってたのかqqq
0344nobodyさん2009/02/06(金) 23:05:54ID:???
このての分野ってキモイ人間多いよな
0345nobodyさん2009/02/06(金) 23:06:38ID:???
お前が一番だから心配すんな
0346nobodyさん2009/02/06(金) 23:13:40ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
0347nobodyさん2009/02/06(金) 23:14:08ID:???
お前が一番そうだから心配すんな
0348nobodyさん2009/02/06(金) 23:14:18ID:???
キモイ人間にとって、このスレは快適なのさ
0349nobodyさん2009/02/06(金) 23:14:20ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
0350nobodyさん2009/02/06(金) 23:14:41ID:???
お前が一番そうだから心配すんな
0351nobodyさん2009/02/06(金) 23:15:06ID:???
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:???
お前が一番そうだから心配すんな
0352nobodyさん2009/02/06(金) 23:16:00ID:???
344の必死さにワロタw
0353nobodyさん2009/02/06(金) 23:16:46ID:???
>>345
>>347
>>350
反応早すぎw
0354nobodyさん2009/02/06(金) 23:17:36ID:???
この流れをみれば必死なのは反応の早い彼だと思うがあえてスルーしとこう
0355nobodyさん2009/02/06(金) 23:17:41ID:???
いつもの基地外君はさっさと潰しとかんと迷惑だからなぁ
0356nobodyさん2009/02/06(金) 23:19:16ID:???
>>354
きめぇw
0357nobodyさん2009/02/06(金) 23:19:16ID:???
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
0358nobodyさん2009/02/06(金) 23:20:43ID:???
>>358
キモイ
0359nobodyさん2009/02/06(金) 23:21:43ID:???
お前が一番そうだから心配すんな
0360nobodyさん2009/02/07(土) 01:04:26ID:???
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
03612662009/02/07(土) 01:21:58ID: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 です";
?>
03622662009/02/07(土) 01:22:41ID: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のくだ質スレが見つからなかったのでこちらに書かせて頂きました。
0363nobodyさん2009/02/07(土) 01:35:26ID:???
window.open(url, "yyy");

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

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

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

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

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

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

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

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

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

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

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


$test = hello();

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

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

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

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

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

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

phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
0404nobodyさん2009/02/08(日) 17:05:45ID:???
[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)。
0405nobodyさん2009/02/08(日) 17:08:43ID:???
>>396
end
array_pop
0406nobodyさん2009/02/08(日) 17:17:02ID:???
>>400
$a = $b = $c = $d = $e = $f = 0;
0407nobodyさん2009/02/08(日) 17:41:19ID:???
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}

というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
0408nobodyさん2009/02/08(日) 18:37:59ID:???
>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の登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
04094082009/02/08(日) 18:45:37ID:???
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
0410nobodyさん2009/02/08(日) 19:01:39ID:???
$$loopの$が2つつくのってどういう意味ですか?
0411nobodyさん2009/02/08(日) 19:43:49ID:???
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
ttp://jp2.php.net/manual/ja/language.variables.variable.php
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。

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

たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
0414nobodyさん2009/02/08(日) 20:47:00ID:???
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
0415nobodyさん2009/02/08(日) 20:47:53ID:???
わからないから使ったことない俺の立場も考えて教えてくれよ!
0416nobodyさん2009/02/08(日) 21:15:49ID:???
いらっしゃいませ
いっぱい echoしていってね!
0417nobodyさん2009/02/08(日) 21:24:27ID:???
初心者だからってバカにするなよ!!!!!
04183962009/02/08(日) 23:48:11ID:lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
0419nobodyさん2009/02/08(日) 23:51:15ID:???
array_keysかければいいじゃん
0420nobodyさん2009/02/08(日) 23:51:19ID:???
count
0421nobodyさん2009/02/08(日) 23:59:29ID:???
$array = array('yahoo' => 'www.yahoo.com', '2ch' => 'www.2ch.net', 'google' => 'www.google.com');
$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
0422nobodyさん2009/02/09(月) 01:00:26ID: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;
0423nobodyさん2009/02/09(月) 01:06:58ID:FohDFk4k
【OS名】Windows XP Pro x64
【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
0424nobodyさん2009/02/09(月) 02:35:15ID:???
>>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 {
}

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

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

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

○○は整数なので、is_numericを使えば完璧ですか?
0427nobodyさん2009/02/09(月) 03:12:12ID:???
ctype_digit()のがベター
0428nobodyさん2009/02/09(月) 03:18:07ID:???
いや適切にエスケープすりゃ整数だの数値だのどうのと考える必要ないだろ
0429nobodyさん2009/02/09(月) 11:06:59ID:???
>>424
なんかスマートじゃないなあ
0430nobodyさん2009/02/09(月) 11:14:24ID:???
じゃどんなのがスマートなんだ
0431nobodyさん2009/02/09(月) 11:21:54ID:???
php5ならarray_intersect_ukey使えばおk
0432nobodyさん2009/02/09(月) 11:27:14ID:???
>>424
新しいバージョンとか明示しといて新しい技術が使われてない件
0433nobodyさん2009/02/09(月) 11:53:59ID: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;
0434nobodyさん2009/02/09(月) 12:05:26ID:zB3vQynG
phpで簡単に日付計算してくれる関数ないの?
mysqlみたいにintervalみたいなやつあったら便利なのに
0435nobodyさん2009/02/09(月) 12:12:51ID:???
shitsumonnha gutaitekini
0436nobodyさん2009/02/09(月) 12:13:53ID:???
>>433
return
>>434
あるじゃん
0437nobodyさん2009/02/09(月) 12:17:00ID:???
>>433
すまんreturnはarray_mapだった
array_walkは第一引数を参照で指定みたいね
0438nobodyさん2009/02/09(月) 12:36:49ID:zB3vQynG
>>436
strtotimeでできたわ
dクス
0439nobodyさん2009/02/09(月) 12:55:30ID:3Lbj9zQQ
ありがとうございます
値を引き継げないのでarray_walkは諦めます
0440nobodyさん2009/02/09(月) 13:05:40ID:???
>>439
ヒント:要素に要素とキーをくっ付けて入れて戻して連結
0441nobodyさん2009/02/09(月) 13:09:54ID:???
>>440
久々に、本物のヒントを見た。
0442nobodyさん2009/02/09(月) 13:16:13ID:???
>>440-441
同一人物乙
0443nobodyさん2009/02/09(月) 16:48:36ID:7eq/MQEm
mb_substitute_character()で何も指定しない状態で
echoすると設定されているものが表示されるとマニュアルに
あるのですが、実際にechoすると63という数字が
表示され、これがいったい何を意味してるのか分りません
63の意味と他にはどんなものが用意されているのか
知りたいので関連したページでも結構です教えてください
0444nobodyさん2009/02/09(月) 16:51:17ID:9eTCLU3p
分からんから教えて

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

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

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


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

0450nobodyさん2009/02/09(月) 17:32:15ID:???
>>444
evalなんて使うな!シネカス
0451nobodyさん2009/02/09(月) 17:38:31ID:???
>>450
damare kono chimpo yarou
0452nobodyさん2009/02/09(月) 18:47:03ID:???
>>449
具体的なURL貼ってくれ
試してみるから
0453nobodyさん2009/02/09(月) 18:56:59ID:???
>>451
kutabare kusare manko babaa
0454nobodyさん2009/02/09(月) 18:58:53ID: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;
0455nobodyさん2009/02/09(月) 19:06:59ID:???
おれがやってみたらあれだその・・
Hostヘッダ出さないとアクセス拒否る方式だったよ。。2chも同じ感じ
0456nobodyさん2009/02/09(月) 19:15:51ID: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
0457nobodyさん2009/02/09(月) 19:24:47ID:???
あれれ
こっちではそれで取って来れるな
0458nobodyさん2009/02/09(月) 19:25:26ID:9eTCLU3p
>>455
発見した!!

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

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

0460nobodyさん2009/02/09(月) 19:33:49ID:???
症状の出るソースをわざわざ改変しないでそのまま出せって
どうせ、アルファベットといってもスペースとかが入ってたんだろ?
0461nobodyさん2009/02/09(月) 19:34:54ID:???
>>460>>458あてな
0462nobodyさん2009/02/09(月) 19:37:48ID:???
>>458
URIの仕様書をよめ
0463nobodyさん2009/02/09(月) 20:49:31ID: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で書いているぞ。
0464nobodyさん2009/02/09(月) 20:51:14ID:9eTCLU3p
mb_convert_encodingもやってみたけど無理だった。
だれか〜、知ってる人教えて。
0465nobodyさん2009/02/09(月) 20:59:10ID:???
if($_POST["post"]){


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

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

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

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

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

でecho TEST();が実行されるようなイメージなのですが無理です。
$funcの値を指定せずに、存在する関数を実行したいのですが
どのような書き方をすればいいのでしょうか?
0477nobodyさん2009/02/10(火) 01:44:54ID:???
$func = "TEST";
echo $func();
0478nobodyさん2009/02/10(火) 05:23:25ID:???
__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(){
 }
}
0479nobodyさん2009/02/10(火) 05:24:11ID:Y5D0wRGj
478です
すいません、ID出すの忘れてました。
0480nobodyさん2009/02/10(火) 05:43:43ID:???
include_once "dirname/" . $className . ".php";
0481nobodyさん2009/02/10(火) 12:30:18ID:Y5D0wRGj
>>480
ありがとうございます。
確かにその方法なら深い階層も対応できますね。

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

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

__autoload()を使わず素直に include_once したほうが良いでしょうか。
0482nobodyさん2009/02/10(火) 12:33:37ID:???
ZendFrameworkみたいな感じにしたら?
0483nobodyさん2009/02/10(火) 13:05:28ID:???
>>481
複数のディレクトリから探すよう自分で実装するなり
好きな動きをするオートローダを複数登録する
http://www.php.net/manual/ja/function.spl-autoload-register.php
function __autoload() {} を定義する方法は PHP 5.0 時代のもの
0484nobodyさん2009/02/10(火) 16:01:26ID:SQlQ1ExK
表示に0.001秒ぐらいかかるけど、速いほうかな?
0485nobodyさん2009/02/10(火) 16:06:01ID:???
処理内容による
0486nobodyさん2009/02/10(火) 22:09:13ID:/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)の意味だろうと思ってるのですが、いまいち確信もてないというか、情報も見つけられませんでした。
回避策などありましたらお願いします。
0487nobodyさん2009/02/10(火) 22:41:41ID:???
最新版でそのバグが直っている可能性が高いわけで、とりあえず、バージョンをあげるってのが解ではないかな。

エラーメッセージの意味は、
永続的接続を使う時、後からfetchModeを変えるなよ。さもなければPHPはクラッシュするよ。(現バージョンでは)
っていう意味だと思うので、
永続的接続を使うなら、最初っからfetchMode込みでPDOを有効にするとかで回避できないかな。(想像だけど)
04884862009/02/10(火) 23:12:03ID:???
>>487
ありがとうございます。
確かに"後から変えるな"でしたらツジツマがあいます。
レン鯖環境なのでPHPのバージョンアップは無理でして、
先に複数のスクリプトが動作している都合もあるため、
今回はPDO::FETCH_CLASSの使用を断念する方向で考えたいと思います。
尚、確認できた範囲では、この現象はPHP5.2.6では修正されていました。
0489nobodyさん2009/02/10(火) 23:43:38ID:???
<?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行ずつ読み込んでるの?
0490nobodyさん2009/02/10(火) 23:44:19ID:zLX+VTwA
上げ忘れ
0491nobodyさん2009/02/10(火) 23:47:30ID:???
>>489
後者は技術的に無理
0492nobodyさん2009/02/10(火) 23:49:49ID:???
いや後者だろ
0493nobodyさん2009/02/11(水) 00:09:02ID:???
fopenで開いてるんだから一度全部ファイルを読み込んでますよね
0494nobodyさん2009/02/11(水) 00:11:52ID:ZREnIZbz
え?
04954892009/02/11(水) 00:25:22ID:ad9tMb4N
全部読みこんでるんすね
0496nobodyさん2009/02/11(水) 00:27:36ID:???
fopenってのは、ファイルハンドルを取得するだけ。
開いたり読んだりはしません。名前に騙されないように。
0497nobodyさん2009/02/11(水) 00:34:44ID:???
膨大な行数のテキストファイルを作って、
変数に追記しながら、memory_get_usageを出力したらわかるよ。
0498nobodyさん2009/02/11(水) 01:07:44ID:???
fopenって詐欺だよね。
なんもオープンしてないやん、っていう。
0499nobodyさん2009/02/11(水) 01:20:02ID:???
開いてるだろ。読んでないだけで。
0500nobodyさん2009/02/11(水) 01:29:39ID:???
>>498
おまえはサンプル動画ファイル開いた瞬間に全部把握できるんか?
0501nobodyさん2009/02/11(水) 01:48:16ID:???
>>498
readとopenの区別もつかんのか
0502nobodyさん2009/02/11(水) 02:09:56ID:???
>fopenで開いてるんだから一度全部ファイルを読み込んでますよね
これはひどい
0503nobodyさん2009/02/11(水) 02:56:55ID:???
もしかしたらphpのfopenの実装は全部ファイルを読み込む実装になってるんじゃないか?
0504nobodyさん2009/02/11(水) 03:06:44ID:???
なんで?
0505nobodyさん2009/02/11(水) 06:16:18ID:fA4Wiagl
SJISで作ってるサイトで、mb_send_mailを使ってメール送信してるんですが
メールタイトルだけが化けてしまいます。
化けるときと化けないときがあって、

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

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

あとは、化ける場合と、化けない場合で、
mb_encode_mimeheader
した結果がどうなるか試してみるとか。
0507nobodyさん2009/02/11(水) 06:56:22ID: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();">");
なんて書くとエラーになって書き出してくれません。
微妙に"の位置を色々変えたりしたけどだめでした。
0508nobodyさん2009/02/11(水) 06:58:10ID:???
そりゃそんなダブルクオーテーションの使い方したらおかしい
0509nobodyさん2009/02/11(水) 07:11:54ID:???
""の中の"は\"にする
0510nobodyさん2009/02/11(水) 07:13:20ID:2yeXD9TR
>>508 >>509
ありがとうございます。
やっぱそうでしたか、、""が不適切なのは解りました。
仕様的にはhtmlタグも使えるって認識でいいんですよね?
\ は別の部分(カラータグ)で使ったのを思い出しました、エスケープ文字って言うんでしたっけ。
早速再挑戦してきます。
0511nobodyさん2009/02/11(水) 07:16:06ID:???
あとエラー出るならそれをちゃんと読まなきゃだめだよ
0512nobodyさん2009/02/11(水) 10:25:50ID: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

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

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

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

結果:
resource(2) of type (stream)
0518nobodyさん2009/02/11(水) 18:28:21ID:???
てs
0519nobodyさん2009/02/11(水) 21:31:55ID:lrcGAYKJ
PHP_EOLで改行されない
PHP Version 5.2.8
0520nobodyさん2009/02/11(水) 21:44:11ID: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;
0521nobodyさん2009/02/11(水) 21:52:03ID:???
>>519
echo ord(PHP_EOL);
で何がでるかチェック。
0522nobodyさん2009/02/11(水) 21:52:17ID:???
文字化け?
0523nobodyさん2009/02/11(水) 21:52:45ID:???
>>520
headerを正しく使う
0524nobodyさん2009/02/11(水) 22:02:26ID:???
よくDL制限付きのアップローダーを見るけど、
あれって、一度のダウンロードで、ファイルのフルパス取得してから
次からはそのフルパスでアクセスすれば、DL回数に反映されないんじゃない、
と思ってやってみたら、今のところ有名なアップローダーで全部成功した。
0525nobodyさん2009/02/11(水) 22:12:04ID:???
DL回数が反映されなくて何が嬉しいんだ
0526nobodyさん2009/02/11(水) 22:14:48ID:???
まぁそれはそうなんだけど、DL回数なのに?的な意味で。
でもDL回数に反映されなきゃ、そのフルパスからダウンロードすれば
ファイル削除されることなくみんなダウンロードできちゃうけど、
でも、そうなったらアップロード主が消すと思うけど。
0527nobodyさん2009/02/11(水) 22:20:50ID:???
ttp://www.excite.co.jp/News/odd/E1234248717951.html
0528nobodyさん2009/02/11(水) 22:21:09ID:???
はい?DL回数に応じて削除されるもんなの?
0529nobodyさん2009/02/11(水) 22:24:54ID:???
>519
HTML中で改行してもブラウザ上の表示は改行されない。
header('Content-Type: text/plain');
としておくか、<br>を出力しろ。
0530nobodyさん2009/02/11(水) 22:28:42ID:???
>>528
DL制限を例えば10回な感じで設定して、アップロード。

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

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

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

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

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

>>529で納得
0535nobodyさん2009/02/11(水) 23:42:50ID:???
>>534
ん、Macか?、まぁ、いいや納得したんなら
0536nobodyさん2009/02/12(木) 00:15:58ID:???
falseのときも0返してくるのがイライラする
0をpostしたときと区別つかん
0537nobodyさん2009/02/12(木) 00:16:45ID:???
>>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
===
0538nobodyさん2009/02/12(木) 00:17:40ID:???
>>537
===か!!!
とんくス!!!!!
0539nobodyさん2009/02/12(木) 00:19:33ID:???
知らんでPHPやってたんかw
0540nobodyさん2009/02/12(木) 00:31:43ID:???
>>535
確かにCRを返すところは納得してない@win
0541nobodyさん2009/02/12(木) 00:31:48ID:uAz9Jv0X
eclipseの環境の作り方を教えてくれたまえ
0542nobodyさん2009/02/12(木) 00:36:02ID:???
スレ違いだ
0543nobodyさん2009/02/12(木) 00:49:20ID:???
作り方も糞も、PleiadesあたりからAll-in-oneパッケージのPHPの奴落とせば一発だろ。
0544nobodyさん2009/02/12(木) 03:30:09ID:???
なんて素敵な言語なんだろう。
感動した。
0545nobodyさん2009/02/12(木) 05:27:34ID:???
>>540
すまん、ord出した人だけど、ordは最初の1文字だけだって後から気付いた
13 10 なら13が返るので正解っぽい。
0546nobodyさん2009/02/12(木) 09:44:20ID:YRRhxMXp
クッキーが消えません。PHP5です。

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

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

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


setcookie ("TestCookie");

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

テスト

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

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

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

}

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

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

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

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


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

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

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


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

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

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

結果:test
0595nobodyさん2009/02/12(木) 13:09:20ID:???
>>591
なにが?
0596nobodyさん2009/02/12(木) 13:10:11ID:???
>>590
処理をする所が違うだろアホだろおまえ
0597nobodyさん2009/02/12(木) 13:11:19ID:???
>>593
ttp://www.uja.jp/modules/weblog/details.php?blog_id=1427
0598nobodyさん2009/02/12(木) 13:11:56ID:???
16進数も数字であることには違いない
0599nobodyさん2009/02/12(木) 13:15:47ID:???
16進数の話がどこででてきたの?
0600nobodyさん2009/02/12(木) 13:16:41ID:???
preg_match("/^[1-9]\d*$/D", $i);
Dなんてあったんだね
0601nobodyさん2009/02/12(木) 13:19:20ID:???
>>599
16進数はダメだとも言っていない
整数であればいいんだろ?
0602nobodyさん2009/02/12(木) 13:21:18ID:???
>>601
もしかして、>>594のこと?
>>594は16進数じゃないよ。
06035692009/02/12(木) 13:29:32ID:???
じゃあそろそろ正解だしちゃうぞ

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


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

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

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

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

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

www.nobody.jp/?id=20090212


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

www.nobody.jp/20090212/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

magic quotes についてはデフォルトがOFFと考えるのが普通
0691nobodyさん2009/02/12(木) 23:07:31ID:???
magic_quotes_gpc
ttp://jp2.php.net/manual/ja/info.configuration.php
デフォルトはON
PHP5.3で非推奨
PHP6で削除
らしい。
0692nobodyさん2009/02/12(木) 23:08:23ID:???
今のところデフォルトはONだが、まともなやつはOFFで設計するっつうことだ。
06936802009/02/12(木) 23:17:16ID:???
マジッククォートの件は俺が間違っていたな、悪かった
0694nobodyさん2009/02/12(木) 23:53:45ID:???
>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
)
マニュアルが無いのは、かなり新しい関数だから。
0695nobodyさん2009/02/13(金) 00:29:51ID:D5WxhWPp
while($row = mysql_fetch_array($result)){
・・・
}

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


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

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

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

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

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

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

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

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

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

逆に質問するがそんなにアクセスがあるサイトなのか?
一日の総アクセス数は?
同時アクセスは最大いつなんだ?
そもそもサイトは秒単位で更新しなきゃならないサイトなのか?
0712nobodyさん2009/02/13(金) 09:21:01ID:???
> phpとmysqlが動くレンタルサーバーを探すのが大変なので、
めっちゃありふれてるのでは?
0713nobodyさん2009/02/13(金) 10:11:28ID:???
★★ 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の宿題スレはないの?
0714nobodyさん2009/02/13(金) 10:23:44ID:???
>>704
dが重複のデータを持ってたらダメっぽくない?
0715nobodyさん2009/02/13(金) 10:24:50ID:???
元質問者の意図が曖昧すぎるから答えようが無い
0716nobodyさん2009/02/13(金) 10:34:56ID: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を利用してメールを送信している状況です。
ウェブサーバからメールを送信したいのですが、どのようにすればよいのでしょうか?
0717nobodyさん2009/02/13(金) 10:50:04ID:???
hotmailや特定の企業に届かないとして、
gmailやyahooメールには届くんでしょうか?
自鯖だけに届くとかいう落ちではないですよね。
届かないというとき、バウンスメールは返っているのでしょうか。

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

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

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

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

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

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

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

Can Your Programming Language Do This?
http://www.joelonsoftware.com/items/2006/08/01.html
0741nobodyさん2009/02/14(土) 08:19:15ID:???
>>738
有賀と
0742nobodyさん2009/02/14(土) 11:12:36ID:???
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なんだよ、と。
まあそれでも、無いよりはマシだけどな。
0743nobodyさん2009/02/14(土) 11:22:10ID:???
下質スレで語る人って(ry
0744nobodyさん2009/02/14(土) 11:28:29ID:???
>>742
はいはい、どっかいけカス
スレ違い
0745nobodyさん2009/02/14(土) 11:52:36ID:???
>>738
たかが空行削除するだけで、
こんなにたくさん書かないといけないんだ?
0746nobodyさん2009/02/14(土) 12:09:55ID:???
確かに誰でも一度は
$data = sort($list);
なんてのをやったはず
0747nobodyさん2009/02/14(土) 12:17:46ID:???
>>745
おまえだれ
0748nobodyさん2009/02/14(土) 12:26:19ID:???
>>746
やったやったw
0749nobodyさん2009/02/14(土) 12:35:32ID:???
変数の頭に$付けるのウザ杉。
何の意味があるのかさっぱり分かんねえ。
誰だよこんな糞言語作ったの。
0750nobodyさん2009/02/14(土) 12:40:51ID:???
$じゃなくて、£ならよかったのか?
0751nobodyさん2009/02/14(土) 12:45:10ID:???
>>749
そうか?
見やすくていいと思うけど

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

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

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

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

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

これが基本
0784nobodyさん2009/02/14(土) 21:00:42ID:???
画面(笑)
07857062009/02/14(土) 21:34:45ID: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

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

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

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

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

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

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

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

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

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

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

作るための指標やら知識へのポインタをいただければと存じます.
0821nobodyさん2009/02/15(日) 08:49:14ID:???
以下のコード、セキュリティ対策?で、
$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 ;
}
0822nobodyさん2009/02/15(日) 10:04:31ID:???
$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;

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

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

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

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

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

PHPでuuidを生成したいのですが、
どうすればよいのでしょうか?
0830nobodyさん2009/02/15(日) 15:30:35ID:???
>>829
初期値を入れてインクリメントしていけばいい
08318292009/02/15(日) 15:32:54ID: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のことなのですが・・・
なにかライブラリなどあるのでしょうか?
0832nobodyさん2009/02/15(日) 15:35:44ID:???
>>831
マニュアルのuniqidを見て。
その中のコメント欄に書いてあるから
08338292009/02/15(日) 16:14:44ID:U3AeQpvt
>>832
エクステンションがあったんですね!
知りませんでした。

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

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

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

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

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

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

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

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

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

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

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

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

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


【続きへ】
0859やまは2009/02/16(月) 17:01:03ID: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 "★";
}
?>
これではなぜダメなのでしょうか?
0860nobodyさん2009/02/16(月) 17:11:10ID:???
if($name == $name2){
  $memberflag = 1;
  break;
}else{
  $memberflag = 0;
}

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

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

そしてuser項目の1と0だけ判別して会員かどうか判別すればおk
0863nobodyさん2009/02/16(月) 19:07:34ID: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が文字型であった場合は、任意の数字型の数字で返すようにしてみたいです。
よろしくおねがいします。
0864nobodyさん2009/02/16(月) 19:15:11ID:???
数字型・・・

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

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

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

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

おめでとう自分 ありがとう自分^^v
0873nobodyさん2009/02/16(月) 21:19:35ID:???
>>872
PHPのネイティブ関数?
0874nobodyさん2009/02/16(月) 21:30:14ID: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
0875nobodyさん2009/02/16(月) 21:31:46ID:???
>>873
もち^^v
0876nobodyさん2009/02/16(月) 21:36:30ID:???
http://tsushima.2ch.net/test/read.cgi/news/1234784494/
ここで祭りやってるサイトってphpで作ってるのか?
数字だけじゃなく、計算式も受け付ける
0877nobodyさん2009/02/16(月) 21:37:51ID:???
意味がわからない
0878nobodyさん2009/02/16(月) 21:44:38ID: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 = *

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

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

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

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

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

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

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

ttp://p-ho.net/index.php?page=8
0901nobodyさん2009/02/17(火) 05:55:49ID:???
>>900
ほい
ttp://www.dotup.org/uploda/www.dotup.org14851.zip.html
0902nobodyさん2009/02/17(火) 06:12:54ID:fqQje7br
>>901
お手数おかけして申し訳なかったです
無事動きました!
本当にありがとうございました。
0903nobodyさん2009/02/17(火) 10:35:37ID:FQkcexzn
     / ー  -\
 .  /  ( ●) (●)  申し訳ありません。
   |     (__人__) i
  . \__ _ `⌒´_/
   ,r´:::::::::\ゝ▼ノノ::ヽ、
   i:::::::::,::::::::ヽ¶|/::::,,:::|
   |::::::::|::::::::::::::::I:::::::i:::::|
   |::::::::|::::::::::::::::I:::::::|::::|
   |::::::::|;;;;;;;;;;;;;;人;;;;;|;;ノ
   (_)    つ /ノ
     |   . ω /
     |    / /
     |   / /
     |  / /
     | / /
     L”つ、つ
0904nobodyさん2009/02/17(火) 11:43:13ID:eYIUjnMG
phpのエクステンションについて説明が書かれたサイトってございませんか?
0905nobodyさん2009/02/17(火) 12:51:39ID:???
エクステンションのどんな説明ですか?
0906nobodyさん2009/02/17(火) 12:54:15ID:???
簡単な一行書き程度の説明程度で構いません
0907nobodyさん2009/02/17(火) 13:34:04ID:???
ん、これとか?
ttp://jp.php.net/manual/ja/internals2.structure.php
0908nobodyさん2009/02/17(火) 17:36:52ID:???
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にあるテストプログラムでは問題ありません
解決方法がありましたらご指南願います
09099082009/02/17(火) 17:46:41ID:???
すいません、自己解決しました
超単純なミスでした
0910nobodyさん2009/02/17(火) 18:37:31ID:KMCXszmR
http://takeshima.2ch.net/test/read.cgi/news4vip/1234853925/
0911nobodyさん2009/02/17(火) 19:45:43ID:???
>>868
vista 64bit ultima
Apache 2.2.9
PHP Version 5.2.8
MySQL version5.1.3

問題なく動作してる
0912nobodyさん2009/02/17(火) 19:50:24ID:???
>>911
すいません、書き忘れたのですがphp.iniでextへのパスを設定とOSのほうでphpディレクトリへのpathを指定したら治りました
0913emi2009/02/18(水) 03:21:35ID: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

すみません。どうかよろしくお願いします。
09149132009/02/18(水) 03:26:27ID: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に組み込むことは可能なのでしょうか。
0915nobodyさん2009/02/18(水) 03:32:41ID:???
自分で勉強して実現することを今週までと言われたのでは?
0916nobodyさん2009/02/18(水) 03:34:40ID:???
しかもマルチですか。ありえんわ。
0917nobodyさん2009/02/18(水) 08:57:09ID:???
素人でも昼寝しながら3〜4日あれば出来るだろ!?
本なんて購入せんで良いから駄目と思う前に勉強しろ
0918nobodyさん2009/02/18(水) 09:59:30ID:???
富山商船高等専門学校
0919nobodyさん2009/02/18(水) 11:59:37ID:HJmSPuYo
初歩的な質問で恐縮です。
変数名の前に、(integer)のように記すのは、
どういう意味ですか。

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

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

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

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

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

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

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

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

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

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

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

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

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

エンコードするコストというのは、base64エンコードによるデータの肥大化のことでしょうか?
0968nobodyさん2009/02/18(水) 19:10:32ID:???
>>954
バイナリのヘッダなどにスクリプトを仕込まれるケース
0969nobodyさん2009/02/18(水) 19:11:49ID:???
DBにバイナリを保存する意味がわからない
プライベートディレクトリに入れればいいじゃん
バイナリなんてDBの得意分野じゃないんだから無理してやるのはただのカッコツケマン
0970nobodyさん2009/02/18(水) 19:17:48ID:???
>>967
あなたはエスケープの意味が分かっていない。
即ち、SQLインジェクションがなぜ起きるのかも分かっていないと思う。
エスケープの意味を調べなおした方が良いのでは。
0971nobodyさん2009/02/18(水) 19:17:48ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
0972nobodyさん2009/02/18(水) 19:26:24ID:???
971 名前: nobodyさん [sage] 投稿日: 2009/02/18(水) 19:17:48 ID:???
>>967
バイナリたって、所詮はテキストだからな。
0973nobodyさん2009/02/18(水) 19:30:29ID:???
>>971
テキストはないわ
0974nobodyさん2009/02/18(水) 19:40:37ID:???
>>973
それはありえないよな。
0975nobodyさん2009/02/18(水) 20:02:00ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
0976nobodyさん2009/02/18(水) 20:03:59ID:???
いや、似たようなもんだよ。バイナリにもテキストを含められるし
0977nobodyさん2009/02/18(水) 20:05:14ID:???
ない
0978nobodyさん2009/02/18(水) 20:07:54ID:???
>>977
似てはいないよな。
0979nobodyさん2009/02/18(水) 20:09:31ID:???
>>967
バイナリたって、所詮はテキストだからな。
データの肥大化もあるけど、エンコードとデコードにかかるCPU負荷ってのもある。
0980nobodyさん2009/02/18(水) 20:56:15ID:xNLzAD7T
レンタルサーバ(レンタルスペース?)を探してます
PHP5ならPDO_SQLite(SQLite3)は確実に使えるんでしょうか
0981nobodyさん2009/02/18(水) 20:56:38ID: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に参照させたいんですけど
何か良い方法はありますでしょうか?
09829802009/02/18(水) 21:06:49ID:xNLzAD7T
ああ踏んでいたようで
試してみますが上の方まるまるコピペでいいんでしょうか
0983nobodyさん2009/02/18(水) 21:06:49ID:???
xmlにでもすれば?
0984nobodyさん2009/02/18(水) 21:08:25ID:???
>>982
前スレのとことスレタイの番号だけ変更してください
09859812009/02/18(水) 21:21:09ID:wTQrBPsG
>>983
XMLですか・・・Ajaxをやる上では避けられないとは思ってましたけども・・・。
ありがとうございます。これから勉強してみます。
0986nobodyさん2009/02/18(水) 21:25:14ID:???
連続規制で書き込めん…
次スレです。不足があれば追記よろしくです。
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
0987nobodyさん2009/02/18(水) 21:33:12ID:???
>>985
形式はjsonとかjsonpとかxmlとかtextとか好きなのでやればいいじゃない
0988nobodyさん2009/02/18(水) 21:35:49ID:???
>>985 への返信
XML難しくねって。
prototype.jsのxmlパーサだったかな?あれ使えばめちゃちょりーよ。
0989nobodyさん2009/02/18(水) 22:04:03ID:???
おいおい、せっかく981が勉強する気になったんだから水を差すなよ
0990nobodyさん2009/02/18(水) 22:07:27ID:???
>>989
ウゼ
09919872009/02/18(水) 22:24:06ID:wTQrBPsG
>>987,988,989

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