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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/01/27(日) 18:17:59ID:jK32tI//
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん2008/01/27(日) 18:19:14ID:jK32tI//
【簡易FAQ】 (1/3)
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)、起動&再起動あたり
0003nobodyさん2008/01/27(日) 18:20:07ID:jK32tI//
【簡易FAQ】 (2/3)
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.を参照
0004nobodyさん2008/01/27(日) 18:20:39ID:jK32tI//
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0005nobodyさん2008/01/27(日) 18:21:11ID:jK32tI//
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0006nobodyさん2008/01/27(日) 18:22:00ID:jK32tI//
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
0007nobodyさん2008/01/27(日) 18:24:19ID:???
まあ一応使うけども
0008nobodyさん2008/01/27(日) 18:30:46ID:Nkn4j03s
1000 名前:nobodyさん 投稿日:2008/01/27(日) 18:30:02 ID:Nkn4j03s
1000Get!!
0009nobodyさん2008/01/27(日) 18:33:32ID:???
前スレ
>>997
国名でいいならAPNICのサイトからJPのIP割り当て範囲を調べ、
そのリストを作成してその範囲にマッチするか総当りチェック。
県名の場合は各プロバイダによるが、ホスト名から地域が推測できるので、
それのリストを作成してチェックする。
0010nobodyさん2008/01/27(日) 18:34:22ID:???
で、スレ番61になってるが本来ここは63ね。
0011nobodyさん2008/01/27(日) 18:39:08ID:???
> 991 名前:nobodyさん 投稿日:2008/01/27(日) 18:22:16 ID:IHMN/Cyj
> ああ埋まってしまう。
> >>983
> それでOKです。串さされたらどうしようもないですし。
> 方法を教えてもらえませんか?
> 専用の変数があるんでしょうか?

漏れ串でなければ、追いかけるのは不可能。その串のログでも
参照しない事には無理。
>>9が言うように、推測でやるしかないので、専用の変数(←これは
関数のことをいいたかったのかな?)というものももちろん無い。
0012nobodyさん2008/01/27(日) 18:44:53ID:IHMN/Cyj
>>9
前もってリストが必要なんですね。
ご回答ありがとうございます。

>>11
HTTP_REFERER や HTTP_USER_AGENT みたいに
クライアントが発信する国名を
(もちろん情報発信はクライアント依存なんで正確性はアレですけど)
一発で取ってくれる方法があるかと思ってたんです。
そもそも国名なんかはこっちで推測するしかないんですね。
ご回答ありがとうございます。
0013nobodyさん2008/01/27(日) 18:47:52ID:???
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0014nobodyさん2008/01/27(日) 18:50:21ID:???
環境変数だとaccept-langが参考になるくらいだな
そういうデータ売ってるとこもあるかも知れんが
まあ必要なら答えてもらえばいい
0015nobodyさん2008/01/27(日) 18:57:43ID:???
相手の国や県名を表示させるのって、それ自体が
製品となっているからな。今はそれを買うか、
全部自分で作るかの段階だろう。
0016nobodyさん2008/01/27(日) 19:02:00ID:IHMN/Cyj
>>14
おお、これクライアントの希望指定言語を取得できるんでしょうか。
いいですね。
日本からのアクセスか、それ以外かで
英語表記と日本語表記を切り替えたいので、
こっちのほうが処理も軽そうです。
0017nobodyさん2008/01/27(日) 19:11:35ID:???
>>16
それだけの目的ならHTTP_ACCEPT_LANGUAGE見るだけでいいよ
英語と日本語なら、jp以外を英語にしとけばいいんじゃない?
あとは切り替え用によくみる国旗のリンクみたいの用意しとけばOK
0018nobodyさん2008/01/27(日) 19:15:43ID:???
>>16
クライアントで設定されているWebサイト閲覧の言語の優先順位情報だから適宜だね。
複数設定されてる場合はja,en-US;q=0.7,ko-KR;q=0.3とかになるんで留意の程。
0019nobodyさん2008/01/27(日) 19:16:48ID:???
県って方言まで分けるつもりだったのかよ
0020nobodyさん2008/01/27(日) 20:21:13ID:???
そのとおりだにょ
0021nobodyさん2008/01/27(日) 21:00:26ID:IHMN/Cyj
>>17-18
アドバイスありがとうございます。
最初の二文字を切り取って判定するとよさそうですね。

>>19
言語判定だけじゃなくても保存しておけばソースとして有効でしょう。
情報は多いにこしたことはないかと。
0022nobodyさん2008/01/27(日) 22:49:36ID:???
PHPを隠蔽するため、.htaccessで拡張子.htmlでも動くように設定しました。
.htmlで動くようにはなったのですが、404 NotFoundのエラーを返すときに完全な白紙になってしまいます。
これはなぜでしょうか。また解決法はないのでしょうか。ご教授お願いします。

CentOS5 , Apache2.1 , PHP5.1.6

-.htaccess-
AddType application/x-httpd-php .html
ErrorDocument 404 /error/404.html

-/error/404.html-
純粋なhtmlファイル
0023nobodyさん2008/01/27(日) 23:10:47ID:???
>>22
エラーログにはなんか出てるの?
0024スレ”管理”人2008/01/27(日) 23:11:01ID:???
このごろスレが荒れ気味なので、夜は私がこのスレの仕切り役をさせて頂きます。
昼は仕事で忙しいので、昼は誰か良心的な方が仕切って下さい。

宜しくお願いします。
0025nobodyさん2008/01/27(日) 23:24:13ID:???
>>22
>>1
0026nobodyさん2008/01/27(日) 23:25:25ID:???
  シュッ
      シュッ
 シュッ   ハ,,ハ  シュッ
 ハ,,ハ彡( ゚ω゚ ),ハ
( ゚ω゚ )彡ミ( ゚ω゚ ) >>24 お断りします
_(__つ/ ̄ ̄ ̄/_
  \/      /
0027スレ””管理””人2008/01/27(日) 23:37:50ID:???
明日は仕事なので、今日はもう上がります。
昼の人、あとはよろしくお願いします。
0028スレ”管理”人2008/01/27(日) 23:49:18ID:???
>>27
偽者ご苦労さまです。しかも、名前をそのままコピペしたのがバレバレですよ。
0029nobodyさん2008/01/27(日) 23:50:30ID:JQB2UzdY
すみません、教えて頂きたいのですが、

本クラス
 private 名前
 private 値段

本棚クラス
 private 本を入れる配列

部屋クラス
 private 本棚を入れる配列


こういったクラスがあるとします。(ゲッター、セッターとかメソッドあり)
この時、部屋にある本の一覧を表示とかさせたい場合、どういった方法でやればいいのでしょうか?
foreachだとpublic以外取得出来ないみたいで、やり方がわからないんです。
よろしくお願いします。
0030nobodyさん2008/01/27(日) 23:52:15ID:???
>>29
誰が取り出すんだ?
0031nobodyさん2008/01/27(日) 23:56:40ID:???
ゲッターあるならそれで取り出せばいいじゃn
0032nobodyさん2008/01/28(月) 00:01:46ID:2wjTZIh4
cent osを使っています。
http://centossrv.com/ では
mysqlとphpの連結は書いてありますが、
php+postgresqlの連結が書いてありません。
書いているサイトとかしっていたらよろしくです。
文字コードはmysqlはutf8でpostgresqlはEUC-JPを使いたいのですが
これでいいですか?
default_charset = EUC-JP
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.http_input = ASCII,JIS,EUC-JP,SJIS
mbstring.detect_order = ASCII,JIS,EUC-JP,SJIS
mbstring.substitute_character = none
もし板違いなら誘導をお願いします。
linux板で書いていたんですが、答えもらえず
ここにきました。
よろしくです。
0033nobodyさん2008/01/28(月) 00:07:57ID:???
>>29
イテレータを定義すればforeachでも回るよ
詳しくは↓の奴が答えるから
0034nobodyさん2008/01/28(月) 00:09:51ID:???
タンスの角に小指をぶつけて
いてれーたー。
0035nobodyさん2008/01/28(月) 00:26:09ID:???
Javaじゃないんですうううううう
0036nobodyさん2008/01/28(月) 00:27:40ID:???
>>32
mysqlとphpの連結ってのがどこに書いてあるのか分からんわ

入出力を自動でEuc-jpにしたい、ということなら encoding_translation=On が必要
ただこうしてもDBへのInsertなんかが勝手にEuc-jpになるわけじゃないからね
自前でmb_convert_encodingすることが必要で、これはアプリの実装次第

あとdefault_charsetでeuc指定すると、出力がUtf8決めうちの奴は化けるので夜露死苦

http://jp2.php.net/mbstring
0037nobodyさん2008/01/28(月) 00:44:29ID:???
Iterator を implements して rewind(), valid(), key(), current(), next() あたりを作れば private でも foreach できる
この場合部屋クラスで IteratorAggregate を実装し、getIterator() によって Iterator を実装した自動回転式本棚クラスを返すようにすれば・・・

って PHP でわざわざそんなことするやつがおるかバカチン!
0038nobodyさん2008/01/28(月) 00:46:58ID:???
ワロタw 本末転倒だなJavaって。
0039nobodyさん2008/01/28(月) 00:52:51ID:???
もう全部publicでいいじゃんw
0040nobodyさん2008/01/28(月) 00:56:45ID:???
何でオブジェクト指向プログラミングの話をPHPスレに来て
質問するのか良く分からないが、本棚クラスにPrivateで
今どの本を取り扱っているのかを管理する変数を置いてない
から、出来ないだけだろ。
これはPHPが悪いのではない。オブジェクト指向の理論を
理解していない方が悪いのだ。
0041292008/01/28(月) 01:03:27ID:???
すみません、オブジェクト指向はまだ理解してないです。

>イタレーション
http://www.shigeweb.jp/php/project_p/?section=php5oop&page=iteration
ここら辺りでいいんですかね、ちょっと読んでみます。

>PHP でわざわざそんなことするやつが
普通に配列でやった方がいいってことですよね?
0042nobodyさん2008/01/28(月) 01:14:30ID:???
本当に勉強をする気があるのならば、PHPから離れて
「デザインパターン オブジェクト指向」とかでぐぐって
見た方がいいかと。
オブジェクト指向を学ぼうとしているのか、それとも
今目の前にある問題を解決出来ればそれでいい、
という考えなのか、良く分からないのだが。
0043nobodyさん2008/01/28(月) 01:14:57ID:???
まあ本の一覧を取得するゲッターを書けばそれで終わる話だからね
0044nobodyさん2008/01/28(月) 01:19:07ID:???
/error/ 内だけ AddTypeを戻してもだめ?
0045nobodyさん2008/01/28(月) 01:20:52ID:???
>>22あてだった。
0046質問2008/01/28(月) 01:24:42ID:CLWaFVui
phpでIMAPをやろうとしています。今

$arybox = imap_listmailbox($stream, $server, "*");

for ($i = 0; $i < count($arybox); $i++) {

list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));

$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}


のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
004732です。2008/01/28(月) 01:54:25ID:2wjTZIh4
ってことはmysqlもeuc-jpにしたほうがいいかな?
;; 出力バッファリングを無効にする
output_buffering = Off

;; HTTP charsetヘッダを設定
default_charset = EUC-JP

;; デフォルトの言語を日本語にする
mbstring.language = Japanese

;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On

;; HTTP 入力エンコーディング変換を auto に設定
mbstring.http_input = auto

;; HTTP 出力を EUC-JP に設定
mbstring.http_output = EUC-JP

;; 内部エンコーディングを EUC-JP に設定
mbstring.internal_encoding = EUC-JP

;; 無効な文字を出力しない
mbstring.substitute_character = none

でいくもんね。
でもmysqlをeuc-jpに変えることってできるんですか?
パッケージインストールでも。
0048nobodyさん2008/01/28(月) 02:03:38ID:???
>>47
なんかDB的に意味ない設定してるけど、運がよい場合に限り不具合は出ないだろう
mysqlの糞うざい自動コンバートの問題などもう少し調べたほうがいいかと思う
0049292008/01/28(月) 02:11:46ID:???
>>42
前もオブジェクト指向的な質問をしてJavaを勧められました。

何がやりたいのかというと、
処理を実行して作られたデータ(DBから取ってくるとか)を1つのオブジェクトに入れておいて、
表示する時にそのオブジェクトからデータを取って表示したいんです。
オブジェクトが1つならいいんですが、オブジェクトの中にオブジェクトとかになると…。
その辺りをどう処理したらいいのかわかなくて質問させて頂きました。
0050nobodyさん2008/01/28(月) 02:45:10ID:???
>>49
結局あと何が問題なんだ?
自作クラスなんだからどうとでも好きなように作れるじゃん。
正しいポリモーフィズムで実装したいってなら話は別だが
0051nobodyさん2008/01/28(月) 02:58:13ID:???
まずデータオブジェクトとそれに対する操作を分離して設計することを考える
データに対して「それを操作する」というアルゴリズムをオブジェクト見なす
データセットを舐めていく操作を最も汎用的な形にするとイテレータと呼ばれるものになる
これらをinterfaceや抽象クラスとして定義して利用する
データに操作を組み込みため、操作したいデータにinterfaceのメソッドを実装する

OO的思考
0052292008/01/28(月) 03:04:19ID:???
>>50
イテレータでいけそうです。
なんかオブジェクトの中のオブジェクトをとって、またその中の〜って感じで値を得るのが
いけてるのかな?と、もっと便利なやり方があるんじゃないのかと思ったのです。

質問に答えてくれた方々、ありがとうございました。
0053nobodyさん2008/01/28(月) 03:08:49ID:???
>ブジェクトの中のオブジェクトをとって、またその中の

後学のためにRecursiveIteratorとかGoFのCompositeパターンを見ておくといいかも。
しかし部屋-本棚-本の場合はそういう発想にはあわないと思うね。
0054292008/01/28(月) 03:12:14ID:???
>>53
おお、ありがとうございます。
参考になりそうです。
やっぱりデザインパターンは大事なのですね。
勉強したいと思います。
0055nobodyさん2008/01/28(月) 03:29:30ID:???
array $room->getShelf(pos)->getBooks([pos]) でいいんじゃないの
0056nobodyさん2008/01/28(月) 04:33:31ID:???
PHPで共用メモリが使えるってんで鼻息を荒くしたんですが、
借りてるスペースでは使えないことが分かりがっかりしました。

どうすればいいでしょう?
0057nobodyさん2008/01/28(月) 04:54:15ID:???
射精して落ち着いてください
0058nobodyさん2008/01/28(月) 07:50:37ID:???
部屋に居る人間が、本棚を特定する場合、どういうやり方に
なるのか決めてるのかなぁ。
「1番目、2番目の本棚」という感じでやるんだろうか。
本棚に収まっている書籍の特定も、何番目という数値で
いいのか、それとも名前がつけられるのかによって書き方は異なる。
前者でよければ、本棚とか何とか言うのは辞めて、
おとなしく配列でやった方がコーディングや処理が
早い場合も多数ある。
0059nobodyさん2008/01/28(月) 08:41:43ID:bzu6tb73
PHPのオブジェクト指向の考え方について質問させてください

class name($value) {
var $aaa = "hoge";
var $bbb = 100;
function getTotal($value2) {
$tax = $this->price * 0.05;
return $this->price + $tax;
}
}

こんな感じのスクリプトがあったとき(構文自体は間違いがあるかも)
$value や $value2 と引数?が入ってることがありましたけれども
これは例えばどこからこれらの変数に値が渡されて、
結果どのような変数に値がわたっていくのでしょうか?

0060nobodyさん2008/01/28(月) 08:51:21ID:???
>>59
めちゃくちゃすぎで答えようがないっす
0061nobodyさん2008/01/28(月) 09:07:27ID:bzu6tb73
60様
すみません。
質問の形を少し変えまして、$valueをこのクラスで活かすには
どのような形に書き換えればよろしいのでしょうか?
適当な例文などを示して頂ければ幸いです。
0062nobodyさん2008/01/28(月) 09:09:27ID:bzu6tb73
重ねてもうしわけありません。
私が示しておりました文は確かにめちゃくちゃでした。
訂正いたします

class name($value) {
var $mono = "hoge";
var $price = 100;
function getTotal($value2) {
$tax = $this->price * 0.05;
return $this->price + $tax;
}
}
0063nobodyさん2008/01/28(月) 09:17:33ID:???
>>60ではないけどひとつ言うと
classに引数は渡せない。

だから
class name
{
  var $aaa = "hoge";
  var $price = 100;

  function getTotal($value2)
  {
    $tax = $this->price * 0.05;
    return $this->price + $tax;
  }
}

なら分かるけど正直関数内で$value2が使われてないから無駄です。
$this->がついてるのはクラス内変数
何もついてないのは関数内変数(含 引数)。
0064nobodyさん2008/01/28(月) 09:20:01ID:???
>>62
いいや・・・

まず1点。1行目の
>class name($value)
ここはクラス名の宣言やら継承するクラスなどの指定をするだけ。
引数があるのはおかしい。
class Name {
とするのが正しい。

>function getTotal($value2) {
引数に$value2を指定しているのにもかかわらず、
このスコープ内において一度も出てきていない=不要。
0065nobodyさん2008/01/28(月) 09:23:45ID:???
それぞれの変数や関数が何をしようとしているのか推測しづらいので、レスも付きにくいかと。

クラスname : 商品を扱うクラス。商品名・単価をセットしたり、消費税を計算したりする。
$value : ?
$mono : 商品名
$price : 単価
getTotal : 消費税を加えた金額を取得する
$value2 : ?

パッと見では、クラスをnewする時に商品名・単価を設定したくて、それが$valueに入ってる?
$value2は分からん・・・getTotalの呼び出し元で一々代入せずに直接変数を設定してるつもりなのかな?
0066nobodyさん2008/01/28(月) 09:31:55ID:???
class name {
  var $mono = null;
  var $price = 0;
  function setMono($butsu) {
    $this->mono = $butsu;
  }
  function getMono() {
    return $this->mono;
  }
  function setPrice($nedan) {
    $this->price = $nedan;
  }
  function getPrice() {
    return $this->price;
  }
  function calc($tax) {
    return $this->price * $tax + $this->price;
  }
}

$obj = new Name();
$obj->setMono("ペン");
$obj->setPrice(100);
echo $obj->getMono()."の定価は".$obj->getPrice()."円で、税込み".$obj->calc(0.05)."円です";
0067nobodyさん2008/01/28(月) 09:56:26ID:???
>>66
なんでコンストラクタ使わないんだよ・・・。

function name($mono, $price)
{
$this->setMono($mono);
$this->setPrice($price);
}

って入れるだろ。
0068nobodyさん2008/01/28(月) 09:56:34ID:bzu6tb73
63様、64様、65様、66様
私の文を訂正して頂きましてありがとうございました。
$value については、構文上正しくない書き方であることが分かりましたし
皆々様よりご丁寧な説明文とともに、納得のいく説明を頂きましたお陰で、正しく理解できたと思います。

$value2 についてなのですが、どうしてもこの変数(メンバ変数?)を使いたい場合は
66様の構文で言うところのどこに$value2を使ってあげるとよろしいのでしょうか?

重ね重ね至らぬ質問をいたしまして恐縮です。
0069nobodyさん2008/01/28(月) 10:03:03ID:bzu6tb73
67様
お礼が遅れまして申し訳ありません。
ありがとうございました。

そのような構文の書き方ならば、functionの横に(引数)という形で書き入れても良いのですね。
参考になりました。
コンストラクタというのは、PHP5できちんと実装されたものだとマニュアルか何かで拝読いたしました。
私が使っている環境は、インターネット上のサーバに合わせている事もありPHP4.4.4をインストールしております。
そのような書き方でも大丈夫なのでしょうかと質問したいところなのですが
これは、自身で調べることにいたします。お手数かけまして恐縮いたします。

0070nobodyさん2008/01/28(月) 10:04:57ID:???
>>68

>function calc($tax) {
> return $this->price * $tax + $this->price;
> }

で$value2の代わりに$taxつかってるだろ。
ちゃんと嫁。
$taxを$value2って名前にしても同じ。



#因みにcalcって変数名はどうかと思う。
0071nobodyさん2008/01/28(月) 10:15:37ID:???
>>70
なんか横から聞いてて参考になった。thx!!
0072nobodyさん2008/01/28(月) 10:16:51ID:???
ttp://www.scollabo.com/banban/php/php_11.html
このあたりに書いているのを自分なりにアレンジしようとしたのか?
0073nobodyさん2008/01/28(月) 10:57:17ID:bzu6tb73
70様
ご指摘ありがとうございます。
お陰様で不明点がひとつ解決いたしました。

72様
実はそうなのです。
「コンピュータ」の部分や、「価格」の部分を変数から受け取る形を作りたくて
試行錯誤しておりました。
66様のように書いておけば、66様の下4行という形で「ペン」「100」「0.05」の値を
変数で渡すようにすることで実現可能なのだということがわかりました。

皆々様、ありがとうございました。
0074nobodyさん2008/01/28(月) 12:08:34ID:???
>>73
見てるサイトが悪いと思う。あんな意味のない例題普通出さないわ。
まぁがむばれ。
0075nobodyさん2008/01/28(月) 12:22:18ID:bzu6tb73
74様
励ましのお言葉ありがとうございます。
よろしければ、例題としてよい事例が挙げられているお勧めのサイトなど
ご存知でしたら、ご教授願えませんでしょうか?
質問にご回答頂いた上に厚かましい次第ですが、お聞き入れくだされば幸いです。
0076nobodyさん2008/01/28(月) 12:29:04ID:???
>>75
とりあえず〜〜様ってのやめれ
安価に汁、激しく読みにくい
0077nobodyさん2008/01/28(月) 12:33:38ID:???
>>76
様と殿と御中を使い分けるのは、匿名では不可能
0078nobodyさん2008/01/28(月) 12:41:20ID:???
殿が貴方様を欲しております。御中
0079nobodyさん2008/01/28(月) 12:49:30ID:???
ウォンチュ!
0080nobodyさん2008/01/28(月) 13:01:19ID:???
最近のサイトはアフィがくっついてるからな。
URL出すと宣伝乙といわれるから、自分にあったのを探せとしかいえないね。
Javaのほうが説明上手いとこが多い。PHPと構文はほぼ一緒なので理解できるはず。
0081nobodyさん2008/01/28(月) 13:02:52ID:???
>Javaのほうが説明上手いとこが多い。PHPと構文はほぼ一緒なので理解できるはず。

は???
0082nobodyさん2008/01/28(月) 13:18:47ID:???
オブジェクト指向をやろうと思うのであれば、解説サイトを探す他に、
ソースを読むという方法もある。それ以外には自分なりに課題を決めて
やってみるのも手だな。
(例)認証をしてメインメニューに入るまでの過程のプログラムで、
認証をするオブジェクトと、メインメニューのオブジェクトを作り、
コーディングしなさい。IDとパスワードの確認は別ファイルにある
リストと一致するかを確認するものとする。
0083nobodyさん2008/01/28(月) 13:21:20ID:wIYhLBDU
$varには、1と2しか値が入っていないこないと想定されるとき、

if ($var == 1) {

} else if ($var == 2) {

}

とするべきか、

if ($var == 1) {

} else if ($var == 2) {

} else {
// ここにエラー処理
}

とするべきかよく分かりません。
全てに後者の方法でやるとコードが冗長になるし、
「// ここにエラー処理」に何を書くべきかよく分かりません。

ご教授よろしくお願いします。
0084nobodyさん2008/01/28(月) 13:23:25ID:???
つかマニュアル読めよ・・・。ありえん。
0085nobodyさん2008/01/28(月) 13:26:28ID:???
84はbzu6tb73への言葉ね
>>83
俺だったらswitch-case
0086nobodyさん2008/01/28(月) 13:27:12ID:???
>>83
上のほうで十分。あと、phpの場合は「elseif」と書く。
場合によっては下のほうも書くが、君がそれを何処で知ったのか。
その理由は何であるのか。を理解していないのであれば、
書くだけ無駄。
0087nobodyさん2008/01/28(月) 13:29:02ID:???
>>83
$varが適切かどうかをチェックすれ
0088nobodyさん2008/01/28(月) 13:34:10ID:???
例外処理を冗長とか言うなよw
0089nobodyさん2008/01/28(月) 13:35:14ID:???
例外じゃないだろ
0090nobodyさん2008/01/28(月) 13:36:01ID:???
>>86
別にelse ifでも良いだろ。
0091nobodyさん2008/01/28(月) 13:38:12ID:???
>>90
>>86じゃないがPHPでもelse ifでかけるんだな。知らんかったわ。
0092nobodyさん2008/01/28(月) 13:39:12ID:???
>>83
ここのような初心者向けスレで聞くと、その答えは前者になる。が、普通は後者。
動けばいい、安全性より速さ、落ちたらその時に考えればいいというなら、前者の方がベスト。
0093nobodyさん2008/01/28(月) 13:39:35ID:???
>>89
1と2しか値が入っていないこないと想定されるときに1と2以外が入ってきた場合の処理は例外処理だろ。
try〜catchだけじゃ無いぞ。
0094nobodyさん2008/01/28(月) 13:42:46ID:???
いないこない、がチョトカワイイw
0095nobodyさん2008/01/28(月) 13:43:40ID:???
すいません確認したいのですが
$text = '0x41';
echo preg_replace( '/0x[0-9a-f]{2}/ie', 'chr($0)', $text);
のようなことは ereg_replace ではできないと考えてよいのでしょうか?
0096nobodyさん2008/01/28(月) 13:45:29ID:???
外から入ってくるものならifの前に$varが1か2じゃなかったらexit
中からのものならelse{echo '$varがおかしいぞー';print_r($var);}
とかデバッグ用にやってる 本番には消す 俺たいていプリントデバッグだし
0097nobodyさん2008/01/28(月) 13:50:04ID:???
チェック用のコードを本番で消すのか。俺は怖くてできんな。
0098nobodyさん2008/01/28(月) 13:50:24ID:???
>>95
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php

> e (PREG_REPLACE_EVAL)
> この修飾子を設定すると、preg_replace() は、(略)…
> この修飾子を使用するのは、preg_replace()のみです。 他の PCRE 関数では無視されます。
0099nobodyさん2008/01/28(月) 13:53:49ID:???
言葉が足りなかった 本番には(デバッグ用の定数読んで表示を)消す ね
0100nobodyさん2008/01/28(月) 14:00:11ID:???
たま〜に出るものだけど、何かのアプリ使ってると「予期しないエラー」
と表示されるでしょ?それは、この場合のelseになった場合だよ。

>>90
それは知らなかった。でも、公式マニュアルはスペース無しだw
0101nobodyさん2008/01/28(月) 14:12:20ID:???
>>98
オプションのeそのものが使えないのはわかるのですが
i の代わりになる regi のような文もあるかと思ったんですがなさそうですね。
0102nobodyさん2008/01/28(月) 14:41:06ID:???
>>101
ケース無視ってことなら
http://jp.php.net/manual/ja/function.eregi-replace.php
とかあるけども。
0103nobodyさん2008/01/28(月) 14:45:36ID:???
あ、ereg関連でeオプションに相当する機能があるのかなと疑問に思ったんですが
できないならできないで納得したので問題ないです。
0104nobodyさん2008/01/28(月) 14:47:10ID:???
わざわざありがとうございました。
自由度が高いし高速らしいのでやっぱりpreg使ったほうがよさそうですね。
0105nobodyさん2008/01/28(月) 15:09:28ID:???
eregはいらない子
0106nobodyさん2008/01/28(月) 15:10:10ID:jMMNIxRZ
楽天APIのXML取得について教えてください。
<Response>
  <Args>
  〜中略〜
</header:Header>
<Body>
  <itemSearch:ItemSearch xmlns:itemSearch="〜">
   <count>151517</count>
   <page>3</page>
   <first>11</first>
   <last>15</last>
   <hits>5</hits>
   <carrier>0</carrier>
   <pageCount>100</pageCount>
  <Items>
<Item>
〜以下略〜

このXMLにある <count>から<pageCount>までの値を取得する方法を教えてください。
PHP5対応です。商品情報は取得出来たのですがここが出来ません。
ご指導お願いします。
0107nobodyさん2008/01/28(月) 15:10:35ID:21Z67c9t
<A href="005.html" target="top">テスト</A>
<A href="a/031.php?test=1">hoge</A>
<A href="http://yahoo.co.jp">ヤフー</A>

こういうソースがあったとして、
これを、URLとテキストそれぞれを配列で取得するにはどうやったらいいのでしょうか

$url[0] = "005.htm";
$url[1] = "a/031.php?test=1";

$title[0] = "テスト";
$title[1] = "hoge";

上記のように取り出したいです
0108nobodyさん2008/01/28(月) 15:13:59ID:???
拳銃についているサイレンサーを、サイレンを鳴らすものだと勘違いしてる馬鹿をどう処分しようかwww
0109nobodyさん2008/01/28(月) 15:18:46ID:???
その拳銃でそいつを撃てばいいんじゃね?
0110nobodyさん2008/01/28(月) 15:29:08ID:???
>>109
殺人教唆で通報します
0111nobodyさん2008/01/28(月) 15:41:06ID:???
>>106
simplexml+xpathで抜き出すのがよろしかろう

>>107
preg_matchで抜き出すのがよろしかろう
0112nobodyさん2008/01/28(月) 15:41:57ID:???
>>106
DOM
0113nobodyさん2008/01/28(月) 15:42:28ID:???
>>111
htmlだってsimpleXMLやDOMで抜き出したほうが楽なのでわ?
01141072008/01/28(月) 15:44:26ID:21Z67c9t
>>111
ありがとうございます
調べてみます
01151062008/01/28(月) 15:47:44ID:???
$xml = simplexml_load_file($url);
$pageCount = $xml->Body->ItemSearch->pageCount;
echo $pageCount

上記のようにやってみましたがページが表示されません。
何か抜けているのでしょうか?
ちなみに商品データの方は

foreach($xml->Body->ItemSearch->Items->Item as $item){
  中略
}

このような形で取得が出来ました。
0116nobodyさん2008/01/28(月) 15:49:23ID:???
>>114
preg_match_allだったわ
マッチ結果をforeachでぐるぐるすればOk

>>113
現実のサイトのhtml/xhtmlはxmlパーザで処理できないことはままある
0117nobodyさん2008/01/28(月) 15:53:12ID:???
>>107
<html><body>
<?php
$str = '<A href="005.html" target="top">テスト</A>
<A href="a/031.php?test=1">hoge</A>
<A href="http://yahoo.co.jp">ヤフー</A>';
$a = split("\n", $str);
$a0 = split('"', $a[0]);
$url[0] = $a0[1];
$a1 = split('"', $a[1]);
$url[1] = $a1[1];
$a2 = split('"', $a[2]);
$url[2] = $a2[1];

$b0 = ereg_replace(">", "", $a0[4]);
$b0 = ereg_replace("</A", "", $b0);
$title[0] = $b0;
$b1 = ereg_replace(">", "", $a1[2]);
$b1 = ereg_replace("</A", "", $b1);
$title[1] = $b1;
$b2 = ereg_replace(">", "", $a2[2]);
$b2 = ereg_replace("</A", "", $b2);
$title[2] = $b2;

echo "$url[0] : $title[0]<br>";
echo "$url[1] : $title[1]<br>";
echo "$url[2] : $title[2]<br>";

?>
</body></html>
0118nobodyさん2008/01/28(月) 15:59:24ID:???
ぉぃぉぃw
0119nobodyさん2008/01/28(月) 16:02:20ID:???
さすがにネタだよな
0120nobodyさん2008/01/28(月) 16:04:36ID:???
>>115
> $pageCount = $xml->Body->ItemSearch->pageCount;

×ItemSearch
○itemSearch

視力検査的な回答で悪いけど
0121nobodyさん2008/01/28(月) 16:08:59ID:???
>>115
ページが表示されないとは?
echoに ; が無いようだけど

$pageCountに希望のデータが入ってないということなら
var_dump($xml->Body)するなどして変数の中身をチェック
基本は大事だよ〜
01221062008/01/28(月) 16:10:50ID:???
>>120
レスありがとうございます。
ご指摘いただいた所は承知しています。
小文字にしても表示出来ません。

ちなみに商品データのところも ItemSearch と大文字にしてありますが
これを itemSearch と小文字にするとエラーがでてしまうようです。
0123nobodyさん2008/01/28(月) 16:16:45ID:???
>>122
そういえばsimplexmlはchildren()で名前空間の子要素を引っ張り出してから
処理しないと駄目だったかもw
まあぐぐって自己解決して
0124nobodyさん2008/01/28(月) 16:30:27ID:???
$is = $xml->Body->children( namespace uri );
$pageCount = $is->children("")->pageCount;

めんどくさいな

list($pageCount) = $xml->xpath("//pageCount");

のほうが読みやすいと思う
0125nobodyさん2008/01/28(月) 16:40:11ID:???
>>124
デフォルトの名前空間も引き継がないのか
おそるべしSimpleXML・・・
01261062008/01/28(月) 16:48:49ID:???
皆さんいろいろとアドバイスありがとうございます。
どの方法を試してみてもやはり駄目のようです。

もう少し調べて頑張ってみます。
01271072008/01/28(月) 16:50:02ID:21Z67c9t
>>116
できました!!!!!
ありがとうございます

>>117
例文ありがとうございます
0128nobodyさん2008/01/28(月) 16:52:00ID:z4N7eEQg
<?php
Html("テスト");

function Html($test){
print <<< DOC
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html lang="ja">
<head>
<title>$test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>テスト</p>
</body>
</html>
DOC;
}
?>

このようなスクリプトがあるとして、ブラウザで見るとshift_jisと解釈されてしまいます。
metaとtitle要素の位置を入れ替えるとUTF-8で解釈されるようになるのですが
別のスクリプトではmeta、title要素の並びがこのままでもUTF-8と解釈されているものがあります。

スクリプトファイル自体は両方ともUTF-8で書いてありますしソースにも差異が見られないと思うのですが
(別のスクリプトからコピペしてきたものなので)
何か心当たりのある方はご教示頂けるとありがたいです。

phpのバージョンは5.2.5、ブラウザはIE系、サーバはhttpdを使ったlocalhostです。
0129質問2008/01/28(月) 16:56:05ID:CLWaFVui

phpでIMAPをやろうとしています。今

$arybox = imap_listmailbox($stream, $server, "*");

for ($i = 0; $i < count($arybox); $i++) {

list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));

$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}


のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
0130nobodyさん2008/01/28(月) 16:57:21ID:???
>>128
ファイルはUFT形式で保存してる?
ソースでUTF-8を指定してもShiftJIS形式で保存していたら意味ないし。
と言うか実際にそう言うミスをしているヤツが会社にいたから。
0131nobodyさん2008/01/28(月) 17:15:33ID:???
>>128
そのまま試したらブラウザではUTF8に解釈されたが
0132nobodyさん2008/01/28(月) 18:00:11ID:???
>>128
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/charset.html#h-5.2.2
> META宣言は、少なくともそのMETA要素がパースされるまでの間はASCIIの範囲内のバイト値が
> ASCIIと同じ文字を表すような文字符号化方法が使われている場合にのみ用いることができる。
> META宣言は、 HEAD要素の、可能な限り先頭の方に現れねばならない。

というかheader()でcontent-type吐いてやるのがベストだと思うけど
0133nobodyさん2008/01/28(月) 18:01:44ID:z2UAw/tw
>>130
ソースもUTF-8で保存しています。

>>131
あら、ちゃんと解釈されましたかorz
こちらはIE系だとダメでしたがFxだとUTF-8で解釈されていました。
もうちょっと調べてみます。
0134nobodyさん2008/01/28(月) 18:02:58ID:z2UAw/tw
>>132
header()を使うのがベストなのはわかるのですが
同じように書いたのに挙動が2通りあるのが釈然としないのです。
0135nobodyさん2008/01/28(月) 18:04:41ID:z2UAw/tw
あ、ID変わってますが128=133,134です
0136nobodyさん2008/01/28(月) 18:07:39ID:???
>>128
html的には
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
のメタタグに関してはtitleより先にもってこないといけない

あとapacheとかphp側で吐いてるheaderによって文字コードが設定されてしまう事が多々ある
なので明示的にmb_http_outputで出力文字コードを設定してやれば
文字化けを起こすことはかなり低くなると思うけど
0137nobodyさん2008/01/28(月) 18:12:42ID:???
>>134
わざわざ引用したけど全く読んでないみたいだな
0138nobodyさん2008/01/28(月) 18:38:13ID:z2UAw/tw
>>136
サーバ側とかphp側の設定にもよるかもしれないですね・・・

>>137
meta要素が解析されるまで同じASCIIコードの文字コードが使われている時に
meta宣言ができるという解釈でいいですか?
この場合いきなりhtmlソースになったから文字コードの解析がおかしくなった、ということでしょうか。
0139nobodyさん2008/01/28(月) 19:14:11ID:???
>>129
これで出来た。
mb_convert_encoding($val, "utf8", "utf7-imap")

imap_utf7_decodeは一体何のために・・・
0140nobodyさん2008/01/28(月) 19:18:01ID:???
何のためにって西洋人のために決まってるだろ
0141nobodyさん2008/01/28(月) 19:18:56ID:???
fsockopenを使ってSMTPサーバーからメールを送信したいんですがPOP BEFORE認証はどのようにやればいいんですか?
0142nobodyさん2008/01/28(月) 19:26:00ID:???
>>141
ぐぐりまくれ
0143nobodyさん2008/01/28(月) 19:26:54ID:???
>>141
前スレでも同様の質問があったな

788 nobodyさん [sage] Date:2008/01/24(木) 18:15:08  ID:??? Be:
    >>783
    http://phpspot.org/blog/archives/2005/12/pop_before_smtp.html
    これ読んでpopbeforsmtpで送れば?

0144nobodyさん2008/01/28(月) 19:33:43ID:???
まずは理屈を知ってから。
http://mizushima.ne.jp/MailStructure/MailStructure.php
0145nobodyさん2008/01/28(月) 22:11:24ID:hM6vuV4g
配列の中に配列を入れた場合がどうも苦手です。

$array1 = array('男','女','その他');
$array2 = array($array1,$array1,$array1);
print_r ($array2);
if(in_array('男',$array2))
{
echo "あり";
}
else
{
echo "なし";
}
として検索すると「なし」が出ます。
実行結果
Array ( [0] => Array ( [0] => 男 [1] => 女 [2] => その他 ) [1] => Array ( [0] => 男 [1] => 女 [2] => その他 ) [2] => Array ( [0] => 男 [1] => 女 [2] => その他 ) ) なし
どうすればいいでしょうか。
0146nobodyさん2008/01/28(月) 22:20:24ID:???
$array1 = array('男','女','その他');
if(in_array('男',$array1)) 

echo "あり"; 

else 

echo "なし"; 

0147nobodyさん2008/01/28(月) 22:23:15ID:???
phpは、ナルシスト言語だろ。
どういうことか、分かるよね。
0148nobodyさん2008/01/28(月) 22:26:18ID:???
in_array()は配列中の値を調べるが、1次元の配列までしか調べることはできない。
$array2を1度分解して1次元の配列にすれば解決。
0149nobodyさん2008/01/28(月) 22:27:49ID:???
>>145
$array1 = array('男','女','その他');
$array2 = array($array1,$array1,$array1);
print_r ($array2);
foreach ($array2 as $key => $ary1) {
  if(in_array('男',$ary1))
  {
    echo "あり index=>".$key."\n";
  }
  else
  {
    echo "なし";
  }
}
0150nobodyさん2008/01/28(月) 22:33:39ID:hM6vuV4g
>>148-149 なるほど、そうだったのですか。どうもありがとうございました。
0151nobodyさん2008/01/28(月) 22:36:43ID:E8VxvVW/
Header locationやjavascript出力でページ遷移させるときに、
そのURLにGETメソッドの形でパラメータつけていって、遷移先のページで
その情報をキーにしてページを生成させる場合があると思います。

そういう場合、移動先のページでユーザがブラウザのURL欄を編集して
こちらの想定外のページを表示させることがあると思うんですが、
こういう対処どうしたらいいんですか?
そんなバカなことする奴は無視?
それしきの細工で致命的な想定外動作を生むようなプログラム書くやつがアホ?
結構悩んでしまいます GETメソッドまったく使わないわけにいかないし
0152nobodyさん2008/01/28(月) 22:39:26ID:???
>>151
ユーザは何するか分ったもんじゃないってことを前提にやっていかないとダメでふ。
要するに対策しないとダメってことでふ。
0153nobodyさん2008/01/28(月) 22:41:17ID:???
>>151
そこまでは責任持たなくていいよ
xss対策だけしっかりしとけば
0154nobodyさん2008/01/28(月) 22:42:21ID:???
>>152
なんでも、ユーザーのせいにするのは頭が悪い設計者の考え。
設計者は、あらゆるケースを想定して対策を講じなければいけないし、
そのようにしないと、一定のセキュリティーは保てない。
0155nobodyさん2008/01/28(月) 22:46:46ID:???
>それしきの細工で致命的な想定外動作を生むようなプログラム書くやつがアホ?
致命的想定外を起こさないために当然チェックはしてるんでしょ?
必要な変数が渡されてるか、渡された変数が正しいものかとか。
おかしかったらページを生成せずに警告かえしとけばいいわけで。
0156nobodyさん2008/01/28(月) 22:55:36ID:???
つまり、>>152は低脳ってことでFA??
0157nobodyさん2008/01/28(月) 22:56:40ID:hM6vuV4g
すいません、もう1つ質問させてください。
phpからコマンド叩いて「rootユーザとしてログイン」して作業を行いたいんですが、
そもそもphpからrootユーザでのログインはできるんでしょうか。
0158nobodyさん2008/01/28(月) 22:58:22ID:???
そんなバカなことする奴は無視? →無視
それしきの細工で致命的な想定外動作を生むようなプログラム書くやつがアホ? →アホ

お前の書いてるとおりだよ 両方
0159nobodyさん2008/01/28(月) 22:58:50ID:???
コマンドってことは、BASIC認証のことでしょうか?
それをphpからっていうと、ソケットで送信することになりますが、可能です。
01601522008/01/28(月) 23:02:52ID:???
だから対策しないとダメって言ってんじゃんwwwww
叩いてる奴同一人物だろ?頭悪いな。
0161nobodyさん2008/01/28(月) 23:04:26ID:???
>>157
sudoとか使えばいいんじゃない
基本的にそのままじゃ無理だと思うけど
0162nobodyさん2008/01/28(月) 23:06:15ID:hM6vuV4g
いえ、例えば以下のような類のプログラムです。
<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>
0163nobodyさん2008/01/28(月) 23:06:43ID:eFFy9q14
ちょっとPHPとは違うんだけどさPHPをウインドウズ環境で開発してるんだけど・・・。

現在ウインドウズサーバに、VNCをインストールしてリモート操作しているが、やはり、これで接続して操作しようとすると、スクロール動作など反応が遅くやりづらいので、tera termなどの通信ソフトを使ってサーバをリモート操作しようと思います。
しかしこのソフトって本来リナックスサーバ用のソフトですよね。
私のように、ウインドウズをサーバにして使っているような環境でも動作するものなのかな?
0164nobodyさん2008/01/28(月) 23:09:27ID:???
>>163
FTP鯖立てるんじゃだめなの?
0165nobodyさん2008/01/28(月) 23:11:51ID:???
まったくPHPと関係ないですね。
普通の人はWindowsXPあたりで開発もするし、デバッグもApacheを入れて同じPC上で行う。
0166nobodyさん2008/01/28(月) 23:12:07ID:hM6vuV4g
>>161 sudoでroot権限を与えていないユーザが踏んでもコマンドを叩くようにしたいのですが、
0167nobodyさん2008/01/28(月) 23:13:59ID:hM6vuV4g
あれ、混乱してきた。。。そもそもexec系のプログラムでコマンドを叩く場合、誰が叩いていることになるんだ?スクリプトが置かれているところのユーザ?
0168nobodyさん2008/01/28(月) 23:14:34ID:???
>>163
同一のローカルネットワーク内なら
ファイル共有しちぇばいいんじゃ?
というか激しくスレ違いな

>>162
ただのコマンドうちたいだけならそれでいいと思うんだけど
別にrootにならなくてもどーとでもできるよ?
0169nobodyさん2008/01/28(月) 23:17:48ID:???
rootで作業するとはおそろしい
0170nobodyさん2008/01/28(月) 23:18:05ID:hM6vuV4g
ルートにならなければできないコマンド、例えばユーザの管理とか。そういうこともrootにならずともできますか?
0171nobodyさん2008/01/28(月) 23:20:41ID:???
>>167
apacheだったと思う
0172nobodyさん2008/01/28(月) 23:21:59ID:???
apacheが動いてるユーザーじゃないの?
0173nobodyさん2008/01/28(月) 23:22:15ID:???
そーゆことをphpでやる状況が想像できない
0174nobodyさん2008/01/28(月) 23:26:51ID:???
apacheをrootで動かす状況が想像できない
0175nobodyさん2008/01/28(月) 23:33:33ID:???
>>170
一応できる
まぁ
http://jp.php.net/manual/ja/ref.ssh2.php
こういうのいれてやる方がいいのかもしれない
0176nobodyさん2008/01/28(月) 23:40:25ID:???
COMを使ってPHPからExcelファイルを作成しています。
そんで、改ページを挿入したいんですが、やり方が判らないです。
HPageBreaksメソッドを使えば出来ると思うのですが・・・

Ver等ですが、PHP5.1.2+Win2003です。
0177nobodyさん2008/01/28(月) 23:41:28ID:5bZSpkHc
おっと、質問者はsage禁止か!
0178nobodyさん2008/01/28(月) 23:46:57ID:hM6vuV4g
>>175 おーなんかいけそうな気がしてきました。ありがとうございます。
0179質問2008/01/29(火) 00:46:04ID:8zOSMWfb
phpでIMAPをやろうとしています。今

$arybox = imap_listmailbox($stream, $server, "*");

for ($i = 0; $i < count($arybox); $i++) {

list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));

$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}


のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
0180nobodyさん2008/01/29(火) 01:00:58ID:???
>>139嫁よタコ
0181nobodyさん2008/01/29(火) 01:15:18ID:???
>>180
ただの定期スパムだ気にするな
0182nobodyさん2008/01/29(火) 02:08:47ID:???
何から何まで一発でやってくれる関数ってないもんかね
0183nobodyさん2008/01/29(火) 02:27:03ID:???
>>182
つ「プログラマ」
0184nobodyさん2008/01/29(火) 06:29:06ID:???
  ,'. : : : .::::/. : .', ::::::. : : : :l:i
  !: : : .::::;:'. : : : :' ,::::::. : : :l.:|
  ',: .::::::/. : : : : : :.ヽ:::::. : :l、!
   ト、:::/: : : : i : : : : ヽ::::::/ l
   ヽ. l: : : : : l : : : : : :lノ' ノ!
      l: : : : :ハ: : : : : :.lテ´ |'
      ,!: : : :i l:: : : : : l  /
     /!: : .::lーl:: i: : : :|            トトト---- 、
   _ /」: : :l:|  l:: |: : : :l- 、_         」        ヽイ
  /l l l: l: :|:l  l: |i: : : l l l ヽ      ミ   rn     〈
  ! l l !:l|: l!l  j/ l: : /l //  |    ス  ,ィ7」j l77¬. }¬、
  ! ヽヽ|! l:| | / /:.イ///  l  _rー┘lV t:::/ ! V z::: lー{ / _,\ >>182 頼む!一発やらせてくれ!!
  | | `l|ヽl! ___/'´/'´イ   l /'´/┴---- ' | ' ----┴ヘ ヽ.|
  l  !    | ┬/ '´   |   |{|_l_____/\_____| ヽ_〕
  ! :.l      !       !:.  l l/    | />  ̄` <ヽ__\ L「
  | ::.',     |       !:.  |      lハ  |  lc | / | |ヽ|
  ! ::::}     !       !::  l       l V l 、 l   !./ー' i
 / .:/    i      |:: |       i cV!_!_|'    |
0185nobodyさん2008/01/29(火) 07:27:13ID:AL6Mrzhd
おしえてください

<td>
あいうえお 123456 </td>
<td>

数字だけを抽出したいのですがうまくいきません

preg_match('/<td>\n\s*.*\s([0-9]+)\s<\/td>\n<td>/', $buf,$match);

echo $match[1];

こういう場合は一旦全部抽出させてereg_replaceで「あいうえお」を削除したほうがいいのでしょうか

よろしくおねがいします

0186nobodyさん2008/01/29(火) 07:50:35ID:???
>>185
状況によりけりだろ。「あいうえお」しかないのならばそれでいいけれど、
漢字とか含んでいたらどうする?
0187nobodyさん2008/01/29(火) 07:57:57ID:???
ereg使うんじゃないの?
0188nobodyさん2008/01/29(火) 08:08:41ID:???
>>185
もうちょっと条件を厳密にしないとちゃんとした正規表現作れないよ
0189nobodyさん2008/01/29(火) 08:50:53ID:ak6dtF+8
>>185
$match = preg_replace("/[^0-9]/", "", $text);
0190nobodyさん2008/01/29(火) 08:59:06ID:???
<td>
あいうえお 123456 </td>
<td>

html 自体おかしいな
http://w3g.jp/xhtml/dic/td
0191nobodyさん2008/01/29(火) 09:23:39ID:AL6Mrzhd
レスありがとうございます
文字は固定なので一旦抽出してから削除する方法にしました


0192nobodyさん2008/01/29(火) 09:30:48ID:rqLkKeN0
下記のようなリクエストをヘッダーで送信して、そのページで結果を表示させたいのですが。
-----------------------------------------
POST http://localhost/Project/POST_TEST/index2.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencode
Content-Length: 16

新宿 居酒屋
-----------------------------------------
これを$requestに入れて、
header($request);
header("Location: index2.php");
のようにしても、
「Header may not contain more than a single header, new line detected」
のようなエラーが出力されます。
どのようにしてPOSTを送信して、送信先のページに結果を表示させることができるのでしょうか?
0193nobodyさん2008/01/29(火) 12:38:45ID:???
エラーの意味がわかれば答えが出そうなもんだが
0194nobodyさん2008/01/29(火) 12:57:49ID:???
ソフトハウスに依頼すれば全部やってくれるぞ。
0195nobodyさん2008/01/29(火) 13:01:58ID:???
しまった>>182へのつもりで送ってた。
作業してる間にログかなり流れてたわ。
0196nobodyさん2008/01/29(火) 13:04:59ID:3emMDaRd
すんません教えてください
$a=123456;
$aをlong(4バイト整数)とした場合にこれの
上位ワード、下位ワードを取得して更に上位バイトと下位バイトにわける方法を教えてください
CでAPIを使ったイメージで言うと
awh=HIWORD(a);
awl=LOWORD(a);
abl=LOBYTE(a);
みたいな関数があったら教えてください・・
0197nobodyさん2008/01/29(火) 13:10:28ID:???
若干スレ違いかもしれないけど、一応PHPの関数なんで質問。

chmod()でファイルをアップロード後に、特定のパーミッションにしてるんだけど
レンタルサーバーで試すと、エラーが出てしまう。
しかし、エラーが出ていてもちゃんとそのファイルのパーミッションは変更されているので
現在は@つけてエラー無視してるんだけど、何が原因なのかわからない・・
chgrp()、chown()などは利用することが出来ないレベルの権限です。

フォルダ構成は
[public_html/0755] - index.php
- [img/0777] - アップされた画像ファイル(これの権限)
- image.php(アップを実行しているファイル)
環境:
Server:FreeBSD/ PHP4.4.2 /スーパーユーザーの権限はなし。

よろしくお願いします。
0198nobodyさん2008/01/29(火) 13:11:11ID:???
>>197
スレ違い以前の問題
まずは>>1を読め
あと何のエラーかぐらい表記しろ
01991972008/01/29(火) 13:17:56ID:R+uUiaBI
失礼しました。

該当箇所でのエラーは下記です。
Warning: chmod(): Operation not permitted in /エラーを出したファイルへのパス/
0200nobodyさん2008/01/29(火) 13:18:56ID:???
>>199
chmod使わなくても勝手にパーミッション設定されたりしてない?
0201nobodyさん2008/01/29(火) 13:21:49ID:???
>>198
知らないならレスしないでください。うざいです
02021972008/01/29(火) 13:23:26ID:R+uUiaBI
>>200
試しに該当箇所のソースをコメントし、ただ単純に
アップしてみたところ644になってました。

なぜ今回PHP上からパーミッションの変更がしたかったかと
いいますと、ユーザーが画像やテキストファイルなどをアップした場合
後に削除要望がある場合を想定して、ファイルの権限やパーミッションを
削除可能な権限にしておきたいと思ったからです。
0203nobodyさん2008/01/29(火) 13:25:36ID:???
>>202
644でも削除可能だと思うんだが
02041972008/01/29(火) 13:31:40ID:???
>>203
ありがとうございます。おっしゃるとおりなんですが、
なぜエラーが出ているのに、変更は出来ているのかというのが
疑問でして・・
自分自身が設定希望のパーミッションは0755です。
0644でも問題はないのですが、パーミッションが変更出来ないなら
出来ないでいいんですが、出来ているのが気持ち悪いというか・・
よくわからない質問ですみません。
0205nobodyさん2008/01/29(火) 13:36:15ID:???
>>196
直接Cのintのバイト列にはさわれないし、無理じゃないかなぁ。
それとも、単純にビットシフトをサボりたいだけ?
エンディアンはどーしたいの
0206nobodyさん2008/01/29(火) 13:39:07ID:3emMDaRd
>>205
シフトできるんですか?できるならシフトでもかまいません。
Cみたいに普通に
$b=($a>>8)&0xFFFF;
ってできますか?
0207nobodyさん2008/01/29(火) 13:51:52ID:???
やってみりゃわかる
0208nobodyさん2008/01/29(火) 14:04:23ID:3emMDaRd
あ、できましたね・・・
HPみてもこれ載ってなかったからできないものと思い込んでました・・
ちなみにこれ知らなかったのでわざわざHEX文字にしてsubstrで2バイトとって
それをintvalでってめんどいことしてました。
あー!
0209nobodyさん2008/01/29(火) 14:08:03ID:???
>>196
$long = 0xab1fe22;
printf("%08xh\n", $long);
printf("%08xh\n", $long & 0xffff);
printf("%08xh\n", ($long & 0xffff0000)>>16);
みたいのではだめ?
関数でやりたいんなら自作して使うとか。
0210nobodyさん2008/01/29(火) 14:08:33ID:???
1ビットの右シフトは2で割ることと同じなわけで…
0211nobodyさん2008/01/29(火) 14:12:43ID:???
質問です。

windows xpにApache2 + php4 + pear標準のみの環境で
XML UnserializerとXML Parserを制作しているphpプログラムの
libsディレクトリ内に配置して

ini_set('include_path', 'libs' . PATH_SEPARATOR . ini_get('include_path'));

っとインクルードパスを設定しているのですが

Fatal error: Class xml_parser: Cannot inherit from undefined class pear in 〜libs\XML\Parser.php on line 96

のようなエラーが出てしまいます。

これはPEAR.phpをインクルードできていないのでしょうか?
それとも他に原因があるのでしょうか?
0212nobodyさん2008/01/29(火) 14:16:33ID:???
>>211
>>1
0213nobodyさん2008/01/29(火) 14:23:36ID:3emMDaRd
>>209
すんません。
普通にシフトが使えたのでそれでできました。
0214nobodyさん2008/01/29(火) 14:41:58ID:3emMDaRd
すんません。更に教えてください
例えば、
$b = sprintf( "%c%c%c%c%c", 1, 2, 3, 4, 5 );
としたときに、$b[2]の値(ここでは3)を取り出したいのですがどうすればいいでしょうか?
一応Cのバイトの配列をイメージしているのですがうまくいきません・・・
0215nobodyさん2008/01/29(火) 14:47:08ID:???
>>214
ord($b[2])とかすりゃ出来るけどそんなことせんでも普通の数値配列ではダメなんか。
細々と質問するより全体として何をしたいのか書いたほうが良いんじゃないかな。
0216nobodyさん2008/01/29(火) 15:00:13ID:3emMDaRd
>>215
嗚呼、またそういう便利なのがあるんですね数値配列とかって
そうです、まさにそれがほしかったのです・・・
それはどのようにしたらいいのですか?
ちなみに、やりたいことはというと、LANでバイナリデータを送信したいのですが
最初に送信すべきデータを$bufにぶちこんで、そのデータ和を求めてそれを最後に送信みたいな・・・
その和を求めるところでひっかかっています。
0217nobodyさん2008/01/29(火) 15:08:57ID:3emMDaRd
>>215
ordでざっくりできました。
ありがとうございました。
0218nobodyさん2008/01/29(火) 15:27:08ID:???
>>216
数値配列って言ったのはバイト配列型が専用にあるわけじゃなくてただ単に汎用配列型に数値を入れるという意味だったんだけどね。
なるほどそれなら文字列バッファのが都合がいいかもね。
http://jp.php.net/manual/ja/function.pack.php
http://jp.php.net/manual/ja/function.crc32.php
とりあえずこの辺も参考にはなるだろうか。
0219nobodyさん2008/01/29(火) 16:03:55ID:3emMDaRd
>>218
ありがとうございます。
参考にさせていただきます。
0220nobodyさん2008/01/29(火) 16:47:11ID:???
SQLでFROMにテーブル名.フィールド名って指定できなかったんだ/(^o^)\
0221nobodyさん2008/01/29(火) 16:48:44ID:???
そこでフィールドまで指定しちゃったら何をSelectするんだよw
0222nobodyさん2008/01/29(火) 16:50:21ID:???
>>221
いや、普通に検索すると糞重たいから
せめて付加減らそうとフィールドのみ読み込んでみたり・・・

1000万件もあるとやはり時間かかるなぁ・・・
0223nobodyさん2008/01/29(火) 16:51:41ID:???
>>222
そのレコード数でインデクス貼ってないとかネタかよ
DB板でやれ
0224nobodyさん2008/01/29(火) 16:53:02ID:???
>>223
DB板めんどいからいいや
INDEXの張り方がわからんから調べ中
0225nobodyさん2008/01/29(火) 16:53:43ID:???
正規化せずに無駄なフィールドまで読んでるとかねたかよ
ドラゴンボール板でやれ
0226nobodyさん2008/01/29(火) 16:57:17ID:???
じゃあ俺はシャア専用でやるぞ。
0227nobodyさん2008/01/29(火) 17:07:15ID:???
ど、どうぞどうぞ
0228nobodyさん2008/01/29(火) 20:28:15ID:???
今まで、PEARがインストールできなくて途中で諦めていたんだけど、
今日ふとしたキッカケで出来た。こんなに便利なものがあるなんて・・・
ぜひ使ってみることをお勧めします。

