【PHP】下らねぇ質問はここに書き込みやがれ 58
1 :
nobodyさん :
2007/11/03(土) 19:07:37 ID:EzkHevL1 まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/ ◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
2 :
nobodyさん :2007/11/03(土) 19:08:07 ID:EzkHevL1
3 :
nobodyさん :2007/11/03(土) 19:08:38 ID:EzkHevL1
4 :
nobodyさん :2007/11/03(土) 19:09:08 ID:EzkHevL1
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
5 :
テンプレここまで :2007/11/03(土) 19:09:42 ID:EzkHevL1
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に保存?
→ 好きにしてください
23. もっと楽に開発したい。
→ フレームワークを使ってください
24. PHP用のフレームワークって何があるの?
→ 公式ならZend Framework、PHP4にも対応させるのならCakePHPかCode Igniter
>・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです 誰だよこんなテンプレいれはじめたの?前スレからか? >・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ) これが正しいテンプレ
調べてみたら56から入りはじめてるな 56立てたやつ死ね
だめだ立て直そう
まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/ ◆質問する時の注意
・自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
>>8 アホ、2ちゃんでスレの立てなおしは禁止
重複したら古いスレから使うことになっている
11 :
1 :2007/11/03(土) 20:02:00 ID:EzkHevL1
急いで立てたから見てなかった…ごめん。55→56でほかにも変更されてるわ。 ◆質問する時の注意 > ・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること > (でないと、公式マニュアル読めと煽られます) ◆回答者への注意 > ・質問者が「公式マニュアル読んだ」と書いていないからといって、 > 公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。 > 質問者は公式マニュアルを読んでいるかもしれない。 何これ…。 簡易FAQの23.と24.も55→56のときに入ったみたい。
過去スレ保存しているのかよw
57立てた者だけどテンプラの差分チェックまではできんわw
14 :
nobodyさん :2007/11/03(土) 20:41:57 ID:xdxDlb3X
function hoge($foo) { $mes; if ($foo == 0) { $mes = "fooは0"; return $mes; } else { return true; } } として、 if(hoge(0) == true) { echo "trueが返されました"; } else { echo hoge(0); } とすると、$mesが返ってくるはずなのにtrueで処理されてしまいます。 これはどうしてなんでしょうか? return true;のところをfalseにして、if(hoge(0) == true) {のところもfalseにすると 期待通りの動作になるのですが、なんかおかしい気がして・・・ 違和感のない書き方をするとなるとどうすればいいのでしょうか? それともう1つ質問なのですが、String型とBoolean型の2種類を条件によって返してますが、 こういうことはしてもいいのでしょうか? JavaやCあたりは、は関数(メソッド)に返り値を型宣言しないといけないみたいなので そのへんがきになります。
$_GETとか$_POSTに、何か勝手に¥ついてエスケープされてくるんだけど、 これってクライアント依存?それともサーバーサイドで何かやってくれてるの?
>>12 専ブラで見てればログ削除しない限り普通に残る罠
>>15 magic_quotes_gpcなる設定項目がある
>>15 あまりに昔のネタなんで忘れたけど、何かあったような気がするぞw
>>18 おまい役に立つな、ありがとう
>>19 おまい役に立たないな、ありがとう
age厨涙目wwww
>>14 言語の仕様上はできるだろうが、返り値の型が違うのはあんまり美しくないんじゃないかなあ。
どうしてもやりたいなら、判定部分でis_boolとか型チェックかませば?
煩雑になるだけだと思うけど。
>>14 何を聞きたいんだか分かりにくい文章だが
$foo === 0 にでもしとけ
24 :
14 :2007/11/03(土) 21:16:05 ID:xdxDlb3X
みなさんレスどうもありがとうございます。
>>17 キャストしろってことでしょうか?
ちょっとよくわからないです。すみません。
>>22 返り値の型が違うのはやはりあまりよくないんですかねぇ・・・
$mesだけ返すことにしたいと思います。
>>23 受け取る値の型は関係ありませんよね?
>>24 文字列は空と0以外、論理型にするとtrueに分類されるってこと。
そもそも返り値の型以前にそんな関数自体が冗長。
27 :
nobodyさん :2007/11/03(土) 21:35:24 ID:xdxDlb3X
なるほど・・・型はStringでもif(x)にするとbooleanで評価されるのですね。
>>26 すみません冗長じゃない書き方というのがわからなくて・・・
もしよろしければレクチャーしていただけませんでしょうか?
少しは自分の頭で考えてみようぜ・・・
>>27 // 関数 hoge() は $foo == 0 ? 'fooは0' : true な仕事をする
function hoge($foo) { }
こういう関数って必要かな?
関数を作って呼んでみる練習をしてるのなら、気にせずいろいろ試して遊んでください。
何をしたい関数なんだ?
質問を単純化するためにつくった例だろ なんでここの住人は変なところにこだわるのか 前にサンプルを前提に作ったら 「こんな書き方したらメンテが大変」とか言い出す奴がいたしw
じゃ、もう聞きたいことは解決しただろうかokね
34 :
14 :2007/11/03(土) 22:13:24 ID:xdxDlb3X
>>31 POSTされたものをチェックしたい関数です。
実際に返すのはエラー文です。
function hoge($foo)
$fooは$_POSTされたもので
if ($foo == 0)で値チェックフレーズその1です。
実際はこのあとにいくつかelseifやif文が続きます。
チェックでひっかかったところで$mes(エラーメッセージ)を返すようにしてます。
全て配列にいれて返すのが筋なんでしょうけど・・・なんとなく・・・
>>32 > なんでここの住人は変なところにこだわるのか
将来BUGの温床になることを計算してるに決まってる。
角度とか。
>>34 $mes=hoge($foo);
if($mes==='') {
//$は空文字列なのでエラーがない
}else{
//$mesにエラーが入っている
}
ではダメ?
試してないけど。
返ってくる変数の型を調べなきゃいけないような関数は賢いやり方じゃないね
批判する奴は、なぜか批判するだけで解決策を提示しないよね
>>34 わざわざ厳密な型の比較をさせようとしてるくせに、そこは何となくってw
判定の真偽とその理由を戻り値として得たいなら function hoge($foo, $retstr){ if($foo == ){ $retstr = "フェーズ1をパス"; return true; } else { $retstr = "フェーズ1でエラー"; return false; } 以下続く… } として呼び出し元は hoge(0, &$mes) と呼んで、戻り値が false の時に必要なら $mes を見るとか。
その方法はいいですね!使わせてもらいます!ありがとうございました! と予想
自画自賛ってやつか
コール時にリファレンスを渡すのはNGです 破壊的関数は定義時にリファレンスを受け取るよう指定してください
まぁ人それぞれだとは思うんだけど。俺はエラー管理オブジェクト作ってるけどね。 MyError クラス isExistメソッド・・・エラーが入っていれば真 addメソッド・・・エラーを追加 getAsArrayメソッド・・・入ってるエラーを配列で返す 以下略な感じで
45 :
nobodyさん :2007/11/03(土) 22:51:50 ID:8TmER2t2
ある配列が何次元配列かを調べる方法を教えて下さい
自分でそういう関数作れ、whileとis_array組み合わせりゃ何かできるだろ
うるせえよっ!!!!! できねえくせに吠えてんじゃねえ!!!!!
getDimension($arr) { if (!is_array($arr)) return 0; $arr = explode($arr); return getDimension($arr[0]) + 1; } 今ぱっと考えた、試してないから動くかしらね array(array(0) , array(array(1,2)))みたいな配列だったらしらね
ごめん何か勘違いしてた getDimension($arr) { if (!is_array($arr)) return 0; return getDimension($arr[0]) + 1; }
なんで先頭要素しかカウントしないんだよwww
>>48 >array(array(0) , array(array(1,2)))みたいな配列だったらしらね
phpはいびつな配列がつくれるから、
>>45 の質問が間違っているとしか言えないよね
>>44 Exception+try〜catchでやればいいんでないの?
配列の生成時にカウントしておくといいでしょう
getDimension($arr) { if (!is_array($arr)) return 0; $i = $imax = 0; foreach($arr as $value) { $i = getDimension($value); if ($i > $imax) $imax = $i; } return $imax + 1; } 最大次元数ならこんな感じか?
56 :
nobodyさん :2007/11/03(土) 23:06:30 ID:h53rMSqI
Smartyで配列の数だけリンクを表示させたいのですが
php
$link[0] = array("
http://example.com/ ", "エグザンポー"):
$link[1] = array("
http://hogehoge/ ", "ほげほげ"):
$link[2] = array("
http://sample/ ", "サンプル"):
$smarty->assign("link", $link);
tpl
{section name=cnt loop=$link}
<div><a href="{$data[cnt][0]}">{$data[cnt][1]</a></div>
{/section}
としても、何も表示してくれません。
cntが配列の番号になっているんですよね?
どうやって表示させるのでしょうか?
58 :
56 :2007/11/03(土) 23:08:40 ID:h53rMSqI
あーーー 見たまんまorz かなりアホなことしてました 自分で気づきましたorz
>>56 tplの「$data」がどこから来た変数なのか不明だからじゃね?
ここの低レベル住民は煽ってやると答えるのがはやくてよろしいなwwww
ここの住民はアセンブラで動いてますから
62 :
nobodyさん :2007/11/04(日) 00:12:37 ID:Md5o2rKb
クラス実装したアセンブラ
63 :
nobodyさん :2007/11/04(日) 00:26:55 ID:aPHnXG0c
<form>要素でenctype="multipart/form-data"を指定したときに、 受け取り側のPHPでenctypeを取得する方法ってありませんか?
低レベル住民に質問してる時点で負けかなと思ってる (´-`).。oO(嘘を教えられてもシラネーヨ)
だからどうした
>>63 hiddenかなんかで送ればいいじゃないの
>>63 鯖には送られてこないんで、ContentTypeとか実データから推定するしかないネー
>>63 MIMEタイプの取得なら$_FILESでできるけど
enctypeってMIMEタイプとはちがうのかな?
sage
70 :
nobodyさん :2007/11/04(日) 03:14:14 ID:to0N3c/v
ある値を指定した回数分追記して返してくれる関数ってありますか? 以下のような感じです。 $a = hoge('a', 10); // aを10回 echo $a; // aaaaaaaaaa
ありませんけど str_repeatが使えるかも
いやstr_repeatがそのまんまじゃないですか
73 :
nobodyさん :2007/11/04(日) 05:48:28 ID:to0N3c/v
>>71-72 さん方
ありがとうございます!
まさにという関数でした(^^:
74 :
nobodyさん :2007/11/04(日) 06:41:28 ID:W1u87Zxc
おはようございます PEARが使えませ( ̄∀ ̄) 雑誌にPHP5をインストールすれば最低限のライブラリも一緒にインストールされると書いてありました。 DVDに収録してあるパッケージをインストールしました。 php-common.5.2.2-3.i386.rpm php-cli php php-pdo php-mysql php-mbstring なぜ、PEARが機能しないのでせうか? よろしく
76 :
nobodyさん :2007/11/04(日) 07:12:22 ID:IOsBKaXo
そんなコマンドないです。 php-pear-5.2.2-3.i386.rpmある場所しりませんか?
ID違うから
>>74 と同一人物とは思えないが突っ込ませていただきますよ。
釣りなら釣りといってください。
>そんなコマンドないです。
どんなコマンドですか?go-pearとか打ち込んだとかいいませんよね?
URLの先に書いてあるスクリプトは見ての通りphpです。
拡張子をphpで保存してphpで動かしてください。
>php-pear-5.2.2-3.i386.rpmある場所しりませんか?
こんな質問するなら慣れないOSを使うべきではありません。
78 :
nobodyさん :2007/11/04(日) 08:35:53 ID:8XigsNVe
メール送信時の改行コードはどのように決まっていいるものでしょうか? ヘッダ部分と本文部分、どちらもLFとして大丈夫でしょうか?
CRLFで
81 :
nobodyさん :2007/11/04(日) 10:07:35 ID:8XigsNVe
本文の改行もCRLFですか? ちなみにmb_send_mail()だと自動で適当に変換してくれますよね??
mb_send_mailはたんなるおもちゃ
Cのソース読めるなら眺めるといいかも たぶん orz こうなる mb_send_mail()もmail()もサクサク流して最後はphp_mail()に投げて終わり
84 :
nobodyさん :2007/11/04(日) 16:16:19 ID:CsqNzCud
掲示板ログについて質問です。 フォームから受け取った日本語を含む値をログファイルに書き込むとき、 文字エンコーディングを行ってから書き込むべきですか? それとも出力するときにエンコーディングするのがベターですか?
85 :
nobodyさん :2007/11/04(日) 16:58:27 ID:8XigsNVe
mb_send_mail()に 本文内改行 \r\n で送ると、 送信されたメール内の改行が2重になっちゃったんですよ。 どこでどう変換されてるのかなぁ。
88 :
nobodyさん :2007/11/04(日) 20:01:30 ID:NaNLstRf
apacheとPHPの設定してみたんですが、 試しにプログラム書いて実行してみたらコードがそのまま表示されてしまいます。 apacheが認識してくれてないと思うんですが、どこの設定修正したらいいかわかりません。どなたか教えてくださいm(__)m
>>88 設定が乗ってるまず入門書を一冊かいましょう
設定の質問をするときはOSも合わせて書くクセをつけて質問すると回答率があがります
エスパー出番だぞ
BOM付きのUTF-8ファイルでBOM無しにしたらheaderなんたらというエラーが出なくなった、という情報はいくらでも見つかるのですが、phpでBOM付きのUTF-8で吐き出したい場合ってどうすればよいのでしょうか? エディタで、BOM付き指定すると、headerなんたらとエラーを吐きやがりますから、phpのコードでなんとかしちゃう方法を知りたいです。 多分headerの部分でゴニョゴニョするんだと思う。 吐き出したファイル(内容はxml)を参照する側のプログラムでどうしてもBOM付ける必要性があるのです。 (こっちに関しては、自分の範囲外なので、どうしようもない)
header出力する処理をしない
バッファ切るのって効率悪いだろ
なんか最近
>>88 みたいなの多いし、
Q&AにXAMPPのことかいといたほうがよくね?
BOMがBOMBになるのは、「PHPファイルの保存形式がBOM付き」の場合じゃね? PHPが実行された結果、「出力内容がBOM付き」になるのとは関係無いんじゃね?
うん。 ・header() ・BOMを吐く ・UTF-8な何かを吐く というスクリプトがEUC-JPで書かれてても別にいい。
>>96 書いても読まないからいっしょ
下らない質問を書き込むスレだから、
気に入らなければ「答えないorネタで答える」でいい
書くならXAMPPなんかでなく正しいWebサーバとPHPの設定を書けばいいだろ
101 :
nobodyさん :2007/11/04(日) 23:48:51 ID:MnPXu0Fr
今度レンタルしようと思ってるサーバーのPHPのバージョンが 5.1.6なんですが、5.2.4を使って作成したものをアップロードしても 問題ないですか?
>>100 サーバの建て方はさすがにスレチ
さすがにPHPが入ってるからといってその内容は自鯖板やUnix板にでもいけと言いたい
デバッグ環境を作るとこまでしかサポートするべきじゃないと思う
そうなると答えはXAMPP入れろで終わると思うんだよね
>>94 いや、吐き出したいのはxmlだからそういうわけにイカンのです。
>>97 なるほど、たしかにそうだ。
>PHPが実行された結果、「出力内容がBOM付き」
にしたいわけですよ。
>>98 >UTF-8な何かを吐く
これの詳細キボンヌ
104 :
93 :2007/11/04(日) 23:55:13 ID:???
自己解決しました。どうもスレ汚しすみませんでした。
>>102 環境構築の指標になるWebサイトが一つあれば、「ここ見て」で済むんだよ
UNIX/Linux系の構築はそんなに大差無いんだけどさ
Windows系はいまだにDLL, INIファイルをシステムフォルダにコピー云々
(間違ってはいないんだが)がトップに来る始末
マニュアルに目を通してなさそうな人が怪しい手順を公開しているのが問題だ
>>106 いや、そこ見てる(w
っつうかドキュメント手元に落としてるよ
それ読んで理解できない人が設定の迷宮に嵌ってるんでないの?
じゃ君が作ってあげなよ
正規表現で教えてほしいです。 $text="<a href=test.html target=test><b>teststr</b></a>"; というデータのaタグで囲まれた部分(<b>teststr</b>)を取得したいのです。 $addr="[-_.!~*'()a-zA-Z0-9;\/\?:@&=+$,%#]+"; ↓bタグがなければこれで取得できました。 preg_match_all("/<a href=[\"\']?({$addr})[\"\']?[^>]*>([^<])<\/a>/i",$text,$matches); 今回はbタグを含めたパターンも取得したいので↓のように改造してみましたが取得できませんでした。 preg_match_all("/<a href=[\"\']?({$addr})[\"\']?[^>]*>(^(?:<\/a>))<\/a>/i",$text,$matches); 取得できる書き方を教えてほしいです。ヒントでも。
>>109 [\"\']?とかかいてるけどhtmlの値は""で囲むべき。
a href=""というのが前提になっているが、人によってはa target=""から書き始める人もいるだろう。
そのへんも考えたほうがいいんじゃないの?
*(<b>.+<\/b>).*
112 :
111 :2007/11/05(月) 07:13:43 ID:???
最初のドットが抜けてた .*(<b>.+<\/b>).*
113 :
nobodyさん :2007/11/05(月) 08:02:01 ID:yddo53I2
DBに1万件位のデータが保存してありまして、 それをphpから毎回呼び出してマッチングする処理をしています。 しかし、毎回毎回同じデータをDBから検索かけて持ってくるなら、 その1万件のデータをphpファイルに定数として定義するのも手かなぁ、 とも思っています。 速度的にほとんど変わらないのですが、同じデータを1万件DBから引っ張ってくる処理を、 php内部でやるのと、DBからませてやるのとどちらがベターですか? phpで定数宣言すると、DBのデータが変わったときに更新する手間がかかりますが、 年に1回あるかないか、なので無視できる程度の作業量です。 宣しくお願いします。
速度的に変わらない。という結果がでてるのなら あえて定数にする意味ないじゃん。 年1回でも手間かかるのは嫌だな。 技術的な話題として話すると、 DB呼び出しした結果を シリアライズしてキャッシュするかな。
使用メモリは考慮しないのか?
あ、そうか たしかにメモリも考えないとな 1万件、10kだから 1レコード100で、1Mか
array('test', 'Test', 'TEST') を array('test') にするにはどうしたらいいですか? array_unique()だとできないんですけど
118 :
117 :2007/11/05(月) 10:46:41 ID:???
ちなみに全部小文字ってわけじゃなくて array('Test', 'test', 'TEST') なら array('Test') にしたいんです
$word = array[0];
120 :
117 :2007/11/05(月) 10:59:26 ID:???
>>119 array('Test', 'teston', 'test', 'TEST', 'Teston')
なら
array('Test', 'teston')
みたいな
array_uniqueの大文字と小文字を区別しないのがいいんです
じゃまず全て大文字か小文字にしてからunique取ればいいんでね?
自分でアルゴリズムを考えて書く そんな特殊なことが標準の関数だけで解決できるわけがない
123 :
117 :2007/11/05(月) 11:29:42 ID:???
public function toUnique($array) { $tmp = array(); $newArray = array(); foreach ($array as $value) { $key = strtolower($value); if (!isset($tmp[$key])) { $newArray[] = $value; $tmp[$key] = true; } } return $newArray; } こんな感じでやってみたんですけど いいんですかね?
>>123 これまでのレスからするとそんな感じでいいと思うけど、
本当にいいかどうかは117にしか分からない
125 :
nobodyさん :2007/11/05(月) 15:19:13 ID:yT9jMMvy
preg_matchについての質問です。 マッチしたデータを取得するときに、 $txt --- A=300 B=600 C=700 --- これを preg_match('/A=(\d{3})[\r\n]B=(\d{3})[\r\n]C=(\d{3})/', $txt, $matches); と取得するか、 preg_match('/A=(\d{3})/', $txt, $A); preg_match('/B=(\d{3})/', $txt, $B); preg_match('/C=(\d{3})/', $txt, $C); と取得するか どちらのほうが鯖にやさしく取得できるのでしょうか?
>>123 自分で書くより標準関数を組み合わせた方がいい
$a = array('Test', 'teston', 'test', 'TEST', 'Teston');
print_r(array_unique(array_map('strtolower', $a)));
128 :
125 :2007/11/05(月) 15:37:51 ID:yT9jMMvy
調べてみたところ、上記が下記の1/3ですみました。 ですが、長くなるにつれ、やはり時間がかかってきますね。
132 :
131 :2007/11/05(月) 16:10:07 ID:???
と、思ったがその書式ならparse_ini_file()で問題ないならこの方が良いかも。
133 :
kei :2007/11/05(月) 16:28:39 ID:???
海外の個人広告(クラシファイド)スクリプトを購入したんですが、
文字コードの設定を管理ページからできないことに気がつきました。
スクリプトに手を入れて文字コードにutf-8を設定させたいのですが、
それはどれほど難しいことでしょうか?
スクリプトの名前はAlmond Classifieds で、mysqlを使っています。
http://www.almondsoft.com/alcl.html 簡単であれば自分でコードをいじり、難しければ技術者に依頼したいと思っています。
依頼する場合の相場も教えてくださると助かります。
どうぞよろしくおねがいします。
m(_ _)m
Perlからの移行なのですが、IPアドレスを分解後整形表示する方法を探しています。 $ip = explode('.',$_SERVER["SERVER_ADDR"]); $ip = "0x".sprintf("%02x%02x%02x%02x",$ip); このような形にして、$ipを「0x00000000」の4バイト表示を行えるようにしたいのです。 Perlだと.sprintf("%02x%02x%02x%02x",@ip);のように書けばエラーにはならないのですが、 PHPだとエラーになってしまいます。 これはどのようにすれば回避できますか? $ip[0],$ip[1]...とも書けるのですがスマートじゃない気がして…。
135 :
134 :2007/11/05(月) 16:33:38 ID:???
すいません、vprintfという関数があることを今知りました。 PerlとPHPを比較したリファレンスのようなサイトあれば教えていただけないでしょうか…。
そんなものない 勘で調べるかPHPマニュアル眺めてればそのうち覚えるでしょ 必要っていうかよくつかわれる関数なんてそんないっぱいないし
137 :
nobodyさん :2007/11/05(月) 17:34:46 ID:3Pnq+nvR
すみません。書店にいるので、書籍スレだと返事がこないといけないので ここで聞かせてください。 PHPをやって、基本事項とSmartyはマスターしました。PEARというのをやりたいんですが PEAR入門とPHPによるWebアプリケーションスーパーサンプル 活用編の2冊で迷っています。 後者はPEARについても結構のってるみたいです。 どっちが買いですか?
PEARとか本見なくても覚えられるけどな・・・普通に
PEAR入門を買って、活用編は活用したい部分だけ立ち読みするとよい
140 :
137 :2007/11/05(月) 18:14:16 ID:???
>>138 >>139 どうもありがとうございました。
Pear入門買いました。Smartyもこれで覚えたので、大丈夫かとおもいます。
活用編はPear入門が終わったら買おうとおもいます。
ありがとうございました。今、一服してます。
Webアプリケ〜って変な俺様フレームワーク実装させる本だった気がする 暇人向けだ
>>140 お前もしかして、池袋のジュンク堂の喫茶室の角の方の椅子で、
本を読んでいる人?
PEAR入門とかって何書いてあんの?
144 :
nobodyさん :2007/11/05(月) 19:20:34 ID:yT9jMMvy
file_get_contentsでHTMLを取得できますが、 串を刺して取得することはできませんか?
スーパーハカーになればできます
下質で申し訳ないですが、江波杏子と夏木マリって、 どう違うんでしょうか?
147 :
nobodyさん :2007/11/06(火) 00:11:30 ID:kIhR5zff
質問です。スケジューラみたいなの作るとして [登録フェーズ] 1)カレンダー表示 2)各日の編集ボタンを押して編集画面に移動(getでyear,month,dayを継承) 3)情報記入して送信 4)db(mysql)にyear,month,dayに上記の情報を登録 [参照フェーズ] 1)year,month,dayをプルダウンでそれぞれ指定して送信 2)sqlと完全一致を引き出し …という流れでいいんでしょうか? これでいいと思ってたんですが、 SQLのdate型ってのを見つけて、これを使ったほうがいいのかと気になりだしました このdate型ってのはphpのdate関数から登録日を記入して、xx年xx月xx日以前の データは消去って使い方で(主に)いいんですよね?
俺が上司ならUIも質問ももっと練れと突っ返す
エラーのフラグをたてるって表現聞いたんですけど具体的にどういうことでしょうか? そういう関数があるのでしょうか?
>>126 print_rを使うのって気持ち悪いよ
>>133 素人には10年かかります。
ぼくならすぐにやれますが、かなり高等な技術を使うため
見積もって50万はいただきます
_r'ニ二> 、 _,. :'´ ̄: :`ヽ\::.::`ヽ _,.:'´: : : : : : : : : : ヽ ';:.::.::ハ ∠,仁._‐-、 : : : : : : : : : :}_j::/::.::i , '´ ̄¨´‐.、 `y'^ー、: : : : : : :/'イ::.::.::{ ,.、 / . : : Y } }_;.-'TT´::::::.::.::.:;ノ _,.f´__,\ .′ : : :}v .i`ト-く._!:::::::_;.イ--、―¬;.:.:.:.:_:.:.:\ . l . : :. .:!| !! /イ ̄ / j_,. -亠'¨⌒ヽ:_ノ ! { : :. |:.:,! ! | `ー'´ ヽ.__,,.. -‐'´ }.:}. :.l :.: .!:.i r' , 、〉 (_,ノ_;{:...:.:.:!: .:.:. .ハ:{_`T~^i f彡Y:.:.}:|:.!:.:!:{:イ'` | ! ⌒j,ィ:.{:!:ハ:|:!{{| j ! ,レ^ト! }川`ー/,. { }n.n r}
PEARなんてgo-pearでインストールして install パッケージなりWebから落としてきて入れて 各モジュールの使い方は公式のドキュメント見て使って十分じゃね?
155 :
126 :2007/11/06(火) 07:18:12 ID:???
156 :
名無しさん :2007/11/06(火) 08:14:12 ID:???
setcookieするときクッキー名は何にしますか? mycookieが一般的?
>>156 example.com/bbs.cgi → mycookie=値
example.com/log.php → mycookie=値
example.com/cart.php → mycookie=値
これが一般的で何の問題もなさそうに見えるんだったら mycookie でいい。
( ´д)ヒソ(´д`)ヒソ(д` )
お前ら、DBにデータ入れるとき、無害化したHTML入れる?それとも、生のままいれる? 入力は最初に全部無害化したほうがコーディング簡単な気がするんだが、無害化したHTMLを DBにいれちゃうと編集するときの処理が煩雑になる気がする・・・。
161 :
nobodyさん :2007/11/06(火) 12:38:53 ID:Xpbtcgy9
10進数を62進数に変換する関数ってありますか? ない場合どんな関数になるでしょうか?自作してみたいのですが62進数自体分かりません・・
>>160 好きにしろ
過去にもそんな質問何度もあって意見2分してるし
>>161 0123456789abcdefg.......zABCDEFG.....Z
Zが61
10が62
つうかそんなオナニー関数作ってどうするの?
学校の宿題と見た
>>160 function 10to62($n) {
return sprintf("%d(62)",$n);
}
>>165 Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING
167 :
161 :2007/11/06(火) 13:14:42 ID:Xpbtcgy9
>>163 さん
ありがとうございます。
str_replaceとかで置き返していく感じですか?
function code62( $int = 1 ) {
$h62 = array(
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z','A','B','C','D',
'E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X',
'Y','Z');
return $h62[$int];
}
宿題じゃないです(^^;
自作の暗号化アルゴリズムを作ろうと思いまして。
専門学校でこれ宿題でてるぞ、同じ学校の奴おつかれ
専門でPHPってやるのか Javaのほうがやりそうなのに
>>168 どんな仕事で62進数を使ったのかが非常に気になる
172 :
161 :2007/11/06(火) 13:30:16 ID:Xpbtcgy9
>>169 さん
社会人です(^^;
いっそのこと専門学校いきたいですけど…
$h62 = array(
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z','A','B','C','D',
'E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X',
'Y','Z');
$strH = '';
while ( $i >= 62 ) {
$strH .= $h62[($i % 62)];
$i = $i / 62;
}
こんな感じかな?
ちょっと動かしてきます。
暗号化っていうよりbase64化っぽい気がする
暗号化とかレベルたけえ ハッシュ関数つかうのが精一杯だぜ 復号できる関数作ってみたいのう
175 :
kei :2007/11/06(火) 14:06:23 ID:6CVTXr3T
>152 >素人には10年かかります。 >ぼくならすぐにやれますが、かなり高等な技術を使うため >見積もって50万はいただきます Mixiで無料で助けてもらいました。 2ちゃんに期待してたのになあ。
>>175 おまえには一生無理だからプログラミングに関わること自体辞めておけ。
>>170 PHP教える専門学校ってあるのか?w
こんなもん趣味でマスターできるだろw
それとも一般人には難しいのかな?
選択授業とかなのかも? 専門も一応教育機関なんだから授業で教えるなんてことはしないと思うけど、 2年制の専門とかじゃない、数ヶ月の短期間で学ぶような塾の延長線みたいな学校なら、 PHP専門でやるのかもね。
179 :
161 :2007/11/06(火) 14:24:15 ID:Xpbtcgy9
>>172 これじゃできないですね(^^
でも解決しました。
ありがとうございます
>>178 専門学校も所詮はビジネスだから社会(採用しにくる企業?)のニーズに
合わせてカリキュラムを組むのだよ
一時期、プログラミングのプの字も教えずにWord+Excelしか扱わない
情報処理系の専門学校があったの知らない?
mixiで検索したがそれらしいのないなw
メイドロボ欲しいんすけど。PHPで。誰か作って。
>>182 メイドロボはクライアントサイドで動作する。
意味分かるな?
>>160 過去の回答でも
・編集加工等を一切しないことが前提ならhtmlspecialcharsをかけて
・HTML表示以外にも使用用途があるなら生のまま
でFA
・入力データはそのまま(もちSQLインジェクション対策はして) ・出力するとき、必ず無害化する ・入力データを無害化 ・出力するときそのまま 別にどっちでも変わらなく値
追記。 計算機のコストという観点で見るなら、一般に入力の回数<<出力の回数だろうから コストは増えるだろうね。htmlspecialcharsの処理コストなんてタカがしれてると思うけど、どうなんだろ?
>>187 無知ですみません。
pearって何ですか?
どうやってインストールするの?
>>177 >こんなもん趣味でマスターできるだろw
こんな認識の人がいるからクソコーダが増えるんだよなあ。
PHPは自由度が高いだけに落とし穴があるし逆に難しい。
>>180 >一時期、プログラミングのプの字も教えずにWord+Excelしか扱わない
>情報処理系の専門学校があったの知らない?
それ、デジタ○ルハリウッドのこと言っているの?
191 :
nobodyさん :2007/11/06(火) 15:59:53 ID:mQE1+D6y
Smartyで組み立てたページを出力せずに保存したいのですが、 何か方法はありませんか?
>>190 全然伏字になってねえし(w マンマかよ!
今の今までアルファベットは24文字だと思ってたorz
>>194 アホかお前、27文字だろカス
もう一度中学から勉強し直せ
197 :
161 :2007/11/06(火) 16:38:49 ID:Xpbtcgy9
度々ですみません。 やっぱりできてなかったです。。 62進法で10のときなどの繰り上がる処理がうまくいかないです。 助言お願い致します。 function ango($int) { $h = array( '0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j', 'k','l','m','n','o','p','q','r','s','t', 'u','v','w','x','y','z','A','B','C','D', 'E','F','G','H','I','J','K','L','M','N', 'O','P','Q','R','S','T','U','V','W','X', 'Y','Z'); $str = ''; while ( $int >= 62 ) { if( $int<= 62 ) { $str .= $h[ $int ]; } else { $str .= $h[ (int)($int / 62) ]; } $int = (int)($int / 62); } return $str; }
>>197 マニュアルのユーザノートからぱくるなり、PEARのライブラリ使うなりすればいい
>>197 $tbl62 = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
);
function toSixtyTwostring($int) {
global $tbl62;
$buf = array();
while ($int >= 62) {
$buf[] = $tbl62[($int % 62)];
$int = $int / 62;
}
$buf[] = $tbl62[$int];
$retbuf = array_reverse($buf);
return $retbuf;
}
>>168 のをPHPにしたもの。配列で返してるところが
>>168 と違うけど。
>>197 while以降をこうしてみたらどうだろう
while($int){
$str .= $h[$int % 62];
$int = (int)($int / 62);
}
return strrev($str);
再帰を使うんだ。 function decTo62($int) { $ary = array(,,,,,); if($int != 0) return decTo62($int / 62) . $ary[$int % 62]; else return 0; } 多分こんな感じで動く。負数の扱いとか、細かいとこはまぁ適当に。
205 :
161 :2007/11/06(火) 17:24:59 ID:Xpbtcgy9
>>202-203 さん
ありがとうございます!できました!
先に下から計算していくんですね、、数学勉強しときゃよかった。。
感謝です!
ここでいいのかちょっとビミョウですが・・・。
http://php.benscom.com/manual/ja/features.persistent-connections.php マニュアルを読むと、トランザクションを使用する場合は持続的接続を使用するべきではない、とされています。
ですが、クラスの中でトランザクションを使いたいので、トランザクションを使っているかどうか把握するのが
難しいです。そこで、こういうのはアリでしょうか?
$db = mysql_pconnect(ほにゃらら);
$hoge = new Hoge($db);
$hoge->get();
$hoge->update();
class Hoge {
private $pcon;
public function __construct($db) {
$pcon = $db;
}
public function update() {
$db = mysql_connect(ほにゃらら);
//$dbを使ってトランザクション処理
}
public function get() {
//$pconを使って普通の処理
}
}
いみねーw
あー、そうだ。俺もpconnectで聞きたいことがあったから便乗。 mysql_queryとかリンク識別子省略できんじゃん。 省略した場合、直前のmysql_pconnectで作った接続が使われるの? その場合、ヘッダファイルか何かで接続しちゃえば、関数の中だろうがクラスの中だろうが pconnectで作られた持続的接続が使われる? いや、毎回毎回オブジェクト作るときにリンク識別子渡すのとか面倒くさくてさ。 渡しておくと何かいいことある?
209 :
208 :2007/11/06(火) 18:23:46 ID:???
すまん。自己解決したわ。
210 :
206 :2007/11/06(火) 18:24:33 ID:???
>>207 何がですか?
ここの質問者はレベルが低いので他で聞きます。
211 :
208 :2007/11/06(火) 18:25:34 ID:???
213 :
206 :2007/11/06(火) 18:29:20 ID:???
"自覚は成長の第一歩" に一致するページは見つかりませんでした。 検索のヒント: * キーワードに誤字・脱字がないか確認します。 * 別のキーワードを試してみます。 * もっと一般的なキーワードに変えてみます。
214 :
206 :2007/11/06(火) 18:30:47 ID:???
すまん。自己解決したわ。
215 :
206 :2007/11/06(火) 18:35:00 ID:???
めでたしめでたし
自覚は成長の第一歩 の検索結果 約 420 件中 1 - 10 件目 (0.41 秒)
お前はまずぐぐり方を自覚する必要があるな( ´∀`)
中二 <おれは小4で覚醒したぜ
流れが自覚できないんですけど。
220 :
212 :2007/11/06(火) 18:46:22 ID:???
221 :
まとめると :2007/11/06(火) 18:50:13 ID:???
自己解決したということでこの件は放置でいいですね? つか、質問するならID出しやがれ
"小4で覚醒"の検索結果 1 件中 1 - 1 件目 (0.38 秒) みんな、オナニー覚えたのいくつ? その後インターバルがあり小4で覚醒した
質問させて下さい!
ポイントバックサイトを自作で構築しようと思いPHPを勉強しています。
某サイトで.doファイルにアクセスする事でアフィリエイトの認証状況などを出力出来るようになっています。
そこで、phpで.doファイルにアクセスして内容を取得出来るのかを知りたて質問しました。
とりあえず
$f_name = "
http:// 〜〜〜〜.do";
print(file_get_contents($f_name))
とやってみたのですがf_nameには何も入ってきませんでした。
そうですか
226 :
223 :2007/11/06(火) 20:17:03 ID:???
自己解決しました。
227 :
223 :2007/11/06(火) 20:22:25 ID:???
>>226 おまえ誰だよ?
それはそうと、自己解決しました。
こいつも息が長いな
229 :
nobodyさん :2007/11/06(火) 20:39:13 ID:j2Z/cAo8
そもそも、ポイントバックサイトの仕組みがわからんから俺作れない。 どうなるんだろ
phpのアンインストール方法が分からないというより、検索でも話題に上がってないような気がするのだけど、問題ない? 普通にやっておk?
はい?
232 :
nobodyさん :2007/11/07(水) 00:45:23 ID:9ko+PHc1
俺もポイントサイトのトラッキング(紐付け)はどうやっているのか分からない。 だってさ、エンドユーザがポイントサイト経由で広告主のサイトに行ったことまでは 追跡できるけど、その後最終的に成約に至ったかどうかなんて調べようがないじゃん? もちろん、自分のASレポートの成約状況と照らし合わせて推測することは出来るけど、 同一時間帯に複数のエンドユーザが同じ広告から成約した場合、どれが誰のトランザクションなのか判別できない。 ましてや再訪期間が長く設定されているアフィ広告の場合、何日も前にクリックしてくれた客の 成約に対してポイントバックするためのトラッキングは不可能に近くね??
確かに謎かも 厨が無料ホームページで作ったサイトでアフィ登録者に掲示板の鍵を渡すとかやってるもんな これも一種のポイントバックだろ これがまともに機能してるとして、携帯のシリアルIDを認証キーにしてると、 ありえないもんな
何を今更。
235 :
223 :2007/11/07(水) 01:47:08 ID:???
さっさと書いたことに対して回答つけろやボンクラども わからないくせに偉そうに知ったかぶってんじゃねえよ
>>235 * *
* + いっやで〜す
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
ホント一人で何やってるんだか
>>233 そゆのは手動だって。
登録したら登録した情報が入って、それで鍵とか渡してるっぽい。
ただ、登録しました!っていう情報しか入らず、丁度いい時間帯に虚偽報告あったら、
結構だめなシステムだよな。
アフィのとこによっては、そういうのを聞いてくれるとこもあるらしいが
ホントここの奴っていい加減だなぁwww "自覚は成長の第一歩"じゃなくて、"自我は成長の証"だろ。 慣れない言葉使うなw
変なのが沸いてきたな。草ぇ
3個連続くらいで草いってwwwwwwwwww 「草い」って言葉を覚えたてで使ってみたかったんだろうなwwwwwwww 草いってこういうことを言うんだよwwwwwwwwwww
242 :
223 :2007/11/07(水) 12:34:19 ID:???
なんでこんなに使えない人間がそろってんの? しっかり働けよ人力検索ども
243 :
nobodyさん :2007/11/07(水) 12:54:17 ID:9ko+PHc1
>>238 大手ポイントサイトが手動で紐付けやってるわけないっしょ。
大手ともなると、ASPからデータ提供されるのかな?
245 :
nobodyさん :2007/11/07(水) 13:26:17 ID:ySTNYdvQ
質問 PHPでファイル作るときfopenとかで作りますよね? で、そのためにディレクトリのパーミッションは707とかですけど 755じゃなくてもセキュリティは大丈夫でしょうか?
246 :
245 :2007/11/07(水) 13:32:14 ID:???
自己解決しました。
所有者・・・実行、書き込み、読み込み全部OK 同じグループ・・・全部ダメ その他・・・全部OK これで問題ないと思うなら大丈夫
248 :
nobodyさん :2007/11/07(水) 13:40:16 ID:ynZCcOoV
>>247 245じゃないけど、
同じグループってのは同じサーバーで借りてる他の人もってことでいいの?
自鯖だと、複数のユーザーで同じファイルを扱えるようにするには「同じグループ:全部OK」ってことかな?
yes
250 :
nobodyさん :2007/11/07(水) 13:49:32 ID:ynZCcOoV
>>245 どれもまともな回答はでておりません。
linux板で質問したほうが早いでしょう。
昔さー その他のユーザーがファイル見える=ブラウザで表示される その他のユーザーがファイル書き換え可能=誰でもブラウザでソース書き換えたら反映されちゃう だと思ってたころもありました
板違いの話題はご遠慮ください
254 :
nobodyさん :2007/11/07(水) 15:04:17 ID:8LwacSpR
さっき本を読んでて気づいたんですけど PHPで class hoge { public function foo(){ static $bar; if(!isset($bar)) $bar = "初期化"; } } みたいにstaticを使ってメソッド内変数宣言すると、そのメソッド内でのみ有効な変数を宣言できるんですけど これって非推奨だったりします? マニュアルのstaticのところ見ても、ググっても見つけられませんでした。 ちなみに、上のコードで static $bar; を無くすと、このメソッドを、たとえばループ内で呼び出した時、毎回セットされてないとみなされ、初期化されてしまいます。 今まで、これを避けるために、クラス変数として宣言してたんですけど、このメソッドでしか使わないものをクラス変数にするのが なんとなく、やな感じで、これのほうが気分がいいのですが、あんまりやらないほうがいいのでしょうか?
常駐アプリやフライウェイトで大量生成でもしないかぎり実害はないだろ しかし写像たる関数にそんなもんあるのはおかしな話だし、他人に優しいコードではないな
俺はそっちのほうが気持ち悪いが、まぁ人それぞれなんじゃね
>なんとなく、やな感じで、これのほうが気分がいいのですが、 ゲロ吐きそう
ですね、ですね、という奴は自信がない証拠だろw すぐに相手に同意を求めないと不安になるくらいなら、 もっと、自信が持てるくらい勉強しろよ。
>>258 こちらは他で引き取れないようなくだらない質問を取り扱うスレでございます。
高等技術についての議論・討論は承っておりません。
pdoでのUpdateが空文字の所だけ更新されてないんですが、 これは仕様ですか。
263 :
nobodyさん :2007/11/07(水) 18:36:35 ID:ynZCcOoV
print_rをすれば、オブジェクトや配列の中身が出てきますが、 画面に表示せずに、それをそのままテキスト保存するにはどうすればいいですか? ブラウザで確認できないスクリプトなので、中でどうなっているか知りたいのです
ob_start, ob_get_contents, file_put_contents, ob_cleanだ
265 :
nobodyさん :2007/11/07(水) 18:38:41 ID:ynZCcOoV
>>264 なるほど!その発想は思いつきませんでした
ありがとうございます。
>>264 色々間違ったけど、まあそんな感じってことでヨロシク
268 :
nobodyさん :2007/11/07(水) 18:49:49 ID:ynZCcOoV
>>267 //バグ確認用
ob_start();
var_dump($HotObj);
$txt = ob_get_contents();
ob_end_clean();
$fp = fopen("error", "w");
fwrite($fp, $txt);
fclose($fp);
これでできましたー
サンクスです
269 :
nobodyさん :2007/11/07(水) 18:52:16 ID:ynZCcOoV
って、これってエラーが出て途中で止まってしまった場合って無効になりそうですね・・・ エラーが出てもエラー文を取得するのはどうすれば良いのでしょうか
270 :
nobodyさん :2007/11/07(水) 19:03:28 ID:QGyNJ9Px
ある値にシーザー暗号をかけたいのですがstr_replaceだと再帰的に置き換えてしまうので困ってます。 $hoge= '13690'; $rep = array(1,2,3,4,5,6,7,8,9,0); $key = array(a,b,1,7,G,0,U,s,3,r); $hogeTwo = str_replace($rep, $key, $hoge); echo $hogeTwo; // 期待値a103rのところ a1r3rになってしまう どうすれば1文字1回だけで且つ全ての文字を置き換えられますでしょうか?
どんなとこでも var_dump($hoge); exit; でいいんじゃね?
272 :
nobodyさん :2007/11/07(水) 19:07:07 ID:ynZCcOoV
>>271 それまでにWarningのエラーが発生すると、そこで自動的にexitになりません?
275 :
nobodyさん :2007/11/07(水) 19:09:34 ID:ynZCcOoV
出た、マニュアル厨
いや、お前なら読めば分かると思うよ こんなスレで聞くよりためになる
277 :
nobodyさん :2007/11/07(水) 19:11:23 ID:ynZCcOoV
>>274 エラーをそのまま出力するようにします。
ちなみにvar_export()つーのもある
279 :
まとめると :2007/11/07(水) 19:35:17 ID:???
>>270 配列$repの並び順で$hogeを走査しているのだろうから再置換が行われそうな
文字を最後の方に持っていくしかないんじゃない?
$rep = array(1,2,3,5,7,8,9,0,4,6);
$key = array(a,b,1,G,U,s,3,r,7,0);
ま、試してみるしかないよ
orz_export()
282 :
nobodyさん :2007/11/07(水) 20:49:36 ID:xwpwBQ2z
phpからmysqlを使いたいのですが、先ほどphpinfo()をみたらConfigure の所に '--without-mysql'とありました。 再インストール以外にConfigureOptionを変更する事が可能でしょうか? PHP 4.4.4 (cli) ソースから入れました(非RPM)
configureしなおしてmake makeinstall
つrebuild
>>270 echo strtr($hoge, array_combine($rep, $key));
286 :
282 :2007/11/07(水) 21:01:47 ID:xwpwBQ2z
>>283 即レスありがとうございます
>configureしなおしてmake makeinstall
これって既存のphpに影響しませんでしょうか?(php.iniだとか)
運用中の鯖だもんでドキドキです。
心配ならphp.iniコピーしてバックアップとっとけ
検証環境用意。 てかそんなレベルの運用なら止まってもいいでしょ
289 :
282 :2007/11/07(水) 21:27:25 ID:xwpwBQ2z
ポスケテ…。
php.iniバックアップとってから新しいoptionでconfigureしたら
+--------------------------------------------------------------------+
| *** NOTE *** |
| The default for register_globals is now OFF! |
| |
| If your application relies on register_globals being ON, you |
| should explicitly set it to on in your php.ini file. |
| Note that you are strongly encouraged to read |
|
http://www.php.net/manual/en/security.globals.php |
| about the implications of having register_globals set to on, and |
| avoid using it if possible. |
+--------------------------------------------------------------------+
Thank you for using PHP.
で無事にmakeまでいったんですが、続けてmakeinstallとしたら
[root@www php-4.4.4]# makeinstall
bash: makeinstall: command not found
[root@www php-4.4.4]# ./makeinstall
bash: ./makeinstall: No such file or directory
となってmakeinstallができない…。
makeinstallってファイルとして存在するものなんでしょうか?
locate makeinstall | grep phpとしても何も見つかりません…。
今日はmakeを知らなくても鯖運営できることを学んだ
>>289 釣りかもしれんけど
makeinstall → make install
だよ
292 :
282 :2007/11/07(水) 23:38:13 ID:xwpwBQ2z
>>291 恐ろしい事に釣りでないんです…。
make installで無事に通りました
orz
じゃあインスコが終わるまでモニタを見つめ続けるの刑
なんでlocateとかgrepとかパイプ知っててmake installしらねえんだよw
というかお前最初にどうやってソースからインスコしたんだよ
今まで一般ユーザーとして使ってて、前任者からroot引き継いだんじゃねえの
297 :
282 :2007/11/08(木) 00:06:30 ID:+xXhjxD6
>>293 マバタキもせずに全て見届けたので勘弁してくだしあ><
>>294 >>295 >>296 すいませんすいません
以前からroot持ってました…
apache、php、postgreSQLは普通にmake installってしたんですが(だいぶ昔に)
多少はシェル覚えたのですが、大概どれもうろ覚えで。
最初はPHP書くだけだったんですが鯖設定なんかもやりだすと色々勉強になって楽しいです。
298 :
nobodyさん :2007/11/08(木) 03:02:22 ID:T9hqxzEm
PHPで数時間ごとにある作業を繰り返す(HP巡回とか)ような動きをさせたいのですが,どうすればよいのでしょうか? そういったプログラムを書いた場合サーバへの負担とかはどの程度のものなのでしょうか? 教えてください.
常駐させずにcronを使え
>>298 PHPで書いたスクリプトを
cronで数時間おきに実効じゃないかな。ふつうは。
その実行するPHPってたぶん重くても数秒でかえってくるものじゃない?
なら負荷は大したことないと思うけど・・・
どうせスレッド化したくなるんだからPHPを選択するのはどうかと思う
302 :
nobodyさん :2007/11/08(木) 03:19:38 ID:fiQYCCw7
SSLが使えない鯖で音楽ファイルを扱うのはまずいっすか?
いいんでない?
>>302 人の権利品は止めとけ
あなたのオリジナルならいくらでもどうぞ
305 :
298 :2007/11/08(木) 03:37:05 ID:???
>>299 >>300 cronってのはレンタルサーバー(無料のものを使うつもり)で設定できるものなんですか?普通は
バイナリレベルでやるしかないとおも
>>305 使えるところもあるからまず調べてみろよ
レンサバでプロセス永続化しても管理者にKillされるだけ
>>306 それのmidsl.pl見る限り全部標準関数でできる
無料のレンサバだとプロセスの生存時間が制限されてることが多く、 crontabが使えないことが多く、socketが開けないことがよくある。 スレ違いだが参考までに。
あなたは質問をどこで拾ってきているの?
webcron使えばいい 登録しとけば定期的にphpにアクセスしてくれる
312 :
nobodyさん :2007/11/08(木) 07:14:58 ID:RKQxwdU8
おはようございます。 質問です。 あるデータを、五十音順に並べて表示しようとしたのですが、濁点の処理がうまくいきませんでした。 が → か ぶ → ふ ぱ → は というふうに濁点の字もそれを除いた字のところに分類したいのですが、 どのようにすればいいのでしょうか。 一応ネットで調べて $v = mb_convert_kana($v,"KV"); などと試してみましたがダメでした。 よろしければ単純な解決方法をお教えください。 よろしくお願いします。
もう少し詳細に頼む 分類がどういうことを示してるのかがわからない がをかに置き換えしたいわけじゃないんだろう?
usortでstrcmpの直前に濁点をとる処理を書くしかないんじゃないかなあ 漢字はKakasiでも使わないと無理だね
315 :
nobodyさん :2007/11/08(木) 07:23:45 ID:RKQxwdU8
>>313 五十音順に分類したいので、先頭文字の゛や゜を取り除いた字を取り出したいのです。
端的にいうと
「がくらん」 は 「”か”の分類」
「ぱとかー」 は 「”は”の分類」
という感じに分類しようと考えています。
かな文字をキー、文字の順番を値にした配列を作って usortするのがいいかも知れない。
318 :
nobodyさん :2007/11/08(木) 07:42:10 ID:RKQxwdU8
>>316 ,317
返答ありがとうございます。
どうも説明が舌足らずでした。
五十音順の分類は目的であって、
問題は
「が → か」、「ぱ → は」、「ぶ → ふ」
のような濁点や半濁点を含む文字の、その濁点や半濁点の取り除き方法をどうすればいいのかという質問でした。
たとえば
「がくらん」という文字列を「かくらん」というふうに変換したいのです。
とりあえずネットを漁ったら当面の解決方法は見つかりました。
ただあまりスマートな方法ではないみたいです。
strtr($string, "がぎぐげご", "かきくけこ");
分類するなら「か」の項をピックアップするときに「が」も拾ってくればいい 濁点を取るという発想が理解しがたい
>>318 その方法を書かないと重複するかもしれんんだろ・・
分類と濁点消去のつながりが謎すぎる。 最初に聞かれたとおり分類のロジックを説明すれば妙なことにならないのに。
323 :
312 :2007/11/08(木) 08:02:36 ID:RKQxwdU8
>>321 $v = mb_convert_kana($v,"kh");
$v = mb_convert_kana($v,"H");
これでいけました。
PHPと関係ないけど平仮名カタカナ促音拗音ーのソートって規格あるのかな みんな俺ルールでやってるのか
>>324 文字コードが規格といえば規格じゃないのかな
辞書なんかだと、表記文字ではなく音でソートするために読みフィールドがある
うんこ < ウイスキー < ウホッ < ウヰスキー リテラルでソートされてても特に問題を感じないが
327 :
nobodyさん :2007/11/08(木) 10:14:14 ID:XgLbf7lh
質問です。 imagecreatefrompng()でpng画像を開いて、 imagecolorat()で画像の中の任意の点のインデックスを取得、 imagecolorset()でそのインデックスの色を置き換えたいのですがうまくいきません。 imagecolorsforindex()で処理の要所要所のRGB値を書き出してみたところ、 imagecolorset()の後でもインデックスの色が変化していないようです。 phpで画像処理を行うのは初めてなのでインデックスなどよくわかっていない点が多いのですが、 上に書いたような処理では何か問題があるのでしょうか?
>>268 //バグ確認用
ob_start();
var_dump($HotObj);
$txt = ob_get_contents();
ob_end_clean();
$fp = fopen("error", "w");
fwrite($fp, $txt);
fclose($fp);
は
file_put_contents("error",print_r($HotObj,true));
だけでいけるんじゃまいか?試してないけど。
>>327 インデックスが何かから調べたらいいんじゃね
>>329 検索してみてもそれらしい情報が出てこなかったので、
マニュアルの記述からPhotohopのインデックスカラーモードにおけるカラーパレットのようなものかと考えていました。
ただ、Truecolorの場合imagecolorat()ではRGB値が返ってくるというような記述も見つけたので、
もうちょっと調べてみることにします。
マニュアル読んでないの? 下の方に書いてあるソースとか参考にすれば分かるでしょ。
332 :
327 :2007/11/08(木) 11:15:53 ID:XgLbf7lh
imagetruecolortopalette()でTrueColorイメージをパレットイメージに変換することで、 imagecolorset()が実行できるようになりました。 ただ、変換する際に微妙に色が変わってしまうようです。 今回は元の画像のRGB値が重要なので、別のやり方を考えてみます。
333 :
nobodyさん :2007/11/08(木) 11:34:55 ID:fiQYCCw7
PHPでファイルのヘッダーを読み取る関数はありませんか? ヘッダーで画像のタイプ(png/bmp/pjpeg)を取得して、それにあったimagecreate関数を使いたいのですが、 どのような方法ですれば良いのでしょうか
334 :
333 :2007/11/08(木) 11:39:45 ID:fiQYCCw7
getimagesizeで解決しました。 mimeも返ってくることを忘れていました・・・汗
Perlのregexp::assembleみたいに与えられたデータから正規表現を生成するようなものってPHPには無いでしょうか?
336 :
298 :2007/11/08(木) 14:20:49 ID:???
337 :
nobodyさん :2007/11/08(木) 15:27:30 ID:wKfRuyj8
$var = "echo"; これで$varの中身の関数を実行させるにはどうすればいいですか? $$var("テスト"); →Fatal error: Function name must be a string eval("{$var}(\"テスト\")"); →syntax error, unexpected $end
>>337 変数の中に関数を入れて実行する意味がわからない
その前に変数と関数の違いがわかっていないのでは?
きっとリスパーなんだよ。 エヴァればいいと思うよ。 あるかどうかは知らん。
evalをつかうとこまではいいんだが、それじゃエラーになってあたりまえ
もうすこしヒントをあたえてやろう <?php echo "てst" echo "test"; ?> これを百回ぐらいまわせ。エラーの意味を勉強してこいクズ
こうしろってことか eval($var." (\"テスト\")");
345 :
nobodyさん :2007/11/08(木) 15:44:31 ID:wKfRuyj8
ごめ、普通に記述ミスってた
$var = 'echo'; $str = 'test'; eval("$var\"$str\";");
347 :
nobodyさん :2007/11/08(木) 16:30:21 ID:wKfRuyj8
既にimagecreateで作られた画像のサイズを取得する方法はありませんか?
なんでクラス定数で配列は使えないんすか? 代用品はある? しゃーねーからとりあえず public static getConstArray() { return array("hage","hoge","huge"); } とかしてるけど。
本当に定数なら1個ずつ定義しろ 配列使うなんておかしいだろ常識的に考えて
なんでやねん 十二支 = array("子","丑","寅",・・・); こんな定数があってもええやないか
配列は変数を格納するもの どの言語でも共通事項だろ
スタティックな関数を呼んで、スタティックな変数を初期化しておく。 で、それを定数として使う。 ぐらいだな。
javaが変態言語なだけだろ
フリーズされてないとインデクス変わっちゃうんだから定数とは言いがたいよね 配列は片足以上オブジェクトなんだし、constを持ったクラスってのも代替候補かと思う
>>355 お前馬鹿じゃね?
Javaでもできねえよ
正確にいうと”できてるようにみえる”だけでできてない
定数を配列で宣言してその後に定数書き換えてみろ
書きかえれるから
359 :
nobodyさん :2007/11/08(木) 17:43:44 ID:f2yjpHAc
2つの配列を結合する際、以下のようなことは出来る関数はありますでしょうか? $a = array(a,b,c,d,e,f,g); $b = array(0,1,2,3,4,5); $c = array_hoge($a,$b); var_dump($c); => array(a=>0,b=>1,c=>2,d=>3,e=>4,f=>5,g=>NULL)
360 :
359 :2007/11/08(木) 17:45:43 ID:f2yjpHAc
自己帰結しました。
何のためにクラスを作ってるんだよ 配列を隠蔽したらいいだけでしょ
ちなみにRubyやPerlでは配列・ハッシュの定数が作れる。Pythonには定数定義文が無い。
質問者見下して どの言語でも共通事項だろ 配列使うなんておかしいだろ常識的に考えて とか言っちゃって墓穴掘った。 でfinish?
質問者が馬鹿だったでfinish ソースから察するに中途半端な知識をもったJava厨だったのだろう MS製はどれもできないしな
typed constというものがあってだな・・・
C#でenumの定数はたまに使う 設定とかクラス内にべた書きするならこれ
c++のconst地獄の話題をお呼びですか?
定数ってそんなつかうもんでもないような 設計よく考えてない人多いんじゃないかな 本当に定数にすべきものなのかよく考えて設計すべきだね 特に設定とかあきらかに不変じゃないよね?
少なくともC++とPerlは、定数の配列は不変じゃないけど
>定数の配列は不変じゃない こういうのを定数というのだろうか?
オブジェクトのメンバが静的だと変な設計ってのは無いんだし配列も別によくね? 個人的にはclass Hogeみたいなクラス宣言が、クラスオブジェクトを定数Hogeに代入するだけの某言語の 活用法にびびった
375 :
nobodyさん :2007/11/08(木) 18:39:03 ID:wKfRuyj8
オブジェクトの中の数値1つ取り出したら、 それもオブジェクトになってしまうんだが、 これは(int)で強制的にintにしてもOKなの?
俺的視点(人間観察)
>>366 兄貴肌でいい人
部下のミスを叱りつつも笑いに変えるタイプ
>>367 自己顕示欲が強くて常に他者を馬鹿にするタイプ
人望もリーダーシップもないのに無駄に仕切るので厄介
そのくせ対した能力がない人間が多いのはこれ如何に
>>377 の親父ギャグに不覚にも笑ってしまった俺orz
>>374 だから配列の場合変数のアドレスが固定なだけで内容は可変なんだって
>>375 マニュアルにはintにキャストできる標準の型はbool, float, stringだけとありobjectからはNG
数値がオブジェクトに自動変換されるってことはないんだけど
変換されちゃってる部分のコードどうなってんの?
ちなみに無理やりオブジェクトにしてるなら、こうなってるはず
$obj = (object)777;
print $obj->scalar; // 777
382 :
nobodyさん :2007/11/08(木) 20:38:05 ID:FJG/j4PS
質問です。 GETでログインIDを取得する簡単なログイン画面を作ったんですが、ログインページからアクセスしてもらいたいのに直アクセスされるとそれを防ぐことができませんorz phpファイルを一つずつに対策を打つにも数が多すぎて、できそうにありません。 PHPファイルはログインファイルがあるディレクトリの直下にあるんですが、何かいい方法はありませんでしょうか? ご教授の程宜しくお願いします。
auto_prepend_fileで何とかするか、Apacheで認証したら
>>382 まったく意味がわからんのだが。認証するんじゃなくて、誰が誰かを把握したいだけか?
トラッキングクッキーでも仕込めば?
俺の嫁のかをりちゃんにスパイウェアよくないですよって言われちゃいますよ
http://www.xrea.com/ でPHP5のsimplexml_load_fileという関数を使おうと思ったら
Fatal error: Call to undefined function
というエラーがでました.どうすればよいのでしょうか?
simplexml_load_fileって関数は特別なものなのでしょうか?PHP5で呼び出せていないのでしょうか?
>>386 純粋に聞きたいんだが、何故マニュアルを見ないの?
>>386 xreaのs270サーバ(有料鯖)契約してるから試してみたけど使えるよ。
サーバがPHP5なのか確認してみ。
PHP5ならデフォルトで有効になってるから使えるはず。
コンパイルオプションでdisableにしてるとはおもえないし。
>>382 どんな作り方すればそんな状況になるんだか
391 :
nobodyさん :2007/11/09(金) 01:35:39 ID:+y0OecvH
荒らし対策にアクセス拒否スクリプトを作ってます。 1.取得したIPをブラックリストに記述します。 ↓ 2.ブラックリストにのってるIPはアクセス拒否用のページをみせます。 ここで壁にぶつかってます。IPはコロコロ変わるので、 IPを変えられたら効き目がありません。 どなたかよい案をご伝授ください。
>>382 GETでログインてことは携帯サイトつくってるのか
>>390 最初はログインとかまったく考えてなくて、
あとからログインさせることをやろうとしたんだろ。
設計ミスだからはっきり言って作りなおすくらいの勢いが必要だと思う。
GETでログイン(笑)
長文の質問失礼します。 自鯖をLAMPで構築しました。 そして試しにDBにアクセスしようと試みたのですが、 Fatal error: Call to undefined function mysql_connect() というエラーが返ってきてしまいます(これはmysql_connectなんて関数ねぇよというエラーです)。 モジュールが入ってないのかと思いましたが、phpinfo()で確認してみるとConfigure Command欄にちゃんと'--without-mysql'と出ています。 インスト自体はyum -y install php php-mysqlコマンドでしました。 コマンドphp -vを押すとmsql.soというファイルが指定されたパスに無いというエラーが出ました。 確かに、php.iniに書かれたextension欄に書かれたパスにはありませんでした。 なのでfind / -name "msql.so"でルート以下を全検索してみるも見つからず。。。 ググりまくってみるとphpのソースにmsql.soが入ってるとの情報を得ましたが 先述の通り無かったわけで、 もしかしてこのファイルってyumコマンドでのインストでは作られないとかでしょうか? 環境はPHP Version 5.1.6です。 ちなみに念の為に言っておきますが、mysql.soではなくmsql.soです。
補足 mbstring系の関数は動きます。 phpのモジュールディレクトリを確認してみると mbstring.so というファイルもありました。
ディストリの配布形態なんか知らん
すいません、CentOS5です
401 :
397 :2007/11/09(金) 02:12:47 ID:???
linux板で聞いてきたので解決しました。
402 :
nobodyさん :2007/11/09(金) 02:14:02 ID:+y0OecvH
にせものが出てきたので質問の件よろです。
下らん質問だけど、この板でIDが表示されるのはどういう人なの?
'--without-mysql'って・・・
皮肉ってるだけじゃない?
407 :
nobodyさん :2007/11/09(金) 04:41:22 ID:nXuakKeu
連想配列に入れた値を全て合計して表示するのはどうすればいいんでしょ。
array_sum
409 :
nobodyさん :2007/11/09(金) 06:03:23 ID:nXuakKeu
>>408 こんな時間にレスありがとうございます。
$a = array_sum($b);
とすることで解決しました。大変助かりました。
>>397 msql使わないんならロードするなよ
php.iniのmysql.soはどうなってんだよ
>>410 php.iniに書かれた元々セミコロンでコメントされてたextensionという項目の事ですか?
とりあえずコメントは解除しましたが該当ファイルがどこにも無いんです。。
おそらくこれをロードする事によってmysql_connectを使っても
関数未定義エラーが解決されると思っての事なのですがロードしなくても使えるとかでしょうか?
× mysql_connectを使っても関数未定義エラーが解決されると ○ mysql_connectを使った時の関数未定義エラーが解決されると とりあえず今日帰ったらphp.iniの該当欄をコメントで消して動かしてみます
サンクス!
Who are you?
phpの精霊
417 :
nobodyさん :2007/11/09(金) 10:21:10 ID:Wt4IIdJ1
PHP文庫について語ろうぜ。
それは一企業の宗教だろ
PHP文庫って宗教系なのか? 普通に雑学、ハウツーものだとばかり。
なんだ、松下だったのか。
俺んとこの区の図書館の検索システムはNOT検索ができないから、 PHPで検索するとPHP研究所の出版物が大量に出てくるんだよな
京都駅の八条口出てまっすぐいったところにPHPって書いた建物あるよね
社屋じゃねーか つーか不毛だから止めようぜ…
>PHPとは、“Peace and Happiness through Prosperity”という英語の頭文字をとったもので、 >“繁栄によって平和と幸福を”という意味のことばです。 繁栄による平和と幸福を研究? 研究所ってつけるなら技術的な何かをさしてほしかったね。 ややこしいわw
おい、どうでもいいぞw
ヒント:スレタイ
>>397 php-mysqlパッケージでmysql.soは入ってるけど、iniのmsql.soを有効にしちゃってそういう状態に、
ってことだったらいいよね
なんかきょうは静かだな
Perl糞すぎ。 エラーになってもInternal Server Errorが出るだけでどこにエラーがあるのかブラウザに吐き出してくれないし、CPAN無しじゃおもちゃしかつくれないし。 そのCPANもいちいちコマンドラインからごちゃごちゃ動かさなきゃいけない。 この2点をクリアしても(本当の初心者にはこれさえも無理だろ)、次に待ってるのは記号だらけの汚いソース。 メンテナンス性ゼロ。自分の書いた過去のコード=他人の書いたPHPのコード。 なんなのこれ?早く廃れろよマジで。
またPerl叩きを装ったPHP叩きか しかもコピペだし
>>431 え〜と、PHP逝ってよし。そういうことですか?
こういうわけ分かんないスイッチ持ってる人はマジ勘弁w
Perlの方ができることが多い気がするが、配布する機会があるのなら PHPの方が受け入れられるだろうな。 Perlでせっかく作っても、環境ない、モジュールがない、モジュールインストールめんどくせ、 makeできねー、コードが汚くて保守できないって言われるのがオチ。
もちろんインラインで書くことのデメリットがあるのは認めるよ。 Javaのようにいちいちクラス、メソッドを作った方がバグの混入の可能性を下げられるし、グループ開発では疎結合が好まれるだろう。 が、Perlの記述性の高さは個人の能力を最大限に生かせる。ウェブアプリのような比較的規模の小さいプログラミングではこのメリットは大きいよ。 そして、PHPにはPerlの記述性の高さもJavaの信頼性の高さもないということ。あるのは、とにかく覚えるのが簡単ということだけ。
脳内プログラムでおk
半角英数字のみ、半角数字のみ、全角のみ それぞれを表す正規表現を教えてください
>>441 それは検索すりゃ本当にすぐ分かる事だから、ググレカス
分からなければすぐにぐぐれ あまりにも無能すぎる
<input type="radio" name="test" value="yes">Yes <input type="radio" name="test" value="no">No があってもしhtmlでYesが選ばれた場合何か文字を出力させたいときはどうしたらいいのでしょうか?
>>444 post受け取る
条件分岐
文字列を標準出力に出力
446 :
444 :2007/11/10(土) 00:02:07 ID:???
if($_POST["test"] = "yes") {print "文字列出力";} でおkですか??
Noです
とりあえずPHPに関する本の第1章呼んでから出直せダアホ
449 :
441 :2007/11/10(土) 00:32:01 ID:???
くだらない質問しにきたんでしょ? なにその言い草は!? 知識がないからってバカにしすぎでしょ!!!
>>437 >とにかく覚えるのが簡単ということだけ
それだけあれば十分だし、むしろ一番大事なことだと思われ。
俺はインテリぶるために難解なギリシャ語やラテン語を覚えるくらいなら、
素人でもいいから実用的で簡単な英語を勉強する。
>>450 なにあんた?おれの補足がしたいの?おれに説教してるの?どっち?
452 :
397 :2007/11/10(土) 00:47:00 ID:???
くそったれ。 セミコロンで消してもダメだった。 もう自分でコンパイルしてやるわ。
453 :
397 :2007/11/10(土) 00:50:45 ID:???
ほんと使えねえバカがそろってるスレだなwwwwwwww
>>451 > なにあんた?おれの補足がしたいの?おれに説教してるの?どっち?
偏差値低そうなDQN丸出しの発言テラワロスwwwwwwwww
VIPカーとか乗ってるバカか、引きこもり超キモヲタか、どっちかだろ、お前wwww
455 :
444 :2007/11/10(土) 01:15:14 ID:???
if($_POST["test"] == "yes") {print "文字列出力";} でおkですか?
昔は3高などと言われ、 高学歴、高身長、高収入でした。 現在は、低姿勢、低リスク、低依存なのだそうです。
>>455 OK
だけど、やりたいことがいまいち不明瞭ね。
とりあえずそれでPHP動かしてみればいいんじゃないの。
やりたいことをおまえが知る意味はない。 質問者がやりたいことを質問してるんだ。 それに応えればいいだろヘボ回答者
はぁ。すんません。 htmlでYesが選ばれたとき、とか書いてあったから、PHPが動く前段階の話だったら、そもそもこたえまちがってんなーとか思ったんで。
>>453 >>397 で
> phpinfo()で確認してみるとConfigure Command欄にちゃんと'--without-mysql'と出ています。
こんなこと書いてるようじゃマトモに相手しろってのが無理
なにしろmysql除外してるんだからな
461 :
444 :2007/11/10(土) 02:18:22 ID:???
ありがとうございました 今は色々テストしながら勉強しているところです
>>461 Windows使ってるなら、XAMPPとか入れておくと、勉強するだけなら作業が早くなっていいとおもう。
がんがれ。
xamppはおすすめしない。
勉強するならXAMPPなんて入れんなよ。対極にあるもんじゃねぇか。
だな Windows環境だと設定ファイルいじる習慣も無いだろうから パッケージインストーラなんか使ってるとエラー出た時まともに対処できなくなるよ
しかしコンビニに置いてある雑誌にも「XAMPPを入れよう」なんて煽り記事が。 嫌な時代になったものだ。
>>466 うわぁ・・・
それって、ペーパードライバーに、
「キミも時速200km出るクルマを買って、一般の公道で最高速度で走ろう!」って
言ってるのに等しいな。
200kmが早いかそうでもないか別としてな
つか既にPHP環境があってフォームの取り扱いについて聞いていた461に対して XAMPPを勧める462って何者なんだろう。
死なねぇし、そこまで危険じゃないだろw
テスト環境なんだからxamppでいいじゃん。 1個ずつ入れていって結局動かなくて無駄な時間過ごすやつなんて大勢いるわけで。 大体お前らはなんのためにPHPやってんの? 趣味だろ?そんな本格的に環境作る必要もあるめえ。
>>443 それは穿った考え方し過ぎだよ。
本人の為を思って言ってるんだよ。ここで聞いて解答待つよりも、調べた方が早い。
調べる習慣は身についてたほうがいいよ。
煽りだろうけど。
>>471 だな
実際動かすのは大抵レンタル鯖だしな
>>469 XAMPP知る前に、WindowsでApacheいれてPHPいれてMySQLいれて、設定に失敗して、PHPが正常に動作しなくて悩むことを一ヶ月続けたり、
「やっぱLinuxじゃね?」
とか始まってFC4とかセカンドPCに導入はじめてまた1ヶ月かかってみたり(しかもそれもうまく設定がされず)
結局PHPをいじりたいのにいつまでもいじれない状態になったり。
Webプログラミングとサーバ設定が密接なのはわかるけど、とりあえずPHPやる、ってことを遂行するならXAMPPインストールしてがんばる、っていうのでFAだと思ったんだ。
>>469 実際にプログラムたたく前にここで聞いてるぐらいだから、環境はレンタルサーバとか
使ってんのかなと、思って書いたんだ。
環境もってるんだったら
>>461 にあやまる。すみません。
人が自分と同じくらいできないと思うなw
こんなやつでも一人前のように回答できるすごいスレ
>>460 下記--without-mysqlの説明
MySQL 4.1以上の拡張MySQL APIに対応させるため、MySQL 4.0以下向けの標準MySQL APIには対応させません
つまり、--with-mysqlとすると拡張APIが使えない
480 :
nobodyさん :2007/11/10(土) 14:18:48 ID:OKv92uVB
2〜3ヶ月ぐらい休みの期間に入るんですが お勧めのオープンソースあります? セキュリティ関連とコードの保守性を詳しく学びたいんで
コードの保守性ならフレームワークのソースでも見ればいいんじゃないの? MVCモデルにたいして理解を深める。 セキュリティに関してはどういうの学びたいかしらないけど、 Webプログラムに関してでもPHPで学ぶのはやめたほうがいいとおもう。
482 :
nobodyさん :2007/11/10(土) 14:52:10 ID:OKv92uVB
>>479 MySQL4.1以前は--with-mysql
MySQL4.1以降の機能を使うにはmsqli拡張サポートを有効にする為に--with-mysqli
デフォルトのphpはmysqlをサポートしていないので、いづれかのオプション指定して
phpをコンパイル、インストールしなければ使えんのでしょ
PEAR, PECLで対応できるのかは知らん
>>483 煽りたいのはわかるが無知をしれよWWWWWWWWWWWWWWWW
485 :
397 :2007/11/10(土) 15:22:39 ID:???
度々すんません。 自己解決しました。 ありがとうございました。
486 :
397 :2007/11/10(土) 15:31:46 ID:???
>>485 誰ですか?
てんで解決できませんのでヒントだけでも・・・
>>468 、
>>470 >一般の公道で
>一般の公道で
>一般の公道で
お前らみたいなバカが猛スピードで一般道を走り、死亡事故を起こすんだよチンカス。
一人で田んぼに落ちて氏ね。
>一人で田んぼに落ちて氏ね。 なんかワロタ
田舎出身だが田んぼより用水路の方が危ないぜ
print_r($array) で表示される$arrayの内容を変数に入れたいのですが、 簡単な方法はあるでしょうか? print_r だとそのまま画面に表示されてしまいますので。。
$a = $arr[0]; $b = $arr[1]; $c = $arr[2]; $d = $arr[3]; $e = $arr[4];
子供のとき余所見して自転車のってたら4mぐらい下の田んぼに落ちて瀕死になったぞwwww
>>491 extract()
マニュアルの警告を読んでね
このスレにマニュアルの文面貼ったほうが早いような気がしてきた
497 :
nobodyさん :2007/11/10(土) 17:56:42 ID:hWD6ynZM
信頼できないユーザーからの入力で、画面に出力したりデータベースに登録したりしない、 例えば if($_GET[name] == "nanashi") とか if(ereg("^[a-zA-Z0-9]+$",$_GET[name])) とかのコードを書く場合に気をつけるべきことはありますか? こういうコードが書かれている場合に、何か予期しない動作を引き起こさせることは可能ですか?
extractとかevalとかsystemとか、危険な関数使ってない限り問題ないんじゃないかな。 危険な関数の一覧とかどっかにあったっけ?
XSSがあるからechoも危険
UTF-8で作らない奴はXSS処理でコードがふえますよ
>>501 そんなに丁寧に説明されてるのに、これ以上どう説明しろというんだ
>>501 毎回思うんだけど、これって何が問題なの?
こんなことやっても、自分で見てる画面に自分が書いたスクリプト仕込めるだけじゃん。
悪戯するためには、自分が書いたスクリプトをほかの人に見せないとダメなんじゃねーの?
lol
505 :
nobodyさん :2007/11/10(土) 20:20:34 ID:HFAkC7DG
バカな質問ですが、 $_SERVER["HTTP_REFERER"] コレだと直近のURLだと思うのですが、その一つ前のURLをゲットできる 関数はあるのでしょうか?
無理です。というか、そもそもリファラはブラウザの自己申告です。 はい次
>>507 どっかの鯖借りてブラクラ自分で書いたほうが速くね?
$aisatsu='$nameさんからの挨拶です'; これじゃうまく表示されませんが、$nameのぶぶんはどう書けばいいのでしょうか? .$name. <?=name?> {$name} いろいろ試してみましたが・・・ できませんでした
510 :
あ :2007/11/10(土) 21:14:29 ID:???
これでできました ^^:; $aisatsu="{$f_name}さんからの挨拶です";
^0^;
512 :
nobodyさん :2007/11/10(土) 21:16:37 ID:lwmhHRu6
>>509 $aisatsu = $name.'さんからの挨拶です';
>>512 $aisatsu="{$name}さんからの挨拶です";
より
$aisatsu = $name.'さんからの挨拶です';
のほうがいいんですか? ^^;
514 :
nobodyさん :2007/11/10(土) 21:35:48 ID:lwmhHRu6
速度面での違いがある。気にする程じゃないけどねw 後者の方が速かったはず。
速さのことは気にするな。 出力するなら echo $name,'さんからの挨拶です'; が最強
テンプレートが最強
>>509 シングルクオートとダブルクオートの違い。
あとはググるかマニュアル
phpでアクセスカウンタを作りました。 TOPページに表示したいのですが トップページは.htmlにしたいのです。 よく、アクセスカウンタの貸し出し屋さんがやってるように <img>を貼り付けるやり方を真似てみて アクセスカウンタのphpファイルをリンクで貼り付けても 当たり前ですができませんw どうやればできるのでしょう? おねがいします!
カウンタからトップページにリダイレクトすれば もしくはframeかなにかでカウンタを表示するとか
>>519 phpをhtmlに変えればいいじゃんhtaccessで
つか普通はそうしてると思うけど。
frameをすすめるやつがいるなんて(笑)
>>522 こんなやつのサイトみるとphpなくせに
フレームでメニューとかつくってんだろなw
まったくphpの意味なしw
みなさん、ありがとうございました。
>>521 さんの方法でやりたいと思います。
>>524 topはindexだからなんでもいいと思うぞ
imgタグのsrc属性でphp叩けばいいじゃん
>>523 わかったわかった(笑)
顔真っ赤にして言わなくてもいいよ、だまっとくからさ(笑)
529 :
nobodyさん :2007/11/11(日) 13:14:30 ID:O7WKfppj
質問なんですけど、、 登録1→確認1→確定1→登録2→確認2→確定2 という処理をするとき、 確認用の.phpの動作は、DBの確認用テーブルに登録情報を仮登録して、 続けて、その仮登録したデータを呼び出して表示、確定ボタンで確定ページへ …という処理を考えてます。 このとき、確認.phpを登録処理ごとに用意するとファイル数が膨大になるんで、登録.phpで <input type="hidden" name="touroku_page" value="<?php echo basename(__FILE__); ?>" /> として、確認.phpでは セッションでわたってきたtouroku_pageの値ごとに、仮登録用に接続する テーブル名その他を振り分けようかと思っています。 こういう処理って一般的ではないというかおかしいでしょうか? 素人なんでちょっと不安です ご回答お願いします。
530 :
nobodyさん :2007/11/11(日) 13:18:44 ID:Y1Wz2D6O
板違いかもしれませんが、お願いします。
scriptタグのsrc属性でphpを指定する場合、
<script type="text/javascript"
src="
http://example.com/example.php?param=1 "></script>
のように、変数はURLと一緒に渡すしか方法は存在しないのでしょうか?
フォームなどから値をPOSTするなどはできますか?
>>529 一般的ではないというかおかしいです。
普通はDBに突っ込まずにセッション変数に突っ込みます。
・&#31090(Shift_JIS)->?(UTF-8) ・?(UTF-8)->&#31090(Shift_JIS) 後者が出来ない・・・。?とか以外のShift_JISで表現出来る文字はおkなんだけど・・・ mb_decode_numericentityとmb_encode_numericentityを上手に使えばいいっぽいけど、文字化け。 最初から全部数値参照にすればおkなんだけど、それだと出力されたソースが見にくい。 0x0,0x10000,0,0xfffffでは無謀であると出力された文字が言っております 上手なconvert mapの書き方教えてくれ。
533 :
529 :2007/11/11(日) 13:39:05 ID:???
>>531 ありがとうございます
>普通はDBに突っ込まずにセッション変数に突っ込みます。
これは、確認用の表示はセッションの値を参照するってことですよね?
そのことは承知で仮登録テーブルを使ってやることにしました(別の話だったらすみません)
振り分けについてはどうでしょう? まずいやりかたでしょうか
534 :
532 :2007/11/11(日) 13:51:36 ID:???
質問です。 音楽のストリーミング配信を行っております。 そこで、何回ダウンロードされたかを知るには何の関数を使えばよろしいでしょうか? 「ダウンロードカウンタ」で検索してそのまま使おうかと思ったのですが 気に入ったのが無かったので自分で作ろうと思いました。 けど、ダウンロードを感知するにはどうすればよいのかが分かりません。
ダウンロード処理の前か後に回数+1して記録する処理を加えればおk
537 :
nobodyさん :2007/11/11(日) 21:06:44 ID:D5pinUYp
質問させてください。 文字列を16進数として変数に格納するにはどうしたらよいのでしょうか。 例: $hensu = 'AA'; を $hensu = 0xAA; として扱いたいのです。
538 :
535 :2007/11/11(日) 21:08:47 ID:???
例えば、ページアクセスの場合は $_SERVER['SCRIPT_NAME'] で取得できると思いますが、 asxファイルやmp3ファイルの場合は どうすれば、取得できるのでしょうか?
539 :
535 :2007/11/11(日) 21:16:10 ID:???
ん・・・。 メディアプレーヤーの再生ボタンを「ポチッ」だから ややこしくなるのか? プレーヤー表示させないで1回だけ再生するようにして もう1回聞きたいときは、リロードするなりして もう一回ページにアクセスするようにすれば、 ページのカウンタでもいいのか・・・。 という、自己解決で大ジョブですか?w
自分でそうしたいならそれでいいじゃん。 壁にぶつかる前から石橋を叩いて渡るようなことしてんじゃねえよ
>>537 やりたいことが違ってたら悪いけど
$hensu = hexdec($hensu);
542 :
535 :2007/11/11(日) 21:21:37 ID:???
>>540 了解!
もうちょっと悩んでみます。
しかも、上のやり方だと全部にhtmlファイルを作らなきゃ
いけないので、変更があったりした場合大変だと言う事に
気づきました。
う〜ん。
543 :
nobodyさん :2007/11/11(日) 21:23:32 ID:dpXsmrQl
PHP Version 5.2.4 mysqlのことなんですけど phpでmysqlのテーブルのフィールド情報を取得して | Field | Type | Null | Key | Default | Extra | ってありますよね? そのフィールドの一つのNULLがありますよね? 配列で全フィールド情報を取得して print_r($field_array); でみたら [NULL] => YES [NULL] => NO などとなってるので [NULL]がNOだけなのを選ぼうと foreach($field as $key => $value) if($value["NULL"]=="NO") print($value["Field"]); とやってもなにもえられませんでした。。。 "NO"の代わりにTRUE,FALSE,NULL,0,'0',"0",1,'1',"1","YES","NO",YES,NO 全部試しましたけど。 期待してる値は帰ってきませんでした。 FALSE,0,NULL,FALSEは($value["NULL"]がYESのも含んで)全部の値が戻ってくるんですが [NULL] => NOだけとか[NULL] => YESだけとかって制御文で振り分けることって出来ないんしょうか?
なんのためにPHPがあるんだ馬鹿
教える気がないなら黙って放置しとけばいいのに くだらない優越感に浸ってんじゃねーよ馬鹿
>>545 教えてほしいからってID伏せて文句いうのは逆効果
そう考えるのが普通だが、このスレには きゃつ が潜んでいる
549 :
543 :2007/11/11(日) 21:56:09 ID:???
543ですけど545自分じゃないですよ;;
>>537 $hensu = 'AA';
$hensu = pack('H2', $hensu);
// echo bin2hex($hensu);
実際は 'H2' じゃ足りないんだろうけど、あとはマニュアル読んでみてください。
はいはい(笑)
553 :
nobodyさん :2007/11/11(日) 22:37:23 ID:P3ZXl3i/
まだphp最近学びだしたばかりで本見ながらやってるんですが、 わからないので質問します。 mkdir関数やtouch関数で、ディレクトリやファイルを作成できません。 ネットワーク上にディレクトリやファイルを作成する場合は、 ftp_****関数など使わないとできないんでしょうか? もしそうなら、mkdir関数などは何故必要なのでしょうか? 行き詰ってしまいました、教えて下さいおねがいします。
555 :
553 :2007/11/11(日) 22:51:33 ID:???
>>554 ありがとうございます
作成するにも権限があるのは知りませんでした
今はコアサーバーでレンタルしてるんですが、どうすれば権限を持てますか?
質問の内容がまったくずれていたらすいません
ウインの人にはパーミッションとか理解出来ないんだろうな。
>>555 レン鯖でPHP使うならパーミッションとセーフモードは知っておかないと
559 :
553 :2007/11/11(日) 23:38:36 ID:???
>>556 ウインの人とは私の事でしょうか?意味がわかりません
>>557 ffftp使ってるんで、パーミッションは見た事あります。
でも作成権限はわかりませんでした。
セーフモード知らないんでググってきます。
>>558 そうは思っていません
ウインの人 = ffftp使ってるんで
ftpって懐かしいなー いまだに使ってるのか
あれだよ。 ウィンなやつの質問には名前欄に「win使用者」って書くようにしろ。 unix系とウィンとで話がかみ合わない。 と言うか別にスレ立てろ。
それは経験不足だから判断できないんじゃないのか?
>>562 さんがね
>>562 「名前:win使用者」も、たぶんうに系レン鯖ユーザなわけで。
ローカルで環境作ってるのはいいことだと思うよ。
話が噛みあいそうにないのは「レン鯖上のUn*xで動いてるPHPしか知りません」な層かなー。
565 :
nobodyさん :2007/11/12(月) 00:24:33 ID:GJNsnOAp
ういんて何?漏れもftpなんだけど、みんなちがうの
Perl のカンマ演算子のようなものを使いたいのですが , を使ったらエラーが出ました。 return $t->html('<b>' . (array_push($array, $text), $text) . '</b>'); 仕方ないのでこのように書きましたが、どうも落ち着きません。 return $t->html('<b>' . (array_push($array, $text) ? $text : $text) . '</b>'); 他に良い書き方はありませんでしょうか。
array_push($array, $text); return $t->html('<b>' . $text . '</b>');
>>553 はどうせxreaかなんかだろ?
最近コアはじめたらしいからな。
設定できない初心者のためにxreaが自前のサーバ構成で立ててくれるんだろ?
ルート権限があるだろうコアサーバでもったいないきもするが。
それはおいといて
よくわからないのであればcgiで動かしてみなはれ
ローカルでテストしろよ
570 :
nobodyさん :2007/11/12(月) 02:31:30 ID:i2Zg1ZXp
すいません教えてください。 レンタルしたサーバがPHPのモジュールではなく、CGIでPHPが動くって書いてありました。 下の文をindex.phpでサーバにアップロードしたのですが、動きませんでした。 <?php echo "はじめてのPHP"; ?> モジュール用の書き方と、CGI用の書き方があるのでしょうか? PERLみたいに#!usr/bin/perlみたいなの必要ですか?
>>570 どこのサーバ屋か知らないけれど
ここで質問するより、そのサーバ屋で「実行属性をつけるだけでOK」とか
「1行めにこう書け」とか「拡張子は.cgiで」とかいう記述を探すほうがいいと思うよ。
xreaな希ガス
ttp://nenshu.in/ >カウンターぶっこわれました。
>200万はいってると思う。
200万程度で壊れるカウンターを作ってしまう(しかもそれを直さない)技術屋の顔が見てみたい。
574 :
566 :2007/11/12(月) 04:55:39 ID:???
>>567 難しいようなので諦めます。
回答ありがとうございました。
POSTで送られてきたデータをSQL文に格納する際、$_POST['namae']の形で 直接入れることはできないんでしょうか? $sql = "insert into $furiwake['table'] values(0, $_POST['namae'])"; としたらエラーになりました extract($_POST); をするしかないんですか?
>>575 引用符が重複してるからエラーになる
変数は外に出す
$sql = "insert into ". $furiwake['table'] . " values(0, " . $_POST['namae'] . ")";
>>576 そっか、連結演算子か! すっかり忘れてました やってみます。
あと、、extract($_POST); っていうのは、やらないほうがいい理由ってあるんでしょうか?
ありがとうございました
質問します。 $DB = NewADOConnection(_DB_TYPE); $DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME); $sql = 'insert into test values(0,"AAA", BBB", "", "CCC", 1)'; $DB -> Execute($sql); …としたところ、DBにデータが登録されないようです。 定数が目的の値を取れてることと、 echo $DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME); が 1を返すことは確認してあります。 どこがおかしいのでしょう? 環境はwinXP apache2 php5 mysql5です よろしくお願いします。
>>575 >POSTで送られてきたデータをSQL文に格納する際、$_POST['namae']の形で直接入れる
お前アタマ大丈夫か?
とりあえず俺はお前のデータベース内に忍び込むことは楽勝だ。
mysql_real_escape_string とか使わないと SQL インジェクションに脆弱性を持つよって言えばいいだけのこと
なんか、そう言われてるからやってますって感じで怖いな。
583 :
578 :2007/11/12(月) 15:16:56 ID:???
おれさあ今日3回目なんだけど回答おねがいします><
584 :
nobodyさん :2007/11/12(月) 15:58:21 ID:cLhnRAhS
585 :
nobodyさん :2007/11/12(月) 16:13:07 ID:Bm4zeipd
すみません。PHPをC:\program1\phpフォルダに作ってコンソールで本のサンプルアプリを 動作させています。するとPEAR::DBのところで以下のエラーが出ます。 Fatal error: require_once(): Failed opening required 'DB.php' (include_path='.;C :\php5\pear') in C:\Program1\PHP\querySample.php on line 2 該当の2行目は require_once("DB.php"); です。 しかし、C:\Windowsにおいてあるphp.iniのinclude_pathは include_path = ".;c:\php\includes;c:\php\PEAR"と設定してあり ディレクトリ構成にも問題はありませんし、Web上で開いた phpinfo()にも.;c:\php\includes;c:\php\PEARがinclude_pathとしてのっております。 さらにWebブラウザで開くアプリだとちゃんとPEARでのアプリケーションも成り立ちます。 同様の行は同じくrequire_once("DB.php");です。 PHP5.2.4 PEAR::DB1.7.13stable WindowsXPです。 コマンドライン上から動かすプログラムがうまく動作しません。よろしくお願いします。
586 :
585 :2007/11/12(月) 16:27:45 ID:???
>>585 です。みなさん、お騒がせしました。
いじくってるうちにできました。。なんでだろ。。
思案をめぐらせて下さった方々、大変ありがとうございました。
貴重な時間を割いてしまい、申し訳なくおもっております。
ありがとうございました。
iniにphp5フォルダを書いてないのに指定されてるのは何故かしら
tskn
589 :
585 :2007/11/12(月) 16:37:19 ID:???
>>587 phpinfo()のWindowsディレクトリとかphp.iniのパスとか調べたんですが。。
本当になんなんでしょう。。PCを再インストールした後
初めてコマンドプロンプトからのPHPプログラムを実行したんですが、
原因不明です。。
どうもありがとうございました。
あれ?本当に解決だったんか。 いつもの偽者だと思ってた。
591 :
585 :2007/11/12(月) 17:46:25 ID:???
すみません、勝手に話を進めないでください。 何をして良いのかわかりません。 手順のご教授お願いいたします。
?
593 :
585 ◆qNZFGy9PLs :2007/11/12(月) 18:21:28 ID:Bm4zeipd
ID出して、トリップつけました。本当に解決済みです。 偽者にだまされないでください。ありがとうございました。
後の人のために解決方法を書いておくのが最低限のマナーだと思うが
595 :
578 :2007/11/12(月) 18:48:09 ID:???
>>583 は僕ではありません
アドバイスいただけたら嬉しいです。よろしくお願いします。
解決方法も教えてくれない回答者が偉そうにくちだすなっ!
さあ、コードうpできた人が本物だ!
カラムの型とかNOT NULL制約のせいじゃないの ADOConnectionがどうエラー返してくるのか知らんが
600 :
nobodyさん :2007/11/12(月) 19:24:21 ID:TCsFRtuN
($aaa, $bbb, $ccc) = split("セパレータ", $test); こんな代入方法ってできますか? $testには あセパレータいセパレータう というデータが入っているとします。
601 :
nobodyさん :2007/11/12(月) 19:26:33 ID:KZwgk9tb
>>595 $sql出力して、そのSQLが実行できるか直接ためしてみ。
あとエラーはなんかでてないの?
>>600 普通は配列に入れると思うけど…。
そのやり方ができるかどうかは・・・試したらすぐわかる。
見たこと無いからたぶんダメな方法
list($aaa, $bbb, $ccc) = split("セパレータ", $test);
604 :
578 :2007/11/12(月) 19:56:52 ID:???
>>601 エラーは出ないんですよねー
すみません、直接プロンプトから打ち込むの試してみます。
605 :
nobodyさん :2007/11/12(月) 19:58:15 ID:TCsFRtuN
606 :
578 :2007/11/12(月) 20:17:55 ID:???
>>601 ありがとうございました。解決しました。
mysql側で not null default(1) と指定してるカラムに入れる値をSQL文で
指定していなかった(空欄)のが原因だったみたいです。ありがとうございました。
607 :
578 :2007/11/12(月) 20:42:38 ID:???
>>601 できました!ありがとうございます!
>>606 は別の人ですが、参考になって解決しました。
偽者さんもありがとうございます!
質問 父親が日本人とイギリス人のハーフ 母親がアフリカ人とメキシコ人のハーフ その子供はハーフっていいますか?
>>578 そのものずばりを回答してくれた599へのシカトっぷりに感動した。
613 :
530 :2007/11/12(月) 22:09:43 ID:grfUWjRN
530ですが、やはり板違いでしょうか。 どなたか誘導をお願いします。
615 :
578 :2007/11/12(月) 22:20:13 ID:???
>>599 すみません NOT NULL制約とか知らなかったもので気づきませんでした
その他答えてくれた方、ありがとうございます。 いろいろ勉強します
>>607 何やってるんですか?
>>613 変数渡して何がしたいのかよくわからんw
617 :
530 :2007/11/12(月) 22:34:18 ID:grfUWjRN
>>614 ありがとうございます。
その一言をずっと待っていました。
>>613 何をやりたいのかが分からん
POSTでパラメータを渡したいならフォームでPOSTして、
その値を元に
>>530 のGETで呼び出すパラメータを書き換えればいいんじゃないの?
619 :
530 :2007/11/12(月) 22:54:15 ID:grfUWjRN
>>618 ありがとうございます。試してみます。
scriptタグを使う場合、どうPOSTすればいいのかがわかりませんでした。
例えば、javascriptで新しくウィンドウを開き
javascriptで以下のコードを出力します
<script type="text/javascript" src="
http://example.com/example.php? "></script>
ここで指定するphpに変数を渡したいのです。
GETとPOSTの違いからまず学んだほうがいいかと
大人しくGETで渡しておけば良い
>>619 example.php?a=adesu&b=bdesu
第一因子のみ?を使い、二番目からは&
これで$_GET['a']と$_GET['b']が渡されます
>>619 ハハーン、さてはまぐまぐとかのメルマガに勝手に登録しようとしてるな?
前から思ってたけど、ここ相当レベル低いよね
627 :
530 :2007/11/12(月) 23:43:40 ID:grfUWjRN
>>622 ありがとうございます。
scriptタグを使う場合,その方法しかないのか?
というのが疑問でした。
それ以外の方法を何に使うのか? というのが私の疑問でした
629 :
530 :2007/11/13(火) 00:23:52 ID:KSv+RCrr
>>628 GETよりPOSTの方が制限が少ない・安全等と思い込んでいたからです。
URLのエンコードも面倒くさいから出来れば避けたいと考えていました。
ですからGET以外で値を渡す方法を探していました。
私の探している手法は不正なことに用いる手法なのですか?
phpが動くけど、出力にいちいち広告がくっつくレンタルサーバを借りています。
Javascriptとしてコードを出力すれば広告が付かないようなので、なんとか頑張っているところです。
確かに、やろうとしていることはセコイです。
最終的に別の鯖でレンタルしているブログにscriptタグを貼り付けてphpを呼び出そうとしています。
内容は、趣味ですから、”なんとかメーカー”とか適当に作りたいと思ってます。
疑問は晴れましたでしょうか。
630 :
nobodyさん :2007/11/13(火) 00:45:35 ID:OgFU93nz
金額を表示する時 3桁ごとに,を入れたいのですが どうすればできますか?
>>629 そもそも考え方がおかしいよ、キミは。P2P厨にありがちな思考パターンだけどさ。
スペースを提供している側は、広告を表示する事と引き換えに貸し出してるんだから、
利用者はそれに従うべき。どうしても表示させたくないなら、金払えって話。
無料のレン鯖で満足出来るようなら月々数百円で済むでしょ。
広告表示させない為だけに訳の分からん実装しようとするなよw
エネルギー使う方向間違ってるって。
>>630 sprintf
>>630 echo number_format($price)
>>629 はアダルトサイトと推測する
アダルトは高いからね
634 :
530 :2007/11/13(火) 01:22:04 ID:KSv+RCrr
>>631 広告うんぬんはオマケです。
結局はphpが動かないブログのサーバAとphpが動くサーバBがあり、
サーバBでのphpの処理結果をサーバAで表示させたいのです。
なるべく画面遷移をせず、なるべく手軽に。だからscriptタグにこだわっているのです。
631氏はどうしても私を説教したいようですね。
最初からYESかNOかで答えられまでに質問を分解しているのに。
614氏への尊敬の念を禁じえません。
>>629 セコイとかいうレベルじゃなくて、規約違反。
下手すりゃ詐欺行為。
釣りだと思うが、こういう質問をみるとムカツいてくるね
637 :
631 :2007/11/13(火) 01:32:53 ID:???
>>634 誤解してるかもしれないから一応言っておくと、俺は君に対してまだ1回しかレスしてないし、
どうしても説教したいって訳でもないよ。
ただ君が色々な意味で勿体無い考え方をしていると思ったから指摘をしただけ。
638 :
530 :2007/11/13(火) 01:40:10 ID:KSv+RCrr
>>629 規約的には大丈夫でした。広告消してはダメとはあるけど、
無い物をつけろとは書いてない。
>>636 寿命縮みますよ。 ご自愛ください。
>>637 図星だったので感情的になりました。すみません。
でもアダルトだのまぐまぐだのは本当に考えて無いです。
でもお金になるなら今から考えます。
おまえみたいなやつはもうこないでくれ
>>638 ヒント:Ajax
2,3冊本を読んでからだな
※規約違反の助長になりますので回答は控えてください
642 :
530 :2007/11/13(火) 01:51:08 ID:KSv+RCrr
>>640 ありがとうございます。
サーバをまたぐのでJSONP?とかになるのでしょうか。
勉強してみます。
>>639 "お前みたいな奴"をもっと明確に定義すれば、今後役立つでしょう。
私みたいな奴は来なくなるかも知れません。
>>642 "お前みたいな奴"じゃなくて"お前"は来なくていいよ。
※規約違反の助長になりますので回答は控えてください ※規約違反の助長になりますので回答は控えてください ※規約違反の助長になりますので回答は控えてください ※規約違反の助長になりますので回答は控えてください
645 :
530 :2007/11/13(火) 02:03:43 ID:KSv+RCrr
>>641 >>644 広告消えるのは副産物です。
>>634 がメインの目的です。
ていうか規約違反じゃないです。
広告消すためだけだったら面倒くさすぎてやってられません。
>>643 あなたみたいな人が気に入りました。また来ます。
あと"お前"に"お前"呼ばわりされる筋合いはない。
うぜえwww
だんだん態度が大きくなっているのは実に興味深い。 アスペルガー症候群の一例としてここまでの書き込みをじっくり研究してみることにする。 あとついでだが、広告を表示しない場合は規約違反に当たる。 例外として認められるには普通はそこの管理者の同意が必要だ。 とにかくこの場合は、故意とみなされるので紛れも無く規約違反だろう。
ときどき、お客さんを歓迎しすぎて心を込めてお相手してしまうのは お前ら(のうちの一部の人)のよくないところだと思いますよ。 「お客さんも周りも楽しそうだから、まあいいか」とも思うけど。
んと…php にて ssl を使って、とあるサイトに https post したいんだけど、 ググってみたらどれも fsockopen を使ったサンプルばかりで、 stream_context_create, stream_get_contents は使えないんでしょうか? 使用している php バージョンは 5.1.6 です
650 :
649 :2007/11/13(火) 05:43:53 ID:???
自己解決しました
今度からは自分で悩んで解決できなかったときだけ
>>1 をよく読んでから質問しますね。
↑誰、コイツ? ID表示されないからってフザケタ事するなよ。
次スレからは質問時トリップにした方が良いかもな
は? お前らは黙って答えとけ 答えられないなら書き込むな ハゲが
649=651 だけど、すぐレス付いたから何かと思って見てみれば…
>>652 そうだね。ここと Web制作板は sage ない限り ID非表示になるしな…
650 みたいなクズも沸いてくるしな。
ま、ついでに 649 に補足だけど、なんで fsockopen が嫌かと言うと、
http と https で、関数使い分けしないとならないのが面倒臭いというのが理由。
ラッパー関数作ってごまかしてるけど…ソースコード見るとどうもスマートじゃない…
650=653 か。解りやすいねw
このスレ質問者を偽造する馬鹿が最近出てきたね。
>>654 質問するときは綺麗な言葉を使いましょう
649 名前:nobodyさん[sage] 投稿日:2007/11/13(火) 05:29:35 ID:???
んと…php にて ssl を使って、とあるサイトに https post したいんだけど、
ググってみたらどれも fsockopen を使ったサンプルばかりで、
stream_context_create, stream_get_contents は使えないんでしょうか?
使用している php バージョンは 5.1.6 です
651 名前:nobodyさん[sage] 投稿日:2007/11/13(火) 06:05:19 ID:???
↑誰、コイツ?
ID表示されないからってフザケタ事するなよ。
654 名前:nobodyさん[sage] 投稿日:2007/11/13(火) 06:18:16 ID:???
649=651 だけど、すぐレス付いたから何かと思って見てみれば…
>>652 そうだね。ここと Web制作板は sage ない限り ID非表示になるしな…
650 みたいなクズも沸いてくるしな。
馬鹿を馬鹿にするのは問題ない
PHPでxlsって読めないんでしょうか? csv形式なら読めるのは分かるのですが…。 ググってみたけど分からず困っています。 どなたかよろしくお願いします。
>>656 たまに沸くのは仕方ない。
アレが楽しい時代があるんだよ。誰かにかまってほしいときとか
粘着はうざいけど、実際
>>1 読んでなかった本人が悪いんだし、しょうがないなw
>>660 Spreadsheet_Excel_Reader
でも、Windowsなら別の
別にえらそうでもなくね? 正論だと思うが。 以前ってここID表示推奨じゃなかったっけか、どっか別の質問スレと勘違いしてるかな。
聞きたいんですけど、みんなフォームの入力値の文字数や半角規制のチェックって どうしてるんですか? pear の htmlQuickFormですか? 自分はcssとの組み合わせ方が良くわからないので使ってないんですが。。 ほかに簡単にチェックできる方法ないですか?
>>665 フレームワークのバリデーションチェック使ってる
ユーザ向けはJavaScriptで簡易チェック
>>665 基本はPHP側で自前でチェックする
文字数はstrlenつかったり半角規制は正規表現などなど
2重にHTML側でもJavaScrptでチェックしたり
inputにmaxlength指定したり根本的ではないが簡易的な対策をする
FWつかってる環境なら
>>666 だが
このスレ見てる質問者がFW使ってるとも思えないし・・・
FWってさあ、Fireworksのこと? URLとかあれば自分で調べられるんだけど・・・ ありがとうございました。
>>667 バカかおめえ?
FWは鯖で使うものだよw
FWはフレームワークの略の可能性も。略語は控えた方がいいよね。
いやぁ・・・ 状況判断でFW=フレームワークってわかるでしょ。 なんでWebプログラミング扱ってるこのスレでFireworksが出てくるのかが理解不能。
673 :
667 :2007/11/13(火) 14:45:25 ID:???
>>669 ?
そんなの知ってるよ
ただFWで開発してるような人間がそんな質問する分けないと思っただけ
環境っていう言い方が気にいらなかったか?
FW ForWard -> スポーツ FireWorks -> デザイン FireWall -> セキュリティ FrameWork -> プログラム
フレームワークってどういう役に立つものなの?
>>675 みんなが作りそうなものをあらかじめ装備しているので
そこの手間がはぶける
携帯からアメダスの情報を見たいなと思ってこんなのを書きました。
全く問題無く動作するのですが、もっと短いコードで書くにはどうすれば良いですか?
<?php
$handle = fopen('
http://www.jma.go.jp/jp/amedas_h/today-14163.html?groupCode=12&areaCode=000 ', "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle);
if (preg_match("/div_table/", $buffer)) {
break;
}
}
while (!feof($handle)) {
$main = fgets($handle);
echo $main;
if (preg_match("/<\/table>/", $main)) {
break;
}
}
fclose($handle);
}
?>
でもFW独自の作法を勉強する手間が結局発生する。
>>673 グラフィックを専門にしてる俺にあやまれ!
ごばく!!
>>672 よ、趣味でphpやってて本業グラフィック使いの俺にあやまれ!
650=653=658
682 :
nobodyさん :2007/11/13(火) 16:05:33 ID:Bvnlm0Kv
foreachで渡す配列が空だとWarningが出ますが、 配列が空でもWarningを出さない簡単な方法はあるでしょうか? #@foreachみたいな 事前に値をセットしたり、if文で配列が空ならば処理を飛ばす、等の (真っ当な?)回避方法があるのはわかっております。
if で回避できることは解っていても尚、foreach に渡したいのか!何故か!
自分で答えだしてんじゃんwまあ@を使わないやり方なら 配列かどうか調べるとかそういうのやればいいんじゃない
その真っ当な回避方法が一番簡単だと思うぞ
686 :
nobodyさん :2007/11/13(火) 16:20:55 ID:Bvnlm0Kv
>>683 面倒くさいってだけです。ごめんなさい。
>>684 いや、foreachは@使えないんですよ。
でも@的なお手軽回避をする方法があったらいいなあ、と。
そのめんどくさいってのをやらず回り道するほうがめんどくさいと思えよw
688 :
nobodyさん :2007/11/13(火) 16:23:27 ID:Bvnlm0Kv
>>185 でも、
@foreach($data as $a => $b) {
処理
}
で済むところが
if (is_array($data)) {
foreach ($data as $a => $b) {
処理
}
}
になるのは、面倒くさい上にインデントも深くなるし。。。
>>688 「@」に相当するラッパー関数を自作すりゃ済む話だろうよ。
691 :
nobodyさん :2007/11/13(火) 16:26:43 ID:Bvnlm0Kv
それを勉強しろよw
くんくん なんか昨日の粘着みたいな臭いがするなw
>>689 cgiがあるところは外部サーバ?
それならimageとして読み込んでやればOK
695 :
nobodyさん :2007/11/13(火) 16:46:23 ID:Bvnlm0Kv
>>692 今知りうる知識のキーワードでググってみましたが、
wrapper関数の作り方は出てこなかったです
ヒントください
696 :
689 :2007/11/13(火) 16:54:33 ID:???
>>694 ありがとうございます。
ちなみにcgiは同じサーバー内です。(gdで作成,出力はpng)
$img = imagecreatefrompng($url);
では駄目でした。
>>696 fontまでのURLは指定してあるんだろうな?
ていうかコード省略せず張れよ。
てめえのコードなんざありふれてんだからパクられるの気にすることでもない
判断式で当てはまっても抜け出さないで、とりあえず全ての条件に通すことって可能? if文は条件分岐なんだから目的が元々違うだろうし、適当な既存の構文とかあんのかな。 でなければ一つ一つif文を網羅していく方法しかないのだろうか。
id出し忘れ
700 :
698 :2007/11/13(火) 17:15:10 ID:w5Alq5vf
すんません
701 :
689 :2007/11/13(火) 17:30:02 ID:???
>>697 ありがとうございます。コードですがFPDF+PDIでテンプレ読み込みそこに
CGIで作成した画像を埋め込む事をしたのです。実際のコードは下記の通りです。
<?php
define('FPDF_FONTPATH','font/');
require('fpdi.php');
$GLOBALS['EUC2SJIS'] = false; // このファイルがS-JISの場合
$pdf =& new fpdi();
$pagecount = $pdf->setSourceFile("test.pdf");
$tplidx = $pdf->ImportPage(1);
$pdf->addPage();
$pdf->useTemplate($tplidx,5,5,200);
//画像 ※ここからがわかりません。
$url = '
http://www.hoge.com/cgi-bin/hoge.cgi?dt1=1+2+3+4 ';
$img = @imagecreatefrompng($url);
$pdf->Image($img,100,100);
// 表示
$pdf->Output();
imagedestroy($img);
?>
702 :
698 :2007/11/13(火) 17:42:40 ID:w5Alq5vf
自己解決しました。
>>700 条件たくさん書いて真の時にフラグもたせて
最後にフラグが真なら処理実行させたら良いだけなんじゃないの
>>691 ええ?? 何がどう「高度」なんだよ??www
お前自身が
>>688 で書いてるif文とかの処理を単純に関数化するだけだろうが。
もし「自作関数を作ったことがありません」レベルで、
しかもググってもやり方が分からないんだったら氏んでくれ。もう何も言えん。
705 :
693 :2007/11/13(火) 18:51:55 ID:???
自己解尻しました。
>>695 煽られてもめげずに丁寧に対応しているあなたの姿勢に感動した。
俺は
foreach ((array)$somevar as $value) {
}
でやってるがどうかね
>>698 判断式って何?条件式とは違うの?ifで当てはまらなくても実行させたいの?
謎すぎる質問で分かりにくいけど文章読む限りではswtich〜case文が該当するのでは?
すいません質問です html.txtの内容を単純にサイトのタグ内に進入するのに、いろいろと試してみましたが、 <?php require("html.txt"); ?> と <?php include("html.txt"); ?> でできましたが、どちらがいいのでしょうか?
@include_once
>>709 おれもタグ内に進入してみたい
> エラーが発生するとどちらも Warning を出力しますが、
> require() を使用している場合は Fatal Error となります。
> 言い換えると、指定されたファイルが無い場合に処理を停止したい場合は
> require() を使用した方が良い、ということになります。
readfile('html.txt');
君の場合は0.00001秒も変わらないから速度のことなんて気にするだけムダ
>>715 言っときますが、彼女に「進入」しても最低3分はもちますよ。
速度じゃなくてfatal errorがいやなのでincludeにしたんです。
719 :
665 :2007/11/13(火) 19:53:55 ID:???
入力値のチェックを質問したものです いろんな意見くれてありがとうございました。FWは今回は見送りますが いただいた意見参考にがんばります。 サンキューでした。
txt形式を読み込むのにinclude, requireは使わないな
is_readableとかしてから
>>713 かな
php5とmysql5をapache2で使ってる環境で、アクセス負荷をプログラム側で 軽減しようとしたら、どういうことに気をつけたらいいんですか? コーディング上最低限やるべきマナーとかありますか?
いま俺のことバカって言った奴でてこいっ!
>>722 負荷のみを軽減するなら無駄を減らすこと。
728 :
nobodyさん :2007/11/13(火) 20:13:48 ID:hvvlgRN4
Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'C:ディレクトリ&ファイル名' (include_path='.;C:ディレクトリ&ファイル名') in Unknown on line 0 とエラーが表示されるんですが、どうしたらなおりますか? お願いします。
730 :
nobodyさん :2007/11/13(火) 20:21:55 ID:hvvlgRN4
>>729 ネットでいろいろ調べたが、解決できなかったのでここにきました。
>>728 全然調べてないでしょ?
ファイルが見つからないって事だから、パスが通るようにすれば解決。
735 :
nobodyさん :2007/11/13(火) 20:31:05 ID:JpvZapzB
横からだけど > Unknown: (error detail) in Unknown on line 0 俺、こういう Warning や Fatal 見たことがないんですけど、 どういう状況で出るんですか?( in test.php on line 15 とかは見ます) 質問なのでID出します。
737 :
nobodyさん :2007/11/13(火) 20:32:52 ID:hvvlgRN4
他のPHPファイルは正常に動作するんですが・・。
いま俺のことバカって言った奴マジでてこいっ! やったる。
エラーがでたPHPのソースだしてみればいいでしょうに 該当ラインわからんのなら全体像みておかしいところ見つけるしかないでしょう
>>737 エスケープシーケンスって知ってる?
ていうかスラッシュ使えよ
php.iniでの読み取りファイルのパスの設定をしていて、今のphp.iniを見たら すでにpearへのパスが指定されてました コレにsmartyへのパスを追加するのは以下の書き方でOKですか? include_path = ".;c:\php\includes;c:\php\pear" include_path = ".;c:\php\includes;c:\webroot\libs\Smarty\libs\"
>>742 いいんじゃない?pearは消えてるけど
744 :
nobodyさん :2007/11/13(火) 23:05:55 ID:Az3IX4ek
すみません。ご教授ください。 3000行程あるテキストファイルの処理を行っています。 全ての行を読み込み、必要な情報がある行に関しては、 if文とeregを使用して行番号を抽出しているのですが、 eregでのマッチングが出来てる行と出来ない行があります。 記述は以下のように、#や|、半角スペースなどが混じる文字列になります。 if ( ereg("aaa# /aaa/bbb | ccc ddd", $line[$i]) ) { $test = $i; } elseif ( ereg("eee# /fff/ggg | hhh iii", $line[$i]) ) { $test2 = $i; マッチングしない行が特に、他と大きく異なって 特別な記号などを使用している訳では無く原因がつかめません。 対処法をご教授頂けないでしょうか。よろしくお願いします。
ありがとうございます pearと共存しようとしたら、 include_path = ".;c:\php\includes;c:\php\pear;c:\webroot\libs\Smarty\libs\" これでいいんでしょうか?
smartyって使ったことないからしらないが、見えるとこにおいて良いのか?
出来ればドキュメントルート以下におかないほうが良い。 出来ない場合はアクセス制限を掛けるしかないかな。
別にテンプレートディレクトリだけでいいのでは?
749 :
nobodyさん :2007/11/13(火) 23:51:40 ID:otS5xGSl
データの入り方・構造について質問です。 WEBアンケートでチェックボックスを複数選択し、登録する時 複数選択箇所はforなどで1つずつ分けてDBなどに保存するべきでしょうか? それとも「1,2,3」として、カンマ区切りで保存するべきでしょうか?
>>749 DBの話だから微妙にスレチじゃないかな。
普通はなるべく1回で済ますと思うけど。
751 :
750 :2007/11/13(火) 23:55:55 ID:???
>>749 すまん読み間違えてた。
「〜するべき」とかは言えないけど、DBのほうがソートやら更新やらが楽で良いよ。
752 :
716 :2007/11/14(水) 00:06:12 ID:???
事故解尻しました。
格納の仕方の話だろ? すべきかどうかの話でいうなら、正規化すべき。 MysqlならENUM型使ってもいいんじゃない。
754 :
744 :2007/11/14(水) 00:30:03 ID:???
744です。書き忘れましたが環境はphp4です。 些細な事でも構いませんので、何かアドバイスをお願い致します。
755 :
749 :2007/11/14(水) 00:32:49 ID:wV0Vxe79
>>750 ,753
格納の話です。フリーのアンケートなどを見ると、PHPで作っており、
かつ「1,2,3」というような格納方法が多いので、どうするのが効率良いかな?
と思い、質問させていただきました。
>>753 ENUM型って予め登録したい項目を決めておかないと駄目ですよね?
そうじゃなくて、質問文もPHPから登録して、
回答もPHPから保存したいと思っています。
いま俺のことバカって言った奴でてこいっ!
757 :
744 :2007/11/14(水) 00:51:12 ID:???
事故解決しました。 あなたたちの解答は期待しないので、レスは不要です。
758 :
744 :2007/11/14(水) 00:57:38 ID:rpeYtezF
解決していません・・・ 初心者用スレに行ったほうが良いんでしょうか
いま俺のこと笑った奴でてこいっ!
ここは性格の悪い奴等が多いから他スレのほうが良いかも
性格悪くなったのはここ最近だよな…
>>744 元データがわからんことには正規表現の書きようがない、つーか正規表現スレ行った方がいい気が・・・
あと3000行も処理すならeregよりpreg使ったほうがいいんじゃないかな
764 :
nobodyさん :2007/11/14(水) 01:18:48 ID:7Op+OI+L
>>762 なんかおかしなのが偽装してるんだよな。
765 :
762 :2007/11/14(水) 01:28:10 ID:???
僕の肛門も解決されそうです・・・
eregって使ったことないんだがpregに比べてメリットあるの?
767 :
暗黒元帥 :2007/11/14(水) 01:47:25 ID:Om3SUPCZ
お前らって下らない事を言うのか?
板によるけどそれが何?
なぜお前らは下らないことを言うな
>>766 eregよりpregを使えと公式よりアナウンスがありますが・・・?
>>766 元々POSIX系の正規表現を覚えてる人がそのまま書式を使える。
レベルひっく・・・
perlと互換があるからつかっときゃいいんだよクズ
こんばんは。 セックスレス中高年です
PHPがPerlの真似をする必要なんてねーだろボケナス
ここはぜんぶnobodyさんの独り言なんだから疑問系のあとに答える小言をいってもいいだろ!
まず、eregのが全然遅い
779 :
nobodyさん :2007/11/14(水) 04:17:16 ID:X7vOzj33
>>706 ズバリ、そういうのを求めてました。
ありがとうございました。
PHPは所詮Perlの資産におんぶにだっこってことか
スレタイ読めない奴よりはマシだろ
782 :
nobodyさん :2007/11/14(水) 10:08:04 ID:yU5FBGbV
mysqlを使う場合、 PHPのインストールより必ず先に mysqlをインストールしておかなければ駄目ですか? 後からmysqlをインストールしたり、入れ直したりしても正常に動くのでしょうか?
問題なし
>>778 だからeregのデメリットじゃなくメリットを聞いてるんだっつの。
何故こんな関数が用意されてるのか理由を言え。
>>784 マニュアル嫁よwwww
思いっきり書いてあるじゃんwww
お前にはそれすら調べる能力がないってのか?w
pregと比べたらメリットもデメリットも別にないだろ 速度面なんて大量の処理してもそこまで変わらんし 好きなように好きなほうを使えでFA まぁpregと強引に比べてメリットいえといったらデリミタがいらんぐらいか
787 :
nobodyさん :2007/11/14(水) 11:55:24 ID:XrAX72Bt
CSRF対策というほどのこともないが、二重送信対策も兼ねてセッションでワンタイムチケットを管理しようと思い、
ざっと検索してみたところ↓を見つけたのだが
http://www.phppro.jp/phptips/archives/vol21/ この中でわざわざmd5の戻り値をhtmlspecialcharsしてるのはなぜ?
md5の結果って16進(の文字列)だから、別にエスケープする必要はないと思うんだけど……。
自分、なんかボケかましてますか?(;´∀`)
>>787 ほんとにmd5しか入らない値なら、やる必要ナッシン。
出力時にやってるからお約束みたいなもんだろ
CSRF対策って何するもんなんですか? htmlspecialchars mysql_real_escape_string strip_tags あとは確認→完了の時とかにもう一度チェック。 form系のところはこれをやってます。 他にどんなことするといいんでしょうか?
>>788 >>789 ですよねーw 安心しました(苦笑)
>>790 「ぼくはまちちゃん」でググるべし。
まぁ、ワンタイムチケットはCSRF対策とサーバー側での二重送信対策の両方、という意味合いが強いと思う。
感想だけどね。
sjisまたはeucの文字コードを使用してる場合はそんな対策しても無意味だけどね
文字コード繋がりでSJISは論外(携帯用って場合あるけど)として EUCとUTFってどっちがオススメ? 将来的にUTFがスタンダードになるのかな。
>>792 ……なして文字コードが関係してくるん?
まぁ、自分も文字コード回りで難儀した経験は何度もあるが
男は黙ってutf8
797 :
794 :2007/11/14(水) 14:57:57 ID:???
>>796 いや、方針としては確かにそのとおりだとは思うが(;´∀`)
別に「SJISは論外」とまでは思えないし、CSRFに文字コードが関係してくる理由もちょっと思いつかないんだが……。
男は黙ってutf8
sjisとeucの場合、一度utf-8に文字エンコーディングして、また戻さないとだめなんだがね。 わかんないやつはこのスレの過去ログ嫁よ
男は黙ってutf8
もう既出の問題なのに知らない奴が多すぎてワロタ
男は黙ってutf8
>>792 CSRFと文字コードは全く関係ない。
もしかしてお前、CSRFとXSSを混同してるんじゃないかw
知ったかは恥かくぞwww
XSSの対策にもなるがCSRFにも有効なのに知らないおまえの無知さに乾杯
806 :
689 :2007/11/14(水) 16:21:10 ID:???
自己解決しました。mem_imageを追加し、file_get_contentsで
読み込むようにしました。ただしインターレース非対応なのでもとの画像(cgi)を
インターレースOFFに変更することに・・
<?php
define('FPDF_FONTPATH','font/');
require('fpdi.php');
require('mem_image.php');
$GLOBALS['EUC2SJIS'] = false;
$pdf =& new fpdi() & new mem_image();
$pagecount = $pdf->setSourceFile("test.pdf");
$tplidx = $pdf->ImportPage(1);
$pdf->addPage();
$pdf->useTemplate($tplidx,5,5,200);
//画像をcgiから読み込み
$url = '
http://www.hoge.com/cgi-bin/hoge.cgi?dt1=1+2+3+4 ';
$img = file_get_contents($url);
$pdf->Image('var://img', 20, 20, 100, 50, 'PNG');
// 表示
$pdf->Output();
?>
808 :
武田 :2007/11/14(水) 18:36:17 ID:ZSW+thOc
質問です。 人気度を★の数で表示したいんです。 レートは5点満点で、小数点以下2桁まであります。 (例:4.38) 今現在は数字でのみ表示されています。 これを例えば 4.38なら ★★★★☆ 4.56なら ★★★★ ★←この星は実際には半分黒で半分白になります。 1でで割った数が黒★にして残りを白☆にして、端数が0.5以上1未満で白黒半分の星を表示したいと 考えてます。 いいアイデア、または関数はありますか? ヨロシクおねがいします。
809 :
nobodyさん :2007/11/14(水) 18:45:42 ID:2CaJ9ydK
ちょっと皆さんに教えて下さい! 現在会員制のサイト(携帯のみ)をPHPで組もうとしています。 んで会員用ページはURLにセッションIDを埋め込んでみたのですが これだとブックマークをしてなかった場合、IDを忘れただの何だのと 面倒な事が起こり得ますよね? そこで、個体識別番号を取得して製造番号部分をそのままURLに 埋め込めば完全な一意なURLになりますよね? ブックマーク忘れても、もっかい個体識別番号を取得すればいい訳だし。 FOMAカードの製造番号なら機種変更してもOKだし。 この方法はどうですか?何か問題ありますか? URLに製造番号が入るのはよろしくありませんか?
>>809 固体識別番号が取れない機種は無視ですか?
シリアルが取れないのは"面倒な手続き"をさせるとして、 URIに埋め込むならせめてmd5やcryptでハッシュ値とったやつにでもしろよな
813 :
809 :2007/11/14(水) 19:16:02 ID:2CaJ9ydK
>>811 DocomoのFOMAと新型AUは全部個体識別番号出せますよね?
基本、ニュータイプ専用サイトにするつもりです。
>>812 やっぱそれは倫理的な観点からですか?
つ個人情報
>>813 利用者も不安になるしね。ばれても使い道ないけど
817 :
809 :2007/11/14(水) 20:04:32 ID:2CaJ9ydK
了解です! ではやっぱり一旦md5やcryptで暗号化する事にします! とはいえmd5関数でFOMAカード製造番号(20桁)を暗号化すると32桁になりますよね。。 いくらなんでも長すぎる…。同一の20桁の暗号化は出来ないものか…。
登録フォーム作ってるんですけど、入力して確認ボタン押したら 確認画面になって、「戻って修正ボタン」押したら前の記入ページに戻って、 フォームに入力値が入ってる状態にしたいです。 で、セッション値があれば、value="$_SESSION['namae']"とすればいいと思うんですが、 登録完了後、再度登録フォームを開いたときに、登録したDBから前回登録した 値を拾って表示するとしたら、上記のやり方はまずい気がします。 この場合、「戻って修正ボタン」のリンクに ?rewrite=1 みたいなGETのパラメータつけて その有無を確認してあればセッション値を表示てやり方でいこうと思うんですが、 大丈夫でしょうか? みなさんああいうのはどうやってるんですか? 良ければ教えてくださいお願いします。
>>817 いやまぁ、利用者側としては20も32も大して変わらないだろう。
>>810 具体的にはどんな感じになるのでしょうか?
>>820 ヒントもらったなら少しは自分の頭で考えてみようぜ
考える頭がないなら条件文だけでやれ if ($float < 0.5) { 星0個 } elseif ($float >= 0.5 && $float < 1.0) { 星0.5個 } elseif ($float >= 1.0 && $float < 1.5) { 星1.5個 }
823 :
808 :2007/11/14(水) 21:11:54 ID:???
自己解決しましたので、答えになってないお前らのくだらないレスは不要です。
>>823 毎度そんな事してて哀しくならない?
早くイイことあると良いね。
825 :
nobodyさん :2007/11/14(水) 21:50:35 ID:??? BE:537732195-2BP(0)
include_pathで指定したフォルダの上位フォルダのファイルを読み込みたいのですが、 include_once("./hoge.php"); と書いてもエラーになるんですが、何かよい方法ないでっしょか?
エラーを読む
>>808 0.5だったら星が半分黒、半分白ってのがほしいわけ?
0.3だったら星が30%黒、70%白ってことでOK?
だったらGD使うしかないじゃねーの?
828 :
825 :2007/11/14(水) 22:00:19 ID:??? BE:430185694-2BP(0)
自己解決しました。 「./ 又は ../ で始まっている場合は、 実行しているファイルのあるディレクトリからの相対パス 」 include_pathを複数していして対応したいと桃います。
829 :
808 :2007/11/14(水) 22:03:07 ID:ZSW+thOc
>>822 有難うございます。
たしかに
if ($float < 0.5) {
print "☆☆☆☆☆";
} elseif ($float >= 0.5 && $float < 1.0) {
print "★半分.gif";
} elseif ($float >= 1.0 && $float < 1.5) {
星1.5個
}
} elseif ($float >= 1.5 && $float < 2.0) {
星2個
}
} elseif ($float >= 2.0 && $float < 2.5) {
星2.5個
} elseif ($float >= 2.5 && $float < 3.0) {
星3個
} elseif ($float >= 3.0 && $float < 3.5) {
星3.5個
}
} elseif ($float >= 3.5 && $float < 4.0) {
星4個
}
} elseif ($float >= 4.0 && $float < 4.5) {
星4.5個
}
} elseif ($float >= 4.5 && $float < 5.0) {
星5個
}
こんな感じでやったらできそうですね。ただもうすこしスマートにできそうなものでしょうか?
>827 そうですね。そうすればベストなんですが、素人には難しいですよね? >823 ????
>>829 $star = floor($rate); // 星の数
if( floor($rate * 2) % 2 ){
// 星半分の処理
}
832 :
831 :2007/11/14(水) 22:40:00 ID:???
条件式の中のfloorは不要だったわ
834 :
808 :2007/11/14(水) 22:48:09 ID:???
>>831 ありがとうございます。 floorっていう小数点以下を切り捨てられるのがあるんですね。
ちょっとチャレンジしてみます。
808のようなシステムを作ってる人間がfloorもしらんのか・・・
836 :
818 :2007/11/14(水) 23:03:06 ID:???
すみません、どなたか気が向いたら
>>818 の質問も回答お願いします
登録フォームにDBからの値なんて表示する必要ないじゃん
838 :
818 :2007/11/14(水) 23:31:01 ID:???
>>837 ありがとうございます。DBからの値を表示したいと思ったのは、
修正したいと思ったときに、すぐ修正できると思ったからです。通常の
1)情報を表示 -> 2)「この情報を修正する」 -> 3)修正フォームで修正
という流れが面倒かなぁと思ったので・・
訳が分からん・・。登録フォームと編集フォームを2つ用意すればいいじゃん。
hiddenかgetで持ちまわせばいいんじゃね?
>>838 やりたいことがよく分からんが、最初の登録フォームを
出すところでまずセッション変数を見てデータがあれば
それをフォームに入れ、なければDBに登録データがある
か調べて、あれば取ってきてフォームに入れ、DBにも
無ければ空のままフォームを表示する。
で、セッション変数に新規登録なのかセッション変数orDB
からもらったデータの修正なのか書き込んでおく。
確認画面を出したところで内容をセッション変数に入れ
ておく。
気が済むまで修正したら、新規か修正どちらのパターン
で登録したいのかによって分岐してINSERTだのUPDATE
だのする。
レベル低い奴の回答ですまんが。
>>842 の6-7行目意味不明だった。
要するにINSERTしたいのかUPDATEしたいのか
をセッション変数に置いてDBへの書き込み時に
参照すればいいのではないかと考えた次第。
845 :
818 :2007/11/15(木) 00:46:30 ID:???
みなさんほんとにありがとうございます。 情報が後出しみたいで申し訳ないですが、会員制サイトのログイン後の 自己紹介編集ページのあいさつ文を記入するフォームをイメージしてくれたら いいかもしれないです。 ちょっと、自分でいろいろやってみます。本当にありがとう
もっと罵倒しながら質問と回答を出していかないと2ちゃんらしくない
登録する作業だけなら
>>840 でいいとおもうけどね
持ちまわす情報も登録用の情報だけでしょ?
カードとか重要な情報ならhttps使うだろうし
そこまで登録作業をセキュアにする必要はないと思う
ログインはまた別だけど
848 :
847 :2007/11/15(木) 01:59:56 ID:???
おい、今俺のことバカっていったやつ出てこいっ!
850 :
nobodyさん :2007/11/15(木) 02:39:12 ID:??? BE:756058368-2BP(234)
test
期待されているようなので貼ってやる
>>849 \ U /
\ U /
/ ̄ ̄ ヽ,
/ ', / _/\/\/\/|_
\ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ /
\ / く l ヽ._.ノ ', ゝ \ < バーカ >
/ /⌒ リ `ー'′ ' ⌒\ \ / \
(  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄
` ̄ ̄`ヽ /´ ̄
| |
−−− ‐ ノ |
/ ノ −−−−
/ ∠_
−− | f\ ノ  ̄`丶.
| | ヽ__ノー─-- 、_ ) − _
. | | / /
| | ,' /
/ / ノ | ,' \
/ / | / \
/_ノ / ,ノ 〈 \
( 〈 ヽ.__ \ \
ヽ._> \__)
test
>>849 ____
.ni 7 /⌒ ⌒\
l^l | | l ,/) / ( ゚ ) ( ゚ ) \ .n <うっせバーカ
', U ! レ' / / ::::::⌒(__人__)⌒:::::\ l^l.| | /)
/ 〈 | ヘ / | | U レ'//)
ヽっ ` ⌒´ / ノ /
/´ ̄ ̄ ノ \rニ |
`ヽ l
テ ス ト
855 :
nobodyさん :2007/11/15(木) 04:44:03 ID:LAOd3CkG
おい、たまにはプログラミング忘れてFPSゲームでもやろうぜ!
uruse-hage
>>845 セッソンじゃなくてpostし続ければ問題ないと思うがね。
確認ぺージにpostで値を投げて、修正時にもそのままpostしちゃう。
そんでformのデフォ値に入れたらいい。
登録完了後はDBからformのデフォ値として持ってくればいいだけ。
値がnullなら(新規登録時とか)デフォ値も空のままなんで。
常識的に考えて、新規登録ページと登録内容の修正ページは分けて考えたほうが無難じゃないかな。
あえてややっこくする必要もないかと。
PHPは40代無職で人生終わってる人のスクリプトですか?
■ おすすめ2ちゃんねる フケ・痒みがとまらないPart9 [身体・健康] ←不潔wwwwwwwwwwww 酒の肴 No.X [40代] ←40代wwwwwwwwwww 40代で医学部再受験しようと思う人 [40代] ←40代wwwwwwwwwww 昭和42年度】1967/4/2〜1968/4/1・No.2【未・申年 [40代] ←40代wwwwwwwwwww 【暇人】40代で無職 パート4 [40代] ←40代無職wwwwwwwwwww
まあ言えてるかもしれんね ねーよ
俺も気になってた でもちょっとあんまりだから何も言えなかったw
医学部再受験ってのがもう必死すぎな感じで一層哀しい 専ブラ使うとかの知恵もないだろうな… なんかもう切ないです(><)
そもそも年代別の板なんか普通見ないよな… すっごい気にしてる感じがして哀しすぎです(><)
マジレスすると工作です(><)
誰ひとり得しないし損もしない 何のための工作だよ
Perl厨が得をする
わざわざそんなことするPerl厨いねーよw
必死に擁護w(笑)(苦笑)
nobodyさんおはよ
バレたら仕方がない 俺java厨っすからwwwwwww
意味わからん 40代無職乙
ここで20代無職の俺が登場
・メッセージをアラートで表示する ・メッセージはひとつずつ改行されてる というのをやりたいんですが、下のコードのどこを修正したらいいですか? <?php echo "<script language='JavaScript'> alert('"; $errNum = count($msgarray);//$msgarrayはメッセージが複数入った配列 for($i=0;$i<=$errNum;$i++){ print $this->error[$i]."<br>"; echo "')</script>"; ?> 今のままだと、<br>がそのまま表示され、"\n"にしたところ アラート自体が表示されなくなりました
>>874 alertに<br>使えない
\nで改行させるならダブルクウォート使用時は\\nで
alertの乱れ打ち?
>>874 $thisを使っているあたり、自作のオブジェクトの一部なんだろうけど、ソースの書き方が感心しませんな
お兄さんならこう書きますって一例を
<?php
$js_alert = "alert('";
for($i=0;$i<=count($msgarray);$i++){
$js_alert.= $this->error[$i]."\\n";
}
$js_alert.= "')";
$output = <<< JS
<script language='JavaScript'>
{$js_alert};
</script>
JS;
echo $output;
?>
お兄さんならimplode("\n", $this->error);にします
$this->error配列に何が格納されているか明示されてないから何とも言えない。 大方予想はつくけど。
まぁ配列なのに単数形かよって感じだが
今日はやさしいお兄さんが多いですねw
ツンデレなんだよ
(幸。v゜)ノ
886 :
nobodyさん :2007/11/15(木) 13:06:22 ID:n0Q12xvJ
ググレカス
888 :
nobodyさん :2007/11/15(木) 13:20:40 ID:n0Q12xvJ
>>887 さん
ググったのですが意図した処理をする方法はどうしても分かりませんでした。
xml_set_element_handler()で開始名を取得⇒
[name]だったらglobal変数の$data['name']にいれる
[element]だったら$data['element']にいれる
$data['name'],$data['element']両方に値が入っていたら$hoge[$data['name']] = $data['element'];
$data = array();
こんな感じにしたんですがもっと綺麗な書き方はないでしょうか?
一気にnameの値とelementの値を取得できないものでしょうか?
889 :
886 :2007/11/15(木) 13:22:29 ID:n0Q12xvJ
追記 $data['name'],$data[element']の値はxml_set_character_data_handler()で取得して入れています。 詳しい方お願い致しますm(_ _)m
_,,、-―ー―--、,, /~::..: ..:::.::.`、 ,,.、''/ハ ノ, ヽ,,ヽノ」、,,.:::::::'i ヽヽ`' '`ノノ:| (ヽ`.. :::.: ::..: ::.::::.:.:.:....::.::`ー \、 .:..:::.::::,:,_,.、-―ー―、,,._::::.:::.::... ヽノ ニ.:.:.:.:.:::::::::,-'' `''-;,::::::::.:...::ニ /ト::.:.:::::,:' / \ '';:::::.:::.::ヽ しゃぶれよ '`ノ/ ; ● ● ;'、ヽー ';, (__人__) ;' `:、 // ,;:'' ,-''´~ ̄~`''-、 .;'' ;''~~'';:。::::::::::::..:.:.;''~~''、, `;; .;、,,_,,ノ::::o::::::::。::::ヽ,,_,, .; !::::::::::::::::::::::::::::::::,' ;'' ,, ;;'"~`'、:::o::::::::::::::;''"~`'、 ;;..ノ"; .; ;、::::::::::::::::; ;_,,;-'' ;、,,._,,ノ,i'~”~`'i,,,,''、,,._,,ノ''" '、_,ノ
>>888 たぶんその手の質問は相手にされないっす
892 :
886 :2007/11/15(木) 13:42:33 ID:n0Q12xvJ
>>891 さん
なぜでしょうか?…
質問の仕方が下手で申し訳ないですがお願いしたいです…
動いてるならそれでいいじゃない
894 :
886 :2007/11/15(木) 14:19:42 ID:???
>>893 さん
バカじゃないの
知らないなら黙ってろよな
また低脳の成りすましか
simplexml関数で簡単にできるでしょうに
>>886 $xml = simplexml_load_file('test.xml');
$data = array();
foreach($xml->option as $option){
$name = $string = '';
foreach($option->value as $value){
if(isset($value->name)){
$name = (string)$value->name;
}
if(isset($value->element->string)){
$string = (string)$value->element->string;
}
}
if($name && $string){
$data[$name] = $string;
}
}
改善点合ったら誰か教えて
元データのstring要素の必要性がよくわからん
Warning: Invalid argument supplied for foreach() in これってPHPちゃんはなにをうったえたいのでしょうか?
>>898 変数がおかしいんだろカス
翻訳かけろカス
900 :
nobodyさん :2007/11/15(木) 16:12:03 ID:0MOlb3ST
携帯サイト作るなら UTF-8でスクリプトを組んで SJISで出力するのが一般的なんでしたっけ mbencoding.outputでSJISにしたとき、直書きしたHTMLもSJISになるのですか?
>>900 SJISで組んでSJISで吐く
内部エンコードとDBはEUC
902 :
nobodyさん :2007/11/15(木) 17:02:22 ID:oZ22HJD8
すみません。本のサンプルソースを変更してヒアドキュメントというのを ためしているんですがエラーがでます。 $mail_body = <<< here 名前 - $_POST['namae'] // ここが44行目 電話番号 - $_POST['tel'] FAX番号 - $_POST['fax'] E-mail - $_POST['email'] URL - $_POST['url'] 性別 - $_POST['seibetsu'] 職業 - $_POST['shokugyo'] here; エラーは↓です Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\Apache Group\Apache2\htdocs\samplet\formmail.php on line 44 ヒアドキュメントなるもの初めてでして。。よろしくお願いします。
here→_here_
904 :
902 :2007/11/15(木) 17:06:19 ID:oZ22HJD8
>>903 ありがとうございます。試したけどだめでした。。。
906 :
902 :2007/11/15(木) 17:17:10 ID:oZ22HJD8
>>905 おお!できました。PHPの変数を認識していなかったんですね。
PHPに移行してまもないので、ソースの内容ばかり気にしていて
変数を明示的に強調することをわすれていました。
ありがとうございました。大変助かりました!
907 :
API :2007/11/15(木) 17:58:35 ID:???
function _struct_to_array($values, &$i) { $child = array(); if (isset($values[$i][’value’])) array_push($child, $values[$i][’value’]); while ($i++ < count($values)) { switch ($values[$i]['type']) { case 'cdata': array_push($child, $values[$i]['value']); //この行にエラーがでます。 break; case 'complete': $name = $values[$i]['tag']; if(!empty($name)){ $child[$name]= ($values[$i]['value'])?($values[$i]['value']):''; if(isset($values[$i]['attributes'])) { $child[$name] = $values[$i]['attributes']; } } break; case 'open': $name = $values[$i]['tag']; $size = isset($child[$name]) ? sizeof($child[$name]) : 0; $child[$name][$size] = $this->_struct_to_array($values, $i); break; case ‘close’: return $child; break; } } return $child; }
909 :
907 :2007/11/15(木) 18:00:03 ID:???
Undefined index: value in 検索して検索結果がみつからないと上のようなエラーがでます。 なんででしょうか?
作ったやつに聞け
>>909 そこまで理由がわかってて「何ででしょうか?」って
どんな答えを求めてるんだ?
>>912 isset($values[$i][’value’])が空だからエラーがでてると思うのですが、
その対処がわかりません・・・
if (isset($values[$i]['value']) == "") {
この部分をどうすればいいのか・・
}
初心者なんでいいアイデアが浮かびません。。
>>913 ああ創価、こうしてみたら?
while (++$i < count($values)) {
ききたいんですけど、POSTで送られてきたデータの個数を数えたり、 各nameとvalueを一覧表示する方法とかありますか?
>>914 ありがとうございます。
でもやっぱり結果は同じでした。
ってか、何でID表示やめたの? sageてもageても厨が沸くのには変わりないのに
>>919 最初からなかったと思うけど、あったことある?
>>916 $valueがそこまで不完全な可能性があるなら
case 'cdata': の中でissetで確かめたらいいのでは
まぁそうなると最初のissetとか$i++の辺りが気持ち悪くなるけど
922 :
nobodyさん :2007/11/15(木) 18:43:15 ID:yC/BNAfx
200711という数字の列を「2007年11月」と言った感じに分割して表示させたいのですが、どうすればよいでしょうか? 検索してみたところ、split関数でいけるかなと睨んでいるのですが、具体的な使い方が分からずに困っています。 どうかご教授下さい。
>>922 その形式ならsubstrで置き換えるといいよ
strtotimeのが効率いいかもしれんけどね
>>922 splitは逆変換ならなんとかいけるかもね。
927 :
nobodyさん :2007/11/15(木) 18:54:42 ID:yC/BNAfx
google map APIで Driving Directionsの日本みたいなのって どこかで公開してないですか? それかgoogle トランジットの機能みたいなの。
929 :
915 :2007/11/15(木) 20:06:46 ID:???
>>917 すみません、それってどうやるんですか?
自分でcount($_POST['']); とか count($_POST['*']); しても駄目です
>>929 おまえ本とかマニュアルで勉強したことないだろ
count($_POST)
いやです
>>929 おまえは$_POSTを何だと思っとるんだ。
配列の扱い方すら分からんのか。
934 :
nobodyさん :2007/11/15(木) 22:00:33 ID:Yl9WRNaP
こんなCGIありませんか?みたいなのを聞くスレもこちらでいいですか?
ダメ 昔この板にあったけど、 厨が集ってウザいからとweb製作板に移住させられた あっちでスレ一覧を検索しても見つからんが、 どこにいったのかはあっちで聞いてくれ
おい、今俺にアメリカに住めっていったやつでてこいっ!
937 :
934 :2007/11/16(金) 00:44:30 ID:???
40ダイしねや.