【PHP】下らねぇ質問はここに書き込みやがれ 61
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/12/19(水) 03:33:51ID:???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カテゴリ)の各スレで
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:ExHZywTcPHPは1年だけど(w
おっさん、めげるな!
0528nobodyさん
2007/12/31(月) 18:29:44ID:???いい加減しつこい。
0529nobodyさん
2007/12/31(月) 18:36:41ID:???0531nobodyさん
2007/12/31(月) 18:41:07ID:???0532nobodyさん
2007/12/31(月) 18:41:25ID:???0533nobodyさん
2007/12/31(月) 18:44:12ID:3CT6jxWV正規表現で<a href=""></a>を加えて置換する以外に何か方法ありますか?
0535nobodyさん
2007/12/31(月) 18:52:11ID:???0538533
2007/12/31(月) 19:02:09ID:3CT6jxWVありがとうございました。
都合のいい正規表現を考えるか、探した方が良さそうですね。
0539nobodyさん
2007/12/31(月) 19:36:21ID:???ちょ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で張られたリンクには関連性はないだろ。
0543nobodyさん
2007/12/31(月) 22:34:43ID:zQ+yU81P<name>ひろゆき</name>
って文字列があるとして、ここから「ひろゆき」だけを抜き出すには、どんな方法がスマートなの?
substrとstrposでゴチャゴチャ処理するのが嫌なんだけど。
0546nobodyさん
2007/12/31(月) 22:46:18ID:zQ+yU81Pxmlって言ってないのに気を遣ってくれてありがとう。
simplexml使ってみます
0547nobodyさん
2007/12/31(月) 23:01:32ID:fLI7N5P/エラーを返す方法ってありますか?
そもそもそんなこと気にしないで良いんでしょうか?
0548nobodyさん
2007/12/31(月) 23:04:14ID:???order deny,allow
deny from all
allow from localhost
みたいな
0549nobodyさん
2007/12/31(月) 23:07:17ID:???0550nobodyさん
2007/12/31(月) 23:07:40ID:???localhost許可する必要すらないよ。
普通に全て拒否すればおk
0551nobodyさん
2007/12/31(月) 23:12:28ID:???そういうのは気にして無いな。
その他には、他の人と重複するけど、
・Webサーバから直接アクセスできない場所に置く
・htaccessを使うなどして、アクセスを制限する
・設定ファイルなどで定数を設定して、インクルードファイル内でそれを確認
ってところかな。
0552nobodyさん
2007/12/31(月) 23:22:44ID:???0553nobodyさん
2007/12/31(月) 23:26:57ID:???0554nobodyさん
2008/01/01(火) 00:01:03ID:???0555nobodyさん
2008/01/01(火) 00:03:26ID:QS3lzF/U勉強になりました
あけましておめでとうございます!
0557nobodyさん
2008/01/01(火) 01:54:00ID:mia1J22wPHP5.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:mia1J22whttp://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:mia1J22wMLog: [PHP-users 29514] Re:UTF-8、正規表現で全角スペースがヒットしないことがある?
http://mlog.euqset.org/archives/php-users.php.gr.jp/29514.html
見たいなのも有るようなので、仕様(納得行かないのでバグのような気がしますが)でしょうか・・・?
0561nobodyさん
2008/01/01(火) 04:44:18ID:???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カテゴリ)の各スレで
0563nobodyさん
2008/01/01(火) 06:09:31ID:???RubyやPythonやJavaScriptでは、既存のクラスに対してあとからインスタンスメソッドやクラスメソッドを追加できるんですが、同じことをPHPでしようとして、やり方が分からず困ってます。
なおこの質問はPHP批判ではなく純粋に質問なので、「Ruby使えやボケ」とかはなしでお願いします。
0565nobodyさん
2008/01/01(火) 06:18:22ID:???PHPをハックすればできるんじゃない?
ていうか既存のクラスいじるとかトリッキーなことしないで、
継承してからいじればいいと思う。
クラスの再利用ってそういうものでしょ。
0566nobodyさん
2008/01/01(火) 06:45:56ID:???継承すると別のクラスになります。
使おうとしいてるライブラリがクラス名を固定しているため、他のクラスは使えません。
factory methodとかDIコンテナを使っていればいいのですが、そうではないので、継承では解決できません。
0567nobodyさん
2008/01/01(火) 06:52:45ID:???何のクラスにどういうメソッドを追加しようとしてんの?
0568nobodyさん
2008/01/01(火) 06:59:41ID:???止まってるんじゃなくて、マッチングに時間がかかってるだけみたい。
対象文字列を短くしたら、数秒で終わるようになった。
たぶんeregi()のマッチングアルゴリズムがまずいんだろう。
UTF-8でいいなら、mb_eregi()のかわりにpreg_match()を使って、パターンに u オプション使えばいい。
それから、質問するときは現象が発生する最小限のコードにしてほしい。
getPage()とかいらんから、対象文字列を短くしてコードに貼付けるべし。
0569nobodyさん
2008/01/01(火) 07:02:35ID:???0570nobodyさん
2008/01/01(火) 07:03:40ID:???privateやprotecedになっているインスタンス変数に対して、publicなアクセッサを定義したいというだけです。
他人が作ったまずい設計のクラスを、なんとかして使わなければいけないときに、RubyやPythonだとなんとかできてしまうので、同じことがPHPでもできたらいいなと思って。
0571nobodyさん
2008/01/01(火) 07:19:12ID:???0572nobodyさん
2008/01/01(火) 07:37:33ID:9i91PKAGphp_qrってのを使おうと思ったんですが、インスコまではやったんだけど
php_output_from_zvalがみつかんねぇってこと言われました
php_output_from_zvalってなんのパッケージ入れればいいんですか?
0573nobodyさん
2008/01/01(火) 07:46:35ID:???0574nobodyさん
2008/01/01(火) 07:54:18ID:9i91PKAGphp4なんですが、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:???有難うございます。色々試してみた所、仰るとおり、
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だとマッチする)。
もう訳が解りません…
0577574
2008/01/01(火) 09:54:04ID:???php_qr.cの594行目のチェックをはずしたらうまく行ったっぽい
0578nobodyさん
2008/01/01(火) 10:08:13ID:???//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
他人が書いてるものを見るとわけがわからなくて嫌いになりそうになるよな。
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:???0590nobodyさん
2008/01/01(火) 15:35:06ID:???あとで使い勝手とか教えてくれたら嬉しい。
0593nobodyさん
2008/01/01(火) 17:29:15ID:F2c2JMdrクッキーを与えるドメインとは別のドメインを書いても
別のドメインでそのクッキーを使えるようにはならないのでしょうか?
やってみたけど上手くいかないので、やり方が悪いのか根本的に出来ないのかを知りたいです。
0594nobodyさん
2008/01/01(火) 17:31:31ID:???$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
この記述でクエリの送信に失敗しました と出るのですが
記述が間違っているんでしょうか?
0595nobodyさん
2008/01/01(火) 17:43:33ID:???多分だけど、それが可能だとしたら他のドメインのcookieを書き換える事が可能ということに
なるので、ブラウザ側が許可しない気がする。
0596nobodyさん
2008/01/01(火) 17:49:21ID:???mysql は使ってないから、詳しくは知らないけど、これで調べれば少しは判るかも。
http://jp.php.net/manual/ja/function.mysql-error.php
0597nobodyさん
2008/01/01(火) 18:02:26ID:???その関数を使ってみたところ
単純にデータベース接続が完了してなかったみたいでしたorz
くだらない質問にありがとうございました。
0598nobodyさん
2008/01/01(火) 19:52:12ID:gtyeLFx+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:???同じPCから複数のユーザとしてログインする必要がないなら、 setcookieで path とか domain も指定すれば
cookieが共有される気がする。
0600nobodyさん
2008/01/01(火) 22:55:23ID:???class Foo {
static Map table = new HashMap();
static { // static initializer
table.put("<", "lt");
table.put(">", "gt");
table.put("&", "amp");
table.put("¥"", "quot");
}
}
0602598
2008/01/01(火) 23:04:36ID:gtyeLFx+ここでも仕様が違うんですね。
他の方法を試してみます、どもでした。
0603nobodyさん
2008/01/01(火) 23:30:56ID:???ハァ?何これフザケテンノ?
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みたいな可変する文字列のn番目に文字列"\n"を挿入する場合、
substrで切り出してシコシコ成形する以外にスマートな方法ありませんか?
0607nobodyさん
2008/01/02(水) 04:44:42ID:???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$obj->NAMAE で名前カラムのデータが求められるとします(カラム名は必ず大文字)
で、上記の呼び出しを関数化したとき
function yobidashi($name){
$name=strtoupper($name);
return $obj->name;
}
としても上手くいきません
$obj->の後に続くのはカラム名でなければいけないからなんですが、
どういう書き方にしたらいいのかわかりません
どなたかアドバイスお願いします
0610nobodyさん
2008/01/02(水) 07:34:16ID:???0611nobodyさん
2008/01/02(水) 07:51:34ID:???0612nobodyさん
2008/01/02(水) 08:26:14ID:???いまいち状況がワカラン中でレスをするが・・・・
return $obj->$name;
これでどう?
関数呼び出す時は呼び出し方の例も記載すると
レスし易いと思う
0616nobodyさん
2008/01/02(水) 10:06:19ID:???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とか調べてついでに覚えます
ほんとにありがとう
0619nobodyさん
2008/01/02(水) 12:44:05ID:???0620nobodyさん
2008/01/02(水) 12:52:33ID:???0621nobodyさん
2008/01/02(水) 14:12:54ID:???0623nobodyさん
2008/01/02(水) 19:05:49ID:???Windowsでの話ならその通り。あくまで中身がPerlだったらの話だけど。
別にActive Perlじゃなくてもいいけど、定番だし普通これかな。
Linuxがどうかは知らない。
んでPHPと関係ないんで、次からはスレちゃんと選んでね。
■ このスレッドは過去ログ倉庫に格納されています