いや、宣伝ではないです。
0229nobodyさん2008/01/29(火) 20:30:09ID:???
CakePHPを使ってからというもの
PEARのお世話にほとんどなっていない。
フレームワークとライブラリは違うものなはずなのになぜだろう?
0230nobodyさん2008/01/29(火) 21:09:38ID:???
>>229
どうでもいいようなものしか使ってなかったって事だろ
0231nobodyさん2008/01/29(火) 21:11:07ID:5qvQ61c2
mixiの日記で画像を一緒にアップすると
C:\Documents and Settings\Administrator\My Documents\11.3.jpg
みたいに保存されてたファイル先を表示してくれるけど
どうやったらでますか?
教えてくださいえらい人
0232nobodyさん2008/01/29(火) 21:14:23ID:t20Dm/Gk
phpのインストールに関する質問です。今ソースから
./configure --with-apxs2=/usr/sbin/apxs --enable-magic-quotes --with-xml --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/ --enable-ftp --with-zlib
インストールしようとしたのですが、
configure: error: Cannot find MySQL header files under /usr/.
Note that the MySQL client library is not bundled anymore!
xmlやらzlibやらのエラーは解決できたのですが、このエラーの解決方法だけ分かりません。
mysqlは/usr/下にあるのに。。。
0233nobodyさん2008/01/29(火) 21:16:08ID:t20Dm/Gk
参考までに
find / -name mysql/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/var/spool/mail/mysql
/var/lib/mysql
/var/lib/mysql/mysql
ググってみると皆さんmysqlを/usr/local/mysqlディレクトリにインスコしているようで、、、
実はmysqlだけは手間省くためにパッケージマネージャからDLしたんです。
0234nobodyさん2008/01/29(火) 21:18:28ID:???
>>231
ソースは見れないから本当の仕組みは分からないけれど、
ファイルをアップロードする時に、画像ファイルのパスもPOSTしていて、
それを表示しているんじゃないの?
0235nobodyさん2008/01/29(火) 21:18:48ID:???
>>229
人がやっとPEARが使えるようになって大喜びしているときに、
水を差すような米しやがって、士ね。
0236nobodyさん2008/01/29(火) 21:25:09ID:???
>>235
じゃ、そのまま知らない方が良かったの?w
0237nobodyさん2008/01/29(火) 21:41:12ID:5qvQ61c2
>>234

POSTしてないようですね
javascriptかなんかかな
move_uploaded_fileじゃとれないんだよね
0238nobodyさん2008/01/29(火) 21:46:13ID:???
>>232
devが入ってないんじゃないの
0239nobodyさん2008/01/29(火) 21:47:09ID:???
>>236
PEARでこれだけの関数を提供しているんだから、それで十分だろ。
うるめいわし黙れ
0240nobodyさん2008/01/29(火) 21:50:21ID:ez1qkwY6
すみません。
mb_encode_mime_header()について質問なのですが。

メールを送信するスクリプトがたまに送信に失敗するので調査していたところ
どうやら、送信先アドレス(to)がこちらが意図しない文字に
変換されていることに気づきました。

具体的には、文字の中に、'_'(アンダーバー)が入っているときに
エンコードしているようです。

この関数は必要なときだけエンコードする、と思っていたのですが
そうではないのでしょうか?


以下、試したことです。

kruser@saga /tmp]$ php -v
PHP 4.4.7 (cli) (built: Jan 5 2008 18:39:15)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( 'abc@example.com' ) ;"
abc@example.com

そのまま

