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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/19(水) 03:33:51ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0523nobodyさん2007/12/31(月) 15:30:50ID:???
>>521

「php側からstatusの4を送信」ってのはいつになったらできるの?
0524nobodyさん2007/12/31(月) 16:17:17ID:???
>>521は質問者ではないぞ。
大して解決策も出してない輩が粋がっていて、なんだかなーと。
0525nobodyさん2007/12/31(月) 16:18:07ID:???
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \        php側からstatusの4を送信
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/    だっておwwwwwwwww
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0526nobodyさん2007/12/31(月) 18:23:23ID:ExHZywTc
今、家の用事から帰ってきました。
まぁリアルで高校生なんですけど、高校生より劣っていることが
そんなに悔しかったんですか?(w
0527nobodyさん2007/12/31(月) 18:26:45ID:ExHZywTc
まぁ高校生でもプログラム歴5年くらいあるからなぁ。
PHPは1年だけど(w
おっさん、めげるな!
0528nobodyさん2007/12/31(月) 18:29:44ID:???
NG推奨 ID:ExHZywTc

いい加減しつこい。
0529nobodyさん2007/12/31(月) 18:36:41ID:???
しつこさは同意だが、おまえも同じくしつこい野郎だな
0530nobodyさん2007/12/31(月) 18:38:52ID:???
5年もやってて>>506か。頭の病気かも分からんね。
0531nobodyさん2007/12/31(月) 18:41:07ID:???
いちいち反応するなよ。はい次の質問者どうぞ。
0532nobodyさん2007/12/31(月) 18:41:25ID:???
極論厨死ね、リアルで死ね
0533nobodyさん2007/12/31(月) 18:44:12ID:3CT6jxWV
投稿フォームでhttp://yahoo.co.jp/のようなアドレスを自動リンクさせるには
正規表現で<a href=""></a>を加えて置換する以外に何か方法ありますか?
0534nobodyさん2007/12/31(月) 18:46:14ID:???
>>533
URLかどうかを判断する方法は正規表現以外でもできるが、結局は置き換えになる。
0535nobodyさん2007/12/31(月) 18:52:11ID:???
URL入力欄を設ける
0536nobodyさん2007/12/31(月) 18:58:49ID:???
>>535
おまいは何を言ってるんだ
0537nobodyさん2007/12/31(月) 19:01:45ID:???
>>536
頭の固い馬鹿だな
05385332007/12/31(月) 19:02:09ID:3CT6jxWV
>>534-535
ありがとうございました。
都合のいい正規表現を考えるか、探した方が良さそうですね。
0539nobodyさん2007/12/31(月) 19:36:21ID:???
>>537
ちょww質問の意味を汲み取れてない馬鹿はお前だろww
投稿フォームでアドレスの入力があった場合のオートリンクの話をしてるのに
なんでURL入力欄を設けるとかイミフなこといっちゃってるわけ?wwww
0540nobodyさん2007/12/31(月) 19:43:39ID:???
必死な釣り人がいるが
低学歴は数年後にちゃんとみじめな人生送ることになってるから
放置しておいてやろう
家が金銭的に小康状態を保っているから
他にやることが無いから書き込みをしているんだ
今の彼は最高に輝いている
0541nobodyさん2007/12/31(月) 19:47:16ID:???
煽らんでいいからおとなしく自分の非を認めて黙って引っ込んどけよ。

1. URL入力欄
http://www.example.com/ (自サイトのURL)

2. 投稿フォーム
こんにちは。よかったらサイトに遊びに来てください。
最近 http://www.2ch.net/ にもたまに出没しています。


1と2で張られたリンクには関連性はないだろ。
0542nobodyさん2007/12/31(月) 20:41:37ID:???
>>538
正規表現関連、英語で良ければ
ttp://regexlib.com
が便利。
0543nobodyさん2007/12/31(月) 22:34:43ID:zQ+yU81P
たとえば
<name>ひろゆき</name>
って文字列があるとして、ここから「ひろゆき」だけを抜き出すには、どんな方法がスマートなの?
substrとstrposでゴチャゴチャ処理するのが嫌なんだけど。
0544nobodyさん2007/12/31(月) 22:36:38ID:???
>>543
>>542
0545nobodyさん2007/12/31(月) 22:36:53ID:???
>>543
DOM
SimpleXML
0546nobodyさん2007/12/31(月) 22:46:18ID:zQ+yU81P
>>545
xmlって言ってないのに気を遣ってくれてありがとう。
simplexml使ってみます
0547nobodyさん2007/12/31(月) 23:01:32ID:fLI7N5P/
インクルードさせて使うファイルが直接ブラウザで開かれたときに
エラーを返す方法ってありますか?

そもそもそんなこと気にしないで良いんでしょうか?
0548nobodyさん2007/12/31(月) 23:04:14ID:???
.htaccessとかでインクルードさせる鯖アドレスだけを許可すればいんじゃね。
order deny,allow
deny from all
allow from localhost

みたいな
0549nobodyさん2007/12/31(月) 23:07:17ID:???
ドキュメントルートの上に置けよと
0550nobodyさん2007/12/31(月) 23:07:40ID:???
includeする時は別にHTTPでアクセスする訳じゃないから
localhost許可する必要すらないよ。

普通に全て拒否すればおk
0551nobodyさん2007/12/31(月) 23:12:28ID:???
おいらはクラスや関数にして、直接呼び出しても出力や処理が実行されない形で書くから、
そういうのは気にして無いな。

その他には、他の人と重複するけど、
・Webサーバから直接アクセスできない場所に置く
・htaccessを使うなどして、アクセスを制限する
・設定ファイルなどで定数を設定して、インクルードファイル内でそれを確認
ってところかな。
0552nobodyさん2007/12/31(月) 23:22:44ID:???
Webサーバからアクセスできない場所に置いたらincludeできねーだろw
0553nobodyさん2007/12/31(月) 23:26:57ID:???
まぁ所有者と権限の設定をきちっとしろよという事だな
0554nobodyさん2008/01/01(火) 00:01:03ID:???
あけおめ
0555nobodyさん2008/01/01(火) 00:03:26ID:QS3lzF/U
くわしい解説ありがとう
勉強になりました

あけましておめでとうございます!
0556 【中吉】 【1298円】 2008/01/01(火) 00:42:52ID:???
<?php echo "A Happy New Year !!\n"; ?>
0557nobodyさん2008/01/01(火) 01:54:00ID:mia1J22w
PHP5の正規表現について質問です。
PHP5.2.5 (cli) を使用しています。

1. PHPスクリプトのエンコードはUTF-8
mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
2. http://2ch.net/ を fsock で取得(これは問題なし)
3. mb_convert_encoding で UTF-8 に変換(これも問題なし)
4. その文字列を正規表現で処理…(ここで問題発生)

//if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動かない(エラーも吐かずに停止状態になる)
if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動く
print_r($matches);
else echo 'NO MATCH';

正規表現的に問題は無いと思うのですが…
「(?!</div>)」を消したり、「(?:.|\s)」を「(?:.|s)」や「.」にすると動きます。
「.」が改行にマッチするので、「.」に置換すればいいのですが、何故この様な事になるのか解りません。
何か無限ループ的なことになっているような気も…
0558nobodyさん2008/01/01(火) 02:58:34ID:mia1J22w
確認用ソースです。[\r\n] でも発生する事があるようです。
http://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi_test.php&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0
0559nobodyさん2008/01/01(火) 03:19:28ID:mia1J22w
PHP4.4.7だと正常に動作しました。
MLog: [PHP-users 29514] Re:UTF-8、正規表現で全角スペースがヒットしないことがある?
http://mlog.euqset.org/archives/php-users.php.gr.jp/29514.html
見たいなのも有るようなので、仕様(納得行かないのでバグのような気がしますが)でしょうか・・・?
0560nobodyさん2008/01/01(火) 03:21:45ID:???
>>559のURLは関係無かったようです
0561nobodyさん2008/01/01(火) 04:44:18ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0562nobodyさん2008/01/01(火) 04:48:03ID:???
>>561
そろそろいい加減にしないとアク禁されんぞ
0563nobodyさん2008/01/01(火) 06:09:31ID:???
PHPで、既存のクラスにメソッドを追加することはできませんか?
RubyやPythonやJavaScriptでは、既存のクラスに対してあとからインスタンスメソッドやクラスメソッドを追加できるんですが、同じことをPHPでしようとして、やり方が分からず困ってます。
なおこの質問はPHP批判ではなく純粋に質問なので、「Ruby使えやボケ」とかはなしでお願いします。
0564nobodyさん2008/01/01(火) 06:13:35ID:???
>>557
その現象が発生する $body はどんなの?
なるべく短いのを書いてみて。
0565nobodyさん2008/01/01(火) 06:18:22ID:???
>>563
PHPをハックすればできるんじゃない?
ていうか既存のクラスいじるとかトリッキーなことしないで、
継承してからいじればいいと思う。
クラスの再利用ってそういうものでしょ。
0566nobodyさん2008/01/01(火) 06:45:56ID:???
>>565
継承すると別のクラスになります。
使おうとしいてるライブラリがクラス名を固定しているため、他のクラスは使えません。
factory methodとかDIコンテナを使っていればいいのですが、そうではないので、継承では解決できません。
0567nobodyさん2008/01/01(火) 06:52:45ID:???
単純な興味なんだけど
何のクラスにどういうメソッドを追加しようとしてんの?
0568nobodyさん2008/01/01(火) 06:59:41ID:???
>>557
止まってるんじゃなくて、マッチングに時間がかかってるだけみたい。
対象文字列を短くしたら、数秒で終わるようになった。
たぶんeregi()のマッチングアルゴリズムがまずいんだろう。

UTF-8でいいなら、mb_eregi()のかわりにpreg_match()を使って、パターンに u オプション使えばいい。

それから、質問するときは現象が発生する最小限のコードにしてほしい。
getPage()とかいらんから、対象文字列を短くしてコードに貼付けるべし。
0569nobodyさん2008/01/01(火) 07:02:35ID:???
つかあえてeregi使う利点ってあんの?
0570nobodyさん2008/01/01(火) 07:03:40ID:???
>>567
privateやprotecedになっているインスタンス変数に対して、publicなアクセッサを定義したいというだけです。
他人が作ったまずい設計のクラスを、なんとかして使わなければいけないときに、RubyやPythonだとなんとかできてしまうので、同じことがPHPでもできたらいいなと思って。
0571nobodyさん2008/01/01(火) 07:19:12ID:???
ふーん、ま無理だから自力で何とかするのがいいかと
0572nobodyさん2008/01/01(火) 07:37:33ID:9i91PKAG
皆さんあけおめです

php_qrってのを使おうと思ったんですが、インスコまではやったんだけど
php_output_from_zvalがみつかんねぇってこと言われました
php_output_from_zvalってなんのパッケージ入れればいいんですか?
0573nobodyさん2008/01/01(火) 07:46:35ID:???
PHPのバージョンが合ってないんじゃね
0574nobodyさん2008/01/01(火) 07:54:18ID:9i91PKAG
>>573
php4なんですが、php_qr-0.1.0.tgzとphp_qr-0.1.3.tgzを試したんですが出来ませんでした。
php4ではどのバージョンを使えばいいんでしょうかね?

とりあえずエラーメッセージ載せておきます

Warning: dl(): Unable to load dynamic library '/usr/lib/php4/qr.so' - /usr/lib/php4/qr.so: undefined symbol: php_output_from_zval in /var/www/html/index.php on line 3
0575nobodyさん2008/01/01(火) 09:04:48ID:???
>>564,568
有難うございます。色々試してみた所、仰るとおり、
PHP5だと何故か異常に時間が掛かるだけで(PHP4だと一瞬)、固まっている訳ではなかったようです。
どういう表現&対象文字列だと遅くなるのかがよく解らなくて困りますが…

一応、テストに使用したスクリプト、対象のソース、結果を纏めた物を用意してみました。
http://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi-test.zip&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0

後、異常に遅い表現は、preg_match + i,s,uオプション ではマッチしないようです(PHP4.4.7のmb_eregiだとマッチする)。
もう訳が解りません…
0576nobodyさん2008/01/01(火) 09:27:18ID:???
>>574
そりゃドキュメントなりリファレンスなりreadmeなり見れば書いてあるんじゃないの
あとは作者に聞け
05775742008/01/01(火) 09:54:04ID:???
しょうがないからコード書き換えた
php_qr.cの594行目のチェックをはずしたらうまく行ったっぽい
0578nobodyさん2008/01/01(火) 10:08:13ID:???
>>575
//if (preg_match('{<div[^>]*>(?:(?!</div>)(?:.|[\r\n]))*?管轄裁判所)}isu', $body, $matches)) // NO MATCH(何故一致しないのかわからない…)

i,s,uはパターン修飾子だから、 /正規表現/isu の書式じゃないの?
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php

0579 【大凶】 【1876円】 2008/01/01(火) 10:15:38ID:???
自分で正規表現考えながら書くのは結構好きなんだが、
他人が書いてるものを見るとわけがわからなくて嫌いになりそうになるよな。
0580 【大凶】 【1905円】 2008/01/01(火) 10:24:01ID:???
そこでコメントですよ
0581 【末吉】 【1693円】 2008/01/01(火) 10:35:04ID:???
大凶 2連チャンとかw
0582nobodyさん2008/01/01(火) 10:56:15ID:???
>>578 は関係ないっぽい。忘れて。
0583 【吉】 【1505円】 2008/01/01(火) 13:54:05ID:???
この板の連中は運悪いなw
今年もくだらねぇ質問して、時には回答にまわって勉強させてもらうぜ。
ヨロシクな
0584nobodyさん2008/01/01(火) 14:43:07ID:???
コーディングが冗長になると、スクリプトの動作速度も鈍くなったりする?
0585nobodyさん2008/01/01(火) 15:02:55ID:???
とんでもない冗長なら遅くなるね
0586nobodyさん2008/01/01(火) 15:06:59ID:???
理論的には単純にコードが長くなれば誤差程度だが当然影響は出る
ただ100行のコードが1万行になるわけではないだろ?
せいぜい数行〜数十行増えるだけのはずだ
そうなると体感動作速度は一緒だし実測しても変わらない
気にする必要はないからわかりやすく書くよろし
間違っても条件文で読みにくい三項演算子なんて使うなよ
0587nobodyさん2008/01/01(火) 15:31:35ID:???
行数で判断できるもんじゃないよ
0588 【豚】 【542円】 2008/01/01(火) 15:33:09ID:???
2chの書き込みは行数で判断できるから3行以上の長文はスルーだな
0589nobodyさん2008/01/01(火) 15:35:00ID:???
>>588にスパムフィルタとか作らせたら凄いことになりそw
0590nobodyさん2008/01/01(火) 15:35:06ID:???
気になるならプロファイラ使って調べれば良いんじゃね。
あとで使い勝手とか教えてくれたら嬉しい。
05915842008/01/01(火) 15:56:16ID:???
>>585-590
レス、thx.
ちょっと安心したわ。
プロファイラってのも使ってみようと思う。
ありがとう。
0592nobodyさん2008/01/01(火) 16:14:59ID:???
>>588
豚ってwwwwwwww
0593nobodyさん2008/01/01(火) 17:29:15ID:F2c2JMdr
setcookieのドメインの所に、
クッキーを与えるドメインとは別のドメインを書いても
別のドメインでそのクッキーを使えるようにはならないのでしょうか?
やってみたけど上手くいかないので、やり方が悪いのか根本的に出来ないのかを知りたいです。
0594nobodyさん2008/01/01(火) 17:31:31ID:???
$sql = "SELECT id,pass FROM login WHERE id = '".$id."' AND pass = '".$password."'";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);

この記述でクエリの送信に失敗しました と出るのですが
記述が間違っているんでしょうか?
0595nobodyさん2008/01/01(火) 17:43:33ID:???
>>593
多分だけど、それが可能だとしたら他のドメインのcookieを書き換える事が可能ということに
なるので、ブラウザ側が許可しない気がする。
0596nobodyさん2008/01/01(火) 17:49:21ID:???
>>594
mysql は使ってないから、詳しくは知らないけど、これで調べれば少しは判るかも。
http://jp.php.net/manual/ja/function.mysql-error.php
0597nobodyさん2008/01/01(火) 18:02:26ID:???
>>596
その関数を使ってみたところ
単純にデータベース接続が完了してなかったみたいでしたorz

くだらない質問にありがとうございました。
0598nobodyさん2008/01/01(火) 19:52:12ID:gtyeLFx+
少人数利用のBBSで
setcookie("pass", $pass,time()+60*60*24*30);
$pass = $_COOKIE["pass"];
if($pass == abc){BBSを表示}
を使って、簡単なログイン制限を掛けてるのですが、
この処理のあるbbs.phpを直接表示した場合、IE7.0でもFireFoxでも全く問題なく処理されるのですが、
bbs.phpをIE7.0でインラインフレームを使い入れ子にした場合、
フォームの処理を行うとクッキーがクリアされて、またpassの入力画面に戻ってしまいます。
FireFoxでは問題ないようなのですが、インラインフレームの利用で何か特別な問題が起こることはあるのでしょうか?
0599nobodyさん2008/01/01(火) 21:46:01ID:???
IEとFirefoxではcookieが共有されるセッション管理の単位が違うせいかな。

同じPCから複数のユーザとしてログインする必要がないなら、 setcookieで path とか domain も指定すれば
cookieが共有される気がする。
0600nobodyさん2008/01/01(火) 22:55:23ID:???
javaでいう static intializer はPHPではどう書きますか。

class Foo {
 static Map table = new HashMap();
 static { // static initializer
  table.put("<", "lt");
  table.put(">", "gt");
  table.put("&", "amp");
  table.put("¥"", "quot");
 }
}
0601 【大吉】 【314円】 2008/01/01(火) 23:02:33ID:???
>>1
06025982008/01/01(火) 23:04:36ID:gtyeLFx+
>>599
ここでも仕様が違うんですね。
他の方法を試してみます、どもでした。
0603nobodyさん2008/01/01(火) 23:30:56ID:???
Parse errorでunexpected T_PAAMAYIM_NEKUDOTAYIMとか出てきた
ハァ?何これフザケテンノ?
http://php.liukang.com/manual/ja/tokens.php

ぐぐってみたら同じこと思った人がいたようで
http://p0t.jp/mt/archives/2006/08/paamayim_nekudo.html
0604nobodyさん2008/01/01(火) 23:43:58ID:???
ユダヤの陰毛でつね
0605nobodyさん2008/01/02(水) 03:58:58ID:xlZOpAZW
画像レスできる板とできない板のある掲示板の画像レスできない板で
投稿フォーム改造して画像レスを送ってみたら
アップロードされちゃったんですが見ることができません。
これをHTMLやヘッダに手を加えて画像レスが見れる状態のHTMLを送って
もらうことはできますでしょうか?
PHPを使ってる掲示板なのでここで質問してみました
よろしくお願いします
0606nobodyさん2008/01/02(水) 04:25:51ID:zb153+EZ
12345678790
みたいな可変する文字列のn番目に文字列"\n"を挿入する場合、
substrで切り出してシコシコ成形する以外にスマートな方法ありませんか?
0607nobodyさん2008/01/02(水) 04:44:42ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0608nobodyさん2008/01/02(水) 06:24:31ID:XSzMXv90
sqlへのselectの結果(オブジェクト化したもの、$obj)に対して、
$obj->NAMAE で名前カラムのデータが求められるとします(カラム名は必ず大文字)
で、上記の呼び出しを関数化したとき
function yobidashi($name){
 $name=strtoupper($name);
 return $obj->name;
}
としても上手くいきません
$obj->の後に続くのはカラム名でなければいけないからなんですが、
どういう書き方にしたらいいのかわかりません
どなたかアドバイスお願いします
0609nobodyさん2008/01/02(水) 06:46:53ID:???
>>608
$obj->$name
0610nobodyさん2008/01/02(水) 07:34:16ID:???
4:44 のテンプレ貼り ktkr
0611nobodyさん2008/01/02(水) 07:51:34ID:???
手動スクリプト乙w
0612nobodyさん2008/01/02(水) 08:26:14ID:???
>>608
いまいち状況がワカラン中でレスをするが・・・・
return $obj->$name;

これでどう?
関数呼び出す時は呼び出し方の例も記載すると
レスし易いと思う

0613nobodyさん2008/01/02(水) 08:56:01ID:???
>>608

return $obj->__get($name);

ではどうですか?
0614nobodyさん2008/01/02(水) 08:59:39ID:???
>>608
そのオブジェクトを返してる部分にメソッドを追加する
0615nobodyさん2008/01/02(水) 09:49:13ID:???
>>608
global $obj;
0616nobodyさん2008/01/02(水) 10:06:19ID:???
>>608
evalを使うしか思いつかない。
http://jp.php.net/manual/ja/function.eval.php

return eval('return $obj->'.$name.';');
ってかんじかな。
0617nobodyさん2008/01/02(水) 10:12:07ID:???
ありがとうございます
単純に$obj->$nameでOKでした すみません、クダ質で…
evalとかglobalとか調べてついでに覚えます
ほんとにありがとう
06186162008/01/02(水) 10:17:01ID:???
>>617
そんな書式があったのか...。
逆に勉強になった。ありがと。
0619nobodyさん2008/01/02(水) 12:44:05ID:???
Active Perlをインストールしないと 「.pl」は動かないの?
0620nobodyさん2008/01/02(水) 12:52:33ID:???
答えてるやつも大分初心者だな
0621nobodyさん2008/01/02(水) 14:12:54ID:???
そんな下らない事を書かずにはいられない620は人生初心者だな
0622nobodyさん2008/01/02(水) 16:30:00ID:???
>>617
一番覚えるべきなのは「可変変数」かと
0623nobodyさん2008/01/02(水) 19:05:49ID:???
>>619
Windowsでの話ならその通り。あくまで中身がPerlだったらの話だけど。
別にActive Perlじゃなくてもいいけど、定番だし普通これかな。
Linuxがどうかは知らない。

んでPHPと関係ないんで、次からはスレちゃんと選んでね。
■ このスレッドは過去ログ倉庫に格納されています