09/02/01 18:10:57 PdwQzQch
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
スレリンク(php板)
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
2:nobodyさん
09/02/01 18:40:22
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
3:nobodyさん
09/02/01 18:41:34
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 79
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 78
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 77
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 76
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 75
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 74
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 73
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 72
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 71
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 70
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 69
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 68
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 67
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 66
スレリンク(php板)
4:nobodyさん
09/02/01 18:42:35
関連リンク
■本家マニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル URLリンク(pear.php.net)
■メーリングリスト URLリンク(ns1.php.gr.jp)
■ZFマニュアル URLリンク(framework.zend.com)
■Smartyマニュアル URLリンク(www.smarty.net)
(以下英語)
■Zend本家 URLリンク(www.zend.com)
■Zend Framework URLリンク(framework.zend.com)
■php | architect URLリンク(www.phparch.com)
■Smarty URLリンク(www.smarty.net)<)
■PECL本家(英語) URLリンク(pecl.php.net)
5:nobodyさん
09/02/01 18:43:40
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ URLリンク(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プログラムとして実行された結果になる。
6:nobodyさん
09/02/01 18:44:54
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ってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
URLリンク(www.faqts.com)
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
7:nobodyさん
09/02/01 18:47:56
テンプレがなかったのでコピペした
>>4は前スレ>>7を使用
8:nobodyさん
09/02/01 19:03:59 b90OQfT9
では、さっそく。
loggixインスコしたが、システム環境設定を変更して「設定を保存」しても反映しない。
新規ログや新規ダウンロードの投稿は正常にできるのに。。。
9:nobodyさん
09/02/01 19:05:48
>>8
ど偉そうスレへ
10:nobodyさん
09/02/01 19:19:37 b90OQfT9
>>9
分かりました。そちらに聞いてきます。
また、質問後に無線マウスを落っことし破損してしまい
ショックで返信遅れました。すいません。
11:nobodyさん
09/02/01 19:55:26
w
12:nobodyさん
09/02/01 21:50:20 /O5+s7Bi
URLリンク(www11.uploader.jp)
を実行して、./aha.xmlをブラウザでみると、
<?xml version=\"1.0\" encoding=\"UTF-8\"?>…(1)
<rss version=\"2.0\">
<channel>
<title>2chtv</title>
<link>URLリンク(speedo.ula.cc)
<description>2ちゃんねるTV番組欄</description>…(2)
<language>ja</language>
(2)の部分が文字化けしてしまいます。
(1)をshit-jisにすると、(2)以外の<descruption>は正常に表示されるのですが、
(2)だけ文字化けしたままです。
どうすれば文字化けしないようになるのでしょうか?
13:nobodyさん
09/02/01 22:17:27
ループを使えば$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のまま。
14:nobodyさん
09/02/01 22:27:43 rPQwGHoV
win環境です
apacheのhttpd.confのconfigチェックがDOSからできるように
php.iniのconfigチェックってできますか?
15:nobodyさん
09/02/01 23:01:00
できます。
16:nobodyさん
09/02/01 23:13:39 rPQwGHoV
すいませんやり方をおしえてください
17:12
09/02/01 23:23:31 /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>";
}
にしました。
18:nobodyさん
09/02/02 03:30:39
>17
PHPコードはちゃんとUTF-8か?
現象だけ見るとPHPコードがSJISになってるっぽい。
晒されてたコードがUTF-8だったんで大丈夫だと思ったんだが…
URLリンク(gist.github.com)
「このコードなら動くはず」ってうpろうとしたが、暇だったんで書き直した。
ギリギリで入門レベルまでに抑えたつもり。やってる事はほぼ同じ。
titleとdescriptionを入れ替えたのと、file_get_contentsの代わりにfile、fwriteの代わりにfile_put_contentsを使ってるのが大きめの違い。
・(存在期間の長い)変数名や関数名は人間が読んで理解できる名前にする。
・複数同じものがあったら配列に入れる。配列の中には同じものしか入れない。
(本文に混じってヘッダーとかフッターとか入れない)
(タイトルとURLとをごっちゃにして入れない)
・何行かまとまってひとつの意味を持つコードは、ちゃんと関数として束ねる。
辺りに気をつけて頑張れ。
19:nobodyさん
09/02/02 06:27:09
改行がない数MBの英数半角のみのテキストファイルがあります。
0001 APPLE0001000002 CHERRY0003000003 BANANA000150
これを適切な場所で改行を入れると
0001 APPLE000100
0002 CHERRY000300
0003 BANANA000150
と
3つのフィールドがきちんと揃っています。
phpでこの数MBの改行の無いテキストファイルを
上のように整形ことはできるのでしょうか?
秀丸で行うと、1行数百万文字のため、ほとんど動かない状態になります。
バッファ的な問題かと思いますが、phpはこういう作業は不得意ではないでしょうか?
20:199
09/02/02 06:28:23
上記の例は
商品コード・商品名・価格
という情報になっています。
数字はゼロフィルされて、文字情報は空白で埋められて、各フィールド位置と改行位置は揃っています。
21:nobodyさん
09/02/02 06:31:15
つスレタイ
22:199
09/02/02 06:52:51 rAwfZGrE
>>21
はう、失礼しました。
23:nobodyさん
09/02/02 07:00:51
>>22
数MB程度なら余裕で処理できるのでは?
それでも気になるようならfreadでバイト数指定するとか。
24:nobodyさん
09/02/02 09:15:46 KIIJTR4m
すいません、自分はwww鯖をdebianで運用しているものです。
Web鯖に旧0ちゃんねるをダウンロードしてpublic_html下に置きました。
で、admin.cgiとbbs.cgiを以下のとうり修正しました。
bbsroot をURLリンク(hoge.com)<)
しかしたがらホームページにいくと403が出てきます・・
perlのパスも合ってるはずなのによくわかりません。
何か改善策があればご教授くださいませ
25:nobodyさん
09/02/02 09:30:44
403ってのはスレタイが理解できないあわてんぼうさんがよく出すエラーの意味
26:nobodyさん
09/02/02 09:35:01 KIIJTR4m
>>25
スレ違いですか?
27:nobodyさん
09/02/02 09:49:03
>>26
そのperlのパスを書いたcgiはphpで出来ているの?
それとも、パーミッション設定とかCGIの設置場所とかそういうのをPHPだと思ってるとか?
28:nobodyさん
09/02/02 10:21:52
>>24
ここはPHPのスレです
というかスレ違いの連発を見ると、スレタイにも問題がありそう
2chの慣習から【PHP】が本題を修飾してるだけと読み捨てられるので
次スレから "PHPの下らない~" に変えましょうか
29:nobodyさん
09/02/02 10:24:36
PHP出版のことだと思ってるんじゃね?
30:nobodyさん
09/02/02 11:55:54 Di7qHe/A
2ちゃんねるなど、名前の欄やEmail欄に入力すると、クッキーでその欄は保存されますよね
その機能を、どのクライアントからでも同じ状態にする、ということをしたいのですが
何か方法はありませんでしょうか
つまり誰かがsageといれたら、他の人も全員sageと入力されている状態にしたいのですが
31:nobodyさん
09/02/02 12:03:09
>>30
Webサーバーとは別にキャッシュ用のサーバーを立てて、そこにmemcachedを入れる。
そのサーバーでは、リクエストを受けてmemcachedに保存するスクリプトを書いておく。
Webサーバーに投稿があったら、そのデータのうちキャッシュしたいものを、
CURLでキャッシュサーバーのphpファイルに送る
するとそのデータはmemcachedに保存される。
そのデータをwebサーバーのmemcacheクライアントを使って読み込んで利用するようにすれば、できる。
32:fusianasan
09/02/02 12:04:45
ふしあなさんテスト
33:nobodyさん
09/02/02 12:05:16
あれ、ふしあなさんってもう使えないのか?
34:marunouchi333-shibuya.uso.ocn.ne.jp
09/02/02 12:08:40 2iNQZ6gz
ほれ
35:nobodyさん
09/02/02 12:10:18 Di7qHe/A
>>31
ありがとうございます。試してみます。
36:nobodyさん
09/02/02 12:56:43 nxLE/4BM
>>18
ありがとうございます!
>PHPコードはちゃんとUTF-8か?
テキストエディタはTerapadで、
文字コードして保存→UTF-8で保存
しています。
>>18のコードを同様に保存しても、文字化け。
使っているレンタルサーバー(URLリンク(atpages.jp))の設定が関係しているんでしょうか?
37:12
09/02/02 12:57:27 nxLE/4BM
↑名前入れ忘れました
38:fusianasan
09/02/02 13:07:08
>>34
なんでだ?おれは使えないよ?自分でIP入力したとか?
39:nobodyさん
09/02/02 13:50:03 jTY1nP2b
HTMLファイルの<body></body>の中身を取得しようと
preg_match("/<body>(.*)<\/body>/is",$html,$sorce);
としました。
これで取得できるのですが、bodyタグが
<body bgcolor="#cccccc">
などと、別のタグが追記されていると取得されません。
どのような正規表現の書き方をすれば、
このような場合にも対処できますでしょうか?
40:nobodyさん
09/02/02 13:51:29
<body.*?> or <body[^>]*>
41:nobodyさん
09/02/02 13:54:21
bodyに属性つける書き方やめろよks
cssにしろや
42:39
09/02/02 13:57:55
>>40
出来ました!ありがとうございました。
43:nobodyさん
09/02/02 17:45:33 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に無理やり関連づけてしまいましたがよろしくおねがいします。
44:nobodyさん
09/02/02 17:51:41
>>43
スタイルを調整して、それをphpから出力したらいいよ。
出力するときは、echo か printでいいんじゃない?
難しく考えすぎ
45:nobodyさん
09/02/02 17:56:33
>>43
border-collapse:collapse
46:nobodyさん
09/02/02 18:07:21 as+feHTC
>>44
>>45
おお!border-collapse:collapse;でできました!!
ありがとうございます!
47:46
09/02/02 18:09:28
べつにたいしたことじゃないから礼はいいってことよ
48:44
09/02/02 18:11:36
へぇ、そんな簡単なことだったんだ。
49:nobodyさん
09/02/02 18:14:16
うぜえ
50:nobodyさん
09/02/02 18:16:40
50
51:nobodyさん
09/02/02 18:33:56
恥ずかしがるなよ
52:52
09/02/02 18:54:25 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」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
53:nobodyさん
09/02/02 18:58:00
$object->idで取れないだろ
__get使ってんのか?
54:52
09/02/02 19:07:11 pyoydElk
>>53
すみません、Zend_Db_Table_Rowset_Abstract型のオブジェクトです。
55:nobodyさん
09/02/02 19:11:23
>>54
こっちいけ
スレリンク(php板)
56:52
09/02/02 19:14:09
>>55
了解です。ありがとうございます。
57:nobodyさん
09/02/02 19:16:02 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」を取得したいのですが、方法はありますでしょうか。
宜しくお願いします。
58:57
09/02/02 19:17:03
すみません。誤爆しました。
59:nobodyさん
09/02/02 20:12:08 enCDFoM0
PHPでhttpとhttpsの判別するにはどうしたらいいですか?
$_SERVERをvar_dumpしても、それらしい変数はありません
apacheのディレクティブで判別用の環境変数を設定すれば出来るかなーとも
思っていますが
60:nobodyさん
09/02/02 20:27:38
foreach ($_SERVER + $_ENV as $key => $value) {
echo $key . " : " . $value . "<br>\n";
}
ちょっと気になったんでhttpとhttpsの場合で見比べてみたけど
httpsのほうには
HTTP_X_FORWARDED_PROTO : https
というのが出てきたよ
61:nobodyさん
09/02/02 20:30:13
$_SERVER["SCRIPT_URI"]
62:60
09/02/02 20:34:52
他のサーバでやってみたけど必ずしもそうとは限らないみたいだな
ただhttpと比べて取得できる変数や変数の中身が変わってくるみたいだから
自分のサーバではどうなのか見比べてみて
httpsで取得できる変数が存在したらhttpsと決めるといった感じでやってみればいかがだろうか?
ブラウザや設定によって変わる変数もあるのでそこを注意しないといけないけど
63:nobodyさん
09/02/02 20:50:03
おいおい、どんなヘタレ鯖使ってんだ?
SSLでgrepしたらいくらでも$_SERVERの中にあるだろ
64:nobodyさん
09/02/02 20:56:09
正規表現での最短マッチについて質問させてください。
下記のような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>
65:nobodyさん
09/02/02 20:56:11
ヘタレ鯖が巷にはあるようだな。そんな鯖でSSL使って何を
URLリンク(oshiete1.goo.ne.jp)
66:nobodyさん
09/02/02 20:57:19
>>64
最短マッチの意味わかってる?
おれはよく知らない。
67:nobodyさん
09/02/02 20:57:57 e9JkXj9O
マッチングさせたいのは
誤 <li><a href="okachimachi">御徒町</li>
ではなく
正 <li><a href="okachimachi">御徒町</a></li>
です。失礼しました。
68:nobodyさん
09/02/02 21:05:54 25ge88B9
PHP講座ってどんくらいもうかるの?
69:nobodyさん
09/02/02 21:09:22
>>68
会社の差、個人差が多すぎる話をしてどうする?
でも、俺の場合PHP経験数年で、某会社の新人にPHPを教えてるが、出張1日あたり、20万円(税・経費込)で週3回。
いかない日は教材作ってるから、個人だとあんまり儲からんね。
70:nobodyさん
09/02/02 21:12:27 25ge88B9
1日20万円だって~~~~~~~~~~~~!!!!!!!!!!!!!!
71:nobodyさん
09/02/02 21:15:15 25ge88B9
<?php
print str_repeat("20万円だって~~!",100);
?>
72:nobodyさん
09/02/02 21:15:56
>>71
せめて改行してくれ見づらい
73:59
09/02/02 21:17:24
レスありがとうございます。標準的な方法はないみたいですね
自鯖なので、SSL用のポートだったら
SetEnvでHTTPSという環境変数を設定するようにしました
74:nobodyさん
09/02/02 21:18:08 25ge88B9
でもおかしいな、計算が合わないよ
相場だと1回5000円で、10人生徒がいたとして5万円。
20人だと10万円で、40人で20万円。
たかがPHP講座で40人も生徒が集まるか?
75:nobodyさん
09/02/02 21:23:29
>>74
どんな糞口座だ?
PHPのハンズオントレーニングなら、一人1時間1万円取られるよ。
1日で4~6万が相場
76:199
09/02/02 21:26:17
>>23
phpって1行の文字列の制限があったと思うのですが、
1行10万文字を読み込んで、改行を入れて加工することができるのでしょうか?
77:nobodyさん
09/02/02 21:31:47
>>76
どこに書いてあったの?
78:76
09/02/03 00:00:31 Zy01yD9b
>>77
URLリンク(www.e-and-a.ws)
参考書に書いてあったのですが、
ググったところ、このページの半分下のほうに「1024」で検索すれば書いていました。
これの制限にひっかかるのではないのでしょうか?
79:nobodyさん
09/02/03 00:09:36
一行の制限はありません
80:nobodyさん
09/02/03 00:16:30
ガタガタ抜かす前にやってみろよ。
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になる。
81:nobodyさん
09/02/03 00:19:49
と思って過去ログ辿ったら、オリジナルの問題は「数百万文字」なのか。
>76だけ見て10万文字で試してしまった。
82:nobodyさん
09/02/03 00:24:15
引数でバイト数が指定できる関数のことで混乱してるんじゃないの
fgetsだと第二引数を省略すれば関数的には行の最後まで読んでくれるらしいよ
83:nobodyさん
09/02/03 01:54:32
>>78
よう分からん。
↓を読んでphpに1行の文字列の制限があると判断したってこと?
「fgets()関数」
fopen()関数 で開いたファイルの、指定したファイル名の1行を取出しま
す。
取出す場合には、引数で最大バイト数を指定しますが、省略した場合には
自動的に 1024バイト(日本語で 512文字分)になります。
84:nobodyさん
09/02/03 11:09:06 LJeHoB4T
一般ユーザーがphp.iniの設定値を.htaccessファイル内の
php_flag php_valueによって上書きすることができますが、
.htaccess内のphp_flag php_valueの使用を禁止する方法は
ありますでしょうか?
85:nobodyさん
09/02/03 11:11:32
ないよ
86:nobodyさん
09/02/03 11:26:29
php_admin_valueってそのためじゃなかったっけ?
87:nobodyさん
09/02/03 12:07:21
AllowOverride none ではないのかな?
88:nobodyさん
09/02/03 12:12:28
noneは不便だろ
89:nobodyさん
09/02/03 13:43:43 dcWE6E+I
header関数で別ページに飛ばしたいのですが
この関数は他の出力よりも前に書かないといけないみたいですけど
htmlを出力した後に呼び出してもちゃんと別ページに移動できます
これはブラウザの仕様でしょうか?
90:nobodyさん
09/02/03 13:47:35
正常にheaderで飛ばしたのなら出力されたかもわからないわけだが
91:nobodyさん
09/02/03 13:52:16 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();と書いても呼び出されません。
どこかに自分のオブジェクトを生成しなければならないのでしょうか?
92:nobodyさん
09/02/03 13:53:25
>>89
やってみなよ。
そういうのは、一度やってどんなエラーが出るのか知っとけ
93:nobodyさん
09/02/03 13:55:34
>>91
がんばれ
94:nobodyさん
09/02/03 14:20:19 dcWE6E+I
>>92
ありがとうございます
すでに実行済みで疑問に思ったのでここで質問させていただきました
95:nobodyさん
09/02/03 14:22:06 dcWE6E+I
>>90
クッキーを読み込み
ファイル書き込み後文字出力
そのごheader関数を使い別ページに移動
この一連の流れの後にクッキーの値を確認、ファイルの書き込み内容も確認してます
96:nobodyさん
09/02/03 14:24:24 z3SY7sls
>91です。
すいません、なんか入力値がおかしなことになってました。
97:nobodyさん
09/02/03 14:34:10
>>91
globalなんて使わないからメンバ変数にしな
private $error_message;にして
セットは$this->error_message = "";でやる感じ
エラーチェックは1つのメソッドでやったほうがいい
>関数の中で同じクラスの関数を呼び出すにはどうすればいいですか?
staticメソッドならClass::method(自クラスならself::methodでも可)で呼び出せるけど
インスタンスメソッドなら自信をインスタンス化しないとならない
98:nobodyさん
09/02/03 14:35:30
>>89 >>94-95
素晴らしい釣りだな
> これはブラウザの仕様でしょうか?
99:nobodyさん
09/02/03 14:36:27
>>97みたいなカスの言うことは話半分で聞いとけ
中には正しいことも混じってるだろうが。
100:nobodyさん
09/02/03 14:41:07
>>97の言うことを理解できなくて発狂する>>99であった
101:nobodyさん
09/02/03 14:44:47
あぁ、確かに理解する気になれん。
用語を正しく使えてないからな。
102:nobodyさん
09/02/03 14:46:37
用語を知らないだけだろw
Javaあたりやってるやつなら普通に理解できる
103:nobodyさん
09/02/03 14:48:49
> globalなんて使わないからメンバ変数にしな
使わないんじゃねぇよ。使えないんだよ
104:nobodyさん
09/02/03 14:49:38
> エラーチェックは1つのメソッドでやったほうがいい
あほか、設計次第だろが
105:nobodyさん
09/02/03 14:50:06
どういう反論してくるかと思えばこれはひどい
106:nobodyさん
09/02/03 14:50:35
> インスタンスメソッドなら自信をインスタンス化しないとならない
はしょりすぎ、スコープが書いてなきゃ意味ないだろ
107:nobodyさん
09/02/03 14:51:36
> セットは$this->error_message = "";でやる感じ
言われんでも、質問者だってそのぐらい知ってんだろ
えらそうに、
108:nobodyさん
09/02/03 14:53:09
だいたい、質問者は
> どこかに自分のオブジェクトを生成しなければならないのでしょうか?
って聞いてるんだ。答えは YES
それ以外は蛇足以外のなにものでもない
109:nobodyさん
09/02/03 14:53:36
えらそうとかガキかお前は
110:nobodyさん
09/02/03 14:53:58
アホラシw
111:nobodyさん
09/02/03 14:54:44
ガキだけど、なに?
あんた、もしかして、中年オヤジなわけ?
112:nobodyさん
09/02/03 14:57:22
>>103-104はただの揚げ足だな
同じフィールドにセットするという質問者の書き方にあわせただけだろ
まったく関係ないフィールド値なら話も変わるが
113:nobodyさん
09/02/03 14:59:05
開き直ってるとこがまた痛いw
ム板に帰りなよ
114:nobodyさん
09/02/03 14:59:15
>>91なんて釣りに決まってんだろ。(誰のw)
115:nobodyさん
09/02/03 15:00:09
開き直って悪いかw カスドモ
116:nobodyさん
09/02/03 15:00:26
>>85-88
ありがとうございました。
レンタルサーバでhtaccessで大半の機能は使えるけど
php_value php_flgは使えないサーバがあったので、
どこで制御しているのか気になっての質問でした。
117:nobodyさん
09/02/03 15:35:21
>>91
$c = new c_check();
$c->f_int( "数字じゃないよ", 0 );
でOK
118:nobodyさん
09/02/03 16:02:57 MgNsuIVl
mysqlでtimeで時間を保存してて、
その形式が00:00:00だったとき、
phpでselectするときに、24時間で、秒で表したいんだけど
そんな関数ってありますでしょうか。
explodeで、:で配列だして、それぞれ秒変換して、足す。
ならできそうなんですけど、ぱっと一瞬で変換してくれるような方法があれば教えください。
119:nobodyさん
09/02/03 16:07:42
なんかこの前そんな質問あったな
ちょっと過去ログみてこよう
120:nobodyさん
09/02/03 16:20:25
>>118
直訳するとMysqlから引っ張ってくる
00:00:00形式を数値化(unixtime形式)して取得したいと
いっているのか?
試してないけどMysql側でUNIX_TIMESTAMP()という関数が
あるがこれ駆使したらできないか?
121:nobodyさん
09/02/03 16:22:47 MgNsuIVl
>>119
そうでしたか
>>120
ちょっとやってみます
122:nobodyさん
09/02/03 16:31:43 MgNsuIVl
やってみたところ
UNIX_TIMESTAMP()で思い通りのことができました。
ありがとうございました
123:nobodyさん
09/02/03 17:31:46 DYfqiAfI
くだらない質問ですいませんがお願いします
PHPの掲示板(展開方式)でおすすめのやつおしえてください
124:nobodyさん
09/02/03 17:33:01
やっぱ自作でしょ
125:nobodyさん
09/02/03 17:34:59
>>123
スレリンク(hp板)
126:nobodyさん
09/02/03 17:42:41
>>98
いいえ真面目に質問してますが^^;
127:nobodyさん
09/02/03 17:43:34
この時間は再帰処理も書けない厨房が降臨してるからまともな回答はでないと覚えておいたほうがいいぞ
128:nobodyさん
09/02/03 17:46:33
うんうん
この時間は、再帰の必要のないところで再帰したがる奴が(ry
129:nobodyさん
09/02/03 18:55:26
>>123
phpbbぐらい知っとけ
130:nobodyさん
09/02/03 19:23:49 ijF8lhfw
1)あるディレクトリへの直接のアクセス(ブックマークからのリンク含む)を禁止したいです
リファラとって、リファラ中にそのサイトのドメインが文字列としてあればOKという対処で
いいんでしょうか?
また、headerのロケーションでの移動は、リファラにその情報が乗らないんでしょうか?
ログイン画面からのOK処理でlocation移動させるとリファラチェックがエラー扱いになります
やり方がまずかったのかも知れないですが、、
1)の処理のためのいいやり方を教えてください、御願いします
131:nobodyさん
09/02/03 19:42:03
loadHTMLで適当なHTML読み込むと警告でるけど
DOM化はされているようだ。
で、この警告がでないようにする方法ってある?
132:nobodyさん
09/02/03 19:53:15
>>130へ
.htaccess
ではだめなん?
なんか後半の意味がわからないけど
133:nobodyさん
09/02/03 20:00:53 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
?>
を実行すると、文字化けするんだけど、なんで?
134:nobodyさん
09/02/03 20:03:16
>>130
セッションで固有ID振ってく手はあるかもね
>>133
文字コードに問題があるから
135:nobodyさん
09/02/03 20:29:15 d7p/0aUM
>>134
どういうことかな?
UTF-8のホームページから、コピーしてきて、
エディタにUTF-8で貼り付けてるから
問題ないと思うんだが。
それに文字化けするのってこのサンプルだけ
なんだよね。
136:nobodyさん
09/02/03 20:31:03 d7p/0aUM
URLリンク(cybergarden.biz)
ここ見ると、PHPのハンズオン講座、
1時間5千円で、5時間で2万5千円で、
18人集めるから、一日で売り上げが
45万円集まるんだよね。
そのうち、半分が経費だとしても、
一日の仕事で20万くらい余裕でかせげそう。
お前らなんで講師やらないの?
137:nobodyさん
09/02/03 20:35:04
>UTF-8のホームページから、コピーしてきて、
lol
138:nobodyさん
09/02/03 20:40:05 d7p/0aUM
プログラマーってバカだよね~
講師になれば1日で45万円かせげるのに、
わざわざコードを書いて、1ヶ月で40万しかもらえないなんて。
しかも書いたコードの著作権も会社に取られて
しまうんでしょう?
139:nobodyさん
09/02/03 20:45:55
じゃあお前がなればいいじゃん
140:nobodyさん
09/02/03 20:46:51 d7p/0aUM
>>139
まじでなりたいわ。
PHPのハンズオンの会社で
一番料金の高いところはどこ?
141:nobodyさん
09/02/03 20:49:56
スレ違い
142:nobodyさん
09/02/03 21:04:24
PHPの講師(笑)
143:nobodyさん
09/02/03 22:27:39 G0zcxThl
PHPファイルの拡張子をなぜphpにしたのでしょうか。
PHP関連情報をググるときに何も関係ないものがファイル名で引っかかってうざいのですが・・・
144:nobodyさん
09/02/03 22:31:57
もっとがんばって検索うまくなれ
145:nobodyさん
09/02/03 22:45:44
検索ってやっぱり絞り込むための言葉を拾い出すセンスだよなあ
146:nobodyさん
09/02/03 23:35:37
どの言語で作成したのかわかるため
別にphpじゃなくてもoresamaって拡張子だってphpは動かせるぞ
ようは好きな拡張子を設定しテロ
147:nobodyさん
09/02/04 03:01:42 aAjFpYnj
>>132
htaccessだとどういう処理になるでしょうか?
リダイレクトだけくらいならわかるんですが、組み合わせになると自信がないです
スレ違いですみませんが、良ければ簡単に教えてください
148:nobodyさん
09/02/04 03:03:45
スレ違い
149:nobodyさん
09/02/04 05:13:39
>>147
どの程度の厳密性するかによる
リファラだと偽装とか携帯でリファラを出さないのとか、
そもそもリファラを送信しないクライアントもあるかもしれない
そんなのまで目くじら立てるか否か
(例えばPCで画像を直リンクさせたくない処理とかが参考になると思う)
それが我慢できないのなら、そのディレクトリに認証をかけるしかないし、
webプログラミング的に言えばセッションでもってそのディレクトリでスクリプト的に
(スクリプト経由でファイルを出す)処理するとかだな
150:149
09/02/04 05:15:44
ぁぁ、.htaccessの話とは関係なかったな
一般論ってことで
151:nobodyさん
09/02/04 05:55:37 P19oRL/b
perlのクダスレも作れや!クズども
152:nobodyさん
09/02/04 07:34:29
>>150
.htaccessでもできるよ。実際にはmod_rewriteが使えれば、だけど。
スレチだけどね
153:nobodyさん
09/02/04 11:20:20
>>138
売上45万で受取45万だと思ってるバカ乙
154:nobodyさん
09/02/04 11:50:27
>>153
雇われだと受け取れてもせいぜい15万が良いところね…
>>138は競馬などで3万円かけて3万1千円のあたりがきたら
3万1千円儲かったと思える幸せなやつなんだろう(´ω`)
155:nobodyさん
09/02/04 12:16:17 Kwvel5vA
httpd.confでURLリンク(localhost) みたいなのをURLリンク(localhost)
で表示させました。
すると、a.phpと同じ場所にあるb.phpにリンクできるように、
a.php内でa href="b.php"としていたリンクの表示が、URLリンク(localhost)
となってしまいました。
なのでa href="../b.php"とすることで対処できたのですが、
もしも、このリンクが性的に大量にあったとすると、
全部../をつけなければいけないということでしょうか?
ほぼスレ違ですがよろしくお願いします。
156:nobodyさん
09/02/04 12:17:20 Kwvel5vA
→静的
157:nobodyさん
09/02/04 12:28:25
>>155
HTMLの勉強しろ
リンクは基本的にホームディレクトリからの絶対パスで指定すべき
相対パスなんか使うな
158:nobodyさん
09/02/04 12:31:19 Kwvel5vA
>>157
なるほど、勉強になりました。
一度最初から編集するのは面倒くさいかもしれませんが、
逆にそれの方がすっきりするような気がしてきました。
ありがとうございました。
159:nobodyさん
09/02/04 12:39:19
>>158
本気か?
普通はhttpd.confの設定を1対1になるように関数でもクラスでも書いて、
パラメーターをURLに変換するんだよ。
160:nobodyさん
09/02/04 16:42:03
mod_rewireが使えない鯖でそれっぽいことやる海外スクリプト使ってるからべつにいいや
161:nobodyさん
09/02/04 16:48:23
フリーライダー乙
162:nobodyさん
09/02/04 19:45:30 ycXVzljr
こんばんわ~
PDOでデータベース構築しようと思います。
163:nobodyさん
09/02/04 20:04:25
>>162
PDOで質問でもない内容なら↓こちらでどうぞ
スレリンク(tech板)
164:nobodyさん
09/02/04 22:53:26
URLリンク(blog.livedoor.jp)
>ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(),
array_repeat...?
165:nobodyさん
09/02/04 22:56:46
array_repeat に一致する日本語のページ 約 293 件中 1 - 10 件目 (0.42 秒)
URLリンク(www.google.co.jp)
166:nobodyさん
09/02/04 23:41:01 ofs0LpAO
phpの基本文法を覚え、よく使われる関数の使い方も覚えました
このあとクラスについて覚えるべきかフレームワークの使い方を覚えるべきは悩むのですが
どちらがおすすめでしょうか?
167:nobodyさん
09/02/04 23:42:00
>>166
PEAR→クラス→FW
168:nobodyさん
09/02/04 23:42:08
基礎文法を完全に学ぶ
169:nobodyさん
09/02/04 23:51:49
>>166
ネタにマジレスして悪いんだけど、
文法とか、関数はマニュアル見ながらやれば十分、
フレームワークだって、ドキュメントとAPI、phpDoc見れば大概のことはわかる。
そんなんは枝葉に過ぎんよ。
決定的に違いがでるのは、ソフトウエア開発の基礎的なノウハウ
何を基礎だと思ってるかってのが開発者の個性。そこを磨け
170:nobodyさん
09/02/05 00:10:28
ウザ先輩乙www
171:nobodyさん
09/02/05 00:17:17
, /〃ハヾ / ∧∨〃、ヾ} 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' .:/'"´ ̄ ̄ ̄ ,.へ\
172:nobodyさん
09/02/05 02:40:41
>166
クラスを使いこなすには経験が必要だが、PHPのクラスの使い方は非常に簡単。
というか、クラスの基本的な使い方が分からないと、フレームワークは理解できないし使えない。
クラスのインスタンスの生成、メソッドとメンバ変数、クラスの継承くらいまでは理解しておく事をオススメする。
当面は使い道が良く分からなくてもよいから、どう書くと何が起きるのかは理解しておく。
173:nobodyさん
09/02/05 03:33:35 +8hoj09r
$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = $_GET['hoge'];
}
上のは下の方が安全なんでしょうか?
$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = htmlspecialchars ($_GET['hoge']);
}
174:nobodyさん
09/02/05 03:40:38
>>166
悪いことは言わないJavaをやったほうがいい
175:nobodyさん
09/02/05 03:52:40
>>174
wat 4?
176:nobodyさん
09/02/05 07:27:23
みんな表示にどれくらいの種類のブラウザを試してるもんなの
177:176
09/02/05 08:02:47
なんで無視するんですか?
178:138
09/02/05 08:10:13
案外釣れなかったから再レスするけど、
マジで講師いいよ。
日に45万は見栄張りすぎたけど、30万は確実にいくし。
まぁ、実際の俺は自宅警備だからこれは妄想にすぎないんだけど。
179:nobodyさん
09/02/05 08:12:45
それは、本当に貰ってる俺を釣りたいのか?
180:nobodyさん
09/02/05 08:17:28
>>178
釣りたければもう少し金額を下げておけ。
181:179
09/02/05 08:23:26
>>180
でも、それくらいはいくだろ。
俺も35万前後は毎月もらってるし
182:nobodyさん
09/02/05 08:26:03
>>181
おまえ、せっこい釣りだな。小房かよ
別に、おれは困らんし
183:nobodyさん
09/02/05 08:27:30
あ、名前欄に入れる数字間違えただけか、煽ってスマン
184:nobodyさん
09/02/05 08:27:48
>>181
こんなところでつまらない見栄張ってる暇があったら働けよw
たかだかPHPの講師でそんなにもらえるわけねぇだろ
この業界が儲かるといわれて注目されてた時代はとっくに終わってるんだよ
185:nobodyさん
09/02/05 08:29:08
>>184
ツッコミちがうぞ
181は「毎月」ってボケてるんだ
186:nobodyさん
09/02/05 08:36:13
>>182-183
落ち着けよ
どうせ、ひとつ上まで >>178=>>179 の自作自演なんでしょ
朝から香ばしいスレだぜ、まったくw
187:nobodyさん
09/02/05 08:38:30
うん。そうなの。ごめんね
188:nobodyさん
09/02/05 08:40:48
稼げないのが常識だと思ってる奴が数名いることだけはわかった
189:nobodyさん
09/02/05 08:41:11
>>187 www
190:nobodyさん
09/02/05 08:54:54
釣り師と釣られ師がいてもたったこれしか伸びないなんて...
全盛期(4,5年前かな)に比べるとかなり過疎ってるな。
あのころは金になると思ったボンビーメンたちがPHPやPerlスレに
押し寄せていたのに。時がたつのは早いですねぇ、えぇ。
191:nobodyさん
09/02/05 08:57:48
スレ違いのしょうもない話に乗っても意味ないから君以外の皆は放置してるだけだよ
192:191
09/02/05 09:08:08
訂正
スレ違いのしょうもない話に乗っても意味ないから君と俺以外の皆は放置してるだけだよ
193:nobodyさん
09/02/05 09:21:05
わざわざ騙ってそんなこと訂正して嬉しいのかw
194:nobodyさん
09/02/05 09:25:22
名前欄に数字いれてないで、素直にPDOの質問出せばいいのに
質問
って
195:nobodyさん
09/02/05 09:26:35
今、暇だから特別にこたえてやんよ
196:nobodyさん
09/02/05 09:33:16 r201bcdx
formから受け取った画像ファイルを
画像ファイルとして読み込めるかどうか判断できる
方法を知っていたら教えてください。
今は、getimagesizeで取得できるかどうかで、
できなければ画像ファイルじゃない、と判断しているのですが、
なにか抜け道があるようなきがして不安なのです。
よろしくお願いします。
197:nobodyさん
09/02/05 09:47:33
GDで新しいイメージを作ってそこにペースト。
それから保存する
198:nobodyさん
09/02/05 09:56:19
>>173
htmlspecialcharsは実際に表示するときでいいよ
リクエスト受け取るときは何もしなくていい
199:nobodyさん
09/02/05 11:18:57
>>195
今じゃなくて、「常に」暇なんでしょw
どうでもいいけど「やんよ」ってどこの訛りですか?
200:nobodyさん
09/02/05 11:22:13
>どうでもいいけど「やんよ」ってどこの訛りですか?
2chは初めてですか?
201:nobodyさん
09/02/05 11:23:02
>>200
そうですが何か?w
202:nobodyさん
09/02/05 11:33:05
>>199
常にってのは大げさだけど、暇な時間、多いかも。
あくせく働かなくても、儲かってるから
203:nobodyさん
09/02/05 11:37:27
>>202
経済的にコンプレックスをかかえてるのはわかるけど、そういう見栄を張って
むなしくなりませんかw
204:nobodyさん
09/02/05 11:38:37
>>202
へぇ、自宅警備ってそんなに儲かるんだ。
205:nobodyさん
09/02/05 11:39:26
ひゃひゃ、なんか、くすぐったいねぇ
206:nobodyさん
09/02/05 11:41:04
ガキども
ここで雑談するな
スレ違いだ
207:nobodyさん
09/02/05 11:46:56
>>204
もう自宅警備歴がかれこれ5年になるけど、めちゃくちゃ儲からないよw
ヤフ桶での転○での利益が月7~15万ではっきり言ってきつい。
日常生活に(お家がダンボールになっちゃうかもしれないという)スリルを
求める奴にはおすすめだけどね。
208:nobodyさん
09/02/05 11:49:33
おまえら、せめて自宅警備のついでに開発しろ
まともに開発できるやついたら、1か月80万~100万払うぞ。俺が。まじで。
209:nobodyさん
09/02/05 11:53:33
>>208
そこまで言うなら、まずは
お名前、ご住所、電話番号
を晒さないとね
210:nobodyさん
09/02/05 12:00:34
開発力の証明になるようなサイト作って、仕事募集中って書いてくれたら、
おれからコンタクトするよ
211:210
09/02/05 12:03:28
言い忘れてたけど、もちろん全部嘘だから。それだけは承知しといてね
212:nobodyさん
09/02/05 12:42:10
だめだこいつらwwww
普通の人間になってください
213:nobodyさん
09/02/05 12:45:05
>>211
おまえ、まだいたのか。
稼ぎそこなったなw
214:nobodyさん
09/02/05 13:08:01
>>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も勉強してみます
215:nobodyさん
09/02/05 14:18:04
なんか滅茶苦茶だね
216:nobodyさん
09/02/05 14:24:15 l+G3Usoa
ヤフオクの商品出品画面とかみたいに
一時的にアップした画像を次のページのさらに次でアップしたいのですがどう引き継げばいいですか?
index1.htm ここのフォームで画像をアップする
↓
index2.htm ここで画像を表示して「この画像でいいですか」と出して
↓
index3.htm ここで「完了」と出す
2で一時フォルダに保存すれば3でアップと同時に一時フォルダの画像を消すことができるけど
ユーザーが3に行かずにやめてしまった場合は残ってしまいます。
3で再びアップさせればいいんだけど、1から3へ画像ソースのディレクトリを引き継ぐ事はできないんですか?
よく分からないので教えてください。
217:nobodyさん
09/02/05 14:30:41
一時ディレクトリにタイムスタンプ付きファイル名でアップさせてしまう。
完了したら、それを正規ディレクトリに移す。
一時ディレクトリは定期的に掃除するスクリプトを動かす。
218:nobodyさん
09/02/05 14:41:24
実際にアップロードしたくないのなら
フォームで選んだら出るC:\なんちゃらってパスをJavaScriptで取得して
そのパスを次の画面でhiddenで渡す
次の画面でそのパスをimg srcに埋め込んでローカルのファイルを表示させる
とかでいいんじゃねえ
PHP関係ないけど
219:nobodyさん
09/02/05 15:21:13
>>218
JSのセキュリティ的にローカルのパスをセットしてアップって無理じゃない?
220:nobodyさん
09/02/05 15:26:19
>>218
javascript以前にHTMLから勉強しなおし
そんなこと出来たらサイト作成者側から好きなファイルを
アクセスしたやつから勝手に回収することができるじゃないか!?
221:214
09/02/05 15:28:19
>>215
ぼくにですか?
222:173
09/02/05 15:30:57 +8hoj09r
>>198
ありがとうございます
223:nobodyさん
09/02/05 15:33:57
ゲットの中身が整数である決まりならhtmlspe(ryを使わずにintvalを使うこともできる
224:nobodyさん
09/02/05 15:42:27 +8hoj09r
>>223
はい 整数なんですよ。
これでいいんでしょうか?
$manky = "-1";
if (isset($_GET['hoge'])) {
$manky = intval($_GET['hoge']);
}
225:nobodyさん
09/02/05 15:52:33
>>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);
最初は誰だって滅茶苦茶なのは当たり前。
がんばってちょうだい。
226:nobodyさん
09/02/05 15:57:04
初心者相手に、僕すごいんだぞってか
227:nobodyさん
09/02/05 16:07:57
publicは通常、使わない、というが、
最後にはnewしてインスタンス化して使うんだよね
だから、少なくても、最後の一個はpublicに
しないとダメなんでしょ?
228:nobodyさん
09/02/05 16:10:03
>>227
public classとかphpにはないんで。
基本グローバル
229:nobodyさん
09/02/05 16:11:37
PHP使う時に他の言語の常識を振りまわすkz
230:nobodyさん
09/02/05 16:42:15 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
}
}
231:nobodyさん
09/02/05 16:45:21
ヒント foreach 再帰
232:nobodyさん
09/02/05 16:50:25
質問になってないのに、よくヒント出せるな。
233:230
09/02/05 17:11:23
やっぱ再帰ですよね。
phpは、よくわかんないだけど、割に便利な関数があるんで、
そんなのがあったりするんかなと。ググる前に質問しちゃいました。ゴメンね。
でもコード考える気がなかったりするw
php,再帰,連想配列でググってみたらよさげなものがあるんで、
流用しようw
234:nobodyさん
09/02/05 17:17:37
新キャラ出現w
235:nobodyさん
09/02/05 17:51:32
PHP5.1.6のmb_convert_encodingでマルチバイトで1000文字くらいの改行の無い文字列の文字列変換をすると、
決まった長さまでは正常だけど、それ以降が文字化けするというのは仕様ですか?
236:nobodyさん
09/02/05 17:55:34
んなわけねーだろ
237:nobodyさん
09/02/05 18:09:53
5.1系は使うなとあれほどいっただろ
238:235
09/02/05 18:46:55
あ、申し訳ないです。問題の切り分けを間違えてました…。
mb_send_mailでの問題でした。
mail("hoge@example.com", "test", mb_convert_encoding("1234567890123…(改行無しで1000文字)", "JIS", "UTF-8"));
で改行のない長い文字列を送ると、
これで本文の途中から「…123・u條。毅僑…」と文字化けしてしまいます。
239:nobodyさん
09/02/05 19:10:36
PHPは糞杉るので他の言語に転向したいんですが、何がいいですか?
240:216
09/02/05 19:15:28 nQqyz+9C
>>217-220
遅レスだがありがと。
結局定期的に消すしかないのか。
まあ誰かがアップした時に同時にゴミ画像消すスクリプト動かせば手間はかからんな。
241:nobodyさん
09/02/05 19:15:59
HTMLはCとタイマン張れるほどの立派な低級言語だからHTMLおすすめ
242:nobodyさん
09/02/05 19:17:24
>>239
JSP
243:nobodyさん
09/02/05 19:19:59
このスレは糸を垂らすと必ず釣れるんだなw
244:nobodyさん
09/02/05 19:25:09
>>241
低級言語の意味わかってねぇwww
しったかぶり厨うざいよ
245:nobodyさん
09/02/05 19:52:16 +8hoj09r
(´・ω・`)
246:nobodyさん
09/02/05 19:57:05
>>245
無視されたくらいでageんなよ
247:nobodyさん
09/02/05 19:58:30
HTMLは上級下級問わず全てのwebにかかわる人に愛され続けてる言語です
248:nobodyさん
09/02/05 19:59:53
マークアップ言語語りたいならURLリンク(pc11.2ch.net)池
249:nobodyさん
09/02/05 20:10:27
>>247
お前、空気嫁ないねってよく言われるでしょ?
250:nobodyさん
09/02/05 20:15:36 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
251:nobodyさん
09/02/05 20:19:19
$dir = C:\\www\\a\\
文法上おかしくない?
252:nobodyさん
09/02/05 20:23:48
""でくくらなきゃ
253:nobodyさん
09/02/05 20:26:47 r201bcdx
>>251
>>252
すみませんでした。ここへ書くときに忘れてました。
正しくは、
$dir = "C:\\www\\a\\";
なのですが、やはりGドライプで操作したときは、
消したいディレクトリがその場に残ったままなんです。
254:nobodyさん
09/02/05 20:31:05
DIRECTORY_SEPARATORが\\なの?
255:nobodyさん
09/02/05 20:34:21
>>253
そもそもプロンプトで
rmdir G:\www\a\ /s /q
は通るの?
256:nobodyさん
09/02/05 20:43:59 r201bcdx
>>254
どこかのサイトに書いてあったのをやったらできたのです。
>>255
すみません、よくみたらまた間違ってました><;
$dir = "C:\\www\\a";
でした。
これで、aはきえました。
257:nobodyさん
09/02/05 20:47:50
ほうほうそれで?
258:nobodyさん
09/02/05 20:50:25 3zIJ+Mqp
pearで一番簡単な入門的なパッケージってどれでしょうか?
259:nobodyさん
09/02/05 20:51:00 r201bcdx
それで、さきほど>>255さんを参考に
コマンドプロンプトで
rmdir G:\www\a /s /q
をしたら、消えてくれました。
260:nobodyさん
09/02/05 21:00:26
>>258
特に無い
261:nobodyさん
09/02/05 21:09:41
>>259
× rmdir G:\www\a\ /s /q
○ rmdir G:\www\a /s /q
ってことか?
262:nobodyさん
09/02/05 21:15:47 r201bcdx
>>261
試しにさっき、
rmdir G:\www\a\ /s /q
やってみたら、これも消えてくれました。
でも、なぜあphpで書くと処理してくれませんね。
263:nobodyさん
09/02/05 21:25:19
権限とかopen_basedirとか?
結果を取得するなりログを見るなりすればなんかでるでしょ
264:nobodyさん
09/02/05 21:55:05 r201bcdx
いろいろやっていくいうちに、原因がわかりました。
ものすごくくだらないですが・・
まず、CをGと変更しているのに、削除しようとしているのは
Cの方だったことがわかりました。
そこでもう一度視野を広げてみてみると、
原因はphpの編集ツールにありました。
CからGへapacheのルート?wwwディレクトリをコピーで移動させてからも、
そのツールの編集画面を開いたまま編集していました。
つまり、Gの方のphpを編集している気でいたら、Cの方のphpを編集しており
Gの方のC:\\www\\aがそのままになっていただけでした。
ありがとうございました。
265:nobodyさん
09/02/05 21:56:40 r201bcdx
訂正
すみません。原因はツールより、私の方にありました。
266:nobodyさん
09/02/05 22:48:44 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に
値は山田太郎 と出力させるようには出来ないのでしょうか?
267:nobodyさん
09/02/05 22:50:53
>>266
value
$_GET[]
268:nobodyさん
09/02/05 22:56:49
$_REQUEST["name"] . ' ' . $_REQUEST["name2"]
269:nobodyさん
09/02/05 23:04:00 Gj5tVrB7
>>267
>>286
ありがとう!こんな事で2時間以上ぐぐってたのか・・
270:nobodyさん
09/02/05 23:08:37 ApJraLWL
永続接続を使った場合apacheの待機プロセスorスレッドの分だけデータベースにスレッドが立ったままになっちゃいますけど
そういうものなんですか
psコマンドで出すとズラーっと並んでいて気になります
271:nobodyさん
09/02/05 23:13:16
>>270
そういうものです。
272:nobodyさん
09/02/05 23:14:15
つまり気にしなくておk?
273:nobodyさん
09/02/05 23:16:02
OKかどうかは、運用と鯖のパワーバランス
274:nobodyさん
09/02/05 23:19:21
わかりました
ありがとう
275:nobodyさん
09/02/06 01:07:33 Zd9hNyvT
20090206
を書式化して
2009年02月06日
としたいのですが、やはり一度分割して配列に入れる方法しかないのでしょうか?
276:nobodyさん
09/02/06 01:09:40
echo date( "Y年m月d日", strtotime( "20090206" ) );
277:nobodyさん
09/02/06 01:16:12
>>275
strtotime
278:nobodyさん
09/02/06 01:37:39 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
279:278
09/02/06 01:38:02 3pSilmD2
$obj = new Test;
$obj->print_form();
if($_SERVER["REQUEST_METHOD"]=="POST"){
if($this->determineSubmit()){
~
}
}
?>
280:nobodyさん
09/02/06 01:44:36
コーディングスタイルに正解も間違いもないよ
281:nobodyさん
09/02/06 01:58:55
>>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>
282:nobodyさん
09/02/06 02:00:52
set_submitButtonNameしたいときもあるかもしんねぇだろwww
283:nobodyさん
09/02/06 02:17:24
>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]) 。
284:283
09/02/06 02:34:31
クラスは、クラスが必要なところでだけ使えばいいんだよ。
クラスを使う事が偉いのではない。クラスを使うことで分かりやすい/保守しやすいコードを書く事が偉いんだ。
「なんでクラス使ってるの?」と聞かれて、答えられるか?説得する必要はないが、自分なりの回答が存在するか?
URLリンク(d.hatena.ne.jp)
その程度の処理にクラスを持ち出すのは、このコードと同じ事をしている。
クラスや関数などの中間層は、増やせば増やすほど何をやっているか分かりにくくなる。
$this->determineSubmit()
より
isset($_POST['test_submit'])
の方が分かりやすい。具体的に何をやってるか、メソッドの定義部を読みに行く手間も省ける。
ま、練習中なら、過剰なまでに抽象化するのもひとつの経験だけどな。
285:nobodyさん
09/02/06 02:38:16 y9gQg+aR
PDO の質問です。
$id = 1;
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->execute($id);
で、実行したバインド済みのSQL(select * from hoge where id = '1')
を取得したいんですが、方法はありますでしょうか。
286:nobodyさん
09/02/06 02:49:11
>>284
そりゃそうだ
時給制や残業制とは無能であればあるほど金がもらえる仕組みなんだよ
287:nobodyさん
09/02/06 02:50:43
>>285
なんでマニュアルみーへんの?
288:nobodyさん
09/02/06 03:12:57
これくらいなら僕でもできるもん!
>>285
間違ってるかも・・・
詳しくは先輩から聞いてください><
$id = $_GET["id"];
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->blindParam(1,$_GET["id"])
$sth->execute();
289:nobodyさん
09/02/06 03:27:05
>>288
まず日本語学んだら?
>で、実行したバインド済みのSQL(select * from hoge where id = '1')
>を取得したいんですが、方法はありますでしょうか。
290:288
09/02/06 03:53:28
すまんね。書き直します。
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
日本語スマソ
お分かりの方お願いします。
291:nobodyさん
09/02/06 03:57:16
はい?285=288なの?
292:285 != 288
09/02/06 04:01:32 y9gQg+aR
まちがえt
293:nobodyさん
09/02/06 04:04:39
>>292
>>287
294:nobodyさん
09/02/06 04:13:51
>>289
>>287
>>293
早く教えろよ
わからねーのか
295:291
09/02/06 04:16:12
わからねーよ
蛸
296:285 ◆Oto8cICx9k
09/02/06 04:23:43 y9gQg+aR
めんどくさいから鳥つけた
>>293
結構読んだはずなんだけど分からんかった。
user noteまでは読み切ってないので、どのへん~だけでも
ヒントくれたら助かります。
297:nobodyさん
09/02/06 04:29:33
結構ではなく全部読め
298:nobodyさん
09/02/06 04:31:05
自作自演ですか?
299:298
09/02/06 04:33:07
そうです俺馬鹿なもんで
300:nobodyさん
09/02/06 04:37:15
>>299
馬鹿なんだ^-^-^-^-^-^
301:nobodyさん
09/02/06 04:38:48
きもい~★
302:nobodyさん
09/02/06 04:49:25
なんかエッチな気分
303:nobodyさん
09/02/06 05:35:37
表現が稚拙だな
304:nobodyさん
09/02/06 06:29:21 IlUhJl+1
スレ違いかな…
phpと.htaccessの質問なのですが…
.htaccess中のRewriteEngineを使用して拡張子の書き換えを行い、
htmlへアクセスした際、phpへリライトするということをしたいです。
[例]
URLリンク(www.***.com)
↓
URLリンク(www.***.com)
で、
RewriteRule ^(.*)sample.html(\?.*)?$ $1sample.php$2
と、設定するとうまく動作してくれるのですが、
RewriteRule ^(.*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
と、設定すると404(not found)となってしまいます。恐らく、リライトのルールに合致しない為
書き換えが行われていないのだと思います。
なんで…なんでなのぉ~(号泣)
305:nobodyさん
09/02/06 07:06:20
phpは全く関係ないな。こじつけにもほどがある。
このスレ、そんなに頼りになると思ってんの??ありえん。
# mod_rewriteスレがあるよ
306:nobodyさん
09/02/06 10:01:08
>>404
スレチ
AddTypeでググれ
307:nobodyさん
09/02/06 10:05:50
>>304
こんな感じじゃない?
RewriteRule ^([^\/].*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
308:278
09/02/06 11:46:08 3pSilmD2
返信遅くなりました。
私としては、”意味のまとまり”をクラスとする、
というつもりです。
先のTestクラスは意味を表していないので例として間違っていました。
申し訳ありません。
例えば、先日私は「郵便物の配達履歴」のプログラムを組みました。
そこでは、
(1)郵便物を登録するクラス
・登録フォームを出力
・ユーザの入力が間違っていないか(番地は数字と-のみとか)チェック
・過去の履歴を検索してユーザの入力を助ける
・郵便番号からDB中の住所を検索する
etc
(2)過去に登録した郵便物を検索するクラス
・フォームを出力する
・ユーザが入力した情報から過去の郵便物を検索する
・検索したものを編集/削除する
etc
(3)ログイン時の認証をするクラス
を用意しました。
309:278
09/02/06 11:46:44 3pSilmD2
続・308
意味のまとまりをクラス化し、
そのクラスに関係する情報はそのクラスで全て管理する、
という気持ちでやっていたので、
>>278のような感じになりました。
(確かに、>>283さんのいうようにボタン名はconstにしたり、
if( isPosted() && isSubmitted() ) を用いるべきでした。)
私はJava、C++メインなためどうしてもクラスありき、
(といってもJavaもC++も大した力はありませんが・・・)
で考えてしまうのですが、
PHPは必ずしもそうではない、ということでしょうか?
310:nobodyさん
09/02/06 11:52:24
PHPはクラスありきではない。
PHPはスクリプト言語、スクリプトからクラスを使う。
しかし、実質的にクラスベースっ"ぽい"開発もできる。
あとは好みの問題。
311:nobodyさん
09/02/06 11:52:37
Javaのスキルも程度が知れるな
312:nobodyさん
09/02/06 13:29:37
クラスってなにかくんですか?
313:nobodyさん
09/02/06 13:30:14
MVC
314:nobodyさん
09/02/06 13:53:32
MDD
315:nobodyさん
09/02/06 14:03:37
TDD
316:nobodyさん
09/02/06 14:06:07
MVC意識してるのにうまく分離できない
VとCがくっついたりVとMがくっついたり・・・
317:nobodyさん
09/02/06 14:06:11
やまだくんです
318:nobodyさん
09/02/06 14:09:43
まだやくんです
319:nobodyさん
09/02/06 14:37:49
>>308-309
基本的にどの言語だろうとクラスの本質は変わらないはず。
オブジェクト指向で書けるようになると戻りたくないというのも解る。
…が、その設計は果たしてどうだろう?
クラスはその名の通り型(intやstring、ひいては構造体等の)であって、
(そのような側面もあるが)名前空間が本領ではない。
クラスの本質は「データとメソッドを結びつける」ことによって、
自身の振る舞いを知っている型として纏まって独立し、
型・コードの再利用は勿論、カプセル化やポリモーフィズムなど様々な恩恵を生み出す…。
そこで話を戻すとその内容はクラス、というよりも
デザインパターンの話になってしまうのではないか。
まずはパータンの前に郵便物情報のクラスを作ってから、
それをActiveRecord/MVCのModelとかにして、
そいつに郵便物情報の処理を適切にスタティック/インスタンスメソッドなり追加して
その外側からViewやControllerで操作する…というのが私見。
# Javaや.NETのクラスライブラリの中から処理形態として類似したものを真似てみるのもいいかと。
320:nobodyさん
09/02/06 14:45:05
>>319
そんなクラスの一般論なら、クラスでググればいいだけだろ。
うざいからほどほどにしてくれ。
「デザパタの前に実装してPHPのくせを先に学ぶのを先にした方がいい」
って私見ぐらいは語ってもいいけど、デザインパターンが通じない開発者の方が少数派だろ。
321:nobodyさん
09/02/06 14:46:21 iuyfFTeY
いまのPHP三大フレームワークは以下のものと認識してもよろしいでしょうか?
cakePHP
シンフォニー
zendフレームワーク
322:nobodyさん
09/02/06 14:47:30
=>フレームワークスレ いけ
323:nobodyさん
09/02/06 14:48:16
>>320
おいトリップつけるかIDだせ
324:nobodyさん
09/02/06 14:51:16
CI
yii Framework
325:nobodyさん
09/02/06 14:51:50
>>323
なんで?
326:nobodyさん
09/02/06 14:53:22
JavaはPHPより難しい
2日で諦めた
俺低脳だし
327:nobodyさん
09/02/06 14:54:40
PHPを諦めたの?それとも人生?
328:nobodyさん
09/02/06 14:58:32
>>327
人生とかお前馬鹿?
329:327
09/02/06 14:59:27
はい 馬鹿です^^
330:nobodyさん
09/02/06 15:00:31
ここにいる人
きもっ~>_<
331:nobodyさん
09/02/06 15:01:30
何むしゃくしゃしてるの?悔しいの?
332:nobodyさん
09/02/06 15:02:39
くだらんケンカはよそでやれ
333:nobodyさん
09/02/06 15:15:36
[PHP]IDを出さずにくだらないケンカをするスレ[質問]
334:nobodyさん
09/02/06 15:18:21
自演で長文投下してるやつ、キモイな
335:nobodyさん
09/02/06 15:36:20
キモ
336:nobodyさん
09/02/06 18:02:25 Iyeu5pU3
pearでこれは覚えろっていうパッケージを教えてください
337:nobodyさん
09/02/06 18:17:50
ない
338:nobodyさん
09/02/06 18:31:35
>質問スレで運悪く、ろくな答えもよこさないくせに態度のでかいヘボ回答者
>にあたってしまったが、他への心象を気にして強く出れなかったお方
ロクな回答者に絡まれると大変ね
339:nobodyさん
09/02/06 21:36:43
ロクな回答者に絡まれたら良いじゃん
340:nobodyさん
09/02/06 21:41:21
つうか、ここで質問してまともな回答を期待する方が、頭オカシイだろ
腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
341:nobodyさん
09/02/06 21:44:01
助けてもらって当然、与えてもらって当然、他人に右往左往してもらって当然、って考えてる子が多い
342:nobodyさん
09/02/06 21:59:23
そんなこと言っててもエサを投げればすぐ食いついてくるくせに( ´∀`)σ)Д`)
343:nobodyさん
09/02/06 22:31:27
XREAスレが静かになったと思ったらこっちでファビョってたのかqqq
344:nobodyさん
09/02/06 23:05:54
このての分野ってキモイ人間多いよな
345:nobodyさん
09/02/06 23:06:38
お前が一番だから心配すんな
346:nobodyさん
09/02/06 23:13:40
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
347:nobodyさん
09/02/06 23:14:08
お前が一番そうだから心配すんな
348:nobodyさん
09/02/06 23:14:18
キモイ人間にとって、このスレは快適なのさ
349:nobodyさん
09/02/06 23:14:20
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
350:nobodyさん
09/02/06 23:14:41
お前が一番そうだから心配すんな
351:nobodyさん
09/02/06 23:15:06
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:???
お前が一番そうだから心配すんな
352:nobodyさん
09/02/06 23:16:00
344の必死さにワロタw
353:nobodyさん
09/02/06 23:16:46
>>345
>>347
>>350
反応早すぎw
354:nobodyさん
09/02/06 23:17:36
この流れをみれば必死なのは反応の早い彼だと思うがあえてスルーしとこう
355:nobodyさん
09/02/06 23:17:41
いつもの基地外君はさっさと潰しとかんと迷惑だからなぁ
356:nobodyさん
09/02/06 23:19:16
>>354
きめぇw
357:nobodyさん
09/02/06 23:19:16
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
358:nobodyさん
09/02/06 23:20:43
>>358
キモイ
359:nobodyさん
09/02/06 23:21:43
お前が一番そうだから心配すんな
360:nobodyさん
09/02/07 01:04:26
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
361:266
09/02/07 01:21:58 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 です";
?>
362:266
09/02/07 01:22:41 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のくだ質スレが見つからなかったのでこちらに書かせて頂きました。
363:nobodyさん
09/02/07 01:35:26
window.open(url, "yyy");
targetの"yyy"とウインドウの識別名を一致させないとダメ
364:nobodyさん
09/02/07 01:40:39
>>360
URLリンク(www.youtube.com)
365:nobodyさん
09/02/07 01:42:25
というか、どう考えてもPHPの話題じゃねえだろ。
366:nobodyさん
09/02/07 11:32:12
今年中にはPHP覚えまくって稼ぎまくろうかと思う
367:nobodyさん
09/02/07 11:55:18
11ヶ月もかけるのか・・・
368:nobodyさん
09/02/07 22:21:56
PHPで情報サイトを作ろうと思います。
さあ大変だ
369:nobodyさん
09/02/07 22:35:07
しかし、ある一握りの子達は、大変指導に時間と手間がか
かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
370:nobodyさん
09/02/08 00:48:59
営業中
371:nobodyさん
09/02/08 01:17:06 DxNfF4Ma
$html = '<strong>{$text}</strong>}';
と言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので
$text = "あああ";
echo $html;
としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
372:nobodyさん
09/02/08 01:20:16
$html = "<strong>{$text}</strong>";
373:nobodyさん
09/02/08 01:22:02
さて、原因はどっちでしょう
①$htmlの宣言の時点で$textの中身が空っぽだから
②$html宣言のときに「"」じゃなく「'」で囲ってるから
374:371
09/02/08 01:24:19 DxNfF4Ma
>>372-373
'にしないと文字列として変数が扱われないのではないですか?
Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
375:nobodyさん
09/02/08 01:29:23
>>374
試してから言えカス
376:nobodyさん
09/02/08 01:30:03
>374
無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、
$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;
だと、<strong>ぬるぽ</strong>が出力されてガッされる。
377:371
09/02/08 01:30:08 DxNfF4Ma
もちろん試しました
が、中身は消えます
378:376
09/02/08 01:31:08
何を大嘘書いてるんだ俺は。
うんこが出力されてガッされない、が正解。
379:nobodyさん
09/02/08 01:36:23
>>374
自分でテンプレエンジンも作れない雑魚レベルなら素直にsmarty使え
380:nobodyさん
09/02/08 02:43:12
>>371
eval() や include() を使って評価する
function replace($template, array $params = array()) {
extract($params);
return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}
echo replace('私は{$name}です。', array('name' => '371'));
381:nobodyさん
09/02/08 11:20:52 DarObAIw
定義したhello関数を$testに格納して、呼び出したいところでecho $testを書いたのですが
$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?
function hello() {
return "<p>こんにちは</p>";
}
$test = hello();
#このあたりに別の処理をおいてます
echo $test;
382:nobodyさん
09/02/08 11:23:54
>>381
それはない。
helloでreturnしないでechoしてんじゃないの?
383:nobodyさん
09/02/08 12:37:30
>>381
もしくは勘違い。html見てみるがよろし
384:nobodyさん
09/02/08 12:43:55 WhrhZbLr
秒数を、
"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
385:nobodyさん
09/02/08 12:50:59
>>382
どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
386:nobodyさん
09/02/08 12:51:42
>>384
string date ( string $format [, int $timestamp ] )
387:nobodyさん
09/02/08 12:56:50
>>385
>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
388:nobodyさん
09/02/08 15:04:52
>>385
お前は何を言ってんだ?
389:nobodyさん
09/02/08 15:26:32
function hello(){echo"こんにちは"}
#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される
あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
390:nobodyさん
09/02/08 15:29:48
>>389
>>1
391:nobodyさん
09/02/08 15:46:17 mhFiPpin
>>389
別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。
まさに、下らない
392:nobodyさん
09/02/08 16:14:38
cなら格納しただけで実行はされないのにPHPってクソだな
393:nobodyさん
09/02/08 16:23:49
w
394:nobodyさん
09/02/08 16:24:30
echoしてくれたほうがいい
395:nobodyさん
09/02/08 16:26:32
普通関数内でechoしても関数を実行されない限りは動かないはずなのにな
関数を変数に格納するだけで動作するとか変な仕様だな
396:nobodyさん
09/02/08 16:30:31
配列の最後の添字を得たいのですが、簡単な方法ありますでしょうか?
自分なりに考えてみたのですが、回りくどいような気がするので
$i=1;
foreach($icarr as $key => $val)
{
$hai[$i]=$key;
$i++;
}
echo $hai[$i-1];
397:nobodyさん
09/02/08 16:32:14
てか、変数にしなくても、
hello();
だけで表示されるくね
398:nobodyさん
09/02/08 16:33:12
>>395
$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
399:nobodyさん
09/02/08 16:42:39
Cでカスだったやつは、PHPに来てもカスだな
400:nobodyさん
09/02/08 16:47:42 F6PnIVyb
変数$a,$b~$zまであって、
とりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
401:nobodyさん
09/02/08 16:59:07
PHPの言語は何の言語で作られてますか?
402:nobodyさん
09/02/08 17:03:37
愛
403:nobodyさん
09/02/08 17:05:00
>>401
phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
404:nobodyさん
09/02/08 17:05:45
[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)。
405:nobodyさん
09/02/08 17:08:43
>>396
end
array_pop
406:nobodyさん
09/02/08 17:17:02
>>400
$a = $b = $c = $d = $e = $f = 0;
407:nobodyさん
09/02/08 17:41:19
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}
というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
408:nobodyさん
09/02/08 18:37:59
>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の登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
409:408
09/02/08 18:45:37
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
410:nobodyさん
09/02/08 19:01:39
$$loopの$が2つつくのってどういう意味ですか?
411:nobodyさん
09/02/08 19:43:49
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
URLリンク(jp2.php.net)
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。
パッと見>409のコードはスッキリしてるだろ?
この後のコードが死ぬほどカオスになる。デバッグの難易度も跳ね上がるし、コード解析の類も殆ど効かなくなる。
自分で書いておいてなんだが、こんなコードを書く奴がチームにいたら何とかして転属させる。
412:nobodyさん
09/02/08 19:46:02
じゃそんなの教えんなよ
413:nobodyさん
09/02/08 20:05:59
仕様で語りたいんなら、言語仕様の闘技場でもいってくれ。
いくらブログを呼んでもらえないからって、こんなところで、下らない持論を
ひけらかさなくてもいいだろ。
みんなわかってて使ってるんだ。
たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
414:nobodyさん
09/02/08 20:47:00
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
415:nobodyさん
09/02/08 20:47:53
わからないから使ったことない俺の立場も考えて教えてくれよ!
416:nobodyさん
09/02/08 21:15:49
いらっしゃいませ
いっぱい echoしていってね!
417:nobodyさん
09/02/08 21:24:27
初心者だからってバカにするなよ!!!!!
418:396
09/02/08 23:48:11 lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
419:nobodyさん
09/02/08 23:51:15
array_keysかければいいじゃん
420:nobodyさん
09/02/08 23:51:19
count
421:nobodyさん
09/02/08 23:59:29
$array = array('yahoo' => 'www.yahoo.com', '2ch' => 'www.2ch.net', 'google' => 'www.google.com');
$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
422:nobodyさん
09/02/09 01:00:26 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;
423:nobodyさん
09/02/09 01:06:58 FohDFk4k
【OS名】Windows XP Pro x64
【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
424:nobodyさん
09/02/09 02:35:15
>>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 {
}
}
425:nobodyさん
09/02/09 02:37:33
>>423
php excelで検索すれば、いっぱい引っかかるから、良さそうなの適当につまんでみて