[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( 'a_bc@example.com' ) ;"
=?ISO-2022-JP?B?YV9iY0BleGFtcGxlLmNvbQ==?=

変換されてる
0241nobodyさん2008/01/29(火) 22:05:54ID:???
>>237
いまいち話の流れが分からないので、具体的にソース書いてみる。

ファイル名:test.php
<html><body>
<?php
echo "<hr>";
echo $_POST["TENSOU"];
echo "<br><hr>";
?>
<form method="POST" action="test.php">
ファイル:<input type=file name="TENSOU"><br>
<input type=submit value=" 送信 ">
</form>
</body></html>


「POSTしてないようですね。」の意味もよく分からない。
そのmixiにPOSTが全く見当たらないという意味?
02422322008/01/29(火) 22:40:52ID:t20Dm/Gk
>>238 dev・・・というと?すいません、かなり低レベル初心者なもので。。。ちなみにmysql本体は動きます
0243nobodyさん2008/01/29(火) 22:44:42ID:???
>>240
こちらの環境ではそういう問題は起きなかった。
なので、私にははっきりとした原因が分からない。
一度、違うバージョンのPHPで試してみるとかやってみるといいかもしれない。

あと、検索してて見つけたものを貼っておく。このあたりが関係しているかもしれない。
ttp://www.akiyan.com/blog/archives/2006/03/phpmb_encode_mi.html
0244nobodyさん2008/01/29(火) 22:53:29ID:???
フレームワーク使ってPEARで開発すればいいだろ
なんで混同してるんだ?
0245nobodyさん2008/01/29(火) 22:57:32ID:???
未だに、納得のいくフレームワークに落ち着かない。
もう自社開発しかねえな。
0246nobodyさん2008/01/29(火) 22:57:54ID:???
>>242
俺は>>238ではないが、諦めてXAMPPを入れるとかどうかな?w
ttp://www.apachefriends.org/jp/xampp-linux.html
devというと、開発パッケージか、デバイスのことを意味するんだと
思うけれど、具体的には私も分からない。
0247nobodyさん2008/01/29(火) 22:59:45ID:???
>>244>>245
続きはこちらのスレでどうぞ。

PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0248nobodyさん2008/01/29(火) 23:34:27ID:ez1qkwY6
>>243

レスありがとうございます。
4系最新版の4.4.8と
5系最新版の5.2.5でそれぞれ発生することを確認してます。

また、少し前のバージョン(4.3だったかな?)の
mbstringのバグは知ってましたが
日本語のエンコードがおかしいわけではないので違うかな、と思ってました。
今は試せる環境にないので、明日にでも確認してみます。


ところで、そちらでは起きないとのことですが
バージョンはいくつでしょうか??
0249nobodyさん2008/01/29(火) 23:41:49ID:RmUTKffD
聞きたいんですが、アップロードされた音声ファイルのフォーマットを変換したり、
任意のサイズまでダウンさせたり出来るプラグインとかないですかね?
画像のフォーマットを変えることが出来るんだしそんなのもひょっとしてあるかなぁーと
思って質問しました
0250nobodyさん2008/01/30(水) 00:11:06ID:???
>>242
どこのディストリか知らんがヘッダーファイルをまとめた開発用パッケージが提供されているだろう
/usr下にインスコしたならヘッダは/usr/inclue/mysql*あたりにあるはずだからそこを指定してconfigure
0251nobodyさん2008/01/30(水) 00:13:23ID:???
>>249
そういうコンソールアプリを拾ってきてphpから実行すればOk
0252nobodyさん2008/01/30(水) 00:29:20ID:???
>>248
チラッとソース見た感じ仕様っぽいけど。
届かないってことは、もしかしてメールアドレスをmb_encode_mimeheader()にかけてるの?
0253nobodyさん2008/01/30(水) 00:40:07ID:???
>>231
とりあえずmixiの画像アップページ(html)を何処かにアップしてみ。
それで答えが分かる。
02542422008/01/30(水) 00:44:10ID:e4VjwXRY
mysqlのソースから作り直すことにしました。
(mysql.comのmysql5.1downloadのページの一番下のsourceってやつでいいんですよね、、、ここが一番不安)
カイトーして./configureしてmakeしてmake installまで、けっこうつまづきましたが、できました。

で、データベースをインストールしようとしてmysql_install_dbを実行したもののエラー。
保留してデータベースにアクセスすると前パッケージマネジャでインスコしたときに作ったデータベースが残ってた。
てかパッケージからインスコしたsqlをアインストールするの忘れてたw
で、パッケージの方のsqlは削除できたんだが、ソースからのsqlはどうやって削除するのだ?
02552422008/01/30(水) 00:45:58ID:e4VjwXRY
初心者だけどwindowsにmysqlを導入するのは2時間かからなかった、つまづいたけど。
でもlinux(fedora)にソースから導入しようとすると、、、もうかれこれ半日は経ってる。。。
0256nobodyさん2008/01/30(水) 00:51:27ID:???
Rubyのまつもとさんが、ブログでまたPHPをdisってるね。
毎度のことだけどさ。
0257nobodyさん2008/01/30(水) 00:55:07ID:???
どっか天然だよなあの人
0258nobodyさん2008/01/30(水) 00:58:06ID:???
>>254
--prefix つけた? /usr/local/mysqlとか
0259nobodyさん2008/01/30(水) 00:59:23ID:???
だって モルモン教徒(笑) だもの

街中でヘルメットかぶって自転車にのっている
二人組みの外人。みたことあるでしょ?あれ。
0260nobodyさん2008/01/30(水) 01:01:42ID:9pKjffNB
>>252

情報が小出しになって申し訳ありません。
実際のスクリプトではmb_send_mail()を使ってます。

内部ではmb_encode_mimeheader()を使っている、みたいなのを見て
テストのためにmb_encode_mimeheader()を使いました。
実際にメールが送られたら困ると思って^^;


よくよくマニュアルを見てみると
私が>>240で書いてる
「必要なときだけエンコードする」というのが間違いのようですね。
http://www.php.net/manual/ja/function.mb-encode-mimeheader.php
を見ると、日本語部分とアドレス部分が分けて処理されていました。

ご指摘の件、mb_send_mail()に渡されている"to"をもう一度確認してみます。
0261nobodyさん2008/01/30(水) 01:02:27ID:???
>>256
読んできたけどなんか八つ当たりみたいな感じだなw
02622322008/01/30(水) 01:20:25ID:e4VjwXRY
>>258 つけてないっす。。。org

ずっとPCに張り付いててわけがわからなくなってきた、ここで整理。

windowsからlinux環境に移していて、linuxでデータベース(mysql)がうまく起動していないことが判明。
→phpinfo()を見てみると「--without-mysql」が指定されていることを発見。
→PHP再コンパイル試みるも./configureコマンドを叩くと「mysqlのheader fileが無い」と怒られる。
→血迷ったのかいきなりmysqlをソースからコンパイルし始めて5、6時間を潰す。。。
→整理していて泣けてきたので誰かエラー直してください org...

ちなみに>>250さんのいってたように/usr/include/ファイル探してみたんですが、mysql関連のものは無かったです。俺の半日...
02632322008/01/30(水) 01:23:26ID:e4VjwXRY
自己解決できない点がもう1つ。全部消したあとにもう1度インストールしてみても前のパスワードが残ってる。うーん
0264nobodyさん2008/01/30(水) 01:30:08ID:???
→phpinfo()を見てみると「--without-mysql」が指定されていることを発見。
→PHP再コンパイル試みる ← 間違い

・mysql/mysqliのdsoをコンパイルする ← おしい!mysqlのdevelパッケージが必要
・yumでphp-mysqlを入れる ← せいかい!一番簡単!

あとはよそでやれ
0265nobodyさん2008/01/30(水) 01:37:29ID:???
面白いからここでやれw
02662322008/01/30(水) 01:53:02ID:e4VjwXRY
php-mysql入れたんですが、、、いまだにwithout mysql かつ動かない
0267nobodyさん2008/01/30(水) 02:11:23ID:???
>>256
PHPは現代では害悪
ttp://www.rubyist.net/~matz/20080126.html

失笑w
0268nobodyさん2008/01/30(水) 02:17:20ID:???
こいつらの中ではプログラムが世界なんだな。なんかな。
0269nobodyさん2008/01/30(水) 02:23:29ID:???
てかrubyって何?
0270nobodyさん2008/01/30(水) 02:37:20ID:???
今まで知らなかったんならそのままのほうがいいよ
どうせ仕事にゃ使えないしw
0271nobodyさん2008/01/30(水) 02:53:41ID:???
C>PerlときてPukiWikiいじるために今週からPHP始めたけど特に予備知識もなく使えるようになったのはすげーと思ったよ。
いい意味で敷居が低く、悪い意味で適当。
そりゃこんな楽なら普及するわと納得したよ。
楽過ぎて他のができなくなりそうなくらいにw
0272nobodyさん2008/01/30(水) 03:19:00ID:???
わざわざ日記にレスするようなことするなよ。
漢は黙って放置だ。
PHPはきえるべきと主張してる人は少なくないけど、
そんな嫌われ言語を良い方向へ導いていこうぜ。
0273nobodyさん2008/01/30(水) 03:25:56ID:???
駄目アプリが量産されるってしょっちゅう言ってるけど
ようするにエリートとしての自意識から善意で言っちゃうんだろうな
0274nobodyさん2008/01/30(水) 03:32:03ID:???
こんな人間にはなりたくないと思った
0275nobodyさん2008/01/30(水) 04:51:54ID:???
だったらPHPが良くなる方法を考えればいいのに
0276nobodyさん2008/01/30(水) 07:50:12ID:???
PHP設計者曰く、PHPは言語じゃなくツールらしいな
0277nobodyさん2008/01/30(水) 08:09:50ID:???
質問とその回答以外はこちらへどうぞ。

PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0278nobodyさん2008/01/30(水) 09:07:58ID:Pk8IBekk
質問です
postが成功するまでwhileする物を作ったのですが
breakをbreaと書いてしまい永久ループになってしまいました。
このphpを閉じても30分ほど作動したままなのですが………
もしかしてサーバーサイド側でしか止められないのでしょうか?
それとも光速にpost命令が溜まっているだけでしょうか?
0279nobodyさん2008/01/30(水) 09:26:36ID:???
Ruby開発者ってまだ生きてたんだ
てっきり歴代の人物かと思ってた
0280nobodyさん2008/01/30(水) 09:27:46ID:???
readdir () でうpしたファイルが、古い順に上から表示されるのがうざい
0281nobodyさん2008/01/30(水) 09:28:37ID:???
Rubyが普及しなくて焦っているのはわかるが、
他の言語・・・PHPが一番普及しているからって
たたいても何も変わらないぞ。

まず、Rubyは初心者にとっても使いやすい簡単な言語だと
認知させなきゃ。そして初心者が大量に増えて
セキュリティ問題で苦しめw
0282nobodyさん2008/01/30(水) 09:28:48ID:???
>>278
php.iniの設定によると思う
PHPのタイムアウト値がデフォルトならそのうちとまる
タイムアウトが無効になってるならとっととアパッチ止めれ
0283nobodyさん2008/01/30(水) 09:29:36ID:???
ふたばちゃんねるで使っているスクリプトを使って画像掲示板を試運転しているのですが、
スパム投稿には弱そうだと感じています

そこで、captchaのような機能を付加したり、そもそも本流のスクリプトがバージョンアップ
していればそういったものを使いたいと思っているのですが、この板内で探してみても
検索しても適当な場所が見つからずに困っています

該当するような機能の実装に付いて説明していたり該当するような強化版のような
スクリプトを配布しているところをご存知でしたらお教えいただけますでしょうか?
よろしくお願いいたします
0284nobodyさん2008/01/30(水) 09:35:17ID:???
>>283
適当なcaptcha落とせばサンプルコードも付いてくるでしょ
経験的にあの手のスパムは手動だから、BBQで串はじいて、あとは管理スクリプトを自前で用意するしかないね
ブログだと、投稿IPとか指定単語で根こそぎデリるアドオンとかある
0285nobodyさん2008/01/30(水) 09:40:36ID:???
スパム対策のスレ無かったっけ?
色々あるからぐぐれ
0286nobodyさん2008/01/30(水) 09:47:42ID:???
レスありがとうございます

>>284
captcha側からコードを読んで実装するのが面倒なので、ふたばのスクリプトがバージョン
アップしていて、かつ配布されていないかと思って質問したのですが該当しそうなところは
ないものでしょうか?

>>285
上記のことに関連しますが、スパム対策のコードを埋め込んでというのが面倒なのです


該当するようなところは既に検索(Google)してみたのですが、
どこも2005年くらいでバージョンアップが止まっているようでして…
0287nobodyさん2008/01/30(水) 09:48:57ID:???
一応webprog板なんだからもう少し歯に衣着せようよw
0288nobodyさん2008/01/30(水) 10:38:33ID:9nM+3WHh
フォームの検索で、□円〜□円まで という仕様にした場合、
検索結果として「100円〜」「〜1000円まで」「100円〜1000円まで」
という3パターンがあるかと思います。(※値は仮です)

これをMySQLのWHERE部分として検索する場合、

if(!empty($price1) && empty($price2)){ //price1のみ
$search_key = "price>='$price1'";
}elseif(empty($price1) && !empty($price2)){ //price2のみ
$search_key = "price<='$price2'";
}elseif(!empty($price1) && !empty($price2)){ //両方
$search_key = "price BETWEEN '$price1' AND '$price2' ";
}

としているのですが、ソースが長くなりすぎて困っています。
何か良い書き方はないでしょうか?
0289nobodyさん2008/01/30(水) 10:47:38ID:???
>>288
最小の場合を0、最大の場合を99999999とか決めておけばよくね?
0290nobodyさん2008/01/30(水) 10:53:39ID:???
>>288
いいじゃんそれくらい
02912882008/01/30(水) 11:27:38ID:???
>>289
そうすると、それようのソースも検索項目毎に必要になるので
ソースの簡略化にはならないと思うんです。
>>290
もちろん、出来るから良いのですが、同じような範囲検索項目があると、
ソースが長く成りすぎるので、それが何とか出来ないものか?と思い、質問しました。
0292nobodyさん2008/01/30(水) 11:29:06ID:???
>>291
> それようのソースも検索項目毎に必要になるので

クラス化しとけばいいじゃん
あと、ID出せカス
02932882008/01/30(水) 11:37:35ID:???
>>292
クラスかですか。クラスというか、多少関数化しているのですが
もう少し考えてみます。

あと、一度質問した後はsageにするのがルールだと思うので、
なにもカス呼ばわりしなくても・・・
0294nobodyさん2008/01/30(水) 11:39:02ID:???
>>293
>>1を100回読んでから死ね
0295nobodyさん2008/01/30(水) 11:44:59ID:???
ageたらsageろと言われ、sageたらID隠すなと言われる。

それが2ちゃんクオリ(ry
0296nobodyさん2008/01/30(水) 11:45:08ID:???
前から必死にID出せと煽るおかしな人がいるので無視でいいよ
0297nobodyさん2008/01/30(水) 11:46:38ID:???
>>295
各スレにテンプレあるのはご存知で?

>>296
あれ?
> ・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)

これ読めないの?
0298nobodyさん2008/01/30(水) 11:47:24ID:???
if (!$price1) $price1 = "0";
if (!$price2) $price2 = "0";
$search_key = "price BETWEEN '$price1' AND '$price2' ";
0299nobodyさん2008/01/30(水) 11:48:11ID:???
>>297
KY
0300nobodyさん2008/01/30(水) 11:52:03ID:???
>>298
> (!$price1)

実際この書き方ってどうなのかな?
Noticeエラーでも気になってしまうから、ついついisset使ってしまう
0301nobodyさん2008/01/30(水) 11:53:17ID:???
>>288がIDかくして暴れていると聞いて飛んできました
03022782008/01/30(水) 11:59:09ID:???
>>282
そのphpを閉じた場合のセッション、タイムアウトがあるんですね
30分続いているということはタイムアウトは長いというより、無効ですよね…
0303nobodyさん2008/01/30(水) 11:59:49ID:???
>>302
>>1
0304nobodyさん2008/01/30(水) 12:06:19ID:???
>>300
いきなり使うなら、issetとか、@とか使うのもOKだろうけど、
この場合あらかじめ $price1 = $_POST["foo"] とかで、あらかじめ何らかの値が代入されているという条件があると思って書かなかった。
>>302
デフォルトなら、max_execution_time以上のCPU時間を使うとdieされるし、
そもそもbreaなんて書いたらコンパイル時にはじかれて、実行できないと思うのだが。
0305nobodyさん2008/01/30(水) 12:07:39ID:???
>>304
あれ?
$price1 = $_POST["foo"]
これでPOSTが空でもNotice出なかったっけ・・・
勘違いかな
0306nobodyさん2008/01/30(水) 12:16:51ID:Pk8IBekk
>>304
>コンパイル時にはじかれて、

そういえばそうですよね……あれ?
max_execution_timeを見てきます
0307nobodyさん2008/01/30(水) 12:56:50ID:iTZE6D8S
PHPで処理にかかったCPU時間を計測する方法ってないですか?
手軽にパフォーマンス測定したいだけなんだけど、デスクトップだと色々とノイズが多いので。

使ってる PHPは Ver5.2です。
0308nobodyさん2008/01/30(水) 13:01:26ID:???
>>307
> デスクトップだと色々とノイズが多いので
この部分がいまいち良く分からない。
デスクトップ上ですべてを動かすんじゃなくて、
サーバを別にするしかないんじゃないの?
0309nobodyさん2008/01/30(水) 13:05:17ID:iTZE6D8S
>>308
手軽に試したいだけ。

たとえば、頻繁に呼ばれる関数内で、要素が数個の配列を毎回生成するのはコスト的に
どうだろうかとか、そんなレベルの話。

デスクトップで実行して実時間を計測しても、イマイチ信用できないし。
0310nobodyさん2008/01/30(水) 13:09:35ID:???
>>309
実行時間の計測にはPEAR::Benchmark_Timerとかかなぁ。
PHP以外のプログラムを使って計測したいのならば、別な板の
話になると思うけど。。。
0311nobodyさん2008/01/30(水) 13:15:21ID:???
>>309
Xdebugのプロファイラとかでも使えば?
0312nobodyさん2008/01/30(水) 13:27:39ID:iTZE6D8S
>>310
http://pear.php.net/manual/ja/package.benchmarking.benchmark.timer.php

これですか、すばらしい。
ぐぐったら、 http://www.1x1.jp/blog/2006/10/php_source_tips.html も見つかったんだけど、
array_push が [] = より 60%も遅いというのは、ちょっとショック。
array_push の方が変数名間違えたときに警告メッセージが出るから好きなんだけどなぁ。

>>311
こちらも調べて見ます。


どうも、ありがとうございました。

0313nobodyさん2008/01/30(水) 14:22:33ID:02p0qHbL
printよりechoのほうが軽いのか
まぁ、何も返さないからかな?
今までmicrotime()で頑張って計算してたが、PEAR::Benchmark_Timerが便利すぎて泣いた
0314nobodyさん2008/01/30(水) 16:39:05ID:???
>>313
だから、CakePHPなんかよりPEARのライブラリーの方が使い勝手がいいってことだよ。
だって、PEARは日本語に直すと、梨。問題なし、なんちゃって(核爆)
0315nobodyさん2008/01/30(水) 16:42:07ID:???
           ,. - ── - 、
       r'つ)∠───    ヽ
      〆⌒  ̄ ̄ ̄ \__r 、  \
     ,.イ      ,イ    \ヽ,\rv-,
    ヾイ    /{ { ヽ、ト、  \Y <ノノ\
    {  .ト{\ヽ',  メ __\  } ⌒ヽ }へ
     ゝ  |"ひ)  \  イびゞ \ ヽ- 、ノ   // >=
     ノ  ト、"´,.     ー ノ ///\/ /    \
    /.  {   ゝ     /  レ//  } Y´      \
    {   ヽ  ヽ⌒>  /    レ´TTア⌒>、_    \
    V{   \ └ ´  / ,.イ/  /ll |   /≦__    }
      V{   >ー┬|/  ! ,.イノ || |  /   ̄ ̄ ̄  /
       リヽイ|   /:| l _|' '´  || |  |     _/
        /{{ |   |===|    || |   __/
       /し|| |   |== /   // | /,.イ
      /  ヽヽ  l==|  / /    l
     /    イ\  \=|  ///    〃
    〈  ≧ー <   ミ  ヾ| //      ト
     \    \  \>∠、     /\
      \    \ <〆ハ ゝ  _/   \
        {  / ̄> X〜ヾ´ ー'´       \
         ̄</⌒Y         \     ',
            \/        ノ   |     ',
          _/       / /  |/    ト、
        /   /  \     /   |ー    } ヽ
        \/         /    l       /
          ト、        /   _ l      /
          / ヽ/____/┬─ 、____/
           /       ノ   |        /
           /      /    l       /
0316nobodyさん2008/01/30(水) 17:07:21ID:???
北京オリンピックだな
0317nobodyさん2008/01/30(水) 18:26:07ID:???
class Hogehoge{
public function __set($name, $value){
echo "Hogehoge::__set".$value;
}
}
class SimpleXMLElement2 extends SimpleXMLElement{
public $obj;
public function __set($name, $value){
echo "SimpleXMLElement2::__set".$value;
}
public function setObj($obj){
$this->obj = $obj;
}
}
$hogehoge = new Hogehoge();
$hogehoge->hoge = '11111';

$simpleXMLElement2 = new SimpleXMLElement2('<?xml version="1.0" encoding="utf-8"?><hoge></hoge>');
$simpleXMLElement2->hoge = '22222';
$simpleXMLElement2->obj = $hogehoge;
$simpleXMLElement2->setObj($hogehoge);

出力結果:
X-Powered-By: PHP/5.2.5
Hogehoge::__set11111<br />
<b>Warning</b>: It is not yet possible to assign complex types to properties in <b>*****</b> on line <b>20</b><br />
<b>Warning</b>: It is not yet possible to assign complex types to properties in <b>*****</b> on line <b>13</b><br />

最終的な目的はSimpleXMLElementを継承したクラスのプロパティにオブジェクトを格納したい。
string以外なのでWarningが出るので、__set()をオーバーライドしてしまえと思ったが、どうもSimpleXMLElement2::__set()が機能してないようだ。
何かが悪いのか、__setを使わない方法があるのか、別な実装方法があるのか・・・
手が空いている方がいましたら、お手数ですが教えていただければと思います。
0318nobodyさん2008/01/30(水) 18:27:32ID:???
PEARの日本語マニュアルなんてあったんだ…
0319nobodyさん2008/01/30(水) 20:04:09ID:???
>>314
> だから、CakePHPなんかよりPEARのライブラリーの方が使い勝手がいいってことだよ。

両方組み合わせ使うもんだろw
フレームワークとライブラリじゃ役目が違う。

全体的な構造にCakePHP(やそのほかのフレームワーク)を使い
局所的な部分にPEARなどのライブラリを使う。
0320nobodyさん2008/01/30(水) 20:31:55ID:???
xmlのノードにオブジェクトを追加してどうすんのさ
0321nobodyさん2008/01/30(水) 20:54:23ID:???
>>319
ずばり言うわよ。

Smartyを使いなさい。
0322nobodyさん2008/01/30(水) 21:32:04ID:???
すみません。現在携帯向けのホームページを作っていまして、トップページでは以下PHPのUA判別でPCページへ振り分けしているのですが

<?php
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg("DoCoMo|J-PHONE|Vodafone|MOT|SoftBank|UP\.Browser|~ /^KDDI/|DDIPOCKET|WILLCOM",$ua)){
header("Location: モバイルページURL");
exit;
} else {
?>

<HTML>
PC用ページhtml
</HTML>

<?
exit;
}
?>


それ以外のページで同様に携帯以外(上記PHP内UA以外)からのアクセスを全てトップページ(PC用ページ)に飛ばすようにするにはどうすればよろしいでしょうか?
このPHP自体は以前に検索で見つけたものなのですが、今検索するとどのページで見たものかわからず困っております。(-.-;
どうかよろしくお願い致します。
0323nobodyさん2008/01/30(水) 21:38:41ID:???
>>322
!でif文を反転させればいい
0324nobodyさん2008/01/30(水) 21:42:37ID:???
smarty最新版落としたいんだけど、www.smarty.netが
昨日から死んでるだわ。どっかで最新版落とせるところない?
03253222008/01/30(水) 21:50:30ID:???
>>323
すみません、PHP全くわからなくて申し訳ないのですが
どこに"!"をつければよろしいでしょうか?
0326nobodyさん2008/01/30(水) 21:56:03ID:???
>>325
ちょっとは調べろ屑が
0327nobodyさん2008/01/30(水) 21:56:51ID:???
全くわからなすぎるな
03283222008/01/30(水) 21:58:05ID:???
すみません!自分でやってみて上手くいきました。
どうもありがとうございます!
0329nobodyさん2008/01/30(水) 22:00:02ID:???
>>325
if(!ereg("DoCoMo|J-PHO ...

header("Location: http://www.example.com/pc.html");

ここはプログラム書く人の板なんでそういう質問は嫌われるよ
丸投げスレに持ってくると誰かやるけど
0330nobodyさん2008/01/30(水) 22:04:41ID:???
>>317
何でObjectが突っ込めると思ったのか理解できない
永続化が必要ならJSON使うなりSerializeするなり汁
0331nobodyさん2008/01/30(水) 22:25:08ID:???
>>321
> Smartyを使いなさい。
CakePHPを使ってから、Smartyに興味がなくなったな。
PHPという言語自体がテンプレートに近いものだから、
ロジックとビューがちゃんと分かれていれば、そのままで問題が無いことに気づいた。
0332nobodyさん2008/01/30(水) 22:31:46ID:k3DrvwtH
http://zapanet.info/blog/item/1217

> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー

とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0333nobodyさん2008/01/30(水) 22:32:21ID:???
cakeおすねぇ

>PHPという言語自体がテンプレートに近いものだから、
>ロジックとビューがちゃんと分かれていれば、そのままで問題が無いことに気づいた

同感
0334nobodyさん2008/01/30(水) 22:32:36ID:???
スレ違いだがSmartyもCakeもあんま好きくないな
Smartyは協業する上で何かしら標準が必要だから使ってるだけ
これはCakeを使おうが代替できない機能

やっぱフォーム-ロジック-DBの操作を楽にしてくれてウィジットを
サポートするモダンなFWじゃないと
ルール縛りだけではやはり時間が掛かるよ、柔軟性もないし
0335nobodyさん2008/01/30(水) 22:36:49ID:???
> Smartyは協業する上で何かしら標準が必要だから使ってるだけ
> これはCakeを使おうが代替できない機能

なんで?Cakeの方が幅広く協業できると思うけど?
SmartyはCakeのビューの部分だけでしょ。協業できるのは。


> やっぱフォーム-ロジック-DBの操作を楽にしてくれてウィジットを
> サポートするモダンなFWじゃないと
それなら、Smartyなんて問題外じゃん。
0336nobodyさん2008/01/30(水) 22:37:24ID:???
>>332
正しいエスケープの方法は誰も知らないから適当でいいよw
HTML用とMySQL用ではやり方違うしwww
0337nobodyさん2008/01/30(水) 22:38:56ID:???
ロジックとビューを分けるのってやっぱ物理的にファイルを分けてる?
そうするとポストバックが結構面倒だけど、なんかいい方法無いかね。
0338nobodyさん2008/01/30(水) 22:39:48ID:???
>>332
読んでないけど、システムの抽象度が低いとかいうことかな
そういうコードをいちいち書くのはうっかりミスという脆弱性の温床になる
しかし標準出力がかってにエスケープされる言語なんて存在しないわけで
小さいアプリじゃごく自然な対応だと思うけどね
あるいはhtmlspecialcharsはNULLですり抜けられた時代に書かれた文章かな
0339nobodyさん2008/01/30(水) 22:40:34ID:???
>>335
よく読んでからレスしてね
0340nobodyさん2008/01/30(水) 22:43:08ID:???
>>337
> ロジックとビューを分けるのってやっぱ物理的にファイルを分けてる?
> そうするとポストバックが結構面倒だけど、なんかいい方法無いかね。

だから、そのいい方法(の一つ)がCakePHPのやり方なんだってw
0341nobodyさん2008/01/30(水) 22:43:48ID:???
>>339
レスは意見のみ受け付けます。さようなら。
0342nobodyさん2008/01/30(水) 22:47:07ID:???
>>335
貴方はオブジェクト指向病にかかっていると思われ
自力学習の間は時間が無限大なのでそれでやっていけるが
社会に出るとその時間がなくなりスパゲッティーコードを生産する作業に変わりますw
0343nobodyさん2008/01/30(水) 22:47:32ID:???
>>341
めんどくさいから正直に書いちゃうけど、バカなワナビー君には理解できないんだねえ
だからその上での議論も成り立たない、言いっぱなしで生産性もない、と
反省しなさいよ
0344nobodyさん2008/01/30(水) 22:49:09ID:???
>>340
やっぱりフレームワークに頼るしかないかぁ。
0345nobodyさん2008/01/30(水) 22:49:54ID:???
>>342-343

どう思いますか?このレス。

勝手な想像ばかりで
中身が無いと思ったあなたは正常です。
0346nobodyさん2008/01/30(水) 22:52:04ID:???
>>345
自分の意見と同意以外は受け付けない、自分の意見に反する相手に攻撃的になる
これは立派なオタクの症状ですw
0347nobodyさん2008/01/30(水) 22:52:23ID:???
>>345
やっぱ簡単な皮肉でさえ文意が取れないのね、バカはいやだねえ
0348nobodyさん2008/01/30(水) 22:52:56ID:???
そんなにSmartyが使いたければ、
CakePHPの一部のビューの部分にSmartyを使えばいいだけのこと。
CakePHPはSmartyなんかよりも幅広いものを対象としているので、
それでCakePHPを使わないという理由にはならない。
0349nobodyさん2008/01/30(水) 22:53:18ID:???
>>346
必死だぞw
0350nobodyさん2008/01/30(水) 22:53:37ID:???
>>347
必死だぞww
0351nobodyさん2008/01/30(水) 22:54:54ID:???
ごめん
CakePHP使ってみようと思ったがなんかキモい奴になりそうでやめたわw
0352nobodyさん2008/01/30(水) 22:55:30ID:???
議論はこちらでどうぞ。

PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0353nobodyさん2008/01/30(水) 22:55:54ID:???
>>349
世の中の全ての人間が、自分と同じ意見を持つという期待は持たない方がいい
0354nobodyさん2008/01/30(水) 22:56:26ID:???
>>348
だれがそんなにSmarty使いたいのか知らんけど
幅広いと言ってもCakePHP⊃Smartyでないことはすでに指摘されてる
CakePHPを使わずSmartyを使えと言うレスは見当たらないけど?
0355nobodyさん2008/01/30(水) 22:56:29ID:???
>>351
もったいないw まあ他人事だからいいが、
お前は他人のせいで道を踏み外したなw
0356nobodyさん2008/01/30(水) 22:56:47ID:???
まあ端から見てると、罵り合う同士、一緒に仕事したくない人間の典型だな
お互い持論を主張して俺様が正しい、って奴ばっかだなw
この業界、こんな人間しかいないのか?w
0357nobodyさん2008/01/30(水) 22:57:30ID:???
>>356
持論を主張してるのはCake馬鹿だけじゃん
0358nobodyさん2008/01/30(水) 22:59:00ID:???
>>357
お前みたいに「Cake馬鹿」っていって時点で同類だろ
Cake馬鹿程度も受け入れられないんじゃ程度がしれてるわ
0359nobodyさん2008/01/30(水) 22:59:36ID:???
>>358
何をどうして欲しいわけ?
0360nobodyさん2008/01/30(水) 23:01:09ID:???
ずばり言うわよ

CakePHPを忘れなさい
0361nobodyさん2008/01/30(水) 23:01:32ID:???
>>340
CakePHPではコードジェネレータがついている。
といっても一アクション(一ページ)あたりほんの20行程度の短いものだが。

コードジェネレータの出力、もしくはチュートリアルのコードをベースに
そのアプリ独自のロジックを書いていくわけだが、
この標準のやり方が、ポストバックになっているぞ。
(もちろんそうじゃないやり方もできる。)
0362nobodyさん2008/01/30(水) 23:02:40ID:???
>>360
忘れてどうするんだw
そのほかのフレームワークを使うっているのなら話はわかるが
ライブラリだけじゃ、この先やっていけないよ?
0363nobodyさん2008/01/30(水) 23:08:27ID:???
>>362
CakePHPってコード規約つきのライブラリー集じゃんw
0364nobodyさん2008/01/30(水) 23:09:31ID:???
でかいディスプレイを使えばよろしい
0365nobodyさん2008/01/30(水) 23:10:33ID:???
何かよくぁからないが必死さは伝わったからCake使ってみるわw
0366nobodyさん2008/01/30(水) 23:13:12ID:???
話しぶった切ってすみませんが、
コードをロジックとテンプレートに分けようと思っています。
そのときなるべく面倒なことはしたくないので、
たとえば、http://localhost/controller/action/123
というアドレスにアクセスしたいとき、
contorllerクラスのactionメソッドを呼ぶようにしたいです。
またそのときに使用するテンプレートを/views/controller/action.ctp ファイルに使用と思っています。

これらは必要に応じて、柔軟に変更できるようにしたいです。
たとえば設定しだいで、http://localhost/123 でもデフォルトの動きとして controller/actionが実行されたりです。

いい関数ありませんか?
0367nobodyさん2008/01/30(水) 23:13:59ID:???
そういう関数はありませんのでCakePHPなどのフレームワークを使ってください。
0368nobodyさん2008/01/30(水) 23:14:53ID:???
>>366
CakePHPを使うべき
0369nobodyさん2008/01/30(水) 23:17:50ID:???
なんと都合のいい質問タイミングw
CakePHPの信者共が出張して宣伝活動していることだけはわかった
いいからCakeBBSに帰れw
0370nobodyさん2008/01/30(水) 23:19:55ID:???
PEARは基礎。CakePHPは応用。
PEARは知識。CakePHPは実践。
0371nobodyさん2008/01/30(水) 23:23:02ID:???
学生グループ開発かj会社のプロジェクトでCakePHPを勧めたら周りから否定されて
もっと知れ渡るように布教活動でもしてるのか?
0372nobodyさん2008/01/30(水) 23:25:22ID:???
抵抗勢力がんばれw
0373nobodyさん2008/01/30(水) 23:28:41ID:???
Cakeを使える人vs使えない人
0374nobodyさん2008/01/30(水) 23:28:43ID:???
>>366
最初に仕様を決めてしまえば変更する必要がないぞ
コロコロと仕様を変えるのは良くない
0375nobodyさん2008/01/30(水) 23:31:59ID:???
たまには、Smartyのことも思い出してあげて下さい
0376nobodyさん2008/01/30(水) 23:34:46ID:???
いつまでやってるんだ。それ専用でスレを作ってやったらどうだ
0377nobodyさん2008/01/30(水) 23:38:34ID:9rDWoCR8
くだらないこと聞きますが、PDOってバグってます?

環境はmysql 5.0.54、PHP 5.1.6で実行しました。
例えば、
$res = $pdo->query('SELECT avg(column) FROM table');
を実行するとどこかで失敗しているとおもわれます。(エラーは何もない)
このavgを含むとfalseが返されます。
その後に$pdoの中を見ると、通常ではクエリ実行後にはqueryStringプロパティに実行したクエリがセットされるはずですがセットされていません。

もちろん、直接mysqlにこのクエリを打つと正しく返ってきます。

検索してもPDOにそれっぽいバグ報告ありませんが、ご存知の方いませんか?
0378nobodyさん2008/01/30(水) 23:43:00ID:???
>>377
CakePHPを使えば解決します
今すぐに導入すべきです
03793772008/01/30(水) 23:44:52ID:9rDWoCR8
>>378
CakePHPでダメでした。
0380nobodyさん2008/01/30(水) 23:45:44ID:???
>>379
それはあなたが駄目だからです
プログラマーに向いていないと思います
0381nobodyさん2008/01/30(水) 23:48:37ID:???
>>377
group by
0382nobodyさん2008/01/30(水) 23:54:52ID:9rDWoCR8
>>380
PDOがavgを含むクエリに失敗する理由がわかりますか?

>>381
クエリ自体に問題はありませんが、PDOはいかなるときもgroup byが必要ということでしょうか?
知ってる人が見つかってよかったです。
ありがとうございます。
0383nobodyさん2008/01/30(水) 23:58:02ID:9rDWoCR8
>>381
うそつき、ハゲ!

意味なくgroup by入れたけどやっぱりダメでした。
コマンドラインでは成功しました。

PDOはダメってことですか?
0384nobodyさん2008/01/30(水) 23:59:22ID:???
delete from テーブルを実行してみて、どのようになるか教えてもらえますか?
0385nobodyさん2008/01/31(木) 00:05:13ID:???
>>382
MySQLのバージョンが未来すぎるのが失敗する理由です
0386nobodyさん2008/01/31(木) 00:07:26ID:???
http://jp.php.net/manual/ja/ref.pdo.php#pdo.error-handling
とりあえずこれ。
0387nobodyさん2008/01/31(木) 00:08:15ID:???
>>377

$stmt = $pdo->prepare("select avg(col) ...");
$stmt->execute();
$rows = $stmt->fetchAll();
$stmt->closeCorsor();

だとどう?
0388nobodyさん2008/01/31(木) 00:16:07ID:???
>>382
I just recompiled pdo_mysql and the problem was solved.
0389nobodyさん2008/01/31(木) 00:26:05ID:???
>>383
せっかくその他の解決法教えてやろうと思ったがもう教えてやらん
0390nobodyさん2008/01/31(木) 00:30:42ID:REX6IFqd
>>377
$stmt = $pdo->prepare("select avg(col) ...");
の時点でfalseが返ってきます。

>>388
ありがとうございます。
やっとまともな方に答えていただきました。

解決したわけではありませんが、Bug #8045ってことで納得しました。
0391nobodyさん2008/01/31(木) 00:36:22ID:???
こうしてまた可哀相なヤツが生まれる…
0392nobodyさん2008/01/31(木) 00:57:53ID:???
俺も>>332と同じ疑問持ったけど様子見てた。
<>"&あたりしか退避しないからurlencodeでもしとけってことかな。
まあ汚染については厳密にやるとCでもPerlでもきりがないし大げさに取り上げるほどのことではない気はした。
0393nobodyさん2008/01/31(木) 01:08:58ID:???
htmlspecialcharsとurlencodeは全く用途が違うわけだが。
明示的にエスケープが必要なのがプギャーなのかな。
0394nobodyさん2008/01/31(木) 01:26:32ID:???
用途違うんだけどまだ%xxの形なら直で囲っても問題ないかなと。
0395nobodyさん2008/01/31(木) 02:04:47ID:???
http://zapanet.info/blog/item/1217

> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー

とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0396nobodyさん2008/01/31(木) 02:14:41ID:???
>>395
お言葉を返すようですが、人間的に失格です。
0397nobodyさん2008/01/31(木) 02:14:53ID:???
本人に聞けよ
0398nobodyさん2008/01/31(木) 02:21:25ID:???
これもなんかすげえな。
ttp://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html

より良いWebアプリケーション設計のヒント
開発基盤選定における考慮事項の例
(1) プログラミング言語の選択
1) 例えば、PHPを避ける
2) 大規模システムにはJavaや.Netを使う
0399nobodyさん2008/01/31(木) 02:27:58ID:4JBYr2L1
はじめまして、質問です。

PHPでサイトを作ったのですが、
自分は普通にBBSに書き込めるのに、他の人からBBSに書き込めないという情報をもらい困っています。

下手なソースをアップしてもいいのですが、長いだけにそれも無理そうです。
ログを取ってみたところ、自分は書き込みチェックのフェーズまで進んでいるのに、他の人は書き込み(エラーチェック)フェーズにまでいっていないように見受けられました。
(あくまでも推測)
しかし、次のフェーズへの移行はhiddenで指定しているため、両者に差異はないはずなのです。
環境の違いでもないようでした。

情報が少ないので難しいと思いますが、こういった場合どのような理由が考えられるでしょうか?
もしくは、チェックツールや、どこかソースのミスを判定してくれるところなどはありませんでしょうか。

なにか解決の糸口となりえる情報をよろしくお願いします。
0400nobodyさん2008/01/31(木) 02:30:45ID:???
どのポイントで想定外の動きになっているか特定する
エラーメッセージを表示する
0401nobodyさん2008/01/31(木) 02:32:46ID:???
>>399
そんな便利なもんはないです。
こっちにソースの要所だけでも書いたほうがはやいと思う。
もしくは、分岐ごとに全部条件を出力して相手にどの経路まで進んだか聞いて調べる。
04023992008/01/31(木) 02:46:27ID:4JBYr2L1
<form method="POST" action="">
<td><input type="submit" name="submit" value="書き込む"> 名前 <b>:</b> <input type="text" name="name" size="25" value="">
 E-mail <font size="1">(省略可)</font> <b>:</b>
<input type="text" name="mail" size="25" value=""></td>
</tr><tr><td><textarea name="bbsfor__text1" rows="8" cols="75"></textarea></td></tr>
</table><input type="hidden" name="userid" value="SS0001">
<input type="hidden" name="bbsid" value="7">
<input type="hidden" name="mode" value="bbs">
<input type="hidden" name="step" value="toukou">
<input type="hidden" name="close" value="0">
<input type="hidden" name="write" value="free">
<input type="hidden" name="ticket" value="6">
</form>

一番怪しそうなところはここの部分です。
書き込めなかったという人の報告によると、書き込みボタンを押したあとに画面がそのままになって、テキストエリアに入力した文字などが消えているそうです。
ただし自分以外にも書き込める人もいます。
0403nobodyさん2008/01/31(木) 02:47:12ID:???
>>398
簡単に作るにはいい言語といった上でのことだし
セキュリティがメインのとこだからまだ新しい言語であるphp避けるべきってのはあってる。
0404nobodyさん2008/01/31(木) 02:47:49ID:???
いやそれだけ見せられても分かるわけないって
0405nobodyさん2008/01/31(木) 02:49:49ID:???
>>402
これだけじゃわからんがACTIONが空だけどこれはいいのかな。
0406nobodyさん2008/01/31(木) 02:50:22ID:???
ポストバックだろ
0407nobodyさん2008/01/31(木) 02:51:30ID:???
action空だから今のリファラに飛ばしたいんだろ
ダチにはノートンのリファラ返すように言っとけ
04083992008/01/31(木) 02:51:47ID:4JBYr2L1
>>405
セキュリティ上、空のほうがいいそうです。と本に書いてありました。

>>406
ポストバック?
0409nobodyさん2008/01/31(木) 02:55:41ID:???
なんじゃそりゃ
0410nobodyさん2008/01/31(木) 03:16:49ID:???
ここのやり取りを読んでいると、物事を難しく考え過ぎているような嫌いがある。

phpもwebという仕組みも究極的には、OnとOffの電気信号をやり取りをしているに
過ぎないというベースの考え方から、考える癖をつけた方がいいよ。

枝葉ばかりの方法論に固執せずに、仕組みから考えていく方が応用が利くと思う。
0411nobodyさん2008/01/31(木) 03:23:30ID:???
postbackにするのとセキュリティってどういう関係があるんだ。。。
0412nobodyさん2008/01/31(木) 03:38:32ID:???
ファイル名を隠したいってことかな?
セキュリティが向上するとも思えんが
04133992008/01/31(木) 03:52:32ID:4JBYr2L1
まだ確定ではりませんが、事前にリファラーブロックをかけてたのでそれが原因かもしれません。
解除してみてテストしてもらいます。

>>411
XSS対策です。詳しくは【PHP サイバーテロの技法 防御と攻撃の実戦】という本に書いてあります。
この本もここの人に推奨されたので勉強のために買いました。
0414nobodyさん2008/01/31(木) 03:55:42ID:???
リファラ要求するならERROR:referer情報が変です。(ref1)的なものが必要だろ
0415nobodyさん2008/01/31(木) 07:30:54ID:???
思い切ってセキュリティーに関する部分をコメントアウトしてみたらどうかな。
もしくは、1つの項目をログファイルに追記で書き込むだけの簡潔なプログラムを
書いてみるとか。
0416nobodyさん2008/01/31(木) 09:55:14ID:no07dFZM
すみません、駄質なんですが
connect()とpconnect()の違いはなんでしょう?
p-が継続的だとはマニュアルに書いてあるんですが、これはclose()しないと
サーバに付加がかかり続けるということでしょうか?
closeしないで次のページに移動してまたpconnectしたらまた付加がかかって、
それもcloseしないで次のぺーじでpconnectしたらまた… みたいになるのですか?

どうもよくわかりません
そうならないとしても、「継続的」であることでの具体的なメリットって
どんな場合ですか?
0417nobodyさん2008/01/31(木) 09:56:56ID:???
pconnectは、おなじ接続があったらさっきのを再利用、だよ。
イメージが逆だな。
0418nobodyさん2008/01/31(木) 10:14:03ID:no07dFZM
>>417 ありがとうございます!
イメージが逆ってのは、再利用するから接続しなおす負荷(?)がかからないって
ことですね? じゃ、いいことみたいですね
あと、続けて質問ですみませんが、マニュアルを読んでるとclose()してるサンプルって
見たことありません。しなくていいものなんですか?
ブラウザを閉じたら勝手にクローズ。だけど、ページ移動なら接続は
キープされるってことでしょうか?(pconnectの場合)

同一ページで何度も同じ接続処理を書くことってあまりないと思うので、
ページ遷移で持ち越せる位の機能じゃないとpconnectって意味薄そうな気がするのですが…
0419nobodyさん2008/01/31(木) 10:34:31ID:???
cgiと違って終了してもプロセスは残るから再利用可能になるんだよ。
ttp://www.php.net/manual/ja/features.persistent-connections.php
0420nobodyさん2008/01/31(木) 11:00:34ID:???
>>330
最終的には特定のxmlやらiteratorから別のxmlを作るのが目的。
modelの作成にSimpleXMLElementが使えないかなーと。

生成元からxpathで抽出して生成ノードがコンテナなら抽出元のノードの生成ノードの下にぶら下げる。
次に先程生成したノードをxpathで抽出してぶら下がったノードに相対パスを突っ込んでさらにノード作成、みたいな。

ちとややこしいけど・・・
0421nobodyさん2008/01/31(木) 11:04:56ID:???
>>418
pconnect()の対になるclose()は意味が無い。
connect()の対になるclose()はスクリプトの終了の際に
自動的に行われるので大抵の場合はしなくても構わない。
HTTPリクエストで実行されるスクリプトの場合、
接続時間が短く、リソースを掴んだままでも影響が少ないからね。
因みにリソースにはそこでSELECT等して取得したデータも含まれる。
(MySQLの場合)

あとpconnect()によるリソースの再利用だけど
接続文字列が同じだから必ずしも再利用されるとは限らない。
再利用のためのプールが1つではなく、プロセスで1つで
プロセス間でそれを共有しないため。
だから接続をタイムアウトまで最悪上限まで保持してしまう
pconnect()はかえって効率が悪くなる(不具合)場合もあるよ。
httpdの設定とか絡んで要調整。
0422nobodyさん2008/01/31(木) 11:17:14ID:???
>>420
SimpleXMLObjectのプロパティ≠子要素だから上のコードには無理がある
addNode()とか定義して自分でXMLオブジェクトを展開して追加するしかないと思うが
SimpleXMLを投げ捨てる、という手も
0423nobodyさん2008/01/31(木) 11:24:17ID:???
addChild()のユーザ投稿だと、一旦Domオブジェクトにしてから追加してるのがあるね。
0424nobodyさん2008/01/31(木) 12:00:56ID:???
>>722
__set使ってればオーバーライドすれば誤魔化せるかなーとか思ったけど見てのとおりの惨敗。
投げ捨てるか、xpathを取得して保管するか、xpathをキーにしてarrayでも作るか、どうするか思考中。

>>723
なんと。情報ありがとうございます。
調べてみて試してみます。
0425nobodyさん2008/01/31(木) 12:06:11ID:VNDK0Dvo
Magpie RSSで日付を取得する方法について教えて下さい

最新バージョンの0.72を使っています
phpはバージョン5系です。

$date = date("Y/n/j G:i", $item['date_timestamp']);
このようにしてRSSの時間を取得するようにしてるのですが、

echo "<li>$date<a href=\"$url\">$title</a> ($p_title)</li>\n";
このように書いて実行してるのですが、なぜか時間表示が全部1970/1/1 9:00になってしまいます。

アドバイスお願いします。
公式サイトではdate_timestampで取得することを進めているのですがどうもうまくできません。

0426nobodyさん2008/01/31(木) 12:11:55ID:???
>>425
1970/1/1てことは$item['date_timestamp']が空だね
変数をダンプしてデバグしましょう
0427nobodyさん2008/01/31(木) 12:15:47ID:???
>>426
レスありがとうございます。
変数をダンプしてみたいと思います。
助かりました!
0428nobodyさん2008/01/31(木) 12:27:27ID:???
>>423
SimpleXML使えないわー
0429nobodyさん2008/01/31(木) 12:36:27ID:???
function xxx(&$c1=null) {
$c1 =100;
}
xxx();


素朴な疑問なんだけどPHP5では
上の例のように参照渡しでかつその変数を省略できるけど
その省略した変数に関数内で値を変更しても大丈夫なのだろうか?

今はパラメータ数を判定して
省略されてない場合にだけ値を変更してるんだけど
そんなの必要ないのかな?

いろいろ探したけど確証が得られなくて・・・

0430nobodyさん2008/01/31(木) 12:50:08ID:???
>>424
シリアル化してつっこんでやるってのは?
04314162008/01/31(木) 13:12:48ID:???
>>419>>421
詳しい説明ありがとうございます
かなり深いですね、、適当やってると痛い目見そうだし
もっと参考書でこういうの説明して欲しいんですが、してないですよねー

プロセスとかの基本用語から理解なきゃダメですね  ありがとう
0432nobodyさん2008/01/31(木) 13:55:27ID:???
>>429
質問するときはID表示、これこのスレの掟
とりあえず>>1を読め、読めない・実行できないなら質問するな
0433nobodyさん2008/01/31(木) 14:06:44ID:???
http://zapanet.info/blog/item/1217

> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー

とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0434nobodyさん2008/01/31(木) 14:08:50ID:???
>>433
お前は直前のレスも読めないのかと
0435nobodyさん2008/01/31(木) 14:48:21ID:???
質問させてください。

・test1.php
・test2.php
・entry.php


http://test.com/test1.php?a=1

このtest1.phpの中に以下のimgタグを
埋め込んでtest2.phpを呼び出しているとします。

<img src='http://test.com/test2.php?a=<;?php echo $a; ?>' width='0' height='0'>

で、このtest2.phpの中にさらに
下記のようなimgタグを埋め込んでいるのですが、

<img src='http://test.com/entry.php?a=<;?php echo $a; ?>' width='0' height='0'>

当然動作しません。

このtest2.phpの中でなんらかの方法でentry.phpを
呼び出して、aの値を登録したいのですが
どのようにすればよいのでしょうか・・・

そのやり方を教えて欲しいです。
よろしくお願いいたします。

0436nobodyさん2008/01/31(木) 14:49:56ID:???
>>435
質問するな死ね
0437nobodyさん2008/01/31(木) 14:53:10ID:89mDm5mU
ID表示ですか・・・
失礼しました。


で、質問させてください。

・test1.php
・test2.php
・entry.php


http://test.com/test1.php?a=1

このtest1.phpの中に以下のimgタグを
埋め込んでtest2.phpを呼び出しているとします。

<img src='http://test.com/test2.php?a=<;?php echo $a; ?>' width='0' height='0'>

で、このtest2.phpの中にさらに
下記のようなimgタグを埋め込んでいるのですが、

<img src='http://test.com/entry.php?a=<;?php echo $a; ?>' width='0' height='0'>

当然動作しません。

このtest2.phpの中でなんらかの方法でentry.phpを
呼び出して、aの値を登録したいのですが
どのようにすればよいのでしょうか・・・

そのやり方を教えて欲しいです。
よろしくお願いいたします。
0438nobodyさん2008/01/31(木) 15:08:35ID:???
>>437
何がしたいのかわからん
entryにtest2の画像のimgタグ、test2にtest1の画像のimgタグを入れてるってこと?
0439nobodyさん2008/01/31(木) 15:10:37ID:???
>>437
外部ファイル呼び出したいだけだろ?
file_get_content(URL);
で゙呼び出せるよ
04404292008/01/31(木) 15:22:24ID:qO0TdOQJ
失礼しました。再度お願いします。

function xxx(&$c1=null) {
$c1 =100;
}
xxx();


素朴な疑問なんだけどPHP5では
上の例のように参照渡しでかつその変数を省略できるけど
その省略した変数に関数内で値を変更しても大丈夫なのだろうか?

今はパラメータ数を判定して
省略されてない場合にだけ値を変更してるんだけど
そんなの必要ないのかな?

いろいろ探したけど確証が得られなくて・・・
04414372008/01/31(木) 15:29:08ID:???
>>439

ありがとうございます。
その関数を調べてもう少しテストしてみます。
0442nobodyさん2008/01/31(木) 15:30:35ID:xq4Ruxkp
セッション管理について質問です。

1:$_SESSION変数で、それぞれのデータを全て持ち回す方法
(例)
$_SESSION['name'] = 'name';
$_SESSION['email'] = 'test@example.com';

2:セッションキーを生成して、$_SESSION['session_key']にキーのみ持ち回して
データはオブジェクトをシリアル化して、キーをファイル名とする一時ファイルに保存する方法
(例)
$_SESSION['session_key'] = '4hak2ajh8adjkeubz'; //実際はユーザごとにユニークな値を生成
$file = file("/tmp/" . $_SESSION['session_key']);
$data = unserialize(base64_decode($file['0']));

3:$_SESSION['data']にオブジェクトをシリアル化して、1つの$_SESSION変数だけ持ち回す方法
(例)
$_SESSION['data'] = base64_encode(serialize($data));
$data = unserialize(base64_decode($_SESSION['data']));

どれが一般的なのでしょうか?
0443nobodyさん2008/01/31(木) 15:43:16ID:???
>>442
一般的は1
2は自作セッション
3は関数や実行結果を保存しすぐリストアしたい時
0444nobodyさん2008/01/31(木) 15:48:45ID:???
>>440
別に問題ないんじゃね?
初期値もいれてんだしreturn後に$c1を参照したいときにゃたまにやる
0445nobodyさん2008/01/31(木) 16:28:44ID:???
>>444
変数の不変性から言って多いに問題があるのだけど、
そんなの関係ねーと小島よしおを信仰しているなら、
それも一興といわざるを得ない。
0446nobodyさん2008/01/31(木) 16:43:09ID:???
変数の不変性?
0447nobodyさん2008/01/31(木) 16:49:35ID:???
そりゃ定数なら問題だが変数だろ?
0448nobodyさん2008/01/31(木) 17:20:24ID:Zzvt9fFU
エスケープシーケンスを置き換えたるため以下のように書きました。
testesc の $char に\に続く一文字だけ該当するように想定していますが
何故か \"のときだけ " ではなく \" 2文字が引数に渡されてしまいます。
これはどこに問題があるのか教えてください。

<?php
$in = '\\\\abc\tdef\\"';
$out = preg_replace('/\\\\(.)/e', "testesc('$1')", $in);
echo 'input [' . $in ."]\n";
echo 'output [' . $out ."]\n";
function testesc($char){
    if($char=='"'){
        return '"';
    }elseif($char=='\\"'){
        return '?';
    }elseif($char=='\\'){
        return '\\';
    }elseif($char=='t'){
        return "\t";
    }else{
        return '';
    }
}
?>
実行結果
input [\\abc\tdef\"]
output [\abc def?]
0449445 2008/01/31(木) 17:22:23ID:???
ことば足らずだったかもしれないが、指摘されていることは違います。
私が言いたいのは、返すことが予定されている変数を呼び先で勝手に変えてはいけないという意味で不変性と言っている。
OOP志向から自明の理であるが、使用貸借契約と消費貸借契約における客体を想像すれば分かりやすい。
0450nobodyさん2008/01/31(木) 17:25:32ID:???
参照で渡してる時点で変えられる事が前提だと思うのだが・・・
0451nobodyさん2008/01/31(木) 17:31:15ID:B+pFj7HJ
本当のクローラーとは違うかもしれませんが、
プログラム練習として自分なりのクローラーを作ろうとしています


現在はネットワークを縦横無尽に走るものではなく、
自分で用意した一つのサイトのトップページを指定し、
そこから同サイト内の全ページをDBに登録するプログラムを作っています

流れ的にはこうです
1. file ()でトップページを取得
2. 1.で取得したページからurlを抽出しリスト化
3. 2.で取得したurlからリンク先のページ内容を取得
4. DB(MySQL)にurlと対応するページ内容を追加、または更新
 (レコードが追加か更新かは、DBにそのurlがあるかないかで判断する)
5. 3と4をループ

ここまではうまくいっていますが、質問があります

もしurlから取得したページがたまたま503だった場合、追加も更新も行わないようにしたいのです
その場合、分岐させていけばいいのだと思い、下のようなものを考えました

if(ページ内容が空じゃない){
ページ内容をデータベースに登録する
}

しかし、自分のページが503になったことがないので試せないのです
これで合っているのでしょうか?
04524452008/01/31(木) 17:33:33ID:???
>>450
OOPは、現実の世界で考えれば分かりやすい。それが本質だし。

居酒屋で下駄箱の鍵を店員に預かってもらったら、
店員に勝手に開けられて「靴を磨いておきました」って言われたら、
それが正常な行為であっても、予想に反した動作だと思うだろ。
要はそういうこと。
04534292008/01/31(木) 17:48:14ID:???
>>452
なんか勘違いしてるみたいだけど
値を渡したつもりなのに参照渡しなってしまうという
PHP5の仕様のことを問題にしてるのではなく、
参照渡しである変数を呼び元が省略した場合に
関数内ではその変数の参照先はどこになるんだろうということです。

ローカル変数になるならいいのだけど
どこかにそのへんの詳しい情報がないだろうか。
0454nobodyさん2008/01/31(木) 17:49:38ID:???
>>451
レスポンスヘッダのコード見ればいいんじゃね?
0455nobodyさん2008/01/31(木) 17:56:07ID:???
ttp://gihyo.jp/dev/serial/01/php-security/0005?page=3
を参考にテストしてみたんですが、再現出来ません。
php4です。
このサイトに書いてある、この正規表現では二行目は無視するっていうのは本当なのでしょうか?

/*----------------------------------
<?php
$_GET['id'] = "6666". PHP_EOL . "aaa";

var_dump($_GET['id']);
if (preg_match('/^[0-9]+$/', $_GET['id'])) {
var_dump($_GET['id']);
}
?>
----------------------------------*/
0456nobodyさん2008/01/31(木) 18:01:43ID:???
本当だよ。一行ずつ正規表現で表したい時もあるべ
0457nobodyさん2008/01/31(木) 18:03:54ID:B+pFj7HJ
>>454
すると404とかも判断できるということですね!
レスポンスヘッダとかわからないので調べてきます
ありがとうございました
04584552008/01/31(木) 18:04:48ID:5Z05+qC0
すいません、id表示忘れていました

>>456
だとすると>>455のコードでは再現出来ていないという事でしょうか・・。
このコードでTRUEが得られるつもりで書いたのですが、駄目なようです。
0459nobodyさん2008/01/31(木) 18:15:18ID:???
>>458
ずばり言うわよ。

Smartyを使えば、もっと簡単。
0460nobodyさん2008/01/31(木) 18:17:40ID:5Z05+qC0
>>459
smartyも興味あるのですが。
何故再現できないか知りたいんです・・。
0461nobodyさん2008/01/31(木) 18:20:59ID:???
>>452
参照で渡してるんだろ?
お前の好きな現実の世界に例えると
クリーニング屋にシャツ出したのに
汚れが落ちてるとブツブツ言ってるようなもの。
0462nobodyさん2008/01/31(木) 18:34:36ID:???
いつのまにか$が改行関係なく最後のにしかマッチしなくなってんな
PCRE_DOLLAR_ENDONLYがどーとか書いてあったからその辺かもね
0463nobodyさん2008/01/31(木) 18:37:12ID:5Z05+qC0
>>462
なるほど、昔の仕様ということですね。
ありがとうございます。

こういう細かい仕様変更はちょっと怖いですね・・。
0464nobodyさん2008/01/31(木) 19:13:51ID:???
Smarty厨うぜえw オールドタイプは市ね
04654482008/01/31(木) 19:51:16ID:Zzvt9fFU
>>448 の正規表現を /\\\\(.)/ から /\\\\(\C)/ や /\\\\(.{1})/
に変えたり、関数名を全てシングルクオートの 'testesc(\'$1\')' 囲んだりもしましたが
やはり文字の \" が分割されず $1 に \" が2文字渡されてしまいます。
\ に続くASCIIコードの半角記号も一通り試してみましたが \" のときだけ2文字になります。

原因どなたか分かる方おられないでしょうか。
0466nobodyさん2008/01/31(木) 20:50:27ID:VNDK0Dvo
再度質問申し訳ありません。

php4で動作するスクリプトをphp5でも動かせるようにソースを書き換えてくれるソフトなどないでしょうか?
ソースが長いので書き換えるのが。
0467nobodyさん2008/01/31(木) 20:54:16ID:???
こんばんは。
ブラウザをリロードさせる関数ってありますか?
よろしくです。
0468nobodyさん2008/01/31(木) 21:00:25ID:???
>>467
>>1
0469nobodyさん2008/01/31(木) 21:03:01ID:???
>>466
ない

というかphp4で動作するならphp5でも動作するだろ
逆は動かない場合もあるが
0470nobodyさん2008/01/31(木) 21:04:12ID:???
>>466
普通に書いてたら5でも動くよ。

>>467
reload()

ブラウザを操作できたら嫌がらせやり放題やん
0471nobodyさん2008/01/31(木) 21:06:27ID:VNDK0Dvo
>>469-470
レスありがとうございます。
関数の問題で動いてないみたいです。

$rssurl = array() ;
$rssurl[] = "○○";
$rssurl[] = "○○";

arrayと[]はphp5では読みこまないと記事にありました。
この関数をどのように変えてあげればいいのでしょうか?
○○はrssのURLになります。
0472nobodyさん2008/01/31(木) 21:07:48ID:???
どこの記事だよw
0473nobodyさん2008/01/31(木) 21:15:27ID:???
>>471
さっきから普通に4を書いてたら5でも動くって言われてるのに。
釣りか。。。
0474nobodyさん2008/01/31(木) 21:21:29ID:???
文字列から特定の文字があるか分からない状態でもしあったらそれを置換するには何の関数がいいかな?
0475nobodyさん2008/01/31(木) 21:23:39ID:VNDK0Dvo
http://gihyo.jp/dev/feature/01/php-migration/0002
ここですよ 記事は
0476nobodyさん2008/01/31(木) 21:32:26ID:???
>>475
>>471のコードとそこのコードの違いってわかる?
0477nobodyさん2008/01/31(木) 21:42:44ID:???
わかってないだろ。記事もロクに読んでないと思う。
0478nobodyさん2008/01/31(木) 21:50:45ID:???
        ∬ ∬    ∬ ∬    ∬ ∬  +
   +     人      人      人     +
         (__)    (__)    (__)
  +    (__)   (__)   (__)     +
.   +   ( __ )  ( __ )  ( __ )  +
      ( ´∀`∩ (´∀`∩) ( ´∀`)
 +  (( (つ   ノ (つ  丿 (つ  つ ))  +
       ヽ  ( ノ  ( ヽノ   ) ) )
       (_)し'  し(_)  (_)_)
0479nobodyさん2008/01/31(木) 21:52:14ID:MssSyn6A
質問です。
http://○○○○○.jp/php?a=1&b=2
とあったとしてお気に入りからアクセスするのとhtmlページからアクセスするので
サーベーへの負荷が変わったりするんですか?
前に「負荷がかかるから直でくるな」みたいなことを書いてあるのを見たのですが。
0480nobodyさん2008/01/31(木) 21:56:55ID:???
日本語でおk
0481nobodyさん2008/01/31(木) 22:04:18ID:???
その質問の答えだけならかわらん。
0482nobodyさん2008/01/31(木) 22:08:12ID:???
>>479
一般論としては、直でアクセスしても、htmlからアクセスしても同じ。
だけど、そのプログラム自体がリファラの取得をし、何らかの処理を
している場合は、負荷は違うだろう。
04834792008/01/31(木) 22:15:38ID:MssSyn6A
うまくまとまってなくて済みません。

>>482
うちに置いてあるものでは
a=1ならコンテンツのXXでb=2ならページの2を読む(XXの2ページ目を表示)
のようにしています。
0484nobodyさん2008/01/31(木) 22:20:01ID:???
日本語でおk
0485nobodyさん2008/01/31(木) 22:31:57ID:???
> 前に「負荷がかかるから直でくるな」みたいなことを書いてあるのを見たのですが。
いっているやつがバカ。

2ちゃんねるでもhttpをttpとか書くやつがいるが、
あれもばか。

2ちゃんねるブラウザ使うと直リンクになっている。
0486nobodyさん2008/01/31(木) 22:37:37ID:???
ブラウザ依存の振舞いを当然のように語る人の方が馬鹿かと
0487nobodyさん2008/01/31(木) 22:38:06ID:???
http://zapanet.info/blog/item/1217
> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー

とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0488nobodyさん2008/01/31(木) 22:41:13ID:???
>>487
引数にENT_QUOTESがない
0489nobodyさん2008/01/31(木) 22:42:19ID:???
「htmlspecialchars 危険」とかですぐ見つかる質問をするってのも問題の一端ではある気がする
0490nobodyさん2008/01/31(木) 22:47:30ID:???
>>487
ずばり言うわよ。

Smartyを使っていないから。
0491nobodyさん2008/01/31(木) 22:49:30ID:???
それだけ?
0492nobodyさん2008/01/31(木) 22:51:06ID:???
それだけ、ってどんだけぇ〜
0493nobodyさん2008/01/31(木) 22:52:19ID:???
フレームワークが使えないSmarty厨はほっとけw
0494nobodyさん2008/01/31(木) 22:53:36ID:VNDK0Dvo
php4で動いたありますがphp5では動きませんでしたよw
なんでだろう
真白だよ;;
arrayがおかしいと思ったんだけど、arrayで外部記事をひっぱってきてるだけなので;;
0495nobodyさん2008/01/31(木) 22:55:57ID:???
ちゃんとdebugしませう
0496nobodyさん2008/01/31(木) 22:56:45ID:???
>>494
全角でセミコロン書くから真白だよ
0497nobodyさん2008/01/31(木) 22:57:16ID:???
>>487
CakePHPを使っていないことが問題です
0498nobodyさん2008/01/31(木) 22:58:39ID:???
最近CakePHPを推していたのは私ですが、>>497は私ではありません。
Smarty厨でしょう?w
0499nobodyさん2008/01/31(木) 22:58:51ID:???
>>494
CakePHPで
htmlspecialchars($_GET['text']);
って書いたけど脆弱性ありまくりでした
0500nobodyさん2008/01/31(木) 22:59:25ID:???
>>494
とりあえずstrictでログを出せ
話はそれからだ
05014992008/01/31(木) 23:00:03ID:???
>>494>>497
やってもた
05024982008/01/31(木) 23:02:52ID:???
Smarty厨のいうことを聞くからですよw
あいつは何もわからずに適当に言っているだけです。
0503nobodyさん2008/01/31(木) 23:07:17ID:???
>>487のレスって4回目だけど
やっとENT_QUOTESが出た。
けど、文字コードの問題とか、
そもそも$_GET['text']にhtmlspecialcharsって
違和感を感じないのか?

0504nobodyさん2008/01/31(木) 23:09:50ID:???
>>487のレスって4回目だけど
やっとhtmlspecialcharsがわかってないやつがきた
0505nobodyさん2008/01/31(木) 23:10:15ID:???
後出しジャンケン大会w
0506nobodyさん2008/01/31(木) 23:11:10ID:???
>>487のレスって4回目だけど
やっとつれた
0507nobodyさん2008/01/31(木) 23:11:31ID:???
くだスレでそんなこと言ってたら生き残れなねーぞおめー
0508nobodyさん2008/01/31(木) 23:12:39ID:VNDK0Dvo
coreサーバー事態がおかしいのかも知れません。
どなたかphp5の環境で私のソースが動くかチェックしてもらえる方いないでしょうか?
YAHOOニュースのRSSをMagpieRSSを使って取得しているだけです。

どうかお願いします。
0509nobodyさん2008/01/31(木) 23:15:15ID:???
>>503
シングルクオートをhtmlエンティティ化しないとどんな脆弱性があんの?
0510nobodyさん2008/01/31(木) 23:20:42ID:VNDK0Dvo
ごめんなさい 違う鯖では動作しました。
サーバーが原因だったようです。
なんだよcore鯖
0511nobodyさん2008/01/31(木) 23:21:49ID:???
>>508
ソースがないのにどうやってできる
その前に普通に書けば動くって!
0512nobodyさん2008/01/31(木) 23:21:51ID:???
>>503
その例題を書いた奴が部分的すぎる
後からどうにでも上げ足をとれるように、作為的なものを感じるが

一旦、変数に取り込んでから加工したいのだろうが、コーディング規約で決める部分で作法の範疇じゃね?
0513nobodyさん2008/01/31(木) 23:22:13ID:???
core鯖って何?
0514nobodyさん2008/01/31(木) 23:24:13ID:???
CORESERVER.JP Part8
http://pc11.2ch.net/test/read.cgi/hosting/1201260968/

これです。
0515nobodyさん2008/01/31(木) 23:25:58ID:???
鯖が原因って、、、それは原因を知ったことにはならないだろ
まずE_NOTICE、E_STRICTレベルのログくらい読むべき
変数に期待する値が来てないなら、どこでコケてるのかエコーしながら
遡って探っていく、そうやってコードのどこで問題が起きてるか特定する
そうすれば状況が見えてくるし、質問するにしても回答が得やすくなる
0516nobodyさん2008/01/31(木) 23:27:16ID:???
>>514
そこの>>1
お前はお断りって書いてあるよ。
0517nobodyさん2008/01/31(木) 23:28:18ID:???
うっせいよぼけどもしばくぞ
0518nobodyさん2008/01/31(木) 23:28:53ID:???
>>513
よくわからんけど、
Googleでの検索結果
Fedra Core鯖 946件
hard Core鯖 962件
ハードゲイ 鯖 54,500件
ってことでハードゲイのことと思われ
0519nobodyさん2008/01/31(木) 23:29:15ID:???
PHP5でMySQLも5なのか
値段もなかなかw
0520nobodyさん2008/01/31(木) 23:29:23ID:???
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
おまえ100点>>513
0521nobodyさん2008/01/31(木) 23:30:46ID:???
じゃあ後はxreaのサポートBBSで回答を待つということで
0522nobodyさん2008/01/31(木) 23:35:13ID:???
わからんなぁ、どっちも同じじゃん。
ENT_QUOTESすることで何を防げるんだ?

<a onclick="alert('&#39;+alert(4989)+&#39;')">CLICK</a>

<a onclick="alert(''+alert(4989)+'')">CLICK</a>
0523nobodyさん2008/01/31(木) 23:45:32ID:???
>>509
textをhtml中に出力している、という前提だと

・HTMLのタグの内側かつ属性値の引用符の外側を出力中である
・HTMLのタグの内側を出力中で、属性値を引用符でくくっていない
・HTMLの属性値の出力中かつ、引用符にシングルクウォートを採用している

こういうケース以外では無問題?
05244482008/01/31(木) 23:58:27ID:Zzvt9fFU
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0525nobodyさん2008/02/01(金) 00:03:13ID:???
$txt = htmlsp..($_GET["text"]);
echo "<a href='#hoge' $txt>"; //そりゃ死亡だろ。
echo "<a href='#hoge' title='$txt'>"; //うっかり死亡。
あとはjsコードジェネレーション中に同様の問題あり
htmlspecialchars忘れる可能性のほうがずっと高い気がしてきたw

あと、>>487の元記事はENT_QUOTESしてないとか、その断片的なコードの問題を
指摘してるものじゃないから、「コードの問題は何か」という質問自体が回答側の
ミスリードをさそってる。
0526nobodyさん2008/02/01(金) 00:14:33ID:???
シングルクオーテーションもタグやJavaScriptの囲みに使われるからこれも退避しないと悪用可能って話か。
0527nobodyさん2008/02/01(金) 00:17:35ID:???
いや、JavaScriptの囲みに使われるからと
囲みの中の'を&#39;にしたところで
何も変わってないよ。

>>522を見ればわかるけど、囲みの中を&#39;にしても
動作は変わらない。
0528nobodyさん2008/02/01(金) 00:20:44ID:???
括弧やセミコロンや演算子禁じたほうがよさげだな。
0529nobodyさん2008/02/01(金) 00:24:48ID:???
>>528
もうこうなってくると
htmlspecialchars の問題じゃなくて
使い方の問題だな。

んで、大本のmatzの記事には使い方が書いていない。
0530nobodyさん2008/02/01(金) 00:35:01ID:???
>>529
そういう表層的な問題じゃないと思うよ。
長男は嫌だとか、年収は1000万円以上じゃないと嫌だと女がいるが、
そういう女は本気の恋愛をしてことがない女。
0531nobodyさん2008/02/01(金) 00:35:35ID:???
要するに釣りってことか
0532nobodyさん2008/02/01(金) 00:43:40ID:???
いっそ英数字以外全部?nnn;にするくらいでないと起きそう。
そしてそこまでやってるのは言語に関わらずろくにいないだろうな。
文字の退避はしてても文字コード指定しない方がはるかに多いだろうし。
0533nobodyさん2008/02/01(金) 00:45:10ID:???
釣りも社会勉強の一つで、色々な釣りにどのような反応を示すかを見て、
社会復帰のための勉強をしている人も俺を含めて結構居ると思うよ。
いつか、社会復帰できるようお付き合い下さい。
0534nobodyさん2008/02/01(金) 00:45:46ID:???
いきなり定義されてないかもしれない変数渡すなやΗεΗεΗε

てこと
0535nobodyさん2008/02/01(金) 00:48:43ID:???
どこから引用したコードか知らんが、100行程度のトイアプリでPHPで語ってたら笑うな
0536nobodyさん2008/02/01(金) 00:49:51ID:???
トイアプリって何のこと?
0537nobodyさん2008/02/01(金) 01:17:24ID:???
トイ=おもちゃ
0538nobodyさん2008/02/01(金) 01:20:47ID:???
PHPSPOTってサイトに
htmlspecialcharsを使いましょうって書いてあった。
それだけでいいのか?
matzの思うつぼw
0539nobodyさん2008/02/01(金) 01:53:10ID:7ncIvXJm
質問させてください
プルダウンのオプション部分を自動生成するプログラムを書いてて
makePullDown(){
$option="";
for($i=0;$i<47;$i++){
 $option.="<option value=\"";
 $option.=setVal($i);//valueを呼び込む関数
 $option.="\">"
 $option.=setNamae($i);//名前を呼び込む関数
 $option.="</option>\n";
}
return $option;//この返り値を<select>{$pd}</select>のようにして使う
}
というようなものを作っています
が、「$option.="<option value=\"";」の行に対して、unexpected '.'というエラーが
標準出力されてしまいます。
同じ構造のプログラムを他の場所で作っていて正常に動いているので、それを元にして
作ったのですが、今回なぜエラーになるのかわかりません。
どこが問題そうというのがあったらご指摘いただけないでしょうか? すみませんがお願いします
0540nobodyさん2008/02/01(金) 02:11:58ID:???
>>539
$option.="\">";
0541nobodyさん2008/02/01(金) 02:18:47ID:???
>>539
質問するなら再現するコードをもってこい
0542nobodyさん2008/02/01(金) 02:36:44ID:6ktoEY5E
質問です。正規表現による置換がどうしてもうまくいきません。。。
<?php
$comment = "aabb/*ccdd*/eedd*/";
?>
<HTML><BODY>
<?php
$ok = preg_replace("/\*.*?\*/","!",$comment);
$ng = preg_replace("/\*.*?dd" ,"!",$comment);

printf("OK:" . $ok . "<BR>NG:" . $ng . "<BR>");
?>
</BODY></HTML>

$okには/*...*/を!に置き換え、$ngには/*...ddを!に置き換えるつもりのコードです。
出力結果は
OK:aabb/!/eedd*/
NG:
となってしまいます、
$okのほうは正しく/* */が最小一致で置き換えられていますが、
/* ddのほうがなぜか文字列が返りません。何か特別なルールがあるのでしょうか?
0543nobodyさん2008/02/01(金) 03:13:35ID:???
>>539
$option.="\">" ←セミコロンがない
0544nobodyさん2008/02/01(金) 03:17:15ID:???
よくある凡ミスだがIDE入れればそんなミス起こらない
というわけでIDEで開発しれ
0545nobodyさん2008/02/01(金) 03:34:06ID:ShuZZjDk
PHPもある程度わかってきたので、SmartyとPEARを勉強したいと考えています。
オススメのサンプルサイトもしくは、推奨の本を教えてください。
よろしくお願いします。
0546nobodyさん2008/02/01(金) 03:45:16ID:???
>>545
公式サイトのマニュアルと各ライブラリのドキュメント
0547nobodyさん2008/02/01(金) 03:45:37ID:???
Smarty PEAR フレームワークの話題は>>1を100万回読んでからしてくださいね
0548nobodyさん2008/02/01(金) 08:21:40ID:7ncIvXJm
やっぱりみんなpearって使ってるんですか?
0549nobodyさん2008/02/01(金) 09:00:49ID:???
>>548
ずばり言うわよ

0550nobodyさん2008/02/01(金) 09:03:11ID:???
Smartyはアフォ
0551nobodyさん2008/02/01(金) 09:05:08ID:???
smartyのサイトが数日前から落ちてるようなのですが、
どこかでDLできるところ知りませんでしょうか?
smartyスレも落ちてるし…
0552nobodyさん2008/02/01(金) 09:06:15ID:???
使うなってことだろw
0553nobodyさん2008/02/01(金) 09:06:45ID:???
>>551
鉄の掟ローカルルールに従いなさい
0554nobodyさん2008/02/01(金) 09:37:10ID:???
落ちてるなら立てればいいじゃない
0555nobodyさん2008/02/01(金) 13:03:40ID:???
>>542
Warningとか出てないかい?
$ng = preg_replace("/\*.*?dd/" ,"!",$comment);
ddの後ろに/
0556nobodyさん2008/02/01(金) 14:53:57ID:wTHzZE81
書き込みスレが間違っていたらすみません。
質問があります。

SWFファイルを、Linuxサーバー上でスクリーンセーバー(SCR)に変換できるようなプログラム/サーバーソフトというものは、ありますでしょうか?
開発言語はPHPなのですが、PHPで可能でしょうか?

どなたかお知りでしたら、何卒ご教示をお願い致します。

0557nobodyさん2008/02/01(金) 15:17:47ID:???
mysql_pconnect が機能しているかどうか
どうやって確認したらよいでしょうか
持続的接続がどこかにあるのかな

それとも、コマンドラインからの起動だと
mysql_connectと何も変わらないとか?
0558nobodyさん2008/02/01(金) 15:19:41ID:???
かわらない
0559nobodyさん2008/02/01(金) 15:38:49ID:???
>>556
PHPで可能
win鯖なら簡単だがLinux鯖なら少し手を加える必要がある
手っ取り早く拡張モジュールで作成することもできる
拡張モジュールの作り方はググれ
ただし蔵側にはFlashPlayerがインスコされていることが条件
0560nobodyさん2008/02/01(金) 16:05:35ID:wTHzZE81
>>559
素早いご回答、ありがとうございます。
貴重な情報、とても助かります。
ググッて、色々調べてみます。
0561nobodyさん2008/02/01(金) 18:23:13ID:???
>>560
最初からググレカス
0562nobodyさん2008/02/01(金) 18:31:55ID:???
>>561
スレタイ嫁カス
05635572008/02/01(金) 18:47:24ID:???
>>558
そうですか。かわらないですか。

ところで、CLIでなくCGIのときに
mysql_pconnectが有効に機能していることを
確認する手段はありますか?
0564nobodyさん2008/02/01(金) 18:58:06ID:???
http://jp.php.net/manual/ja/features.persistent-connections.php
これでも読んでくれたまへ。
05655572008/02/01(金) 19:09:22ID:???
>>564
ちゃんと再利用しているかどうかを知る方法
がわかんないんです(><)
0566nobodyさん2008/02/01(金) 20:12:47ID:AYOwH3yN
imagickを使いたいんですが
機能が多すぎて何がなんだか・・・
わかりやすく説明してるサイトがあれば教えて下さい
0567nobodyさん2008/02/01(金) 20:20:44ID:???
>>566
マヌアル
0568nobodyさん2008/02/01(金) 20:34:02ID:WTHcD/an
<A href="1.html">テスト1</A>
<A href="../menu.html" target="_self">
  テスト2</A>
<A href="5.html" target="top">テスト3</A>
<A href="34.html" target="top">

テスト4</A>
_______________________________________________
上記のようなソースをあり、<A>タグで囲まれた部分だけを抽出したいのですが、、

preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);

これで取得すると、
テスト1とテスト3だけしか取得できません
テスト2と4はソース上で改行しているせいだと思いますが、
改行部分を含んで取得するにはどうしたらいいでしょうか
0569nobodyさん2008/02/01(金) 20:36:22ID:???
>>568
s
0570nobodyさん2008/02/01(金) 20:39:04ID:???
>>568
先に開業コード痴漢しちゃえば?
考えんのめんどくせ
05715682008/02/01(金) 20:54:45ID:WTHcD/an
<A href="1.html">テスト1</A>
<A href="../menu.html" target="_self">
  テスト2</A>
<A href="5.html" target="top">テスト3</A>
<A href="34.html" target="top">

テスト4</A>
_______________________________________________
test.txt



<?php
$str = implode (file ( "test.txt" ));
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);
$i=0;
foreach($matchtitle[1] as $title[$i]){
print $title[$i]."<br>\n";
$i++;
}
?>

ソースはこうです
>>569さんの意見を参考に
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/is", $str, $matchtitle);
に変えてみましたがだめでした
0572nobodyさん2008/02/01(金) 21:06:49ID:???
俺は基本Umsにしてる
0573nobodyさん2008/02/01(金) 22:40:59ID:WPh0v7gm
>>571
preg_match_all("/<a.*?>(.*?)<\/a>/is", $str, $matchtitle);
0574nobodyさん2008/02/01(金) 22:51:30ID:???
http://atress.kensyou.org/upload/up167.jpg
0575nobodyさん2008/02/01(金) 23:01:18ID:oS+/fqhr
PHPからシェルプログラムを実行させることは可能?
0576nobodyさん2008/02/01(金) 23:05:00ID:???
yes
0577nobodyさん2008/02/01(金) 23:11:44ID:oS+/fqhr
PHPから受け取った変数をもとにシェルプログラムを実行させることは可能?ってnoだよな。何言ってんだ、、、
0578nobodyさん2008/02/01(金) 23:15:51ID:???
普通にできるよっていうかマニュアルみろカス
0579nobodyさん2008/02/01(金) 23:16:21ID:oS+/fqhr
くだらねぇ質問でスマソ
0580nobodyさん2008/02/01(金) 23:19:26ID:???
>>1を読んだ上でくだらない質問をすること
05815682008/02/01(金) 23:24:59ID:WTHcD/an
できました!
本当にありがとうございます
とても助かりました!
0582nobodyさん2008/02/01(金) 23:57:45ID:4fv7t71O
smartyでデータベースから引っ張ってきた値だけ文字化けするんですがどうすればいいですか?
var_dump()で出力した結果は文字化けせず、assignしたら文字化けするんですが・・・。
あと、Smarty内でceil関数とか使えないんですか?
05835822008/02/02(土) 00:03:55ID:qL81uK5h
あ、スマソ、文字化けはmb_strimwidthで半バイト切り取られていたのが原因でした
0584nobodyさん2008/02/02(土) 00:04:58ID:???
>>582
文字化けするようにmeta書いたら化けて当然。

ceilも使える。
05855822008/02/02(土) 00:12:15ID:qL81uK5h
とりあえず文字化け解決しました
{$item.string|mb_strimwidth:0:100:"...":"UTF-8"|escape}

ceil関数使うのってどうすればいいんですか?

{ceil($item.id/$item.id2)}
じゃエラーが・・・・
0586nobodyさん2008/02/02(土) 00:18:02ID:???
そろそろいい加減Smarty専用スレたてないか?
ここ最近多すぎる。
0587nobodyさん2008/02/02(土) 00:21:30ID:???
たてたよ

【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
0588nobodyさん2008/02/02(土) 00:39:57ID:???
phpinfoみたら使わないライブラリが結構組み込まれてるんですが
これ機能使わなくても入れておくだけでメモリ消費しますよね?
0589nobodyさん2008/02/02(土) 03:00:39ID:???
インストールしただけで使ってたらおかしいだろ常識的に考えて
呼び出したときに初めて使われるわけで
0590nobodyさん2008/02/02(土) 03:09:51ID:???
消費するよ
アパッチの子プロセスがえれえ多い場合にはSSLとか削ったほうがいいこともあるちゃが
削ってもバイナリは大して小さくならんし起動時間も短くならんけん放置推奨ばい
0591nobodyさん2008/02/02(土) 03:41:32ID:???
レスありがとうございます。
関数でいつでも呼び出せる状態にしておくための
関数テーブルのようなものをメモリに読み込んで
その部分だけ消費するって感じでしょうか。
関数がやたらに多いライブラリもあるので
アイドリング時の消費がどの程度なのかちょっと気になります。
0592nobodyさん2008/02/02(土) 04:42:25ID:???
imagettftextの
size=フォントサイズ。GD のバージョンに依存し、ピクセルサイズ (GD1) もしくはポイントサイズ (GD2) で指定する必要があります。
って改悪では?
webで扱う時に問題になるのはほとんど常にピクセルサイズなのに
ポイントサイズって何?
何でこんな改悪が行われたの?
0593nobodyさん2008/02/02(土) 11:12:21ID:???
sprintfの書式を調べたが分からなかったので。
カンマ区切りの数値にするにはどうしたらよい?
たとえば「1234567」なら「1,234,567」みたいに出力したいです。
0594nobodyさん2008/02/02(土) 11:16:53ID:???
>>593
number_format()で解決しる
0595nobodyさん2008/02/02(土) 12:32:28ID:???
>>594
さんくす!
0596nobodyさん2008/02/02(土) 12:44:39ID:???
>>565
同じリソースIDが返るが、異なるプロセスだと
偶然重なるとこはあり得るし判別には使えないな。

mysqlだったらTEMPORARYテーブルに何か書き込んで
それが残ってるかで見たら?あれは接続毎に独立してる領域だから。
0597nobodyさん2008/02/02(土) 12:50:28ID:???
imagettftextで縦書きするプログラムを書いてるんですが
。とか、を縦書きすると位置が不自然になります
いい方法はないですか?
0598nobodyさん2008/02/02(土) 12:51:15ID:???
ミニミニミクロ電子幼稚園っていつの間にか終わってたのか
0599nobodyさん2008/02/02(土) 14:18:51ID:???
>>597
回転か専用のフォントで上手くいかないか
0600nobodyさん2008/02/02(土) 16:00:43ID:f9Zd2DDP
form.htmlで取得した

$sex
$age
$com

の3つをcsvに書き込むのにはどうしたらいいでしょうか?

また、次に書き込む際に一度書き込んだデータを消さずに
次の行に書き込んでいくにはどうしたらいいでしょうか?

以下のような感じです

   A    B    C
1  男    34    1
2  男    24    2
3  女    45    1
4  男    38    1

よろしくお願いします
0601nobodyさん2008/02/02(土) 16:13:29ID:???
>>600
form.htmlのformタグを以下のように書く。
<form method="POST" action="test.php">

[test.php]というファイルを作り、以下の内容を記述する。
<?php
$line = $_POST["sex"] . "," . $_POST["age"] . "," . $_POST["com"] . "\n";
$fp = fopen("test.dat", "a");
fwrite($fp, $line);
fclose($fp);
?>

[test.dat]というテキストファイルを作り、何も書かずに保存する。

test.phpとtest.datをform.htmlと同じディレクトリに置き、
ブラウザからform.htmlでデータを入力する。
06026002008/02/02(土) 16:49:50ID:???
>>601
早速ありがとうございます。
そのままの記述でテストしたところ

Warning: fopen(test.dat) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/localhost/httpdocs/test.php on line 3

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/localhost/httpdocs/test.php on line 4

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/localhost/httpdocs/test.php on line 5

とのエラー文が出てしまいます。
0603nobodyさん2008/02/02(土) 16:52:31ID:???
>>602
パーミッションに関するエラーが出ているので、[test.dat]もしくは
そのディレクトリのパーミッションを見直してみるといいよ。
書込みが禁止になってないかな?
0604nobodyさん2008/02/02(土) 16:53:29ID:???
>>602
なにこいつ。ゆとりやな。
06056002008/02/02(土) 16:54:41ID:???
>>601
出来ました!
datファイルのパーミッションの設定に誤りがありました。

ありがとうございました!
0606nobodyさん2008/02/02(土) 16:58:57ID:???
$LoginID = trim($_POST["LoginID"]);
$LoginID = strip_tags($LoginID);
$LoginID = htmlspecialchars($LoginID);

$LoginIDはログインID&名前みたいなもので、
サイトで表示したりPostgreSQLで使用するのですが、こんな対策で大丈夫なんでしょうか?
0607nobodyさん2008/02/02(土) 17:04:58ID:???
>>605
ゆとり用の隔離スレなのだから、仕方ないw


>>606
一般的にはそれでおk。
SQL実行が不安だったら、ログイン部分をデータベース参照する
処理じゃないようにして、テキストファイルの中身との一致を
確認する処理にしてしまうのも手だ。
それをやれば、中身は文字列一致しかしないのだから、どんな
記号を入れてこられてもおk。
06086062008/02/02(土) 17:18:07ID:???
>>607
確かにその方法だと安心ですね。
ありがとうございました。
0609nobodyさん2008/02/02(土) 17:27:46ID:???
えー
必要な時に必要な分必要なだけチェックする方がいいよ
ひろみつ先生に怒られるし
0610nobodyさん2008/02/02(土) 17:36:50ID:???
>>606
一般的にはそれでは90点くらい。
使い方によっては脆弱になりかねない。

ENT_QUOTES
0611nobodyさん2008/02/02(土) 18:18:18ID:???
implodeやらfputcsvやらname[]やら使わないのは何ゆえ?
0612nobodyさん2008/02/02(土) 18:19:36ID:???
DBに投げる値にhtmlspecialcharsかけんの?ありえねー。
0613nobodyさん2008/02/02(土) 18:19:46ID:pDDEbWQ1
index.phpで読み込み、書き込みするファイルlog.txtを
一般ユーザーからの直リンクで一切表示させない方法ってありますか?

index.phpファイルの実行時のみlog.txtを操作出来るようにしたいのですが、
パーミッションの設定など試してみましたが無理でした。
0614nobodyさん2008/02/02(土) 18:23:17ID:???
一般ユーザがアクセスできない場所に保存すれば?
0615nobodyさん2008/02/02(土) 18:23:29ID:???
>>613
PHPレベルでそれをやるのは無理。
ファイル名を長くしたり、ランダムに自動で変えたりして、対処するしかないだろうね。
PHPより下のレベルでならば外部からのアクセスを遮断するのは可能だが。
0616nobodyさん2008/02/02(土) 18:51:05ID:pDDEbWQ1
>>614-615
一般ユーザがアクセス出来ない場所というのは同時に、
一般ユーザがPHPの実行でアクセス出来ない場所ではないんでしょうか?

下のレベルというのがよく分からないで、参考になるページとか単語があればお願いします。
0617nobodyさん2008/02/02(土) 18:53:44ID:???
>>616
ヒント:phpとは別のディレクトリにおいて.htaccess
0618nobodyさん2008/02/02(土) 19:01:30ID:???
>>616
public_htmlより上に置くとか.htaccessで特定ファイルへのアクセスを弾くとかね。
0619nobodyさん2008/02/02(土) 19:07:54ID:UI6Nac8M
そのまんまですね。
要するにlogをブラウザがアクセスできないディレクトリにおいて、そこをphp経由で使用する
Webに公開されないディレクトリに置くか/public_htmlの代わりに/private_htmlを使うとか、Web上でもブラウザで見ることができないようにアクセス制限をかけるとか
0620nobodyさん2008/02/02(土) 19:18:47ID:pDDEbWQ1
>>617-619
よく分かりました、ありがとうございます。
今のレンタル鯖では制限のため出来ないようなので、また別の鯖を利用してやってみます。
0621nobodyさん2008/02/02(土) 19:24:42ID:???
ドキュメントルートやアクセス権の概念もなくWebアプリ作ってるってのもすごいな
0622nobodyさん2008/02/02(土) 19:28:42ID:???
>>620
その程度の知識なら、ローカルで全部やれ。
迷惑だ。
0623nobodyさん2008/02/02(土) 20:21:30ID:+LXVTbfm
check.phpからcart.tplへassignで配列を渡して、そのcart.tplから
その配列をtotal.phpへhiddenで渡そうとしても上手く渡せません。
hiddenでは配列を渡せないのでしょうか?
SESSIONを使うのでしょうか?
どなたかやり方をお願いします。
0624nobodyさん2008/02/02(土) 20:32:31ID:???
>>623
そのコードを示さないと判断は出来ないと思う。
あと、ページをまたがってデータをやり取りする場合は、
SESSIONのほうがいいとされている。
0625nobodyさん2008/02/02(土) 20:44:10ID:???
hiddenに配列入れるってどうやってんだろ
0626nobodyさん2008/02/02(土) 20:50:02ID:???
>>625
それ、俺も思った。恐らくこんな感じでは?w
<input type="hidden" name="$a[3]" value="{0,1,2}">
0627nobodyさん2008/02/02(土) 21:01:25ID:???
パースし直すの面倒だなw
0628nobodyさん2008/02/02(土) 21:01:44ID:???
http://jp.php.net/manual/ja/faq.html.php#faq.html.arrays
0629nobodyさん2008/02/02(土) 21:06:30ID:???
hiddenだからできないとか有り得ないだろ常識的に
0630nobodyさん2008/02/02(土) 21:07:18ID:+LXVTbfm
>>624
ありがとうございます。
SESSIONでやり取りできました。
二つあるSESSIONのお互いの配列はどうやって最後に一つにしたらいいですか?
何度もすみません。
>>625>>626
無茶な事をしてたみたいです。すみません。
0631nobodyさん2008/02/02(土) 21:37:01ID:???
>>630
sessionから先の配列に代入
0632nobodyさん2008/02/02(土) 22:17:42ID:DhduKq9O
対話形式のコマンド、例えばpasswdコマンド、をphpのsystemやらexecやらで叩ける?
0633nobodyさん2008/02/02(土) 22:17:43ID:???
<input type="hidden" name="nanka[]" value="0">
<input type="hidden" name="nanka[]" value="1">
<input type="hidden" name="nanka[]" value="2">
これで配列渡せると思うけど
0634nobodyさん2008/02/02(土) 22:20:03ID:???
そうじゃなくて>>623がどうやってんだろって事だよ
0635nobodyさん2008/02/02(土) 22:39:51ID:???
なるほど・・・
ありがちなのは
<input type="hidden" name="nanka" value="Array">
だろうな
0636nobodyさん2008/02/02(土) 22:49:06ID:???
>>598
いま1194でやってるよ
0637nobodyさん2008/02/03(日) 00:43:42ID:ogX/8gGf
相談です
var_dump($gNameAry2);
echo "ggg>".$gNameAry2[1]."<br />";
としたとき、上のvar_dumpで配列の中身がちゃんと表示されるのに、
下のechoでの出力は何もされません
どんな理由が考えられるでしょうか? この2行の間にはなにもありません
0638nobodyさん2008/02/03(日) 00:59:48ID:???
>>637
var_dump()の結果とエラーログを出して
0639nobodyさん2008/02/03(日) 01:18:05ID:ogX/8gGf
>>638
どうもです エラーは出ていないんです。var_dumpの結果は以下です
array(2) { ["グループ1"]=> string(24) "シュープリームス" ["グループ2"]=> string(21) "クルセイダーズ" }
0640nobodyさん2008/02/03(日) 01:21:50ID:???
>>639
echo "ggg>".$gNameAry2["グループ1"]."<br />";
echo "ggg>".$gNameAry2["グループ2"]."<br />";
0641nobodyさん2008/02/03(日) 01:36:17ID:???
PHPではarray[1]は、"1"をキーとした(順序つき)連想配列だと思うと分かりやすいかも
あとデバッグ時にはE_NOTICEまで出力すると分かることが多い
06426392008/02/03(日) 01:37:34ID:ogX/8gGf
>>640
あ、それだとちゃんと表示されました(ggg>シュープリームス)
>>639の形の配列って$gNameAry2[0]の形でアクセスできないんですか?
やばい、相当恥ずかしいこと聞いてますか?orz
0643nobodyさん2008/02/03(日) 01:41:12ID:rw9YKxIr
>>599
縦書きフォントを含んでいるttfファイルも
縦書きと横書きが一つのファイルになっていますよね?
そしてimagettftextには縦と横の指定をするオプションがないようです。
縦書きしか含まれていないttfファイルを何らかの方法で作るしかないでしょうか?
一文字ずつ回転させる方法は、一応できましたが、
負荷的に、合成を一度で済ませた方が軽いと思うので
縦書きフォントの方もさぐっています。
06446392008/02/03(日) 02:05:53ID:???
教えてくれた人、ありがとうございました
解決しました ほんとにありがとう
0645nobodyさん2008/02/03(日) 02:07:19ID:???
>>642
http://www.php.net/manual/ja/language.types.array.php
か入門書の配列文を読んでからまた質問してください。

配列の「キー」と「値」について勉強しましょう。
0646nobodyさん2008/02/03(日) 02:14:19ID:???
他言語の人向けにいうとPHPには配列は存在しない
配列と呼ばれてるのはハッシュ
0647nobodyさん2008/02/03(日) 02:39:31ID:???
>>644
ちんぽまるだしでがんばれよ。
0648nobodyさん2008/02/03(日) 03:24:48ID:???
>>646
多言語向けに言うなら、順序付きハッシュって説明してあげたほうがいいな。
0649nobodyさん2008/02/03(日) 03:29:09ID:???
連想配列の場合は暗黙に順序が付く
0650nobodyさん2008/02/03(日) 03:45:51ID:???
他の言語ではハッシュは順番が保障されないことが多い。
PHPでは入れた順番に値を取り出すことが出来る。

だから配列のようにも使えるし、ハッシュのようにも使える。
結構便利だよ。データベースのフィールドとか、
定義した順番に取り出すことが出来るから。
0651nobodyさん2008/02/03(日) 03:47:39ID:???
そんなことはどうでもいい。
0652nobodyさん2008/02/03(日) 03:52:05ID:???
どうでもよくないぞw
0653nobodyさん2008/02/03(日) 04:12:33ID:???
連想配列は子ども一人社会復帰させられないもんな
0654nobodyさん2008/02/03(日) 11:10:45ID:???
ハッシュに順番が保障されるというのは、処理が遅いということじゃない?
格納するのと取り出すのを優先するのがハッシュだと思うんだけど。
0655nobodyさん2008/02/03(日) 11:50:01ID:???
デメリットよりメリットの方がおおきい
0656nobodyさん2008/02/03(日) 11:53:31ID:???
scriptにスピードを期待するなよ
0657nobodyさん2008/02/03(日) 11:58:45ID:???
キーで値をとるのにインデクスは関係ないし逆もまた然り
ギャップを埋めたりするわけでなし、実装コードのどこを見て言ってるのか分からん
0658nobodyさん2008/02/03(日) 12:18:05ID:???
ハッシュと内部のハッシュテーブルは別物だからな
OrderedHashが遅いのではなく配列が遅い
といっても今のPHPはチューニングされてるから一概に言えない
0659nobodyさん2008/02/03(日) 12:28:41ID:???
>>654
ハッシュに追加したキー順番データを保持しておけば良いだけ。
キーで取り出すときは、キー順番データを参照しないから変わらない。
foreachで順番に取り出すときは、ハッシュの内部順番データを取得する代わりに
キー追加順番データを見るだけ。

順番データを保持するだけでいいのだから、キーの数×数バイト のメモリ容量と
追加時にわずかな処理低下しか発生しない。
0660nobodyさん2008/02/03(日) 12:32:14ID:???
>>659
なるほど。ならば、PHPのハッシュが優秀だな。
0661nobodyさん2008/02/03(日) 16:50:41ID:???
xdebug入れたらNoticeが表示されんようになったんだけど、
これなんで?
0662nobodyさん2008/02/03(日) 19:39:59ID:???
レポートレベルが変えられてっかじらじゃね?
0663nobodyさん2008/02/03(日) 19:40:31ID:ogX/8gGf
/user/1001/img/event20080203.jpg
/user/1002/img/event20080203.jpg
って風に保存されてる画像があるとして、eventの後に続く数字はアップロード日時
なんですが、この日時から半年過ぎたら削除されるようにしたいと思います。
どうしたらいいんでしょう?
今考えてるのは、ユーザID(1001…)がふえてくのをループをまわして対応しつつ、
該当ファイルがあるのを確認したらunlinkで消してくことなんですが。
for($i=1001;$i<=$userCount;$i++){//こんな感じです 荒っぽいですが
 if(getimagesize(該当ファイル *日時抽出と比較もここ)){unlink(該当ファイル);}
}
しかしこれだと、ほんとに削除処理できてるのか一目瞭然でわかりづらいので
なんとなく不安です。(全部のユーザのイメージフォルダを開かなきゃいけない)
アップロード領域を一箇所にまとめて処理すればすぐ確認できると思うんですが、
事情がありそれは難しい状況です。

・定期的に不要なファイルを削除できて、削除の確認がすぐに出来る方法ないでしょうか?
0664nobodyさん2008/02/03(日) 20:09:15ID:???
別にいいんじゃない?
他にやりようはあるけど、それで問題ないなら十分かと
06656632008/02/03(日) 20:36:58ID:ogX/8gGf
>ほんとに削除処理できてるのか一目瞭然でわかりづらいので
>なんとなく不安です。

こういうのを不安に思うのがおかしいんですかねー?
逆に言ったら、アップされたときにちゃんとアップされてるか
いちいちディレクトリ開いて見るのと同じってことかな…
0666nobodyさん2008/02/03(日) 20:37:46ID:+kFg/DIc
質問です
配列$_SESSION('a')中身はArray ( [id] => 1 [name] => 山田 [etc] => 右 ) に
配列の$b中身はArray ( [id] => 5 [name] => 田中 [etc] => 右 )を
入れたいのですがarray_pushではきれいに入れる事が出来ないのですが
やり方を教えてください。お願いします。
0667nobodyさん2008/02/03(日) 20:41:19ID:???
>>666
unset($b)ってすると
「きれいに」なるよ
0668nobodyさん2008/02/03(日) 20:45:00ID:???
>>666
aのどこにbを入れたいの?
0669nobodyさん2008/02/03(日) 20:54:29ID:???
一目瞭然の使い方間違ってるよ
0670nobodyさん2008/02/03(日) 20:56:07ID:+kFg/DIc
>>668
ショッピングページの様に最初に情報を入れたカート($_SESSION('a'))に
ページをまたぎ次に選択した情報($b)を追加していきたいのですが
やり方がわかりません。お願いします。
0671nobodyさん2008/02/03(日) 21:00:30ID:???
>>668
おそらく
$_SESSION = array(
 'a' => array([id] => 5 [name] => 田中 [etc] => 右)
)

$_SESSION['b'] = $b;
ってしたい。もしくはマージしたいんジャマイカ?
0672nobodyさん2008/02/03(日) 21:03:08ID:???
そういう一目瞭然の使い方見たのは、はじめてだ。
ま、確かに「役不足」の正確な意味を知らなかったとかは
あるけどさ、ここまでひどくなるのを見ると驚くよ。
ゆとり世代ってすさまじいな。
0673nobodyさん2008/02/03(日) 21:07:09ID:???
ログ吐くとかunlinkじゃなくてrename使って一箇所に集めてみるとか
やりたいようにやればいいんじゃないの
0674nobodyさん2008/02/03(日) 21:12:05ID:???
>>670
$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
0675nobodyさん2008/02/03(日) 23:24:59ID:zqPVhuXn
pear install Mail_MIME
としたらversion1が1.6以下だと怒られた
http://www.aubetec.com/hiruneko/blog/archives/2007/10/pear.html
ググるといいサイトが見つかったので手順とおりに進む
pear listでPEARが1.7であることを確認後もう一度installを試みるも同じように怒られた。。。
0676nobodyさん2008/02/03(日) 23:26:56ID:???
>>675
ふーん。で?
0677nobodyさん2008/02/04(月) 00:13:57ID:jFq8zh8H
なぜか教えてくださいっ!!
0678nobodyさん2008/02/04(月) 00:26:16ID:???
その程度の問題解決もできなくて pear 使ってるなんて…
0679nobodyさん2008/02/04(月) 01:05:35ID:vecMkQ0b
>>674
うまく出来ました
ありがとうございました
0680nobodyさん2008/02/04(月) 01:09:25ID:???
printf()のテキスト中で %s をエスケープしてそのまま表示することはできますか?
0681nobodyさん2008/02/04(月) 01:10:04ID:???
>>1
0682nobodyさん2008/02/04(月) 03:53:04ID:???
最近、ネチケットっていう言葉が聞かれなくなったが、
これもweb2.0が復旧した陰の部分なんだろうなぁ。
パソコンの向こうにいるのは、人間だということを理解してくれ。
テレビゲームのキャラ相手にメッセージしていると錯覚してんじゃないの?
0683nobodyさん2008/02/04(月) 04:56:14ID:0159YIyB
下らない質問ですみません。
クラスはどんなときに使うものなのでしょうか?
0684nobodyさん2008/02/04(月) 05:25:47ID:???
下らない。




















でも、このスレだから許す
0685nobodyさん2008/02/04(月) 06:36:26ID:???
テンプレも読んでない質問者に対しては >>1 と3文字入力するだけで済む
0686nobodyさん2008/02/04(月) 06:45:18ID:???
>>683
カプセル化でググるといいよ。
06876832008/02/04(月) 07:20:35ID:0159YIyB
ありがとうございました。
0688nobodyさん2008/02/04(月) 07:30:11ID:???
>>686
ググるはもう古いよ。今はヤフる。
0689nobodyさん2008/02/04(月) 07:32:11ID:???
矢降る
↓   ↓   ↓          ↓       ↓

↓↓   ↓      ↓   ↓       ↓         ↓↓
          ↓                ↓ ↓
↓   ↓            ↓     ↓          ↓
       ↓     ↓               ↓
 ↓                    ↓          ↓
     ↓           ↓ ↓
0690nobodyさん2008/02/04(月) 08:02:25ID:???
 ,.、,、,..,、、.,、,、、..,_       /i
;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
 `"''`゙ `´゙`´´´
0691nobodyさん2008/02/04(月) 09:40:28ID:???
生メールの本文解析めんどくさ
特にマルチパートとかまじしね
0692nobodyさん2008/02/04(月) 09:42:56ID:???
質問スレで愚痴書かれても困る。
0693nobodyさん2008/02/04(月) 09:48:53ID:???
雑談スレと間違えたなんて恥ずかしくていえない
0694nobodyさん2008/02/04(月) 09:52:33ID:???
会員制のサイトを運営していまいて、
会員ごとに見せるページが違います。
ページに関しては、phpでセッション管理で制御しているので楽なのですが、
画像だけは、直リンクされるとログインしていないくても誰でも見れてしまいます。

画像もセッション管理するにはどうすれば宜しいのでしょうか?
画像をphpで生成してreadfileで出力することを思いつきましたが、
この方法だと、同じ画像でも毎回毎回転送する羽目になって
画像の転送量が増えてしまいます。

何かいい方法はないでしょうか?宜しくお願いします。
06956942008/02/04(月) 09:52:55ID:2EdkHT4G
すみませんIDだしていませんでした。
0696nobodyさん2008/02/04(月) 10:02:03ID:???
.htaccessで防ぐ
0697nobodyさん2008/02/04(月) 10:09:41ID:2EdkHT4G
>>696
アドバイスありがとうございます。
.htaccessでロックする方法がイメージがつかないのですが、
IPアドレスで制限するか、画像にBASIC認証をするということでしょうか?
ちょっと、運用が難しい印象を受けたのですが・・・
0698nobodyさん2008/02/04(月) 10:35:22ID:1+3di8q+
docomoで端末情報見て簡単ログイン設定を作るのってさ
UTN入れるから絶対確認メッセージ出るじゃん。

でも、某SNSサイトってそういう確認も何も無しで識別してログイン出来る…。
もちろん完全なトップページからアクセスしても識別される。。

携帯ってPCと違ってハッシュを見て〜なんて出来ないよね??
0699nobodyさん2008/02/04(月) 11:05:53ID:???
>>698
もばげの事だと思うけど完全なトップページからいくと認識されないぞ。
URLを表示して後ろに何もついてないか確認してみそ。
http://****.jp/.o2i2jsie/みたいな適当なのがついてない?
0700nobodyさん2008/02/04(月) 11:19:48ID:XGKTCZyB
質問です。
mb_splitにて文字列を配列に展開したいのですが、

<?php
$text = "温泉 アロマ 癒し";
mb_internal_encoding("UTF-8");
var_dump(mb_split("[ ,./,./ ]", $text));
?>

このようにすると、展開した文字が化けて、配列が11行くらいになってしまいます。
文字列はUTF-8なのですが、なぜうまく展開してくれないのでしょうか?
07017002008/02/04(月) 11:25:21ID:XGKTCZyB
各文字コードで試してみたところ、
UTF-8→失敗
EUC-JP→失敗
SJIS→成功

いやだっ!SJISは信用したくないっ!!
07027002008/02/04(月) 11:26:37ID:XGKTCZyB
mb_regex_encodingで解決しました
0703nobodyさん2008/02/04(月) 11:31:32ID:XGKTCZyB
う〜ん、テキストが空・NULLの状態でmb_splitすると、
必ず配列が1つできてしまうな・・・
これが仕様だったらやだな・・・何で何もないところから配列ができるんだ気持ち悪い

FALSEでもできるorz
0704nobodyさん2008/02/04(月) 11:37:12ID:???
>>697
Deny from all
のhtaccessを画像ディレクトリに置いておけばいいんじゃね?
ディレクトリに分けてないなら拡張子で指定してもいいし。
(関係ないけど書き込むとなぜか.htaが消されるのね)


07056982008/02/04(月) 12:17:05ID:fn0vsA22
>>699
ごめんごめん。モバゲの事じゃないんだ。
Goccoっていうインデックス社のSNSなんだけど、例えばトップから
「マイページ」をクリックすると端末情報とか一切送信せずにログイン出来るのよ。
一体どの情報を見てログイン識別してるんだろう…。
0706nobodyさん2008/02/04(月) 12:17:53ID:???
>>705
IPだったらオワタ
0707nobodyさん2008/02/04(月) 12:33:40ID:???
UTN送信確認OFFにしてるとか
0708nobodyさん2008/02/04(月) 12:51:17ID:M2AmAKlA
ページ1で生成した二次元配列($arrayA)をそのままページ2に送りたいんだけど
どうしたらいいの?
<input type="hidden" name="hairetsu" value="{$arrayA}"/>
としてページのソースを見ると
<input type="hidden" name="hairetsu" value="Array"/> ってなってしまってる…
0709nobodyさん2008/02/04(月) 12:57:11ID:???
>>708
展開して一個ずつhiddenに押し込め!
0710nobodyさん2008/02/04(月) 13:12:15ID:???
すかさずシリアライズ
0711nobodyさん2008/02/04(月) 13:20:14ID:fn0vsA22
>>706
いやぁIPでは無理しょ。

>>707
いや、それはないんよ。
実際に「簡単ログイン」ボタンからログインしようとすると送信確認出るし。

Goccoって公式サイトなんかな?
そうだとしたら公式のみ受信出来るデータで識別してる可能性もあるけど
私はマイメニュー登録してないのに自動ログイン出来ちゃうから違うか…。

UTNで送信確認無しで「何らかの」識別情報が取れるなら、docomoユーザ
に対してのログインがスムーズになるんだよね。
今、自分のサイトはPHPで構築してるけど初心者ユーザはUTN確認画面を
見て意味もなくビビってUターンする場合もあるから…。
0712nobodyさん2008/02/04(月) 13:20:52ID:???
>>711
IP自体は固定だけど重複する可能性があるんじゃまいか
0713nobodyさん2008/02/04(月) 13:25:01ID:???
NULLGWDOCOMOでぐぐれ

つか有名なネタだし
0714nobodyさん2008/02/04(月) 13:27:29ID:???
>>708
二次元配列なら arrayA[1] でも同じことになるから
foreach2つ回して一個一個入れる。
0715nobodyさん2008/02/04(月) 13:29:44ID:M2AmAKlA
>>711
おお、なんか上手くいきそうです サンキューです!
>>710
どうもです
0716nobodyさん2008/02/04(月) 13:31:19ID:???
>>712
UIDとれる公式ならUTNとる必要なくないか?
0717nobodyさん2008/02/04(月) 13:54:55ID:???
>>1
>◆質問後の注意
>・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
は ◆質問する時の注意 に書いておいた方がよくない?
0718nobodyさん2008/02/04(月) 14:14:44ID:???
スレタイも間違えるしテンプレ変えるしろくでないやつが立てちゃったんだな

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

が正しいテンプレ
0719nobodyさん2008/02/04(月) 14:20:38ID:???
>>717
ほとんど読み飛ばされてるし、「まず読め」のさらに前に強調表示で載せていいくらいだと思う。
0720nobodyさん2008/02/04(月) 14:21:11ID:fn0vsA22
>>713
なるほど…。
て事はマイメニュー登録してなくても、メルマガ登録の時とかにUIDを取って紐付けているのでしょうね。
ありがとうございました!!
0721nobodyさん2008/02/04(月) 14:21:52ID:???
確かNULLGWDOCOMOじゃなくても取る方法はあったはず
まぁそれを解析しようとしてできなかったへたれだがorz

0722nobodyさん2008/02/04(月) 16:56:24ID:GS32OYvU
ヒアドキュメントについて質問させてください。

<?php
$hogehoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>

$hogehoge

</body>
</html>
EOM;
?>

これを 「hoge.php」 書き込みたいんですが
このままだと$hogehogeがPHPとして働かないので

$hogehoge → <?php $hogehoge; ?> に変更しました。
が、<?php $hogehoge; ?>の部分がPHPが働いて変数$hogehogeが表示されました(abcde)

長いので次に続く
0723nobodyさん2008/02/04(月) 16:57:46ID:???
{$hogehoge}
0724nobodyさん2008/02/04(月) 16:58:52ID:GS32OYvU
<?php
$hoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>
EOM;

$hoge .= '$hogehoge';

$hoge .= <<<EOM
</body>
</html>
EOM;

こうしたところ正常に動作し、hoge.phpに書き込まれました。

しかしこれだと変数出てくるたびに切れるので面倒だ。
何かいい方法はありませんか?
0725nobodyさん2008/02/04(月) 17:01:17ID:GS32OYvU
>>723
すいません、ここで$hogehogeを表示してはまずいんです。

$hogehogeは外部から取得するもので常に変化するので
そこはPHPじゃないといけないんです。
0726nobodyさん2008/02/04(月) 17:09:18ID:???
意味がわからん
外部ってどこから?
GETとかで取得するなら予めhtmlentitiesでもすればいいんじゃない?
0727nobodyさん2008/02/04(月) 17:16:11ID:GS32OYvU
>>726
例えばXMLから。

簡単に書くと
ヒアドキュメント内で

<?php echo '$hogehoge'; ?>

この一行をそのままファイルに書き込みたいんです。
htmlentitiesをすると書き込まれたphpで動かなくなるんじゃないですか?
まだ試してないですがphpが動作しないと思いますが、、、
0728nobodyさん2008/02/04(月) 17:17:04ID:???
>>727
> まだ試してないですがphpが動作しないと思いますが

試してないなら試してから質問しろ
あと、情報小出しにするな
0729nobodyさん2008/02/04(月) 17:21:13ID:GS32OYvU
>>728
いや申し訳ないけど

<?php

とかになってphpが動くはずがないですから…
今から一応試してみますね。
0730nobodyさん2008/02/04(月) 17:22:12ID:???
うは、変換された。

&lt;?php です。
0731nobodyさん2008/02/04(月) 17:23:53ID:???
>>729
別に動くか動かないかで試すんじゃねーよ
動いても動かなくても試すことでそこから何か得られるんだ
得られなかったらお前の脳の問題

で、結局何がしたいんだ?
XMLから1行取得してファイルに書き出したい?

simple_xml_loadで特定の行を取得して
file_put_contentsでファイルにでも書き出せ
0732nobodyさん2008/02/04(月) 17:32:18ID:???
><?php echo '$hogehoge'; ?>
>この一行をそのままファイルに書き込みたいんです。
単にこれだけならhtmlentitiesとかしないでそのまま書けばいいじゃん。
ファイルに書き込む方法がわからんとか?
0733nobodyさん2008/02/04(月) 17:35:01ID:GS32OYvU
>>731
多分勘違いされてると思うんですが
ヒアドキュメント内に

<?php echo $town ?>
この文を書いてこの文が何も変換されないまま

hoge.phpに書き込まれたいのです。
0734nobodyさん2008/02/04(月) 17:37:05ID:???
久々にエスパー要るな
0735nobodyさん2008/02/04(月) 17:37:44ID:GS32OYvU
>>732
普通にfwriteでやってるんですがまずいんでしょうか?

<?php echo '$hogehoge'; ?>
これを書き込むと書き込んだ先で$hogehogeが展開されてるんですよ。
0736nobodyさん2008/02/04(月) 17:41:26ID:???
>>734
$hogehoge = 'abcde';
$hoge = "123 $hogehoge 456"; // こうなるのが困るらしい
$hoge = '123 $hogehoge 456'; // こういう代入をヒアドキュメントでやりたいらしい

という質問だと思うんよ、たぶん。
0737nobodyさん2008/02/04(月) 17:53:14ID:???
fwrite($handle, '<?php echo "$hogehoge"; ?>');
のようにシングルクォートとダブルクォートを入れ替えちゃダメなの?
0738nobodyさん2008/02/04(月) 18:10:14ID:GS32OYvU
>>736
そうです、わかりにくくて申し訳ない。
中々これが思い通りにいかなく困っております。

>>737
それで可能でしょうがヒアドキュメントでは不可能なんでしょうか?
それだったら素直に諦めるんですが、、、
0739nobodyさん2008/02/04(月) 18:11:41ID:???
>>738
不可能、お前バカだから
0740nobodyさん2008/02/04(月) 18:14:59ID:???
なんのためにヒアドキュメントがあるかわかってんの?
0741nobodyさん2008/02/04(月) 18:26:30ID:???
>>738
頭悪いのいっぱい発生してるけど気にすんな。
想像力も一つの能力、想像力ないやつはクリエイターに向かない。

で、本題。
結論から言うと可能。

書き方をよく考えれば反映される。
お前も想像力足りないから考えろ。
0742nobodyさん2008/02/04(月) 18:31:01ID:OeLZYsIz
ライブラリにしたいクラスファイルの中から
他のクラスを使う時ってどう書いてますか?
includeをハードコーディングするのか、
読み込み部分を一切書かず、
__autoloadの記述に委譲するのか、
ベターな方法に迷ってます。
0743nobodyさん2008/02/04(月) 18:34:55ID:GS32OYvU
>>740
改行やタブをそのまま反映させるためだと思ってますが。
違うのですか…?

>>741
わかりました。
書き方工夫してみます。
どうしてもわからない場合戻ってくるかもしれません、、、

ありがとうございました。
0744nobodyさん2008/02/04(月) 18:35:11ID:???
>>742
クラス内で他のクラスを使うってこと?
extendsでよくね?
0745nobodyさん2008/02/04(月) 18:38:38ID:???
>>741
はぁ?ヒアドキュメントできるわけねーだろw
0746nobodyさん2008/02/04(月) 18:40:25ID:???
あー、やっとわかった。
変数の内容じゃなく文字列としての $hogehoge を出したいだけか。
すごい混乱した。
0747nobodyさん2008/02/04(月) 18:40:28ID:???
>>741
こういうヤツが一番タチが悪い。
0748nobodyさん2008/02/04(月) 18:43:51ID:???
で、可能なの?
俺できないと思うんだけど。

正規表現使えばできそうな気もするんだが
ヒアドキュメントだけでは不可能だと思うんだが。
0749nobodyさん2008/02/04(月) 18:47:32ID:???
くだ質スレなんだからあんまりギスギスしなさんな。
茶化すだけなら雑談スレいったほうがいい。

できるよ。>>722 にたった一文字加えるだけで。
0750nobodyさん2008/02/04(月) 18:47:34ID:M2AmAKlA
$seito=array(array(1,"山田"),array(2,"田中"),array(3,"斉藤"),…)
って具合になってる配列があるとして、子配列の最初の要素が2だとわかってるときに、
"田中"という値を一発で抜き出す方法ってないですか?
自分が思いつくのはfor($i=0;$i<count($seito);$i++){…}っていう処理なんですが
もっと要領のいいやりかたないのかな…
0751nobodyさん2008/02/04(月) 18:50:24ID:???
>>749
できもしないことをできると思わせるのやめとけよな
あと、なんでヒアドキュメント使いたがるのかわからん
テンプレなるならSmarty使っとけ
慣れるとかなり便利だぞ、FW使うことになると応用できるし
0752nobodyさん2008/02/04(月) 18:59:48ID:???
>>751
なんでSmartyなんか使うの?
頭悪いの?
0753nobodyさん2008/02/04(月) 19:01:29ID:???
>>750
forループしてもいいけど最初のとこを「キー=>値」のようにして
$seito = array( array(1=>"山田"),array(2=>"田中"),array(3=>"斉藤") );
echo $seito[1][2];
ではだめなんかな?

>>752
ほっとき。
0754nobodyさん2008/02/04(月) 19:06:10ID:???
使ったことない人の嫉妬か
0755nobodyさん2008/02/04(月) 19:08:07ID:???
あと、複数の値扱うなら多次元にしなきゃいかんけどそうでなのなら
$seito = array( 1=>"山田", 2=>"田中", 3=>"斉藤" );
echo $seito[2];
とか。

複数の値いるなら俺はこっちにする。
$seito = Array( 1=>Array(name=>"山田",age=>26), 2=>Array(name=>"田中",age=>16), 3=>Array(name=>"斉藤",age=>3) );
echo $seito[2][name];
0756nobodyさん2008/02/04(月) 19:11:19ID:???
>>754
使う必要がわからない。
使ったけど不便すぎる。
使うぐらいなら作った方がわかりやすい。

使ってるやつは伸びない。間違いなく
07577512008/02/04(月) 19:11:22ID:???
>>753
できました! これ連想配列っていうんですっけ?
こうやって使うんですね ありがとうございました
0758nobodyさん2008/02/04(月) 19:13:44ID:???
>>756
なんでもいいけど結局>>722の言ってるのできるの?できないの?
さっきからうるさいのお前だろ?
0759nobodyさん2008/02/04(月) 19:18:44ID:???
変数を展開されたくないってことで良いの?
だったら バックスラッシュでエスケープすれば良いと思うけど。
0760nobodyさん2008/02/04(月) 19:18:57ID:???
いやそれ俺だし・・・。妄想を暴走させるのは勘弁してくれ。
0761nobodyさん2008/02/04(月) 19:29:05ID:GS32OYvU
>>759
ああ、なるほど。
よく考えたらそれがありましたね。
ありがとうございます。

何か自分が言うのもなんですがこのスレってレベル低かったんですね。
0762nobodyさん2008/02/04(月) 19:30:26ID:???
試してないなら試してからって言われてるのに…
ほんと頭悪いな
0763nobodyさん2008/02/04(月) 19:31:25ID:???
何今更言ってんの?
みんなそんなのわかってるよ。
Smarty使うとかゴミみたいなもんだろ
0764nobodyさん2008/02/04(月) 19:33:50ID:???
Smartyの実用性知らないからそんなことが言える
ただのテンプレエンジンだけとしか使えないと思ってるバカ多すぎ
0765nobodyさん2008/02/04(月) 19:34:50ID:???
>>761
釣れますか?
0766nobodyさん2008/02/04(月) 19:37:33ID:???
>>765
大量の模様です。
Smarty厨が。
0767nobodyさん2008/02/04(月) 19:40:04ID:???
smarty使うのって自分で作れないからでしょ?
0768nobodyさん2008/02/04(月) 19:42:48ID:???
さらに釣られてどうすんだ。
あれは自然災害みたいなもんとしてほっときゃいいよ。
0769nobodyさん2008/02/04(月) 19:47:07ID:???
結論
使うにしろ使わないにしろ
Smarty云々言ってるやつはバカが多い
0770nobodyさん2008/02/04(月) 19:48:43ID:???
>>769
納得。
結局は自己流なんだよな。
0771nobodyさん2008/02/04(月) 19:52:03ID:???
今まで勉強しようか悩んでたけど、
smartyって別に使わなくてもいいみたいですね この流れ見てると
0772nobodyさん2008/02/04(月) 19:52:16ID:???
いまだに何がしたかったのかわからない俺ガイル
0773nobodyさん2008/02/04(月) 19:53:16ID:???
>>771
いちいち
<?php echo $title; ?>
とか書きたいのなら使わなくてもいいけどな

結論
Smarty使ってないやつは<?=$var?>という書き方をするやつが多い
0774nobodyさん2008/02/04(月) 19:53:22ID:???
>>772
バカは消えてろよ。
0775nobodyさん2008/02/04(月) 19:54:33ID:???
>>774
低レベルなりに必死ですか?
0776nobodyさん2008/02/04(月) 20:24:42ID:???
>>775
釣れる
0777nobodyさん2008/02/04(月) 21:00:57ID:???
>>773
今日日ショートタグは減っていっているかと
0778nobodyさん2008/02/04(月) 21:41:41ID:???
>>773
オレそれしか知らないんだけど、他にいい方法ある?
0779nobodyさん2008/02/04(月) 21:48:21ID:M2AmAKlA
$staAry=array(50=>Array("sta"=>"新宿","last"=>"01:40"),51=>Array("sta"=>"東京","last"=>"01:50"))
という形の配列って、$staAry[50][sta] っていう形でアクセスできるんですが、
普通に要素の順序でアクセスすることは出来ないんでしょうか?
$staAry[0][sta]で“新宿”が返ってくるようにしたいんです 無理なんですか?
すみません、回答お願いします
0780nobodyさん2008/02/04(月) 22:10:29ID:???
このIPから執拗な攻撃を受けているのでブロックしたいのですが、
.htaccessにどう書けばいいですか?
「xxx.xxx.xxx.xxx/xx」の書き方が難しくで分かりません。

222.15.68.195
222.15.68.198
222.15.68.200
222.15.68.201
222.15.68.202
222.15.68.203
222.15.68.207
222.15.68.208
222.15.68.209
222.15.68.210
222.15.68.211
222.15.68.212
0781nobodyさん2008/02/04(月) 22:13:01ID:???
>>779
$staAry = array(50=>Array("sta"=>"新宿","last"=>"01:40"),51=>Array("sta"=>"東京","last"=>"01:50"));
foreach ($staAry as $key => $value){
//$key : 0,1,2,3,4...
//$value : $staAry[$key]
echo $value[sta]."\n";
}


あと、連番はつけなくても
$staAry = array(
Array("sta"=>"新宿","last"=>"01:40"),
Array("sta"=>"東京","last"=>"01:50")
);
みたいにキー省略すれば 0 から順番につけてくれる

>>780
http://pc11.2ch.net/test/read.cgi/hp/1176912246/
0782nobodyさん2008/02/04(月) 22:13:43ID:???
それはリナックス板とか自宅鯖板とかのapache関連スレで聞いたほうがいいのでは
0783nobodyさん2008/02/04(月) 22:15:50ID:???
>>780
スレ違いだけど、答えておくと、下のようにやれば大丈夫。
222.15.68.194/8
0784nobodyさん2008/02/04(月) 22:22:36ID:???
>>781-783
いつもここで伺っているので、つい聞いてしまってすみません。
>>783
どうもありがとうございました。早速やってみます。
0785nobodyさん2008/02/04(月) 22:42:45ID:???
>>780
板違いネタを続けるのもあれだけど、au携帯からのアクセスを禁止してしまって良いの?

Name: pv01proxy01.ezweb.ne.jp
Address: 222.15.68.195
0786nobodyさん2008/02/04(月) 22:52:34ID:???
謎の 222.15.68.194/8 で納得してるようだし、誘導先に行く気もなさそうだから
どーでもいいんじゃない?
0787nobodyさん2008/02/04(月) 22:56:51ID:???
>>781
ありがとう 助かりました
0788nobodyさん2008/02/05(火) 05:00:58ID:???
inetnum: 222.0.0.0 - 222.15.255.255
netname: KDDI

222.0.0.0/8で完全ブロックwwwwwwwっをkwwwwwwwww

ていうか攻撃受けてるわけじゃないのに勘違いしてるだけなんだろうな
07897882008/02/05(火) 05:03:56ID:???
ゴメン間違えたw

222.0.0.0/12だな
0790nobodyさん2008/02/05(火) 05:06:40ID:oAE2IrCI
質問です。
auの携帯電話ではmultipart/form-dataの処理がおかしくて、
multipart/form-dataと言いながらmultipart/urlencodedを送るようで
文字化けしてしまうのですが、この対策として
1.au用にmultipart/form-dataではないフォームを別に作る
2.送られてきたデータをurldecode()を使って無理やり変換する
これ以外の方法で対処出来ないでしょうか?

1は一部同じ記述をするので煩雑になるのと、
2はゴミが残るようなので別に置換が必要になり敬遠しています。
よろしくお願いします。
0791nobodyさん2008/02/05(火) 05:10:22ID:???
UA見てフォームを動的に生成すればいいんじゃ
0792nobodyさん2008/02/05(火) 08:53:56ID:eHXGOXcb
画像idだけがあるとして、
それがimagecreateで作られたのか、
あるいはimagecreatetruecolorで作られたのかを知る方法ってありますか?
0793nobodyさん2008/02/05(火) 09:32:13ID:ifQzZhST
何か奇怪なことが起きて困ってます。

[test2.php]
<?php
require_once 'XML/FastCreate/XML_Tree.php';
?>

これで

Warning: require_once(XML/Tree.php) [function.require-once]: failed to open stream: No such file or directory

このエラーが出るのです。
同考えてもパスが違うのに・・・。

このファイルを削除したり、再度作成しても同じです。
新しくtest3.phpという名前で全く同じ内容のファイルを作っても、
このエラーが表示されてしまいます。
07947932008/02/05(火) 09:34:02ID:ifQzZhST
解決しました。
XML_Tree.phpからのエラーでした
0795nobodyさん2008/02/05(火) 10:33:37ID:oAE2IrCI
>>791
やっぱりそれしかないですかね。再考してみます。
0796nobodyさん2008/02/05(火) 11:47:11ID:???
VBとCGIでデータを送受信するシステムを作るんだけど、どうすれば良いのか分からない。
多分、VB側で接続と送信、受信の命令が必要なんだけど、ググってもよく分からない。誰か教えてくれ。そういう事を分かりやすく書いてある本でもいいんだ。
0797nobodyさん2008/02/05(火) 11:52:18ID:???
>>796
VIPと間違えてるぞ
0798nobodyさん2008/02/05(火) 11:56:15ID:???
>>797
いや、俺は真面目に聞いてるんだが…。
0799nobodyさん2008/02/05(火) 11:56:59ID:???
>>797
ゴメン。ここPHP専用だった
0800nobodyさん2008/02/05(火) 13:41:23ID:???
WinInet
0801nobodyさん2008/02/05(火) 14:25:23ID:ZqheJI35
おっしゃーーーーーーーー!!!!!

やっとOOPの考え方わかったぜ!(プログラマー暦2年)
0802nobodyさん2008/02/05(火) 14:26:48ID:???
ほう、じゃ一言で言ってみな
0803nobodyさん2008/02/05(火) 14:27:20ID:???
雑談スレ池
0804nobodyさん2008/02/05(火) 14:53:36ID:ifQzZhST
PHP Warning: Module 'json' already loaded in Unknown on line 0
というエラーが出るのですが、一体どういうエラーなのでしょうか?
jsonというModuleを使った覚えはないのですが・・・
0805nobodyさん2008/02/05(火) 15:20:46ID:???
Unknownのライン0でjsonモジュールはすでにロードされてるよん
0806nobodyさん2008/02/05(火) 15:21:43ID:???
そのまんま東
0807nobodyさん2008/02/05(火) 15:27:34ID:???
jsonで全ファイル検索してみれば?
0808nobodyさん2008/02/05(火) 15:35:56ID:???
もうここの住人全員こっち池よ
レベル低すぎだろ、邪魔だ

くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0809nobodyさん2008/02/05(火) 15:42:13ID:???
>>808
お前どんなことできんの?
0810nobodyさん2008/02/05(火) 15:57:18ID:???
普通に答えてる人もいんだからああしろこうしろこうあるべきなんて強要してもしょうがないだろ。
雑談や煽ってる人らと同類だぞ。
0811nobodyさん2008/02/05(火) 16:23:46ID:???
>>808
お前が一番邪魔だよ。
友達少ないでしょ?
0812nobodyさん2008/02/05(火) 16:43:30ID:ifQzZhST
>>805
なるほど、Json Moduleを重複ロードしようとしたために起こったのですね。
ですが、Json自体始めてきいたので、そういったModuleを使用した覚えはないのです。
Apacheの設定によって自動ロードされていて、何らかの原因でそれがもう一度実行されていると思ってよさそうですか?
0813nobodyさん2008/02/05(火) 16:51:02ID:???
もうちょい情報欲しいな
なにrequireしたん?
JSONを使うライブラリがぶつかってたりして
0814nobodyさん2008/02/05(火) 16:53:14ID:ifQzZhST
>>813
えーと、php://stdinによる標準入力です。
これで送られてきたメールを解析するのですが、空メールの時にJsonエラーが出ます。
(情報小出しすみません、今これに気づいたもので・・・。)
0815nobodyさん2008/02/05(火) 17:16:13ID:3hyvc3Sc
<? eval(gzinflate(base64_decode('暗号化された文字列'))); ?>

このコードで、暗号化された文字列を得るにはどうしたら良いのでしょうか。
0816nobodyさん2008/02/05(火) 17:18:29ID:???
>>815
不可能

そのコードをそのままだとそのままの動作しかしない。
ってか何よ、その気持ち悪いコード、何の書籍のサンプル?
0817nobodyさん2008/02/05(火) 17:20:41ID:???
>>811
ボキャブラリが乏しい
0818nobodyさん2008/02/05(火) 17:51:10ID:???
>>817
それには同意だがお前頭悪そう
0819nobodyさん2008/02/05(火) 17:57:03ID:???
まとめると>>818が一番頭悪いのか
0820nobodyさん2008/02/05(火) 17:58:47ID:3hyvc3Sc
>>816さん

WordPressのテンプレートのfooter.phpなんですが
このテンプレを作った人へのリンクは良いんですが、WordPress公式へのリンクとか変なサイトへのリンクが含まれています。
なので消せるかなーと思って質問してみました。
有難う御座います。
0821nobodyさん2008/02/05(火) 18:24:06ID:TiYgg/NO
PEAR htmlquickformってレイアウト性犠牲にしてない?他のpearパッケージには満足してるけど
0822nobodyさん2008/02/05(火) 18:28:09ID:???
>>821
俺は、フレームワークを入れるまでも無いような案件では、まだ使うけどな。
0823nobodyさん2008/02/05(火) 18:58:22ID:???
Fedora8はUTF-8環境なので、
MySQLやPHPをUTF-8にしたWEBアプリケーションでは
mb_convert_encoding()関数は使うことがなくなるのでしょうか?

UTF-8に統一した環境では、
漢字コードの煩雑さがなくなるということでしょうか?
0824nobodyさん2008/02/05(火) 19:35:17ID:???
>>718
0825nobodyさん2008/02/05(火) 20:06:04ID:???
質問の意図が分らないんだけど。鯖OSがエンコードに関係あるのか?
携帯がターゲットならShift_JISにしたりするだろうし。
0826nobodyさん2008/02/05(火) 21:57:10ID:???
UTF-8に統一出来たらあとはそんなに考えなくていいのは確かにそう
0827nobodyさん2008/02/05(火) 22:44:32ID:I3KF3byj
sourceからコンパイルした時のconfigureログとかって残ってましたっけ?
あればログの場所を教えてください。
0828nobodyさん2008/02/05(火) 22:49:30ID:???
っとそういえばphpinfoで出ましたね。
お騒がせしました。
0829nobodyさん2008/02/05(火) 23:36:39ID:???
なにもかもマイクロソフトのせいです
0830nobodyさん2008/02/05(火) 23:41:58ID:YOtSSxmp
http://www.0120-084-544.com/

このシステムすごくない?
宣伝じゃないんだが、モーニングコールサービス
香水のAXEのサイトなんだが
予約してから確認電話するとFLASH連動で会話してるんだが
0831nobodyさん2008/02/06(水) 00:14:14ID:???
そんなとこに携番教えるの嫌だな
0832nobodyさん2008/02/06(水) 01:15:00ID:???
>>830
今だとオープンソースのPBX出てるし、目新しくはないんじゃね?
click2call系って、インフラ自作・運用は手間だけど
インフラ業者使う分にはラクなシステムだよ
0833nobodyさん2008/02/06(水) 03:36:37ID:wPMIjL3q
指定した色がパレットに存在するか否かを知る方法を教えてください
imagecolorclosest
imagecolorclosesthwb
このへんが近いのですが、近似した色のindexを返すのでちょっと違います
なぜ、この簡単な機能がないのか…??
0834nobodyさん2008/02/06(水) 03:38:22ID:???
imagecolorresolve
これもですね
これが一番近いようですがまだファジー機能があるようで…
0835nobodyさん2008/02/06(水) 03:42:56ID:???
>>830
初音ミクみたいな発音でワロタ
0836nobodyさん2008/02/06(水) 06:05:04ID:z9nHz4Jv
文字列に特定の文字列が含まれているか検査するプログラムを書きたいんですが、
strstrで1万以上の語をマッチングさせると非常に効率が悪いような気がするのですが、
この方法よりも早くマッチング処理できる方法ってありますか?

ちなみに、マチコ先生に頼んでもダメです。それは、マッチングじゃなくてマイッチングだから(核爆)
0837nobodyさん2008/02/06(水) 06:08:07ID:???
近藤真彦先生にたのんでください。
0838nobodyさん2008/02/06(水) 09:01:51ID:???
>>837
鶴ちゃんぢゃ駄目でつか?
0839nobodyさん2008/02/06(水) 09:35:24ID:???
>>836
特定文字列は固定なの?動的なの?
0840nobodyさん2008/02/06(水) 09:37:00ID:???
PHPの5.25のWindowsインストーラ版をWindows 2003+IISにインストールしたんだが、php.iniの設定をぜんぜん読み取ってくれない。
5.04を入れていたころは無問題だったんだが。
5.24も試してみたがだめだった。
おかげでmb絡みとかmysqlとかぜんぜん使えねーよ。

どのあたりがまずいと思う?
とりあえずPHPのインストールディレクトリやC:\windows\php.iniはインターネットゲストアカウントでアクセス可能にはしている。
08418402008/02/06(水) 09:37:56ID:L9xITy+H
下げちまった。ごめんよ。
0842nobodyさん2008/02/06(水) 09:38:27ID:???
Windows2003+IISという環境で素直にASPを使わないのがまずいと思う。
08438402008/02/06(水) 09:42:24ID:L9xITy+H
それは過去の資源があるからパスでorz
0844nobodyさん2008/02/06(水) 09:45:01ID:z9nHz4Jv
>>639
はい。特定の文字列は、静的ですが、入ってくる文字列は動的です。
その特定の文字列も場合によっては追加します。
具体的には、こんな感じのPGを作っています。

$postData = "[http://www.example.com/]";
$targetVar = array();
array_push($targetVar, "[http://");
array_push($targetVar, "儲かる");
array_push($targetVar, "絶対やれる");

for ($i = 0; $i < count($targetVar); $i++) {
  if (strstr($postData, $targetVar[$i]) == TRUE) {
    echo "スパムウゼーーーーーー!!!!!!!!!!!!!!";
    for ($i = 0; $i < ; $i++) {
      echo "<img src='http://www.keishicho.metro.tokyo.jp/'>;";
      flush();
    }    
    exit;
  }
}


}

08458402008/02/06(水) 09:54:37ID:L9xITy+H
どうやら古いバージョンのphp.iniを使いまわそうとしていたのが原因くさい。
php.iniも完全削除してインストールしなおしたらとりあえずは反映するようになった。
0846nobodyさん2008/02/06(水) 10:26:21ID:???
>>844
strposだと最初に見つかた場所のインデックス返すだけだから幾分軽め。

>  if (strstr($postData, $targetVar[$i]) == TRUE) {
strposは見つからないときにFALSEを返すので
if (strpos($postData, $targetVar[$i]) !== FALSE) {
に書き換えればいいはず。
0847nobodyさん2008/02/06(水) 10:28:41ID:???
ちなみに参照元
http://au.php.net/manual/ja/function.strstr.php
0848nobodyさん2008/02/06(水) 14:06:19ID:4yRuvbwo
$str = 'hoge:moge:soge:mige';
preg_match('/(.*):(.*)/',$str,$matches);
これで、
hoge-moge:soge:mige
と分かれて欲しいのに、
hoge:moge:soge-mige
と分かれてしまいます。
最初の分け方で分けるための正規表現を教えて下さい
0849nobodyさん2008/02/06(水) 14:41:26ID:???
試してないけど、/(.*?):(.*)/ でどう?
0850nobodyさん2008/02/06(水) 14:51:21ID:???
/([^:]+):(.*)/
とかは?
0851nobodyさん2008/02/06(水) 14:51:57ID:???
出来ました
正規表現は最長マッチがデフォなんですね
ありがとうございました
0852nobodyさん2008/02/06(水) 16:09:55ID:P7zv+9LN
質問です
配列をフォームの次の画面でも利用したくて、serialize($array);として
hiddenに入れて送信し、次のページで
$ary = unserialize($_POST['array']);
var_dump($ary);
としたところ、 bool(false) が表示されました。
どこに問題があったんでしょう?
配列のページ間での引渡しはserializeじゃなかったでしょうか?
正しいやり方が別にあれば教えてください すみませんがよろしくお願いします
0853nobodyさん2008/02/06(水) 17:00:25ID:???
$_POST['array']に何が入ってるかチェックせい
0854nobodyさん2008/02/06(水) 18:35:39ID:URE3uOeZ
>852
htmlspecialcharsして渡して、受けたらhtmlspecialchars_decodeする。
0855nobodyさん2008/02/06(水) 19:17:02ID:YtcNiCUS
http://www.dotup.org/uploda/www.dotup.org1459.jpg
08568552008/02/06(水) 19:17:35ID:???
ごめんなさい、間違えました
0857nobodyさん2008/02/06(水) 19:33:42ID:Cv0W6gKM
インクルードするときに

ob_start();
@include("shuffle.php");
$shuffle = ob_get_clean();

PHP4で問題なく動作してたのですが
PHP5になってから動作しなくなってから動かなくなってしまいました
PHP5でも動くような記述式はございませんか?

組み込みがテンプレート方式のため$shuffleを使える方法でなんとかお願いします
0858nobodyさん2008/02/06(水) 20:30:22ID:???
Doxygen1.5.4でクラス図は作成出来たのですが、
インクルード図が作成出来ないのは仕様でしょうか?
0859nobodyさん2008/02/06(水) 20:31:17ID:???
>>857
まずincludeが機能しているのか?
そこから調べてみろ

>>858
>>1
0860nobodyさん2008/02/06(水) 21:00:07ID:8wqpE2x5
もちろんincludeは機能してます
0861nobodyさん2008/02/06(水) 21:03:09ID:???
URLのエンコード、デコードをする場合に、
urldecode() 、rawurldecode() と二つあるようなのですが、
この二つの関数はどう違うのでしょうか?

マニュアルを見ると、RFC1738 エンコードかどうからしいのですが、
結論としてはどちらを使うのがいいですか?
個人的には、エンコードしたものが正確にデコードできれば、
どちらでもいいのですが・・・
0862nobodyさん2008/02/06(水) 21:58:24ID:???
PHPでTrueTypeの各属性を知る方法が提供されていたら教えて下さい
0863nobodyさん2008/02/06(水) 22:11:05ID:???
>>861
半角空白を+にするか、%20にするかの違い。
どっちでも好きにするといいよ。
0864nobodyさん2008/02/07(木) 00:08:04ID:+zOwSksv
http://seijishibuya.com/

これはどうゆうふうに作るの?
java のフルスクリーン ?
0865nobodyさん2008/02/07(木) 00:23:13ID:???
PCが物故割れた
0866nobodyさん2008/02/07(木) 00:25:15ID:???
>>864
俺の予想ではJAVAのFullスクリーンだと思う
0867nobodyさん2008/02/07(木) 00:29:45ID:???
>>864
PHPでもSmarty使えば容易
0868nobodyさん2008/02/07(木) 01:12:20ID:???
>>863
ありがとうございます。安心しました。
0869nobodyさん2008/02/07(木) 01:30:59ID:???
ユーザビリティー0の自己満足馬鹿w
0870nobodyさん2008/02/07(木) 06:04:56ID:JateuJqJ
サーバーにファイルを保存する仕組みを作って文字コードに悩まされています。

プログラムの文字コード UTF-8
サーバーの文字コード EUC
Windowsの文字コード SJIS

サーバーに保存するべき文字は日本語です。
正直、もう限界です。
0871nobodyさん2008/02/07(木) 07:48:44ID:???
去年まではフレームワーク乱立だったけど
今年はCakephpが一人勝ちしそうなかんじだね
1,2年はCakephpで食べていけそうだな
sysmfonyの変な方向に先走った奴は乙!
0872nobodyさん2008/02/07(木) 07:55:04ID:???
0873nobodyさん2008/02/07(木) 11:06:45ID:???
>>870
大変ですね
頑張ってください
0874nobodyさん2008/02/07(木) 11:11:42ID:???
cakeにsmartyを入れたがるヤツって、何の意味があってやってるの?
0875nobodyさん2008/02/07(木) 11:12:42ID:???
>>871
最終的には公式フレームワークのZend Frameworkに落ち着きそうだね
バージョンが上がるとZend Framework独自の機能も盛り込んでいくそうだから
PHPの追加ファンクションがZend Frameworkという形になりそう
0876nobodyさん2008/02/07(木) 11:15:29ID:???
>>874
出力のテンプレートフォーマットぐらいは統一した方がいい
webデザイナーでもwebプログラマと連携して仕事するためにsmartyを覚えるからな
0877nobodyさん2008/02/07(木) 11:26:50ID:VmG6Y420
[_example:hoge] => テスト

の値を取得する方法はありませんか?
$var->_example->hogeでは取得できなくて…
08788572008/02/07(木) 11:37:00ID:jG4lF8yz
別の方法でもいいんでお願いします
0879nobodyさん2008/02/07(木) 13:24:30ID:???
>>877
$varをdumpした値を載っけろ

>>857
php5でも動作するよ?
もうちょっと情報出さないとまともな回答なんて無理
0880nobodyさん2008/02/07(木) 14:09:06ID:JateuJqJ
>>873
いや、本当に困っているのですがorz
0881nobodyさん2008/02/07(木) 14:10:59ID:???
>>880
うん、限界なのと困ってるのはわかったよ。
がんばれ。

で、質問がないなら帰れ。
0882nobodyさん2008/02/07(木) 14:14:31ID:???
>>880
んなもんサーバがその設定ならそれに合わせるしかないだろ。
それがダメならサーバの設定を変えろ。
0883nobodyさん2008/02/07(木) 14:31:58ID:CDhH+vVY
>>606でちょっと上がってるんだが質問

mysqlにデータを投げ込むんだが
HTMLタグをそのまま効かせたいんで
「strip_tags」は使いたくない。

けど全部のタグ入力するのはめんd

その場合

trim
mysql_real_escape_string
htmlspecialchars($text, ENT_QUOTES);
str_replace("<?php", "<?php", $text);
str_replace("?>", "?>", $text);

これで大丈夫?

マニュアルに
「文字列からHTMLおよびPHPタグを取り除く」
って書いてあるからこれでいいものか心配。
0884nobodyさん2008/02/07(木) 14:34:31ID:CDhH+vVY
>>883
変換されたorz

str_replace("<?php", "&lt;?php", $text);
str_replace("?>", "?&gt;", $text);

※ 変換対策のために&を全角にしてます
0885nobodyさん2008/02/07(木) 14:42:52ID:???
>>883
その位やってみれば?
俺もまあ、そんな感じで放り込んでる。
0886nobodyさん2008/02/07(木) 15:25:33ID:???
なんでstrip_tagsを使いたく無いのかが解らんのだが
0887nobodyさん2008/02/07(木) 15:52:05ID:CDhH+vVY
>>885
一応いろんな物入れてみたが
発見できなかった。
けど不安で。

>>886
だってタグ消されちゃうじゃん。
0888nobodyさん2008/02/07(木) 15:55:11ID:???
俺ならBase64とかでエンコードするかなぁ
0889nobodyさん2008/02/07(木) 15:57:57ID:bRrDj0qY
動画でさ、phpの解説してるページとかないかな?
0890nobodyさん2008/02/07(木) 16:17:57ID:???
動画で何を説明しろと。

>>880
ひょっとしてそれで質問してるつもりなのか。
何をどうしたいのか具体的なこと言わなきゃ大変ですねとしか俺も言えない。
0891nobodyさん2008/02/07(木) 16:18:27ID:???
>>889
学校に行ったら?
もしくはe-ラーニングとか
0892nobodyさん2008/02/07(木) 16:28:36ID:jG4lF8yz
ググって見たのですがPHP5以降は
allow_url_include がセキュリティ上の問題でデフォルトでOff になっていて
onにすることは推奨されないということが分かりました。
というわけで<?php include("2ch.php"); ?>という記述は実行できない
みたいなのですが、代わりに何を使えばいいのです?
0893nobodyさん2008/02/07(木) 16:33:50ID:???
>>880
文字コードで悩んでるって事は解るが
何をどうしないのかが解らんから答えがないんだよ
情報も少ないし

>>887
通したいタグ定義すれば消されない
カスタムタグも記述すれば消されない
0894nobodyさん2008/02/07(木) 16:36:31ID:CDhH+vVY
>>888
なるほど、そんな手もあるか。

>>893
全部定義すると長くない?
抜けがないかも不安だし。
だったらこっちのがスマートかと思った。
0895nobodyさん2008/02/07(木) 16:38:16ID:???
>>892
その書き方だとローカルにある2ch.phpを読み込んでるんだが
2ch.netのindex内容を取得したいの?

0896nobodyさん2008/02/07(木) 16:39:31ID:???
>>894
解らんタグが通るより自分が想定したタグだけが
通る方がよっぽど良いと思うがな
0897nobodyさん2008/02/07(木) 16:40:30ID:???
>>892
俺素人なんだが

require("2ch.php")

とかじゃダメなの?
0898nobodyさん2008/02/07(木) 16:42:43ID:CDhH+vVY
>>896
確かに。
</div>とかされてレイアウト崩されたりしても困るしな…。
参考にさせてもらってケースバイケースで考えてみる。

まりまと!
0899nobodyさん2008/02/07(木) 16:42:56ID:???
>>897
それはincludeと動作的に大差ないぞ
allow_url_includeはinclude('http://2ch.net/index.php');
とかhttp://とかftp://で始まるincludeとかを
出来なくする物だったと思うのだが
09008922008/02/07(木) 16:49:09ID:jG4lF8yz
すみません。相対パスだと問題なく動作致しました。
09018922008/02/07(木) 16:51:38ID:jG4lF8yz
>>899
おっしゃる通りです。
あとPHP5ではなくPHP5.2以降みたいです
お騒がせしました
0902nobodyさん2008/02/07(木) 16:55:02ID:???
携帯向けAdsenseとかで不都合が出るだけ。

今はもう改良されてるのかな
0903nobodyさん2008/02/08(金) 01:43:51ID:zo3BaTDd
質問です。

関数の前にリファレンス演算子(&)をつける理由が分かりません。
どういうときに用いるのでしょう?

以下の記事やマニュアルを読んでもいまいち利点が分かりません。

ttp://gooddays1.blog37.fc2.com/blog-entry-110.html

どなたかご教授頂ければと思います。
0904nobodyさん2008/02/08(金) 01:48:22ID:???
>>903
宣伝乙
マニュアル見ろ
http://jp.php.net/manual/ja/language.references.php
0905nobodyさん2008/02/08(金) 02:02:15ID:???
>>904
マニュアルを読んでもいまいち利点が分からないのです…
0906nobodyさん2008/02/08(金) 02:44:58ID:???
>>905
とりあえず、糞してチンカス洗って来い
0907nobodyさん2008/02/08(金) 08:11:04ID:eEY2Q0pF
boolean値を反転するにはどうしたらいいですか?
0908nobodyさん2008/02/08(金) 09:04:15ID:???
関数の前につけるってできるの?
戻り値のリファレンスなの?
それって関数の中の戻り値用の変数のリファレンスってこと?
自動変数の参照って怖くね?
0909nobodyさん2008/02/08(金) 09:44:25ID:???
> 自動変数の参照って怖くね?
Cのような古い言語と一緒にするなよw
0910nobodyさん2008/02/08(金) 09:50:13ID:???
>>909
Cが古いってwww
VISTAもCで書かれているわけだが・・・
コイツは、間違いなくニート。ウザイ。市ね。お前は社会の屑だ。
0911nobodyさん2008/02/08(金) 10:13:23ID:ThV07EJ+
エックスサーバーで作ってるんですが、
PHPのheader("location: 〜〜〜");
でリダイレクトしてくれません。
なんででしょう?
output_buffering = On
にしてます。
0912nobodyさん2008/02/08(金) 10:20:21ID:???
>>911
locationは、Locationて書かないとダメだろ。
それにその〜〜〜をフルのURLでしっかり書いているかも怪しい。
いい加減にしろニート。
0913nobodyさん2008/02/08(金) 10:22:25ID:???
>>912
>locationは、Locationて書かないとダメだろ。
そこは関係ないだろ。いい加減恥ずかしいレスするのはやめろ。

といいつつ原因が思い当たらなくて答えてやれないが。
0914nobodyさん2008/02/08(金) 10:24:27ID:???
test
0915nobodyさん2008/02/08(金) 10:26:37ID:???
>>907
$bool = TRUE;
$bool = ($bool === TRUE)? FALSE : TRUE ;
0916nobodyさん2008/02/08(金) 10:33:55ID:???
!$bool
0917nobodyさん2008/02/08(金) 10:51:34ID:???
>>913
ニートの癖に無駄なレスつけるんじゃねーよ。
「自分はニートです、社会のゴミです。」と言って見ろ。
0918nobodyさん2008/02/08(金) 10:57:34ID:???
>>917
鏡見て糞して寝ろ
0919nobodyさん2008/02/08(金) 11:38:51ID:???
変なのいるけど相手しないのが吉。

>>913
思いつくのはheaderの前にすでに何か文字出力しているか、
locationの指定先が相対パスなくらいかな。
0920nobodyさん2008/02/08(金) 11:45:57ID:???
warningを表示させると、何て出る?
0921nobodyさん2008/02/08(金) 12:17:53ID:Y/kRkYzF
Smartyでコンパイル後のパスとプログラムで処理するパスが違うのは何が原因なんでしょうか。

Smarty側
Warning: Smarty::include(Path/\%%77^774^774BE9C9%%index.html.php)

コンパイル側
wrt106C.tmp

テンプレート名
index.html

テンプレート内は特に変わった書き方はしていません。
(HTML文と{$title}があるだけです)
0922nobodyさん2008/02/08(金) 12:38:16ID:???
>>903
例えば$valueの内容がa〜zのどれかに決まっていて、
それぞれに対応して呼び出すべき func_a func_b func_c ... func_z てのがあるとする。

毎回$valueを判定して関数の選択もできるけど、最初の1回だけ判定して $func に関数を入れておけば以降$func呼び出すだけで済む。
呼び出しが数百程度ならたいした問題じゃないけど数千数万とかのデータごとに呼び出される場合に毎回判定すると手間でしょ。
クラスも使えるし今のところ関数のリファレンスは気にする必要ない。
0923nobodyさん2008/02/08(金) 14:01:48ID:???
>>921
Smartyのテンプレート生成modelの仕様らしいけど。
http://1rg.org/up/5422.html
0924nobodyさん2008/02/08(金) 14:05:08ID:???
>>923
業者乙
0925nobodyさん2008/02/08(金) 16:33:32ID:???
マジレスすると、焼死体より水死体の方が無惨だったよ。
あれは人じゃない。強烈な吐き気に襲われる位すごいよ。
見たい?
0926nobodyさん2008/02/08(金) 18:30:39ID:???
アップローダか何かか?
こわくてクリックできん。
0927nobodyさん2008/02/08(金) 19:28:46ID:???
PHPでDBアクセスする場合について教えてください。

Windows環境だと、PEARよりADOの方が高速で機能が豊富で優れてましたが、
Linux環境では、PDOがPEARより優れているのでしょうか?

初歩的な質問で済みません。
Linuxに詳しい方、どうぞアドバイスを頂けないでしょうか。
0928nobodyさん2008/02/08(金) 20:09:53ID:???
>>910
大好きなCが古いといわれてぶちきれたのか?w

自動変数の参照が問題になるのは、CとC++ぐらいなもんだろ。
C/C++は自動変数の参照 = ポインタ = 単純なアドレスを表す数値 を返し、
そのアドレスの先がどういう状態でも(たとえば変数が消滅していても)アクセスしてしまうが、

他の言語では参照しているものがある限り生き続け、参照されなくなったときに
消滅するという、”参照(リファレンス)”だから問題ねーんだよ。

もう少し他の言語も使えな。
0929nobodyさん2008/02/08(金) 20:16:00ID:eEY2Q0pF
imagettfbboxって四つの座標(8つの値)を返してくるけど
矩形を表現するなら二つの座標だけでいいよね?
なんでこんなに返してくるの?あほなの?
0930nobodyさん2008/02/08(金) 20:21:08ID:???
アホなのではなく、アホのために8つ全部返してくれてると考えるべきかな
0931nobodyさん2008/02/08(金) 20:23:24ID:???
  _
 /_/
0932nobodyさん2008/02/08(金) 20:52:30ID:???
矩形とは限らんわけだが
0933nobodyさん2008/02/08(金) 21:05:09ID:???
>>928
それってGCのある言語だけじゃないの?
通常ローカル変数の参照を返すのはNGって
考えてた方が健康にいいんじゃね?
0934nobodyさん2008/02/08(金) 21:08:12ID:???
参照カウンタも知らんのか…。
0935nobodyさん2008/02/08(金) 21:09:32ID:???
いまどき、GCが無い言語なんて・・・
0936nobodyさん2008/02/08(金) 21:11:21ID:???
またレベルがどーのこーのってヤツが出てきそうだなw
0937nobodyさん2008/02/08(金) 21:13:04ID:???
>>932
どういう意味?矩形以外のバウンディングボックスなんてありうるの?
ボックスって言ってるのに…?
っていうかgd2でもimagettftextのサイズ
ポイント指定じゃなくてピクセル指定じゃん
imagettfbboxの値とズレズレだからおかしいと思ったら…
0938nobodyさん2008/02/08(金) 21:13:22ID:???
>>936
レベルひっ
0939nobodyさん2008/02/08(金) 22:02:29ID:???
C言語の例に何でVista?VistaはCとC++と.NETが混じっているのに。
PHPが真っ先に出てきそうなんだけど。
>>933
厳密に言えば、スタックに確保して、サブルーチンから復帰[する前/した直後]にスタックの巻き戻しを行う言語だな。
928はガベコレのある言語しか触ったことがないだけだろう。
>>927
速さを気にするなら、PDOとかPEAR以前に、PHP以外の速い言語を使うべき。
どうしてもというなら、たいていPDOの方が速い。PEARはpure PHPだから。
0940nobodyさん2008/02/08(金) 23:45:37ID:???
>>932
やっとわかった
アングルかけてる場合か
たしかに4点必要だ
0941nobodyさん2008/02/09(土) 02:14:59ID:???
ちょっとお知恵を拝借させてください。
文字列「ABCDEFGH」からこんな配列を作るにはどうしたらいいでしょう?

Array
(
[0] => A
[1] => AB
[2] => ABC
[3] => ABCD
[4] => ABCDE
[5] => ABCDEF
[6] => ABCDEFG
[7] => ABCDEFGH
)
0942nobodyさん2008/02/09(土) 02:35:29ID:???
>>941
substr
0943nobodyさん2008/02/09(土) 04:33:51ID:???
$abcdefgh = "ABCDEFGH";
$dest = array();
$len = strlen($abcdefgh);
for ($i = 1; $i <= $len; $i++) $dest[] = substr($abcdefgh, 0, $i);
var_dump($dest);
0944nobodyさん2008/02/09(土) 04:42:29ID:???
>>940
だから>>931で絵で教えてあげたのに・・・
0945nobodyさん2008/02/09(土) 04:46:39ID:???
>>944
わかりにくいですw
でもありがdd
0946nobodyさん2008/02/09(土) 04:53:52ID:???
>>941
$abcdefgh = "ABCDEFGH";
$dest = array();
foreach(str_split($abcdefgh) as $chr){
$dest[] = $wk .= $chr;
}
var_dump($dest);
0947nobodyさん2008/02/09(土) 05:00:21ID:???
str_splitなんて知らんかったわ・・・w
0948nobodyさん2008/02/09(土) 05:39:28ID:???
>>947
そんなことも知らないお前は間違いなくニート。市ね。
0949nobodyさん2008/02/09(土) 08:39:04ID:???
Xの中にはa, bが含まれている。

値から一定のキーを作る
a = 000010000100000000000000000000
b = 000000000000000000000000001010

これをがっちゃんこして
X = 000010000100000000000000001010

後にaという値からキーを作ってXを見た時、aが含まれていることを期待できる

・・・これについて詳しく解説してるサイト知らない?
Web2.0とかLightweightLanguageとか、その辺で見た記憶があるんだけど・・・

数百万件のデータにクエリーするんだけど、80%程度の合致率でOKっていう
曖昧検索が実装したいんだ
0950nobodyさん2008/02/09(土) 08:52:18ID:???
>>718
09519492008/02/09(土) 08:54:59ID:uCIPYf4z
スマンス
0952nobodyさん2008/02/09(土) 09:39:43ID:???
質問です。
WinXP SP2 + Apache2 + php5.2.3 + adodb V4.94
+ mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)
でInnoDBな環境なのですが、
データを追加した後、
トランザクションを開始してデータ更新、コミットした後
さらにtruncate tableを実行するとなぜかエラーになってしまい困惑しております。

具体的には以下のコマンドを発行して最後のtruncateでエラーが発生します。

insert into `foo` (id, c1, c2) values (null, 2, 3);
select last_insert_id(); -- id = 1
set autocommit=0; -- adodb->SmartTrans();
begin;
select * from `foo` where `id`=1 for update;
insert into `backup_foo` (bid, id, c1, c2) values(null, 1, 2, 3);
update `foo` set id=1, c1=4, c2=6 where id=1;
commit; -- adodb->CompleteTrans();
set autocommit=1;
truncate table `foo`; -- ここでエラー
-- "ERROR: Can't execute the given command because you have active locked tables or an active transaction"

DOSプロンプトのmysqlフロントエンドから同じようにしても問題がないので、
adodbの問題だと思ったのでバージョンを最新の4.97にあげたら直りました。
本当にありがとうございました。
0953nobodyさん2008/02/09(土) 10:31:19ID:???
>>718
09549532008/02/09(土) 10:43:46ID:???
スマンス
0955nobodyさん2008/02/09(土) 10:50:58ID:???
>>952は質問なのか、報告なのか、良く分からない件
0956nobodyさん2008/02/09(土) 12:16:05ID:???
微調整だけど
>>718 のテンプレにリンクって文もあったほうが参照しやすいかもしれない。
>過去スレ、関連スレ、関連リンク、FAQなどは>>2-10辺り
あと注意書きは必ず読んでくださいとか書くのは・・・やっぱ見ない人は見ないか。
0957nobodyさん2008/02/09(土) 12:58:11ID:???
次スレはこうなるんですね。わかります


1 名前:nobodyさん[] 投稿日:2008/02/10(日) 02:18:29 ID:fgH88yui
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
過去スレ、関連スレ、FAQなどは>>718

2 名前:nobodyさん[sage] 投稿日:2008/02/10(日) 02:20:14 ID:hG8akkdB
遠いよw
0958nobodyさん2008/02/09(土) 13:19:07ID:1j1ueCOn
PHPからrsyncでバックアップを取るバッチを作成したいのですが、普通にrsyncを叩くとパスフレーズを
求められてしまいます。proc_open()で標準入力を操作してみたのですが上手くいきませんでした。
PHP上からパスフレーズを投げてうまく同期を取る方法はないでしょうか。

0959nobodyさん2008/02/09(土) 13:51:06ID:???
で、次スレは64だから立てる人そこのところよろしく
0960nobodyさん2008/02/09(土) 14:02:58ID:???
何時もIDIDって言ってるやつのレス見て思うのだが
何でトリップじゃダメなんだ?
IDなんてIP変われば変わる訳だが

0961nobodyさん2008/02/09(土) 14:12:19ID:???
トリップでもありだからせめてどっちか書けばいい。
そもそもこのスレに荒らし常駐してなきゃそんなもんも必要ないはずだけどな。
0962nobodyさん2008/02/09(土) 14:40:34ID:???
つまり、荒らしが常駐してる事だな。
0963nobodyさん2008/02/09(土) 14:43:44ID:???
>>960
答えてもらいたいなら目立つようにageるだろ普通。
ID表示よりもスレをageるのが一番の目的。
偽者防止にもなるし一石二鳥。
0964nobodyさん2008/02/09(土) 14:47:45ID:???
トリップの方が面倒臭いだろ。バカじゃねーの?w
0965nobodyさん2008/02/09(土) 14:55:57ID:???
トリップOKで立てちゃったじゃねーか

【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/

>>964
日付変わればID変わる訳だが?

0966nobodyさん2008/02/09(土) 15:09:42ID:???
>>965
>日付変わればID変わる訳だが?
そこまで責任もたんでいい
0967nobodyさん2008/02/09(土) 15:22:50ID:???
>>966
そうなると23時以降は日付が変わるまで出きる限り質問するなって事になるぞ?

>>963
ageが目的の場合別にageを必須にしなくても良いよな
偽者防止が目的ならage必須は解るが
0968nobodyさん2008/02/09(土) 15:28:25ID:???
>>967
めんどくせえやつだな。ageときゃいいんだよとりあえず。
gdgdうっせーともう来なくていいよ。
0969nobodyさん2008/02/09(土) 15:29:41ID:???
>>968
こういう自分の意見が通らないくなるとすぐ切れる奴は間違いなくニート。市ね。
0970nobodyさん2008/02/09(土) 15:37:29ID:???
今日にも、露が日本に対して宣戦を布告。

9日午前7時半ごろ、日本の南約700キロの太平洋上の伊豆諸島南部で、
ロシア国籍とみられる航空機が日本の領空を侵犯した。侵犯は同30分から33分まで約3分間続き、
航空自衛隊百里基地のF15戦闘機など計24機が緊急発進(スクランブル)した。ロシア機の侵犯は06年1月以来。
防衛省によると、航空機はロシア空軍の爆撃機とみられる
0971nobodyさん2008/02/09(土) 15:54:58ID:???
>>970
そういうデマを流すと最悪逮捕されるんじゃなかったけ?沖縄侵攻のときは著作権で逮捕だっけ
軽い気持ちでデマは流さないほうがいいと思うよ
0972nobodyさん2008/02/09(土) 16:34:26ID:???
>>969
やはりお前だったか
レベルひっくー
0973nobodyさん2008/02/09(土) 16:53:42ID:???
>>972
You know, who do you want to believe in, God or man?
If you choose to believe in man then yes,
that is ultimately what you see.
However you were created by God and in the image of God and God breathed into you life.
God created the universe and everything that we can possibly imagine and comprehend and so much more.
God is infallible and perfect, man is fallible and imperfect, but we can still rejoice and glorify God through his beautiful creation that he gave to us all in 6 24 hour days.
you must be a neet.
0974nobodyさん2008/02/09(土) 16:55:46ID:???
>>973
日本語でおk?
0975nobodyさん2008/02/09(土) 17:01:04ID:???
NGワード: ニート
0976nobodyさん2008/02/09(土) 17:21:48ID:???
クロスサイトスクリプティングやらSQLインジェクションやらめんどくさいな・・・
まとめて対策してくれる関数を作って載せてるサイトってないの
0977nobodyさん2008/02/09(土) 17:31:12ID:???
SQLインジェクションに関しては、
ある種のライブラリ・フレームワークを適切に使えば問題ない。

適切に使うとは、SQL文字列の合成をしないということ。
変数バインディングを使ったり、O/Rマッパーを使えば良い。
0978nobodyさん2008/02/09(土) 18:10:30ID:???
>>965
別にトリップだけってわけじゃないしそれで問題ない。
この板がデフォでID非表示な弊害だししょうがあるまい。
0979nobodyさん2008/02/09(土) 23:40:25ID:???
>>965
死ねばいいと思うよ。

>>718
0980nobodyさん2008/02/09(土) 23:55:53ID:???
1そのまま改変しちゃったのか。
まあ次スレでついでに他の微調整とテンプレ案も考えりゃいんじゃないかい。
0981nobodyさん2008/02/10(日) 00:16:39ID:???
元々テンプレって本スレのだよな
んで確かパート22あたりでくだ質しかこねぇからって言って
くだ質に統合しとりあえず本スレのテンプレ使い回したって感じに見えたのだが

0982nobodyさん2008/02/10(日) 01:28:01ID:???
YBB使ってる時は日付変らずIPも変らずの状態でも
書き込むたびにID変ったから、質問時はとりあえずID表示するくらいに考えたほうが。
ID表示で偽造防止になんてならないよ。
0983nobodyさん2008/02/10(日) 01:33:33ID:???
0984nobodyさん2008/02/10(日) 01:45:09ID:???
このスレはそんなに騙りで騙されてきたのか?
0985nobodyさん2008/02/10(日) 01:55:52ID:???
過去に叩かれた質問者が粘着してるだけだろ。
0986nobodyさん2008/02/10(日) 02:07:27ID:???
結構ウザイ騙りはID無しで頻発してるときもあったよ
0987nobodyさん2008/02/10(日) 04:11:46ID:???
>>986
答えになっていないよ
0988nobodyさん2008/02/10(日) 04:32:16ID:???
今までのルールに文句あるやつは別スレ立てるか他行けよ・・・
PHPの関連スレは乱立してるんだし。
0989nobodyさん2008/02/10(日) 04:40:20ID:???
>>987
「答え」がもらえるなんてどうして思ったの?
0990nobodyさん2008/02/11(月) 02:40:59ID:???
次スレはどれ?
0991nobodyさん2008/02/11(月) 02:57:41ID:???
2ちゃんねるは答えがもらえるとは思ってはいけない。
自分で調べるときに、ついでにちょっと投げておいて
運がよければ釣れているぐらいに考えたほうがいい。
0992nobodyさん2008/02/11(月) 03:06:14ID:???
>>991
人間多様な生き様があるんだから、安っぽい価値観を押し付けるのはやめような。
0993nobodyさん2008/02/11(月) 03:07:37ID:???
で、次スレはどれなのかは答えないわけか。
0994nobodyさん2008/02/11(月) 03:08:19ID:???
>>992
大丈夫。いろんな考えを持っているからこそ
誰か答えてくれるかもしれないと思って投げてるw
0995nobodyさん2008/02/11(月) 03:09:54ID:???
わけのわからない自己満足な哲学はわかったから、
さっさと次スレ教えれ
0996nobodyさん2008/02/11(月) 03:14:32ID:???
996
0997nobodyさん2008/02/11(月) 03:15:37ID:???
1000はいただいた
0998nobodyさん2008/02/11(月) 03:16:31ID:???
次スレ・・・
0999nobodyさん2008/02/11(月) 03:17:01ID:???
999
1000nobodyさん2008/02/11(月) 03:17:16ID:???
10000000000000000000000000000000000000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。