5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :nobodyさん:2006/09/03(日) 21:01:08 ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

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

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)

2 :nobodyさん:2006/09/03(日) 21:03:23 ID:???
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/

3 :nobodyさん:2006/09/03(日) 21:04:36 ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
【PHP】下らねぇ質問はここに書き込みやがれ 22
http://pc8.2ch.net/test/read.cgi/php/1149710968/
【PHP】下らねぇ質問はここに書き込みやがれ 23
http://pc8.2ch.net/test/read.cgi/php/1150995543/
【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/
【PHP】下らねぇ質問はここに書き込みやがれ 25
http://pc8.2ch.net/test/read.cgi/php/1153652403/
【PHP】下らねぇ質問はここに書き込みやがれ 26
http://pc8.2ch.net/test/read.cgi/php/1154923910/
【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/

4 :nobodyさん:2006/09/03(日) 21:05:38 ID:???
関連リンク
■本家マニュアル   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/

 (以下英語)
■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/
■ZFマニュアル    http://framework.zend.com/manual/en/
■PECL本家(英語) http://pecl.php.net/

まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。

5 :nobodyさん:2006/09/03(日) 21:06:25 ID:???
関連スレ
PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/
PHP関連サイト
http://pc8.2ch.net/test/read.cgi/php/982694601/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/
【PHP】セッションについて語ろう!【PHP】
http://pc8.2ch.net/test/read.cgi/php/1064399467/
【ZendStudio】PHP統合開発環境 Part2【Eclipse】
http://pc8.2ch.net/test/read.cgi/php/1154082822/
最強のPHPエディタはなに?
http://pc8.2ch.net/test/read.cgi/php/1133785416/

[PHP-users MLヲチ9]丸投げした覚えは全くありません
http://pc8.2ch.net/test/read.cgi/php/1143731062/
中学生がPHPを習得するスレ
http://pc8.2ch.net/test/read.cgi/php/1139746974/
【PHP】Lvうpしたいので宿題ください
http://pc8.2ch.net/test/read.cgi/php/1147830986/

6 :nobodyさん:2006/09/03(日) 21:13:38 ID:???


7 :nobodyさん:2006/09/03(日) 21:14:28 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。

8 :nobodyさん:2006/09/03(日) 21:14:39 ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください

9 :nobodyさん:2006/09/03(日) 21:52:58 ID:???

クソスレたてんな1。しねや。


10 :nobodyさん:2006/09/03(日) 22:05:50 ID:???
28も続く板の中でもアクティブなスレの
次スレを建てただけで煽られる>>1

11 :nobodyさん:2006/09/03(日) 22:14:07 ID:???
>>1

>>9
つtmp6.2ch.net/kitchen/

12 :nobodyさん:2006/09/03(日) 22:39:50 ID:???
      /  /:::::::::::::::/::::::::::::::::::::::::::::::/::::::!::::::::\:::::::\   |
      ! ,/::::::::::::::::::/:::::::::::::::::::::::::::::::/::::/::|::::::::::::::\::::::::ヽ !
      //::::::::::::::::::/:::::::::::/:::::::::::::,ィ:::::/!::∧:::::::::::::::::ヽ:::::::::V
      fl::::::::::::::://::::::::/::::::::::::://::::///  \:::::::::::::::!::::::::::::!
       j !::::::::::::::リ::__∠:ー::ナ' ´ /::///` ー-ゝ、_::::!::::|::::::::::::l
     / !::::::::::::::|::::/::_;∠´__-. ノ/ //   -__ヽ\:ト:::!::::::::::::j
     | !:::::::::::::l!/ヾ. {.,ィ:::rィ"´  〃  'イ j;;;r f''ッヽ!:ノ:::::::::イ:!
     ノ! ヾ、:!::::::::ヽ  ゞ_`.ノ  /    ゝゞク   レ:::::::;;∧:|
    ∧!  ゞ、:::::::ト、.              ̄   /:::::イ/ ::!::|
    /:::/!   ):ゝ、:;;\        `       /:::// /) ::!::|
   /:::::∧! ※ !!::::: |:~!\      ヽ三.ヲ     フ´!! j /) :::::l:::|   下らねぇ質問はここに書き込みやがれ、ちび
 . /::::::/:/ゞ  !!::::. |:::|::: へ           ,.イ|:::::::|| ※ !j:|:::::::l:::|
 /::::::/::/:::: |! |ヽ:::::|:::l::j::: ノ´`r 、. _  ィ=ヽ::|::|::::::|!  ノノ::|:::::::|:::|
/:::::::/:::/:::::::::ゞ! |:::::レ::メ/   j、     ノ   \|::::::|!   !l::::|:::::::|:::|
:::::::/:::/:::::::::::::_j_. ,Vf`/    __\  ./_      ゝjl  ヾ!:::|:::::::|:::|
::::/::::/::::::::: /三! |/   /:::::::::::~~:::::::::ヽ     ノノ /`ヽ|::::: |:::|

13 :nobodyさん:2006/09/03(日) 22:59:45 ID:???
>>6
市ね

14 :nobodyさん:2006/09/03(日) 23:00:44 ID:???
連続投稿で規制かかりました
続きはってくれた人ありがと!

15 :nobodyさん:2006/09/03(日) 23:04:25 ID:???
bin2hexを使えば文字を16進形式にできますが
16進形式の文字を通常の文字にするにはどうすれば良いですか?

16 :nobodyさん:2006/09/03(日) 23:09:22 ID:i2B+urEf
PHPとはあまり関係無いと知りつつ、ここが一番わかる人が多そうなので質問させてください。

OS:Windows2000、WEBサーバ:apacheという組み合わせでPHPを動かしているのですが、
---
ユーザがサーバAへファイルをアップロード
→サーバAとローカルネットワークで繋がっているサーバBにUPされたファイルをcopy
---
これがうまくできません。エラーがpermission denyでサーバAにはファイルがあるので
サーバBのアクセス権の問題なのは間違い無いのですが、サーバBのディレクトリには
どういった権限をどういう方法で与えるべきなのでしょうか?

本来はwindowsネタかと思うのですが、よろしくお願いします。

17 :nobodyさん:2006/09/03(日) 23:16:33 ID:???
>>15
ふつー、マニュアルには反対の動作をする関数があれば記載されている。

18 :nobodyさん:2006/09/03(日) 23:17:20 ID:???
>>17
ということはないのですね・・・
不便だorz

19 :nobodyさん:2006/09/03(日) 23:18:50 ID:???
>>18
あん? どこのマニュアルを見てるのか?
http://jp.php.net/manual/ja/function.bin2hex.php

20 :nobodyさん:2006/09/03(日) 23:21:41 ID:???
>>19
そこですけど載っていないです

21 :nobodyさん:2006/09/03(日) 23:22:33 ID:???
釣りだから相手すると疲れるよ

22 :nobodyさん:2006/09/03(日) 23:23:52 ID:???
>>20
packもあるし、そのページの下の方に
腐る程逆の動作をするサンプルコードが書かれてる

23 :nobodyさん:2006/09/03(日) 23:31:22 ID:???
>>22
すみません、できました、ありがとうございます。
ですが、文字化けばっかりですね・・・。

24 :nobodyさん:2006/09/04(月) 00:00:57 ID:???
>>16
スレ違い。
Apacheの実行ユーザではネットワーク接続先を認識できてないか権限がない。
Apacheの実行ユーザの確認+ユーザ権限設定をWindows方面の板で聞いてこい。

25 :nobodyさん:2006/09/04(月) 00:29:46 ID:???
今PHPでテキストを暗号化する関数作ってるんだけど何か良い案ないかな?
今はXOR暗号化でやろうと考えているんだけど、SEED値が思い浮かばない・・・
SEED値を全部1で埋めれば簡単だけど、それじゃばれる可能性がある。

やっぱり秘密鍵見たいな物を作ってそれはSEED値とするしかないのかな?

26 :nobodyさん:2006/09/04(月) 00:38:39 ID:???
時間でもハッシュしてseed作ったら?

27 :nobodyさん:2006/09/04(月) 00:43:17 ID:???
>>26
そうすると複合化できなくね?

28 :nobodyさん:2006/09/04(月) 00:43:20 ID:???
>>25
なんでわざわざ独自の暗号化関数なんて作ろうとするの?


29 :nobodyさん:2006/09/04(月) 00:44:49 ID:???
>>28
だから可逆にしたいからだろ。

30 :nobodyさん:2006/09/04(月) 00:53:54 ID:???
>>29
理由になってない。
Mcrypt や OpenSSL で使える暗号化関数は可逆ですが?

31 :25:2006/09/04(月) 01:08:02 ID:???
>>30
両方サーバに入ってないっす・・・
なので、今後のことも考えて(今みたいにサーバにモジュールがない等)
自作したものを使いたいと考えています。

ただ、やることはOpneSSLとまったく同じだと思います。
基本的にSSLをテキストに適用するって感じか・・・
そうなると、秘密鍵から公開鍵を生成して、それで暗号化する。この時点で、ビット数が元テキストと
公開鍵で同じじゃないとダメ・・・
しかもその方法で暗号化したら複合化するには公開鍵じゃないと複合化できない。
(秘密鍵がある意味がなくなる)

もう書いてて訳が分からなくなってきたorz

32 :nobodyさん:2006/09/04(月) 01:44:20 ID:???
>>27
時間をとっておけばそこからキーを作れるからいいんでない?

33 :nobodyさん:2006/09/04(月) 01:58:46 ID:???
見当違いだったらスルーよろしくー
暗号化は必須なの?
署名っぽいことしたいだけなら、ハッシュ値を署名代わりに
使えば要件満たせるかもよ?


34 :nobodyさん:2006/09/04(月) 03:19:42 ID:???
>>30
つか、ここはPHPスレなわけだが。

35 :nobodyさん:2006/09/04(月) 07:19:33 ID:???
なんか前スレの最後ぐだくだになってるのがワロタw
なぜあのタイミングで質問するんだYO!

36 :nobodyさん:2006/09/04(月) 09:59:47 ID:???
Torや匿名目的プロキシなどを刺してくる連中を弾くには
どういう手法が効果的でしょうか?

自動で弾くのは原理的に不可能に近いんだろうか・・・

37 :nobodyさん:2006/09/04(月) 10:03:46 ID:???
>>34
だからどうした? PHP の関数を列挙しているだけだが?

38 :nobodyさん:2006/09/04(月) 10:17:13 ID:???
>>36
プロキシ経由の時だけにセットされる環境変数があったら弾くとか

39 :nobodyさん:2006/09/04(月) 10:35:16 ID:???
>>25
mcrypt を使えるようにリコンパイルする
PHP の DES 実装を見つけてくる

http://www.tero.co.uk/des/code.php

40 :nobodyさん:2006/09/04(月) 11:39:39 ID:???
>>36
前スレ開いてBBQ、DNSBLんとこ読んでこい


41 :nobodyさん:2006/09/04(月) 11:42:22 ID:???
ソースというか考え方について質問です。

ブログでコメントのスパムがやたらと多いので、入力チェックを入れて対処してます。
しかし、それでもスパムは止まりません。英字で全項目埋めた内容で登録してきます。

こういうのを対処するのにIPアドレスを記録して制限する方法に
他、何が考えられるでしょうか?投稿時にCookieを付与して連続投稿禁止とかですか?

42 :nobodyさん:2006/09/04(月) 11:52:16 ID:???
>>41
すれちがい
ブログのプラグイン探すのが吉でしょ

43 :nobodyさん:2006/09/04(月) 11:54:30 ID:???
>>41
最近流行りのは日本語を含まない投稿はすべて禁止にしてしまうやり方かな。
連続じゃなくても1件でもうざいもの。あんなの。

「こういうのを対処」というのがどういうのを対処したいかで方法は変わってくるよね。
内容は関係なく連続投稿「だけ」防止したいというなら、IPと投稿時間をを記録した上で
一定間隔以内の連続投稿は弾く、ってのがセオリーなんじゃない?
Cookieはロボットスパム相手には全く無意味。個人の連続投稿防止ならそれなりに意味あるかも。

44 :43:2006/09/04(月) 11:56:04 ID:???
>>42
自作ブログの話かと思ってた。
配布されてるブログのスパム対策ならプラグインがいくつも公開されてるよね。

45 :41:2006/09/04(月) 12:25:35 ID:???
>>43
ありがとうございます!大変参考になりました。

46 :nobodyさん:2006/09/04(月) 12:50:18 ID:+7sjm0Rm
文字通りくだらない質問かもしれませんが。

PHPのCGIモードというものでプログラミングしたいのですが、
CGIモードってプログラミング上どう変わるのでしょうか?

「HTMLの中に埋め込むのは出来ない」らしいのですが・・・・

<? 〜 ?> みたいな。

※参考URL等もあればお願いします。

47 :nobodyさん:2006/09/04(月) 13:07:48 ID:???
>>46
#!/usr/local/bin/php
<?php
 PHPプログラム
?>
ってスタイルでHTMLを出力するだけかと。
呼び出し方法とかはPerlのCGIとほぼ一緒。

頭の1行の問題があるから.htmlをCGI扱いにして
全部のHTMLでPHPパースを行うってのは現実味がないけど、
(サイトがかなり重くなっちゃうし)
普通にHTMLモードとPHPモードの切り替えはあるから
HTMLに埋め込むスタイルでも作れるよ。
.phpでHTMLを書く→中にPHPを埋め込む→1行目に#!!を入れる→パーミッションは705
ってとこじゃない?

48 :nobodyさん:2006/09/04(月) 13:14:33 ID:???
場違いでしたら誘導してください
http://www.phpweb.jp/ のP-Counterを設置しようとしたのですが
0時にリセットされません、仮に1時間の時差があるとしたら
どこを触れば修正できるのでしょうか?
よろしくお願いします

49 :nobodyさん:2006/09/04(月) 13:22:30 ID:???
>>48
$nowtime = time();
という行で時差の秒数分だけ$nowtimeを±すればいいと思う。

50 :nobodyさん:2006/09/04(月) 13:44:25 ID:???
↓で、UTF-8 をそのまま処理する場合は、通常の HTML タグの無効化だけでは不十分 という記事がありました。
http://www2d.biglobe.ne.jp/~msyk/cgi-bin/charcode/bbs.cgi?past=1&c=r&n=82

RFC 2279 の "6. Security Considerations" を読めということなのですが、読んでみても文字コードに関する知識が
無いと分からない内容になっていました。
http://www.darts.jp/reference/rfc/rfc2279-jp.txt

最新版のphp で htmlspecialchars() を使っている場合には、特に問題無いのでしょうか?

ご教示下さい。

51 :nobodyさん:2006/09/04(月) 14:03:13 ID:???
>>50
該当しそうなのってこの辺かね〜
> 6. セキュリティ対策
(略)
> 例えば、パーザは、単一のオクテット列 00として符号化される時に、NUL
> 文字を禁止できるけれども、違法な2オクテット連続 C0 80を許し、それを
> NUL文字と解釈する。
(略)

大雑把に言うと、UTF-8の並びとしてはおかしなデータを送信することで、
通常のヌル文字とは異なる形のヌル文字をプログラムに送り込むことが可能で、
それによりバイナリセーフの関数でも処理できないバイナリ攻撃が可能になる。
…という話かな?と思うんだけど、詳しい人解説よろ。
そもそもPHPのバイナリセーフ関数がこれをチェック可能なのかどうかだよね。問題は。

52 :nobodyさん:2006/09/04(月) 14:04:56 ID:???
>>49
ありがとうございます
早速修正してみたいと思います

53 :nobodyさん:2006/09/04(月) 14:41:48 ID:+7sjm0Rm
>>47
ありがとうございます、試してみます。

54 :nobodyさん:2006/09/04(月) 14:51:04 ID:???
質問なんですが、PHPの制作を会社に依頼した場合、
受け取ったプログラムは普通、複数設置してもかまいませんかね?

たとえばkent-webのaska掲示板みたいのを作ってもらって、
それを↓

1.複数のドメインの違うサイトに設置して使用。
2.同じドメインのサイトで複数おいて設置して使用。
3.カスタマイズして二次配布(金銭は無料、有料)

した場合問題ありますでしょうか?

55 :nobodyさん:2006/09/04(月) 14:53:30 ID:???
>>54
普通はそれ、最初の契約時に契約内容で取り決めとくと思う。

56 :nobodyさん:2006/09/04(月) 14:56:19 ID:???
>>54
そりゃあ、依頼する会社に聞けば一番確実じゃん
ていうかそういう条件付けて依頼すればいいじゃんか
2chで聞いてOKって言われたのにって言い訳すんのか?プゲラ


57 :nobodyさん:2006/09/04(月) 15:00:49 ID:???
>>54
一般例で言ったらいずれも問題ありかと。特に3。
1、2は文句言わない会社の方が多いと思うけど文句言われても仕方ない。
(無問題なわけではなく、些細なレベルなので無視してくれるだけ)

58 :nobodyさん:2006/09/04(月) 15:04:22 ID:KTYmnZco
Windows上で動いているPHP(CLI)で自身のIPアドレスを取得するにはどうすればいいのでしょうか?
gethostbynameとgethostbynamelを試してみたのですが、localhostでは127.0.0.1しか返してくれません。
php.exe -i とかで確認した限りでは環境変数にも入っていないようなんですが。


59 :nobodyさん:2006/09/04(月) 15:14:57 ID:???
localhostで127.0.0.1が帰ってくるのは当たり前
ネットワーク勉強しなさい

60 :nobodyさん:2006/09/04(月) 15:35:58 ID:???
なるほどためになりました。
あと、最後に伺いたいのですが、領収書の但し書きってなんて書くのでしょうか?
掲示板スクリプトなら

1.掲示板スクリプト製作代として
2.WEBアプリケーション製作代として
3.PHPプログラムとして
4.プログラム製作代として

こんな感じでかいてもいいのでしょうか?
お仕事の経験のある方どなたかご教授ねがいます。

61 :60:2006/09/04(月) 15:36:36 ID:???
すいません>>54はじぶんです

62 :nobodyさん:2006/09/04(月) 15:39:04 ID:???
>>60
知らんがな。どーでも良い。
ここはビジネス一般について問う場所ではない。

63 :nobodyさん:2006/09/04(月) 15:50:45 ID:8w646tTM
環境を新しくすると
mb_send_mail が送れなくなりました。
何が可能性として考えられるでしょうか?※ちなみにmail関数でもNGです。

Redhad 2.4
PHP 4.3.2
Configure --'enable-mbstring'はOK
qmailを使用。sendmailはインストールしてません。
レンタル専用サーバで、管理パネルからメールを作成したりして問題がないので
qmailそのものは、問題なく起動してると思われる。
php.iniのsendmail_pathを変更・確認
sendmail_path = /var/qmail/bin/sendmail でもだめ
sendmail_path = /var/qmail/bin/sendmail -t -i でもだめ
sendmail_path = /var/qmail/bin/qmail-inject でもだめ
※どれを使ってるのか分からなかったので、全部試してみました。
一応上記パスににバイナリがあるのは確認してます

また、mb_send_mail使用の際、返り値はtrueとなっています。

思い当たる方、アドバイスお願いします。m(_ _)m

64 :nobodyさん:2006/09/04(月) 15:55:26 ID:???
レンタルサーバの名前も書かないで聞くなんて鼻でわらっちまうぜ

65 :nobodyさん:2006/09/04(月) 16:14:27 ID:???
$str="aあいうえおb" みたいなデータがあり
aとbの間のデータが欲しいのですがどうするのが簡単でしょうか?

preg_match('/a.+b/',,$str,$match)でやるとaとbまでくっついてしまって・・

66 :nobodyさん:2006/09/04(月) 16:16:03 ID:???
>>65
括弧を使いましょう

67 :65:2006/09/04(月) 16:16:23 ID:???
ちなみにaとbの間には数字や全角英語・記号等いろいろな値が入ります

68 :nobodyさん:2006/09/04(月) 16:16:35 ID:???
>>63
サポートに電話して聞いてみるのが一番速いとおもうが
シェルから
echo to:(自分のメアド) | /var/qmail/bin/qmail-inject
で届くか

69 :65:2006/09/04(月) 16:18:57 ID:???
>>66
早レスありがとうございます。括弧ですか・・・・んー

70 :63:2006/09/04(月) 16:20:20 ID:???
自己解決しました。
おまえらに聞くのがまちがいです。

71 :nobodyさん:2006/09/04(月) 16:23:35 ID:8w646tTM
>>68
ありがとうございます。
残念ながらそういった対応は、サポートではしてないそうです。
(あくまで、その鯖屋が用意した管理ツールの使い方のみだそうです。)

一応これも試してみたのですが、ダメでした。
>echo to:(自分のメアド) | /var/qmail/bin/qmail-inject

それと書き忘れてましたが、
maillogにはエラーがありませんでした。

72 :nobodyさん:2006/09/04(月) 16:23:39 ID:???
>>70
騙りはやめとけ低知能。

73 :nobodyさん:2006/09/04(月) 16:31:16 ID:???
>>72
いちいち反応するお前も低(ry

74 :nobodyさん:2006/09/04(月) 16:34:09 ID:???
すみません。
初心者なのですが、
LINUXを入れたサーバーにPHPの住所録プログラムを作っています。
そこで、「はしごの高」や「立ちの崎」を入力すると、
データを登録するときに消えたり、メールで文字が消えたり、
GDで文字を表示すると、化けたりします。
何でですか?


75 :nobodyさん:2006/09/04(月) 16:34:45 ID:???
>>71
そのコマンドで送れないならおそらくqmailの問題じゃないかね
qmail-injectがちゃんと動いてりゃメールが配信に成功しても失敗しても
maillogにどういう原因で配信できなかったのかログは出るはず
成功のログが出てるなら受信側かもな

76 :nobodyさん:2006/09/04(月) 16:35:21 ID:???
phpかDBの設定が悪いんだろ。

77 :nobodyさん:2006/09/04(月) 16:38:59 ID:???
>>74
旧字体の「高」「崎」とか一部使えない文字がある

78 :74:2006/09/04(月) 16:39:51 ID:???
>>77
レスありがとうございます。
これはその字をそのまま使うことを諦めるしかないのですか?

79 :nobodyさん:2006/09/04(月) 16:47:10 ID:???
>>78
UTF-8ならいけるのかなあ
文字コードとか旧字体あたりでぐぐってくれ
キャラクタセットに含まれるかどうかわからんような文字は
あまり使わない方が個人的にはいいと思うがな

80 :nobodyさん:2006/09/04(月) 16:47:39 ID:???
>>41 CAPTCAH http://captcha.jp もんがー
>>65
preg_match( '/a(.+?)b/', $str, $match )
最短マッチを使うとよいもんがー
最短マッチはpregじゃないとつかえないもんがー

81 :nobodyさん:2006/09/04(月) 16:49:44 ID:???
>>63 なんの環境を新しくしたもんがー?

82 :nobodyさん:2006/09/04(月) 16:50:28 ID:???
>>79
UTF-8 は UTF-8 で別の字が駄目だったりするからね。

>>80
数日前に荒れる原因になった人かな?

83 :nobodyさん:2006/09/04(月) 16:56:42 ID:???
>>58 $_SERVER['SERVER_NAME']に現在のスクリプトが実行されているサーバーのホスト名がはいるから、
それを名前解決すればよくないもんがー?

84 :74:2006/09/04(月) 16:58:40 ID:???
>>79>>82
このような場合、皆さんはどのように処理をしているのですか?

私としては、どうしても使いたいのですが。。。

85 :nobodyさん:2006/09/04(月) 17:05:03 ID:???
>>74
「はしご高」はshift-jisやEUCでは機種依存文字もんがー。
PHPのソースも、DBもUTF-8にすればかいけつもんがー。

ただメールの本文はJISで送ると表示されないかも。
UTF-8で送ればいいけど、メイラー依存になっちゃうかもんがー

http://www.google.co.jp/search?hl=ja&rls=GGLG%2CGGLG%3A2006-28%2CGGLG%3Aja&q=%E3%81%AF%E3%81%97%E3%81%94%E9%AB%98+utf-8&lr=
http://forum.mozilla.gr.jp/?mode=one&namber=33220&type=33197&space=15&
http://www.dennougedougakkai-ndd.org/~delmonta/alte/tagebuecher/windows.html

86 :nobodyさん:2006/09/04(月) 17:11:21 ID:???

れべるひっく・・・



87 :nobodyさん:2006/09/04(月) 17:14:40 ID:KTYmnZco
>>83
Windows版かつCLIだと Notice: Undefined index になってしまいます。

88 :nobodyさん:2006/09/04(月) 17:18:41 ID:8w646tTM
>>63
ありがとうございます。
環境は、すべて変わりました。
PHPのバージョンから、OSまで

>>75
メールは送れないのですが、ログはありました。
/var/logではなく、/usr/local/psa/〜のほうにありました。
中身ですが、さっぱりわかりません。

日付 www qmail : ○○--
と延々と続いてます。

ちょっとログ調べてみます。
ありがとうございます

89 :nobodyさん:2006/09/04(月) 17:22:04 ID:???
>>87 んー、ホスト名競ってされてないかもんがー
phpinfo() でかくにんするもんがー

$_SERVER["SERVER_ADDR"]って環境変数もあったもんがー

90 :nobodyさん:2006/09/04(月) 17:27:29 ID:???
CLIで実行した時は$_SERVERはセットされない

91 :nobodyさん:2006/09/04(月) 17:34:24 ID:???
>>84
超漢字を使う。
いや、半分冗談だけど、実際のところ、半分冗談じゃないかも。

>>85
いや、だから UTF-8 にすれば全部解決じゃないっての。
確かに「はしご高」は解決するだろうけど。
Unicode が抱える諸問題知らないだろ。

92 :nobodyさん:2006/09/04(月) 17:46:49 ID:???
>>90 うそ、マジ?いまVirtualPCにWinsowsインストールして実験するから、
小一時間待ってもんがー

93 :58:2006/09/04(月) 17:53:24 ID:???
CでNIC一覧のIPを返すプログラム書いてexecで呼んでみます。

94 :nobodyさん:2006/09/04(月) 18:24:16 ID:???
>>54
>3.カスタマイズして二次配布(金銭は無料、有料)

君はたとえば「WindowsXP」をコピーして配布してもOKだと思うか?
あるいはテレビ放送を録画したものを自分で再編集して、
「これはオリジナルです」と言ってサイトで勝手に公開してもOKだと思うか?

どちらも、もともとの制作者に了解を取らない限り「違法」だってことは君でも分かるだろう。
知的所有権とは、つまりそういうことだ。

95 :nobodyさん:2006/09/04(月) 18:24:30 ID:???
何やら激しく鬱陶しいから「もんがー」をNGワード指定っと

96 :nobodyさん:2006/09/04(月) 18:28:44 ID:???
>>90 ごめん、本当でした。。
http://search.net-newbie.com/php/reserved.variables.html
別の方法で取得したほうが早道そうですね。もんがー

97 :nobodyさん:2006/09/04(月) 18:49:08 ID:???
>>91
Unicodeの問題って波線やバックスラッシュのことで間違いない?
他コードとの変換テーブルの整合性が甘いんだっけ?
メール送る場合のJISやLINUXでfontの都合でEUCにしなければいけない場合に、
面倒なことになるのかな?


98 :nobodyさん:2006/09/04(月) 18:53:35 ID:???
>>90
それ良く聞くんだけど
Unicodeが抱える問題ってなあに?
情報まとまってるサイト知らない?

99 :nobodyさん:2006/09/04(月) 18:59:22 ID:sazhqf+L
質問、答えてくれます?
PHP(4.3.11)でDOMXML使えるようになりたいと思ってます。

XHTMLのこういう部分、pタグの中身を引っこ抜いて表示させたいんです
 <p>教えて君で<br />ごめんね</p>

乱暴かもだけど、こんな感じで引っこ抜いたら
 $dom = domxml_open_file($file02);
 $node_array = $dom->get_elements_by_tagname("p");
 print $node_array[0]->get_content( );

<br />要素は無視されて(?)改行されないんですよね。。。
キチンと<br />で改行させる良い方法があれば教えてくださいませ。

100 :nobodyさん:2006/09/04(月) 19:05:03 ID:???
>> <p>教えて君で<br />ごめんね</p>

氏ね、聞く態度が間違ってる。答えてやる気にならん。

101 :nobodyさん:2006/09/04(月) 19:14:28 ID:???
>>97
葛飾区の「葛」の字とか

102 :nobodyさん:2006/09/04(月) 19:27:00 ID:???
>>99 DOMにはあんまり詳しくないけど、
<br>は <br> と書いて、自前で改行処理しなきゃいけないんじゃないかなーもんがー
http://doraneko.org/misc/dom10/19981001/introduction.html

103 :nobodyさん:2006/09/04(月) 19:27:57 ID:???
おっと、<br>は&lt;br&gt;ね

104 :nobodyさん:2006/09/04(月) 19:29:01 ID:???
>>101
今、コードも、DBも、表示も全部UTF-8のサイトで
「葛」の文字をいれて表示させてみたんだが問題なさそう。


105 :nobodyさん:2006/09/04(月) 19:30:52 ID:???
>>102
XMLも知らないならレス付けるな

106 :nobodyさん:2006/09/04(月) 19:33:31 ID:???
>>104
いや、だからその字は既に正字じゃないから。
ttp://www.city.katsushika.lg.jp/aisatu/katsushikakunituite.html#katunoji

107 :65:2006/09/04(月) 19:38:58 ID:???
>>80
ありがとうです。できましたー

108 :nobodyさん:2006/09/04(月) 19:41:46 ID:???
>>106 それはフォントの問題で、文字コードの問題じゃないから。もんがー

109 :nobodyさん:2006/09/04(月) 19:42:17 ID:???
>>108
よく分かってない人は引っ込んでおいた方が良いと思うよ。

110 :99:2006/09/04(月) 19:48:40 ID:???
>>102
レスありがとうです。
確かにその方法ならいける事はいけると思いますねー。
でも、なんかもっとスマートな方法がないかと思って探してます。。。
ともあれ、ホントにありがとうです。

あと、>>105が突っ込んでるのはXMLではbrタグ(ていうかインラインタグ)は<br />と書くってのだと思います。
自分のせいで突っ込みの対象にさせてしまってゴメンなさい。
ほんとにありがとうです。

>>100
態度が良くなかったですか。。。ごめんなさい。


111 :サザンのトリビア:2006/09/04(月) 19:49:08 ID:U4aJFg79
マイミク募集中!
詳しくはミクシーで「サザンのトリビア」で検索してね♪
ttp://off3.2ch.net/offevent/
オフ板もよろしく!

\            U         /
  \          U        /
          / ̄ ̄ ヽ,
         /        ',        _/\/|_
      ノ//, {0}  /¨`ヽ {0} ,ミヽ    \     /
  \ / く l   ヽ._.ノ   ', ゝ \   < バーカ!>
  / /⌒ リ   `ー'′   ' ⌒\ \ /      \
  (   ̄ ̄⌒          ⌒ ̄ _) |//\/ ̄
   ` ̄ ̄`ヽ           /´ ̄
        |            |


112 :nobodyさん:2006/09/04(月) 19:55:01 ID:???
>>105 「葛飾問題 フォント」もしくは「葛飾問題 メイリオ」でググれ。
UTF-8ではフォントが対応していれば、略字も印刷標準字も表示できる。もんが

113 :nobodyさん:2006/09/04(月) 20:06:06 ID:???
>>112
いや、だから、ほんと上っ面しか分かってないね。

114 :nobodyさん:2006/09/04(月) 20:07:39 ID:???
>>110>>100

謝ってんだから知ってるなら教えろよゴルァ!

と思ってるに100ダメポ

115 :nobodyさん:2006/09/04(月) 20:13:01 ID:???
でも>>100は本当は知らないから、このままシカトに1000だめぽww

116 :nobodyさん:2006/09/04(月) 20:31:19 ID:???
>>94
一般に市販されてるものと直接発注したものとでは扱いが違うかもしれないからって質問だろ。
実際はその辺はライセンス次第で、権利丸ごと買い取りになってれば問題ない話だからな。

117 :nobodyさん:2006/09/04(月) 20:36:13 ID:???
>>112
グリフと文字コードの話がごちゃまぜになってる。
君風に返すと「葛城市 メイリオ」でググれ。

118 :nobodyさん:2006/09/04(月) 20:43:24 ID:GtVX2+5a
もんがーじゃないけど>>117ぐぐったけど意味わかんないお
漏れも葛飾問題UTF-8は関係ないと思うお

119 :nobodyさん:2006/09/04(月) 20:49:46 ID:???
100だけどおまえら見当はずれで足元すくうような発言にワロタw

120 :nobodyさん:2006/09/04(月) 20:55:42 ID:???
とにかく もんがー=良心君 ということは分かった

121 :nobodyさん:2006/09/04(月) 21:15:32 ID:???
>>117
文字のことに自信ないけど興味があるおいらが出てきましたよっと・・・
葛はUTF8関係ないよう気がするけど
これって、フォントの字形の話でしょ?
ってことは、既存のShiftJIS、EUCの文書も影響受けるって事でしょ?
あと、いくつかの漢字は新規に追加されるそうだけど、それはUnicode
の使用を前提にしてるんじゃないの?(メイリオになると、ShiftJISや
EUCの文書でも新漢字使えるの?)
UTF8特有の問題は、¥問題、他エンコードとの変換テーブル問題、
RFC2279に記述されているのセキュリティ問題、の3つは認識
してるんだけど・・・他に知ってるのある?


122 :nobodyさん:2006/09/04(月) 21:24:51 ID:???
>>121
なにを「問題」と捉えているかの違いだと思う。
「葛」の字の件は、Unicode に於ける Han Unification 問題・コードセパレート問題
のサンプルとして言っているに過ぎないかと。

123 :nobodyさん:2006/09/04(月) 21:40:38 ID:???
>>122 Han Unification 何てとっくに解決してるもんが。。

124 :nobodyさん:2006/09/04(月) 21:53:39 ID:???
>>96
CLIでも、gethostbyname($_ENV['COMPUTERNAME'])はいけると思う。
無理やり感がいっぱいだが
preg_match('/((\d{1,3}\.){3}\d{1,3})/',(`ipconfig.exe`),$str)で$str[0]とかw
# ここままだとipconfig.exeのフォーマット変わったらお終い

125 :121:2006/09/04(月) 23:12:59 ID:???
>>122
>>123
すれ違い話題なのに回答さんくう〜
ぐぐってみるよぅ

126 :48:2006/09/04(月) 23:14:32 ID:???
>>49
触ってみましたが修正できませんでした
ちなみに time= + 1*60*60と60*60*1 と2通り試しました
何か間違っているのでしょうか?

127 :nobodyさん:2006/09/04(月) 23:20:18 ID:???
>>126
http://pc8.2ch.net/test/read.cgi/php/1141174205/

128 :nobodyさん:2006/09/04(月) 23:26:42 ID:???
>>126
PHP5.1.0以降date.timezoneっていう設定が追加されたんだが、きちんと設定してある?

129 :48:2006/09/04(月) 23:40:06 ID:???
>>128
デフォのままやっているのでちょっとよくわからないです
スクリプトにはそういう項目はありません

130 :nobodyさん:2006/09/04(月) 23:46:00 ID:???
>>129
バージョンとともにphpinfo()で確認しろ。
5.1.0以上で設定してないなら設定をしろ。
iniをいじれないなら、スクリプトにdate_default_timezone_set関数を追加しろ。

131 :nobodyさん:2006/09/04(月) 23:46:30 ID:???
>>129
>>1を読んでID出しなさい
そしてphp.iniをチェック汁

自鯖?レンタル等で国内なら管理者に相談してみれば?

132 :nobodyさん:2006/09/04(月) 23:46:47 ID:???
>>130
あと、プログラマじゃないなら>127のスレに移動しろ。

133 :nobodyさん:2006/09/04(月) 23:59:04 ID:???
>>116
だからそれは「契約書読め」で終わる話だわな。

134 :nobodyさん:2006/09/05(火) 00:06:43 ID:???
やっぱ個人でも契約書は交わすべきだな。
ある客とは、いつも無しだけど、絶対に流用されてる。

マシン構成や、鯖に入ってるソフトも教えてくれなかったり
そういう部分がまだ決定してないから、
どういう環境でも動くように作ってくれと言われる。
もう「流用しますよ」と言ってるようなもんだ。

いっそコンパイルしてバイナリで納品しようかな。


135 :nobodyさん:2006/09/05(火) 00:24:20 ID:???
>>134
それもありなんじゃない?

136 :nobodyさん:2006/09/05(火) 00:36:14 ID:???
>>134
つーか契約書があって当たり前だろう。
「契約書を交わさない=好き勝手に使われるのを黙殺」ってことと同じ意味だぞ。

>いっそコンパイルしてバイナリで納品しようかな。

「いっそ」じゃなくて、普通当たり前だと思うが。
もちろん暗号化バイナリね。

お前みたいなスットコドッコイが安い値段と適当な契約でホイホイ仕事を請けるから、
業界全体が安く買い叩かれて、なおかつDQN客がどんどん増えるんだよ。
お前みたいなバカにはマジで困るよ。

137 :nobodyさん:2006/09/05(火) 00:37:59 ID:???
Zend Encoderは必須

138 :nobodyさん:2006/09/05(火) 00:45:06 ID:???
ログインフォームなどで、パスワードを入力してEnterキーを押すと
ボタンが押されてそのまま送信される、と言うのがほとんどだと思うのですが、
自分が作成した場合はなぜかEnterを押してもSubmitした事にはなりません。

プログラムの構成として、form.php内にパスワード判別をIFで作成して
テキストボックスに入力した値が一致すればログインページ(login.php)に
loationすると言った感じです。formタグのソースも特別変わったことはしていません。

これは私のPC上の問題でしょうか?

139 :nobodyさん:2006/09/05(火) 00:55:24 ID:???
「htmlが間違ってる」に一票。
情報足りない。

140 :nobodyさん:2006/09/05(火) 01:32:51 ID:???
>>138
俺もHTMLが間違ってるに一票
まさか
<input type="button" value="SEND">
~~~~~~~~
何かにしてないよな?

141 :140:2006/09/05(火) 01:33:30 ID:???
あ、凄いずれた

typeをsubmitじゃなくてbuttonにしてないかってことね。

142 :nobodyさん:2006/09/05(火) 02:25:54 ID:???
>>138
実際はボタンが自動で押されるわけじゃないけどな。
たとえば
<form action="aaa.php">
<input type=text name=a value="XXX">
<input type=submit name=b value="送信">
</form>
というフォームだった場合、
ボタンクリック時→ a=XXX&b=送信
Enter入力時→ a=XXX
という感じで本来一緒に送信されるはずのパラメータbの送信が無くなる。

プログラム側で if(isset($_GET['b'])) みたいな判別をしてた場合、Enterでは動作しなくなるよ。

143 :nobodyさん:2006/09/05(火) 04:37:11 ID:Yak4TZbg
質問です。

header出力で画像を表示させたいのですが、同じスクリプトでsessionを使うと
ブラウザで画像を保存する際に必ず「無題.bmp」になってしまいます。
sessionを使わなければ正常に動くのでheaderの問題だと思うのですが、
どうにかsessionを使いつつファイル名も正しく出力させる方法は無いでしょうか?

144 :nobodyさん:2006/09/05(火) 05:01:58 ID:???
>>138
IEのバグだか、それともHTMLの仕様だか知らないけど、
submitボタンのname属性は、Enterキーを押した場合はPOSTされないよ。

>Submitした事にはなりません
だからこれは勘違いで、submit自体はされてるけど、submitのname(とvalue)は
送信されてない、ってことね。

145 :nobodyさん:2006/09/05(火) 11:53:20 ID:???
>>143 IEの問題。もんが

146 :nobodyさん:2006/09/05(火) 11:58:33 ID:???
付け加えれば、session を使わなくても、

test.php
<html><body><img src="redirect.php"></body></html>

redirect.php
<? header( 'Location: http://i.yimg.jp/images/mht/2006/0401_10_c.gif' ) ?>

でも「無題.bmp」となるはずもんがー

147 :nobodyさん:2006/09/05(火) 12:16:18 ID:???
pingの送信をしたいのですが、最初のソケット作成時点で失敗します。

$socket = socket_create(AF_INET, SOCK_RAW, 1);

結果: Warning: socket_create() [function.socket-create]: Unable to create socket [1]: Operation not permitted in ファイル名 on line 行

原因をご存知という方、どうか教えてくださいませ。

148 :nobodyさん:2006/09/05(火) 12:35:12 ID:???
>>147 root で動かせば警告は出ない門がー
逆にRAWをケットの生成にはroot権限がひつようもんがー
そのスクリプトをユーザ権限で動かしたいなら、
sudoかsetuidするながも

149 :nobodyさん:2006/09/05(火) 13:12:14 ID:???
ありがともんがー
やってみるもんがー

150 :nobodyさん:2006/09/05(火) 13:33:27 ID:???
もんがーうるさいもんがー

151 :nobodyさん:2006/09/05(火) 13:55:44 ID:???
×<? header( 'Location: http://i.yimg.jp/images/mht/2006/0401_10_c.gif' ) ?>
○<? header( 'Location: http://i.yimg.jp/images/mht/2006/0401_10_c.gif' ); exit; ?>
◎<?php header( 'Location: http://i.yimg.jp/images/mht/2006/0401_10_c.gif' ); exit; ?>

152 :138:2006/09/05(火) 14:05:02 ID:???
レスが遅れて済みません。ソースは>>142さんが書いていただいてるような感じです。
ただ、142さんの説明を見てると、if(isset($_POST['b'])) としているので
これがおっしゃるように影響しているのかもしれませんね。
>>144
なるほど。nameとvalueは送信されないから、ページ上でのsubmit判別は
有効とされず、Location処理が行われないと言うことですね。

もう少し設計を考えてみます。アドバイス、ありがとうございました。

153 :nobodyさん:2006/09/05(火) 14:53:17 ID:???
sessionのPraga変えたらできなかったっけ?

154 :nobodyさん:2006/09/05(火) 15:11:02 ID:???
URLをドメイン名とパスに分けたいのですがどうしたらよいのでしょうか?
http://hoge.co.jp/test/phphttp://hoge.co.jp と test/php に。

155 :nobodyさん:2006/09/05(火) 15:40:32 ID:???
>>154

マニュアル見れ。
ttp://jp2.php.net/manual/ja/function.parse-url.php

156 :nobodyさん:2006/09/05(火) 17:26:59 ID:???
>>155 ありがとう。

157 :nobodyさん:2006/09/05(火) 17:34:09 ID:7Vllj4DH
requireされたファイルから更に他のファイルをrequireし、その中から一発で最初のファイルにreturn
する方法はないでしょうか?。

158 :nobodyさん:2006/09/05(火) 17:52:20 ID:???
…それはちょっと厳しい気がするなー

159 :nobodyさん:2006/09/05(火) 17:55:37 ID:???
>>157
そんなのないし、出来たとしても保守性が悪すぎる。
とりあえずプログラムの作り方を見直したほうがいいと思う。

160 :nobodyさん:2006/09/05(火) 18:00:56 ID:7Vllj4DH
>>158-159
やはり無理ですか、exitはあまり使いたくなかったのですが
exitで処理をとめるようにします。

ありがとうございます。

161 :nobodyさん:2006/09/05(火) 18:04:28 ID:???
ヤフオクに、PHPによるWebアプリケーションスーパーサンプル第2版という本があったのですが、
これって結構勉強になりますか?
PHPは独学の人が多いと聞いたので、本買おうか迷っているのですが

162 :nobodyさん:2006/09/05(火) 18:25:00 ID:???
>>161
その人のレベルによって勉強になるかどうかはかわる
本屋で立ち読みして自分にあったものを選ぶのがいいと思うよ
そして誘導
http://pc8.2ch.net/test/read.cgi/php/1150558685/

163 :nobodyさん:2006/09/05(火) 18:47:04 ID:???
>>157 requireはファイルの単純な読み込みなので、
exitとかかんけいないもんが。。

164 :nobodyさん:2006/09/05(火) 20:05:28 ID:???
>>163
関係あるって。
requireしたファイル中でexitしたら読み込み元のプログラムはrequire以降を実行できない。

165 :nobodyさん:2006/09/05(火) 20:15:05 ID:???
>>164 あ、そんな使い方があるんだ。。ちょっと目から鱗。

166 :nobodyさん:2006/09/05(火) 21:16:18 ID:???
>>157
php5だったら例外をthrowしたほうがいいけど、php4だったらfunctionとreturnをうまく組み合わせるのが良いと思う。

167 :nobodyさん:2006/09/05(火) 21:26:54 ID:7Vllj4DH
>>166
throwなんて物があったのですね
tryと上手く利用すれば処理をまとめられそうです

ありがとうございます

168 :nobodyさん:2006/09/05(火) 22:20:30 ID:???
districtが新マップって聞いてたんだが
この発表だとdelta と stadtrand ってマップになったのかな?

169 :nobodyさん:2006/09/05(火) 22:21:32 ID:???
>>168
しまった誤爆ッた


170 :nobodyさん:2006/09/05(火) 22:28:47 ID:CCKvwt5u
ブラウザがcookie受け入れ可能かどうかを調べるには
どうすればいいですか?

171 :nobodyさん:2006/09/05(火) 22:33:23 ID:???
>>170
クッキーを発行して読み込んでみればいい気もするが
単なる思いつき

172 :nobodyさん:2006/09/05(火) 22:35:32 ID:???
>>170
PHP側では一度発行して最度読み込ませないと判別できないからJavaScriptで判別
させた方が良いと思います

173 :nobodyさん:2006/09/05(火) 23:10:29 ID:08m/EI5z
$sql="UPDATE member_table SET update='テスト' WHERE id=1";
の構文でエラーが出て気が狂いそうです。助けてください。
updateのデータ型はvarchar(20)です。
ちなみにデータ型intの場合で数値なら同じ構文でUPDATEできます。
mysql_query($sql, $conn)

174 :nobodyさん:2006/09/05(火) 23:15:44 ID:???
フィールド名がまずい

175 :nobodyさん:2006/09/05(火) 23:19:45 ID:???
>>173
フィールド名のupdateは予約語だからな・・・
あとはDB板のMySQLスレに行ってくれ

176 :nobodyさん:2006/09/05(火) 23:19:54 ID:08m/EI5z
そうなの?

177 :nobodyさん:2006/09/05(火) 23:22:02 ID:???
カラム作る時に注意してくれないのかそれ

178 :nobodyさん:2006/09/05(火) 23:24:25 ID:???
>>173
とりあえず、
$sql="UPDATE member_table SET `update`='テスト' WHERE id=1";
としたらどうなる?

179 :nobodyさん:2006/09/05(火) 23:29:05 ID:08m/EI5z
updateをupdayに変更したら解決しました。
皆さんありがとうごじました。以前int型でupdateと言うフィールドを使ってたときは
問題なかったのですが・・・。あっちも変更しておいたほうが良いですね。
>>178
さんのやり方も大丈夫かも知れません。が命令と被るフィールドは使わないほうが無難ですね。
もう一度みなさんありがとうございました。この下らないことで4時間悩んでました。

180 :nobodyさん:2006/09/05(火) 23:30:31 ID:08m/EI5z
ちなみにSETの値を複数指定するのってANDでつなげたらよろしいのですか?

181 :nobodyさん:2006/09/05(火) 23:31:55 ID:???
>>180
SQLそのもの話はDBスレでやれと

182 :nobodyさん:2006/09/05(火) 23:32:01 ID:???
>>180
カンマで繋げ

すれ違いだ

183 :nobodyさん:2006/09/05(火) 23:34:17 ID:08m/EI5z
>>182
厳しいながらも温かい指導ありがとうございました。

184 :nobodyさん:2006/09/05(火) 23:41:39 ID:???
>>183
MySQLスレにもきちんと挨拶して来い、マルチ坊や

185 :nobodyさん:2006/09/05(火) 23:49:46 ID:08m/EI5z
すみません
逝ってきますw

186 :nobodyさん:2006/09/06(水) 00:33:08 ID:???
>>177
普通にしてくれるが、phpmyadmin等のツールを使ってると
>>178のようにクォートしてくれるので気が付かない香具師も多い。

187 :nobodyさん:2006/09/06(水) 01:54:41 ID:???
>>180
ttp://dev.mysql.com/doc/refman/4.1/ja/data-manipulation.html
1度は一通り目を通しておくことを勧める。
そして迷ったらまずここで確認してみよう。
その上で意味が分からない、難しいと感じたら質問してみよう。

188 :nobodyさん:2006/09/06(水) 02:06:49 ID:???
これからPHPを勉強しようと思うのですが、
エディタや開発環境は何がお勧めでしょうか?

さんざん既出の話題だとは思うので、
どこかまとまっているところとかあれば
教えていただけるとありがたいです。

189 :nobodyさん:2006/09/06(水) 02:08:20 ID:???
>>188
まず自分の使ってるOSとかを書かないと

190 :nobodyさん:2006/09/06(水) 02:08:55 ID:???
>>188
この辺かな
>>5
【ZendStudio】PHP統合開発環境 Part2【Eclipse】
http://pc8.2ch.net/test/read.cgi/php/1154082822/
最強のPHPエディタはなに?
http://pc8.2ch.net/test/read.cgi/php/1133785416/

191 :188:2006/09/06(水) 02:29:15 ID:???
>>189
すいません、そうですね。
開発環境はWindowsXPです。
実行環境はまだ準備してないのですが、
XAMPPというのを入れてみようかと思っています。

>>190
ありがとうございます。
さっそく見てみます。


192 :nobodyさん:2006/09/06(水) 02:50:48 ID:???
XAMPPで思い出したが、昔
ttp://www.spacetag.jp/modules/download/
これを入れたら、設定がおかしなことになって色々面倒だったな。
やっぱパッケージより、自分で必要なもの集めてやったほうが、
わかりやすいと思うよ。

193 :nobodyさん:2006/09/06(水) 03:35:29 ID:???
色んな視点があるだろうがXAMPPが相当楽なのは確実
分かりやすいと思うし、php4と5の切り替えが一発とか・・

勉強になるという視点なら自分で集めたほうがいいが
入門用やちょっとした環境作りたいだけならXAMPPは超楽

しかし楽ちんなのに慣れるとさっきのupdateカラムみたいな事をさらっとやったりするけどね

194 :nobodyさん:2006/09/06(水) 05:25:17 ID:I5F2jJv/
require使った場合と使わない場合だとディスクアクセスって違いますか?
もちろん高アクセスじゃなきゃ差なんて感じないんだろうけど、
1秒に100アクセスぐらいあるとどうなんでしょう?

195 :nobodyさん:2006/09/06(水) 06:17:00 ID:???
>>194
ベンチ取ったわけじゃないので推測交じりで概略だけ。

requireで分けようとファイル1つにまとめようと、
全体の行数自体はほとんど変わんないよね?
ってことはあとはファイル名指定によるファイルオープンの回数が1個増えるだけ。
そのくらいなら秒間100アクセスでも無視できる程度しか違わないと思う。
よっぽど「すでに読み込み済みのファイルかどうか」をチェックする
CPU負荷の方が大きいんじゃないだろうか。
それでもたかが知れてる程度だと思う。
このレベルなら通常はパフォーマンスより保守性の方が重要。

別ファイルへの分割を、10とか100とか文字通り桁が違うくらいの数に
分けない限りは些細なレベルだと思うけど、そのくらいまで増えてくれば
さすがに数字に表れてくるくらいの差も出てくるんじゃないでしょうか。
数行程度の小ファイルに細切れに分割するのはさすがに問題ありかと。
そういうわけでなく、普通に分けてこれだけの数になるほど大きいプログラムなら、
コードキャッシュとか組み込んだ方がいいかもね。

あと、requireするファイルをカレントディレクトリに置かずに、かつパス指定もせず、
サーチパスを舐めさせえるような作りにしてると影響はもう少し増えると思う。

196 :nobodyさん:2006/09/06(水) 07:31:37 ID:62uVHzx1
uniqid()で得られる結果は、完全にユニークなのでしょうか?
それとも重複した値になる可能性もあるのでしょうか?

大垣リファレンス本を読むと、
「メールのMessage-ID等として使うには十分な一意性です」
と書いてあり、一意性が確実に担保されているのかどうか微妙な表現なので悩んでいます。

197 :nobodyさん:2006/09/06(水) 07:34:16 ID:???
>>196
結論から言えば完全ではありません。

198 :nobodyさん:2006/09/06(水) 08:00:38 ID:???
他スレで

339 名前: nobodyさん 投稿日: 2006/07/29(土) 18:49:53 ID:uHG3koPT
今phpをやってる諸君、いまさらJAVAを覚えるくらいなら
悪いことはイワン、rubyとpythonをやっておきなさい。

なんてことが書かれてましたが、Python / Ruby なんてほんとにこれからクルんでしょうか?
なんとなく印象から既に廃れた過去の技術かと思ってましたが。

199 :nobodyさん:2006/09/06(水) 08:01:20 ID:I5F2jJv/
>>195
なるほど、どうもです。
サーバスペックがしょぼいので、保守性を損ないすぎない程度に
requireを減らしてみようと思います。



200 :nobodyさん:2006/09/06(水) 08:13:41 ID:???
>>199
そんなしょぼいサーバーで秒間100アクセスも受けてるのか?w

201 :nobodyさん:2006/09/06(水) 08:17:42 ID:???
>>196
オプション指定なしのデフォルトであれば、ミリ秒単位でユニーク、ってレベル。
ミリ秒単位で全く同一の時刻に複数のプロセスがuniqid()を実行したら被るよ。

202 :nobodyさん:2006/09/06(水) 08:23:05 ID:???
>>198
んー。去年辺りからRoRが注目を浴びてきてるからでしょ。
AjaxでJavaScriptがまた脚光を浴びたのと一緒よ。

ま、Javaも近々Javaベースのスクリプト言語を公開して
大半の開発ユーザをそっちに移行させちゃう予定だから、
今このタイミングでPHPユーザがJavaを勉強するってのは
確かに微妙かもしれんな。

203 :nobodyさん:2006/09/06(水) 08:47:21 ID:???
Aspect指向の勉強にAspectJでもやってればいいんじゃないのかね。

204 :nobodyさん:2006/09/06(水) 08:59:33 ID:???
>>201
ミリ秒ではなく、実はマイクロ秒。
マニュアルは誤記みたいだよ。

>>196
重複する可能性はほぼゼロと考えていいと思う。
第2引数にtrueを指定すれば、もっと重複する確率は減るらしい。

暇ができたら、Cで大量にプロセス生成して同時にマイクロ秒を取得するとどれくらい重複し得るか実験してみたいかも。

205 :nobodyさん:2006/09/06(水) 10:43:07 ID:???
>>172
一回発行させてリダイレクトさせるだけでいいじゃん。
勿論無限ループにならないように注意してね。

JavaScriptで判別するのは論外。
大抵のブラウザではCookieとJavaScriptは両方デフォルトで有効になっている。

そこでセキュリティ上の問題でCookieを無効にしている人は、JSも無効にしている可能性が高い。

206 :nobodyさん:2006/09/06(水) 10:53:37 ID:???
tmpファイルを作成せずに、
FTP経由でファイルの内容を拾ってくる方法は無いでしょうか?

現在は、FTPで一旦ダウンロードしてから、
file_get_contents()で内容を拾っています。
できれば、tmpファイルを作成せず、直接メモリに入れたいのですが・・。

207 :nobodyさん:2006/09/06(水) 10:56:48 ID:???
>>206
PHPにはFTP関数なんてものがありますがマニュアルを読みました?

208 :206:2006/09/06(水) 11:21:26 ID:???
>>207
読みました、
> 現在は、FTPで一旦ダウンロードしてから、
ここでFTP関数は使用してます。

FTP_関数で、file_get_contents のような使用方法ができる
関数は無いような気がします

209 :nobodyさん:2006/09/06(水) 11:23:52 ID:???
クラス内の変数(メンバ変数?)は
グローバル変数に影響を与えないことは分かったんですが、
グローバル変数は、クラス内の変数(メンバ変数?)
に影響は与えないのでしょうか?
その場合、クラスに変数を渡すのはどんな方法を使うのが一般的でしょうか

210 :nobodyさん:2006/09/06(水) 11:27:24 ID:???
>>208
socketを使っても一時ファイルが出来るんだっけ?

211 :nobodyさん:2006/09/06(水) 11:34:00 ID:???
>>209
変数を渡したければ、引数で渡せ

記述が全然違うから、グローバル変数はメンバ変数に影響は与えない
メソッドや関数内のローカル変数には影響はある

$foo = 10;
myfunc();

function myfunc()
{
 $foo = 20;
 global $foo;
 print($foo);
}

上記の出力はグローバルで定義された 10 になる
というか、聞く前に簡単なスクリプトを書いて試す癖を付けたほうがいいぞ

212 :nobodyさん:2006/09/06(水) 12:20:26 ID:???
> 記述が全然違うから、グローバル変数はメンバ変数に影響は与えない
> メソッドや関数内のローカル変数には影響はある

メソッド内の変数!=メンバ変数、でしょうか?
メンバ変数、グローバル変数の細かな定義も曖昧なのですが、
何か参考になるサイトはないでしょうか?
また、他の言語でのメンバ変数、グローバル変数の解説でも
PHPも同じと考えてよいでしょうか?

ぐぐってみたのですが、よいサイトを見つけられませんでした。

> というか、聞く前に簡単なスクリプトを書いて試す癖を付けたほうがいいぞ

肝に銘じます

> 変数を渡したければ、引数で渡せ

これのことを指しているのでしょうか?
素人質問ばかりですいません > global $foo


213 :nobodyさん:2006/09/06(水) 12:34:42 ID:???
>>212
とりあえず言語リファレンスから読み直せ
http://www.php.net/manual/ja/

214 :nobodyさん:2006/09/06(水) 12:35:47 ID:???
こういうことでしょ?

<?php
$global = "Hello";

class Test {
var $member;

function Test() {
$this->member = "World";
}

function hogeHoge() {
echo $global.$this->member;
}
}

$object = new Test;
$object->hogeHoge();
?>

215 :nobodyさん:2006/09/06(水) 12:49:28 ID:???
>>212
>何か参考になるサイトはないでしょうか
>>213 のレスの通り
公式サイトを読めるだけの基本的な知識がないと辛いよ

>また、他の言語でのメンバ変数、グローバル変数の解説でも
>PHPも同じと考えてよいでしょうか?
大きな部分では同じではあるが、細かいところではその言語ごとの
特色が出ている。
まったく同じと考えると、思わぬミスをすることになる。


216 :nobodyさん:2006/09/06(水) 12:51:15 ID:???
>>212

>> 変数を渡したければ、引数で渡せ
>
>これのことを指しているのでしょうか?
>素人質問ばかりですいません > global $foo

・引数
function myfunc($foo)
{
 print($foo);
}

上記のような、($foo) で記述すれば、引数として値を渡すことができる

$foo = 10;
myfunc($foo);

という風につかう



217 :nobodyさん:2006/09/06(水) 12:54:47 ID:???
>>212
・メンバ変数

class myclass
{
 var $bar;

 function mymethod($foo)
 {
   $this->bar = $foo;
 }
}

上記のような $this->bar をメンバ変数と呼べる
$bar ではなく、$this->bar であることに注意

 function mymethod($foo)
 {
   $bar = $foo;
 }

このような場合は、メンバ変数ではなく、メソッド内のローカル変数

まったくプログラムを知らない人には、なじみにくいものだとは思うが
まあ、ゆっくりとやればいい


218 :nobodyさん:2006/09/06(水) 15:40:13 ID:???
phpの掲示板作成のチュートリアルを探しています。
前に見つけたんですが、忘れてしまいました。

一応管理機能等がある物だったんですが・・

219 :nobodyさん:2006/09/06(水) 16:49:47 ID:UXXHtXDV
PHPでパスワードデータをGETしたりPOSTしたりするときのセキュリティー対策
はどうしてますか?

220 :nobodyさん:2006/09/06(水) 16:58:30 ID:???
個人ページってパスワードが漏れて困るようなシステムって基本的にないような。
使ってもアクセス制限程度だし。

顧客情報を管理するような重要なシステムなら、SSL導入。

221 :nobodyさん:2006/09/06(水) 16:58:40 ID:???
>>219
単に通信路の暗号化という意味ならSSL使うのが正解だろ
SSL使わないときは、生で流してる。
SSL使わないけど、より安全にしたいってことなら、
クライアントでJavascript使って、パスワード+種にmd5とかして
それをサーバに流すとかすればいいんでないの?


222 :nobodyさん:2006/09/06(水) 17:00:56 ID:???
>>219

GETならセキュリティ対策しても無意味なんで、何も対策しない。
作るアプリケーションもミッションクリティカルなものじゃない
はずだし。

POSTならSSLを導入する。
そのあとXSS対策とか色々考えるけど書くのめんどうだから後は
ぐぐれ。
とりえずSSL導入しないなら何しても無駄くらいに思っとけばよろし。

223 :nobodyさん:2006/09/06(水) 17:01:40 ID:???
>>218
スゲー曖昧だな
記憶たよって、それを検索キーワードにしてぐぐれよ
まぁ、既にやってそうだけどさ

224 :nobodyさん:2006/09/06(水) 17:11:00 ID:???
>>199
アドバイスきいてるの?
そんなことしたってあんまり早くならないだろうって意見がおおいじゃん
それなのにrequireとか見直すつもりなのかよ
もっとちゃんと負荷かかってるところ見極めた方がいいってことだよ
視点かえて、サーバ上でいらんプロセス動いてたら殺すとか
そういうことしたほうが効果あるんでないの?
究極的には、新しいサーバにした方が手っ取り早いって事もあるしさ
ま、他にもいろいろ考えてるんだったら、おせっかいでスマン

225 :nobodyさん:2006/09/06(水) 17:14:04 ID:UXXHtXDV
SSLするお金がありません。md5とか試してみます。

226 :nobodyさん:2006/09/06(水) 17:23:13 ID:???
>>212
そりゃPHP以前の問題だな
遠回りにおもうかもしらんが、
PHP入門というレベルですらなく、初めてのプログラミング
とかそういう本読んで、基本的なプログラミングの考え方
に触れといたほうがいいんでないかい?
じゃないと、ここでいくら聞いても混乱するだけだ
あと既出だが、マニュアルとかネットで読むだけでは
身につかん。解った気分になれるだけだな。
解ってるって思ってもいざコード書いて見ると???って思うこと
はたくさんあるぞ。
ま、自分でコード読んで何やってるか読み取れない時点で
理解してないってことは分かると思うんだが、ネットで探す、
でもって、コピペで動いた万歳というレベルのやしが多いんだ
なこれが。


227 :nobodyさん:2006/09/06(水) 17:27:30 ID:???
>>225
それは個人でやってることなのか?
であれば、おれおれ証明書+OpenSSLとかで金かけずにSSLできるぞ?
仕事であるとしてなら、個人情報うんぬん考えて、SSL使いたい。
でも金かかるからヤメタってのはそりゃあんたダメだよ
ホントに個人情報漏れたときに、責任取らされないように気をつけることだ


228 :218:2006/09/06(水) 17:38:32 ID:B1MlJIFJ
>>223
そうですね、検索ワード思いつく限りは試してるんですが思い出せません。
どなたかそのようなチュートリアルがありましたらお願いします。

229 :212:2006/09/06(水) 17:48:52 ID:???
非常に分かりやすい説明ありがとうございました

230 :nobodyさん:2006/09/06(水) 18:24:47 ID:Z+QAwMX/
<?phpのみ可で、<?を不可にするのって、php.iniの何処いじるんでしたっけ?

231 :nobodyさん:2006/09/06(水) 18:27:17 ID:???
>>230
short_open_tag

232 :nobodyさん:2006/09/06(水) 18:35:05 ID:???
212とかぶるんだが、
グローバル変数の$_SESSION['hoge']を
クラス内、関数内で使用するにはどうすればいい?
ほとんど決まって使用する形なので毎度関数の引数にするのはいやづら

class Test{
var $hoge = global $_SESSION['hoge'];

function Test()
{
echo $hoge;
}

では上手くいかないづら

233 :nobodyさん:2006/09/06(水) 18:37:20 ID:???
>>231
ありがと。助かりました(*・∀・)//

234 :nobodyさん:2006/09/06(水) 18:40:46 ID:???
>>232
そもそも$_SESSIONはスーパーグローバルだからどこでも使える
http://jp2.php.net/manual/ja/language.variables.predefined.php

235 :nobodyさん:2006/09/06(水) 18:43:11 ID:???
>>232
コンストラクタで初期化。
class Test{
var $hoge;
function Test()
{
$this->hoge = $_SESSION['hoge'];
echo $this->hoge;
}


236 :nobodyさん:2006/09/06(水) 18:44:55 ID:???
>>232
var $hogeの参照の仕方は間違ってるし
= global $_SESSION['hoge'] ってなんだよだし
お前はまずPHPの文法から勉強すべきなんでは?

237 :nobodyさん:2006/09/06(水) 18:50:59 ID:???
functionで引数を指定した場合は、その引数へ
指定しなかったら変更せず、って可能でしょうか?

238 :nobodyさん:2006/09/06(水) 18:52:57 ID:???
>>237
function hoge($a = "default") {
if($a == "default") {
echo "引数が指定されなかったよ";
}
}


239 :nobodyさん:2006/09/06(水) 18:54:05 ID:???
>>237
デフォルト引数値
ttp://www.php.net/manual/ja/functions.arguments.php#functions.arguments.default

240 :nobodyさん:2006/09/06(水) 18:54:53 ID:???
>>235
わざわざコンストラクタ意識しなくても

class Test{
var $hoge = $_SESSION['hoge'];

function Test()
{
echo $this->hoge;
}

でいけね?


241 :nobodyさん:2006/09/06(水) 18:59:54 ID:???
>>234
でFAでてるんじゃないの?

242 :nobodyさん:2006/09/06(水) 19:06:00 ID:???
コンストラクタは簡単に言えば初期化するとこでしょ?
コンストラクタじゃないならクラス名と関数名は別にしたほうがいいのでは?

243 :nobodyさん:2006/09/06(水) 19:18:04 ID:???
なんか話が逸れてないか?

244 :nobodyさん:2006/09/06(水) 19:33:45 ID:???
唐突に失礼しますが、$a[] = 1; で追加された数字キーを得る方法はありませんよね?


245 :nobodyさん:2006/09/06(水) 19:36:15 ID:???
$a[] = 1;
なら数字キーは0じゃね?

246 :nobodyさん:2006/09/06(水) 19:36:58 ID:???
ゴメン、間違えた。忘れてくれ

247 :nobodyさん:2006/09/06(水) 19:37:13 ID:???
>>245
どんどん追加して行くようにしているので後からデータを変更する場合にキーを
習得しておきたいのです。

248 :nobodyさん:2006/09/06(水) 19:38:19 ID:???
>>244
end($a);
$key = key($a);
くらいかな。1行でやる方法は思いつかなかった。

249 :nobodyさん:2006/09/06(水) 19:40:43 ID:???
>>248
一行ではやはり無理ですよね
ありがとうございます

250 :nobodyさん:2006/09/06(水) 19:41:50 ID:Ko4SqDiX
クラスの中で、var = $aaa;と宣言するとどうなるんですか?

251 :nobodyさん:2006/09/06(水) 19:42:37 ID:???
>>244
配列の途中に抜けがないことを前提にできるなら
$key = count($a) - 1;
でいいと思うんだけどね。

252 :nobodyさん:2006/09/06(水) 19:43:41 ID:???
>>250
文法エラー

253 :nobodyさん:2006/09/06(水) 19:45:18 ID:???
>>251
それが数字キーとは別に文字キーも含まれていてcountは使えないのです。
切り分けるか他の方法を考えて見ます。


254 :nobodyさん:2006/09/06(水) 19:47:30 ID:???
どうしても1行でやりたいなら>>248を関数化して使えば?


255 :nobodyさん:2006/09/06(水) 20:02:28 ID:???
GDライブラリはサーバ管理者がインストールしていないと
使えませんよね?

256 :nobodyさん:2006/09/06(水) 20:03:55 ID:???
>>255
そうですね

257 :nobodyさん:2006/09/06(水) 20:07:39 ID:???
>>256
非常に残念です。失望しました。

258 :nobodyさん:2006/09/06(水) 20:13:26 ID:Ko4SqDiX
あわわ、ごめんなさい。
クラスの中でvar $aaa;を宣言するとどうなるのでしょうか?

259 :nobodyさん:2006/09/06(水) 20:14:25 ID:???
自分で確認しろよ

260 :nobodyさん:2006/09/06(水) 20:20:10 ID:???
>>258
メンバ変数として使えるようになります。

261 :nobodyさん:2006/09/06(水) 20:22:18 ID:???
>>258
PHP5では非推奨

262 :nobodyさん:2006/09/06(水) 21:07:44 ID:???
パスワードをDBに保存するとき、PHP側で
md5('生パスワード')とやるのと、
md5('生パスワード'+'秘密の種')とやるのと、
どっちがいいですかね??

自分はずっと前者でやってましたが、やっぱり後者にすべきでしょうか?

263 :nobodyさん:2006/09/06(水) 21:08:00 ID:zhNqu6Fm
--file.txt-----------------------
1
<--shitei_start-->
2
3
4
<--shitei_end-->
5
-------------------------------

上記file.txtの<--shitei_start-->から<--shitei_end-->まで抜き出す方法について質問です。
自分なりに考えて、下記方法にて正常に処理することは出来たのですが、長いような気がしてなりません。
スマートな処理方法があれば教えて頂きたいです。よろしくお願いします。
WindowsXP SP2 + PHP4.4.4 + Apache2.0Handler

$shitei = file_get_contents("file.txt");
$shitei = str_replace("\r\n","",$shitei);
$shitei = str_replace("\r","",$shitei);
$shitei = str_replace("\n","",$shitei);
$shitei = preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/',"\\1",$shitei);
echo $shitei;


264 :nobodyさん:2006/09/06(水) 21:12:15 ID:???
>>263
それで十分な気がするけど、まー短くしたいって言うなら。
$shitei = file_get_contents("file.txt");
$shitei = preg_replace("/[\r\n]/", '', preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/',"\\1",$shitei));
echo $shitei;

265 :nobodyさん:2006/09/06(水) 21:17:19 ID:???
>>263
とりあえず
$shitei = str_replace("\r\n","",$shitei);
は要らないだろ。

266 :nobodyさん:2006/09/06(水) 21:25:50 ID:???
>>261
なんで非推奨?

267 :nobodyさん:2006/09/06(水) 21:31:10 ID:???
private、protected、public
PHP5は↑を推奨
互換性があるからvarでもおk(var=public)

268 :nobodyさん:2006/09/06(水) 21:31:48 ID:???
>>263
preg_replaceでmオプションでいいんでないかい

$shitei = preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/m',"\\1",$shitei);

269 :nobodyさん:2006/09/06(水) 21:38:24 ID:???
class hoge{

function hoge()
{
$a = "1";
}

function fuga()
{
echo $a;
}

}

上のようにfuga()でhoge()のローカル変数$aを使いたい場合、
どうすればよいですか?

270 :nobodyさん:2006/09/06(水) 21:44:52 ID:???
なんかOOPの基礎的な書き方みたいな質問が多いけど、同一人物?
さっきのvarと言い。
本を読んで自習して欲しい。

271 :nobodyさん:2006/09/06(水) 21:45:53 ID:???
お願いです、劣化コピーはやめてください。

272 :nobodyさん:2006/09/06(水) 21:47:29 ID:???
--file.txt-----------------------
1
<--shitei_start-->
2
3
4
<--shitei_end-->
5
<--shitei_start-->
6
7
8
<--shitei_end-->
9
-------------------------------

263じゃないけど、似たようなこと聞きたかったので質問です。
上の場合(1〜4、5〜8を取得したい場合)は、どんな記述方法がありますか?


273 :nobodyさん:2006/09/06(水) 21:48:29 ID:???
>>271
ソース吹いた

274 :nobodyさん:2006/09/06(水) 21:53:11 ID:???
>>272
2〜4, 6〜8じゃなくて 1, 5 も欲しいの?
それ変だと思うが。

275 :263:2006/09/06(水) 21:54:38 ID:zhNqu6Fm
>>264
preg_replaceの中にさらにpreg_replaceが使えるんですねー。
参考にさせて頂きます。ご教授ありがとうございました。

>>265
OSによって改行コードが違うとどこかで見たんで、
それぞれに指定してみたんですが・・・。
確かに\nと\rさえ変換しておけば必要なさそうですね。

>>268
mオプションが使えれば一番いいんですが、
何故か正しく処理されなくて、スルーしてたんですよ。
原因追求と共に、もう一度調べてみようと思います。

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

276 :nobodyさん:2006/09/06(水) 22:00:27 ID:???
>>275
お前は関数呼び出しもロクに理解していないように見える。
今のうちに基礎から勉強しなおして来い。

277 :nobodyさん:2006/09/06(水) 22:07:05 ID:???
272です、
>>274
すまそ、間違えました。
2〜4,6〜8ですた

278 :nobodyさん:2006/09/06(水) 22:10:09 ID:???
>>277
括弧の位置を変えるか、マッチの番号を変える

279 :nobodyさん:2006/09/06(水) 22:16:10 ID:Hk4G6jQR
フリー配布されているソースを見ていて疑問に思ったのですが、

$body = <<<EOM
$data[1]
EOM;

こんなふうにかかれた部分がありました。
これはなんという関数?制御構文?なのでしょうか。
名前がわからず、検索するにも困っています。

280 :263:2006/09/06(水) 22:16:25 ID:???
>>276
無論、基礎を勉強中ですよ。
まだPHP始めて3週間程度ですので、身の程はわきまえてるつもりです。
勉強の過程でやりたいと思ったことを息抜きのつもりでやってみて
楽しんでるだけなんですよ。たまには遊ばせて下さい。(´Д⊂

281 :nobodyさん:2006/09/06(水) 22:17:01 ID:???
>>279
ヒアドキュメント

282 :nobodyさん:2006/09/06(水) 22:18:15 ID:???
>>266
旧互換で残されてるだけで、使うと警告が出る。
ttp://www.php.net/manual/ja/language.oop5.visibility.php
> 注意: キーワードvarで変数を宣言する PHP 4の方法は、PHP 5オブジェクトではもはや 有効ではありません。
> 互換性のためにPHPで宣言された変数は、publicのアクセス権を 有していると仮定されますが、 E_STRICT警告が発生します。

283 :279:2006/09/06(水) 22:18:58 ID:???
>>281
ありがとうございます。検索してきます!

284 :nobodyさん:2006/09/06(水) 22:20:16 ID:???
>>268
別にmは無くてもいいかと。
mは改行部分での行頭/行末の扱いを変えるだけで、それ以外の改行は関係ない。
正規表現の中に「^」か「$」を含んでなければmはあっても無くても一緒。

mの有無に関係なく、改行変換を無くすと出力結果が変わっちゃうわけだが?



285 :nobodyさん:2006/09/06(水) 22:23:08 ID:SJHDxyO4
PHPを本で勉強しているものですが、php5徹底攻略が良いと聞いたんですが、
軽く立ち読みした感じ、linuxユーザー向けに書いてあると思ったのですが、
windowsで勉強してる人には、役に立たないですかね??
あと、これのエキスパート編もlinux向けですかね?
どうか教えてください。
あと、お薦めの本もありましたら教えてください。

286 :nobodyさん:2006/09/06(水) 22:26:56 ID:???
>>285
PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/l50


287 :nobodyさん:2006/09/06(水) 22:30:59 ID:???
>>284
初めて知った、、、
PHPのpreg系ってmなくても複数行に対応してるのね

288 :nobodyさん:2006/09/06(水) 22:33:23 ID:???
おらもタグの間に改行があるとmがない場合はマッチしないと認識してた

289 :269:2006/09/06(水) 22:42:55 ID:???
どなたかヘルプみー

290 :nobodyさん:2006/09/06(水) 22:46:39 ID:???
>>289
そういう使い方するようには出来ていないから無理だよ。
きもいけど$this->でも使ったら?

291 :nobodyさん:2006/09/06(水) 22:47:26 ID:???
>>269
無理。
ローカル変数は外部からアクセスできないようにするためにある。

292 :nobodyさん:2006/09/06(水) 22:49:02 ID:???
>>289
メンバ変数にでも入れたら?
次、質問する時にはIDを出すように

293 :nobodyさん:2006/09/06(水) 23:07:16 ID:???
>>287
PHPに限らずドットメタ文字が改行にマッチしないだけで
正規表現の中に.が入ってなければ複数行は無関係でしょ。
ってことでMultiLineのmじゃなくてDotAllのsが正解だと思う。

294 :nobodyさん:2006/09/06(水) 23:21:09 ID:???
>>288
逆じゃないか?これ、sオプションつけなきゃマッチしないだろ。
>>264>>268も間違ってるとオモ

>>272
複数取得したい場合はpreg_match_all()を使う。

295 :nobodyさん:2006/09/06(水) 23:22:29 ID:???
リロード忘れて被ってたorz

296 :269:2006/09/06(水) 23:30:58 ID:/I1yABna
レスサンクスです、

初めてクラスに挑戦しています。
FTP関連のクラスを作って、
コンストラクタでftp_connectして、
メソッドでftp関連の処理を、
と考えてたのですが、今まで関数さえ一切使わず
グローバル関数が乱立していた
(もちろん変数被ってバグ頻繁に発生)ような自分のレベルからは
なかなか理解が難しいですね汗

メソッド内全てでftp_connectするか
classの最初で宣言しておいて
$this->使うとかの方法しかないでしょうか。

297 :nobodyさん:2006/09/06(水) 23:35:32 ID:???
>>296
> classの最初で宣言しておいて
> $this->使うとかの方法しかないでしょうか。
元々、メンバ変数ってのはそのために用意されてる仕組み。

298 :nobodyさん:2006/09/06(水) 23:41:12 ID:???
>>296
269のコンストラクトで
$this->a = $a;
して
fugaで
echo $this->a;すればよろし。

299 :nobodyさん:2006/09/06(水) 23:44:29 ID:???
それするときったないスクリプトになる。
それをやらなきゃ解決できないようなロジック自体がだめ

300 :nobodyさん:2006/09/07(木) 00:00:53 ID:???
>>296
class FTP
{
 var ftp;
 
 function FTP($host)
 {
  $this->ftp = ftp_connect($host);
 }

 function getRemoteFile($remote_file, $mode = FTP_BINARY)
 {
  $tmp = tmpfile();
  ftp_fget($this->ftp, $tmp, $remote_file, $mode);
  return $temp;
 }
}
こんなの作ったらいいんじゃね?
マニュアルだけ見てちゃちゃっと書いたから動くか分からんが

301 :nobodyさん:2006/09/07(木) 00:24:42 ID:???
あぁ、returnのとこが$tempになってるし・・
何となく気分でtempからtmpに変えたけど、ちゃんとチェックしないとろくな事ないな。

302 :nobodyさん:2006/09/07(木) 08:28:38 ID:???
よく掲示板のセキュリティ対策などのために
「IPを記録しておく」などと言いますが、
これはすなわち「$_SERVER['REMOTE_ADDR']を記録」と同義だと
考えて支障ないでしょうか?

また、プロバイダ責任法やら何やらでもしもユーザーから文句をつけられたときに、
書き込み内容と$_SERVER['REMOTE_ADDR']さえしっかりログとして保存しておけば大丈夫でしょうか?

303 :nobodyさん:2006/09/07(木) 08:30:59 ID:???
>>302
一般的にはそうですね。匿名な串を使ってくる人もいるので掲示板の品質によっては
それらも対処した方が良いと思います。

304 :nobodyさん:2006/09/07(木) 08:44:12 ID:MKs1ZJ98
すいません お知恵を貸してください。
"1401 0000" という文字列がありまして、
これを右から2個ずつ取り 逆に並べて
00000114 とし。 (ここまでは出来ました。

この文字列は、実は0x00000114 ということで 16進数から 10進数に直して
最終的に276を導き出したいのですが、どうやったらいいでしょうか?

$hoge = "00000114"; この文字列を16進数として型変換する方法がわかりません。
お助けを・・

305 :nobodyさん:2006/09/07(木) 08:46:56 ID:???
>>304
276が何かわからないけどdechex使えば?

306 :nobodyさん:2006/09/07(木) 08:50:36 ID:???
あ、逆か
echo HexDec('0x00000114');

307 :nobodyさん:2006/09/07(木) 09:10:53 ID:???
306さん 有難うございました。
見事いきました。 コマンドの類のみ聞くのも気が引けたのですが、
探しきらなかったもので・・・ 感謝です。

308 :nobodyさん:2006/09/07(木) 10:52:58 ID:HQk33gl2
md5()に与える引数の文字列長には制限があるのでしょうか?
それとも無限なのでしょうか?

たとえば、DBの「text型」カラムに格納されている1000字程度の文章を
md5()に通してハッシュ値を得て、これから投稿されようとしている文章(こちらもハッシュを取る)と
比較して、両者が同一の文章か否かを判別(同一だったらリロードとみなして投稿を拒否)するために
使おうと思っているのですが、これって適切なやり方でしょうか?

309 :nobodyさん:2006/09/07(木) 10:56:22 ID:???
ハッシュ値で比較する必要ってあるの?

310 :nobodyさん:2006/09/07(木) 10:59:05 ID:???
前に投稿された内容をキープする必要があるからハッシュを使うと言っているのでは?

311 :nobodyさん:2006/09/07(木) 11:28:33 ID:HQk33gl2
結局ハッシュを取らないで、生データで比較することにしました・・・

312 :nobodyさん:2006/09/07(木) 11:34:26 ID:???
ハッシュにする意味はよくわからんな
投稿の日時保存して直近の投稿のコメントと
比較すればそれでOKなんじゃね

313 :nobodyさん:2006/09/07(木) 11:40:29 ID:???
1000字程度の文章をハッシュ化しようとした意図がわからないなら
何を言っても無駄だから気にするな。動けば問題ないw。

314 :nobodyさん:2006/09/07(木) 11:57:17 ID:???
POSTの二重投稿の対策をやればいいんじゃね

リダイレクトで飛ばすとか、ユニークなID埋め込んで判断するとか
MD5・日付・IPとかで判断するのもいいだろうけど

> 1000字程度の文章をハッシュ化しようとした意図がわからないなら
> 何を言っても無駄だから気にするな。動けば問題ないw。
>>312に言ってるのか?意図ってリロードによる2重投稿を防ぎたいのでは?

315 :nobodyさん:2006/09/07(木) 12:17:13 ID:???
定数のメリットって
変更不可、スコープがグローバル、
という2点でよろし?

ID/PASSを定数で保持するのってよくあることでしょうか?

316 :nobodyさん:2006/09/07(木) 12:31:34 ID:???
セーフモードがかかっているサーバで、
phpをcgiで動かしたいのですが、
phpが入っているサーバなら全てcgiとして動作できますか?
それとも設定によってはできないのでしょうか?
あとphpのパスはphpinfoのどこの項目を見ればいいのでしょうか?
/usr/local/bin/phpや/usr/bin/phpや/usr/sbin/phpなど、
思い当たるものを適当に全て試しましたが、
全て500エラーが帰ってきてしまいます。
どなたかお助けください。

317 :nobodyさん:2006/09/07(木) 12:46:00 ID:???
>>316
WEBサーバの設定しだい

318 :nobodyさん:2006/09/07(木) 12:47:59 ID:???
>>316
500エラーってWindowsのCGIだとパスが違ってくるからその変も疑った方が良いかも

319 :nobodyさん:2006/09/07(木) 12:49:56 ID:???
どっかのヲチネタぽいのが続いてるな…。

>>315
スコープはメリットにもなるしデメリットにもなるよ。
id/passを定数に…どうだろ?不要になったらさっさと消すべき値のような?


320 :nobodyさん:2006/09/07(木) 12:54:22 ID:???
>>316
where phpとか?

321 :316:2006/09/07(木) 13:15:08 ID:???
どうもレスありがとうございます。

>>317
やっぱサーバ側の設定次第ですか・・・
サーバ仕様書にはphpのパスもcgiとして使えるかも記載されていないので、
恐らく使えない可能性が高いのでしょうね。

>>318
サーバはFreeBSDのようなので、その点は心配なさそうです。

>>320
それはシェル操作でしょうか?
レンタル鯖の話ですので、それは使えません。
説明不足で申し訳なかったです。

とりあえずmkdirのとこなどは、あらかじめフォルダを用意したり、
出力されるファイルも作ってみて、悪あがきをしてphpで動かしてみます。
その上でだめそうなら諦めます。
どうもありがとうございました。

322 :nobodyさん:2006/09/07(木) 13:17:33 ID:???
内部文字コードはUTF8になっているのですが
PHPにてとりだすとコードが「ASCII」になってしまいます。
mb_convert_encodingでコード指定しても改善しません。

これはどんな解決策があるでしょうか?
ご教示お願いいたします。

環境
サーバー XREA
Mysql 5.1.11
phpMyAdmin 2.8.2

323 :nobodyさん:2006/09/07(木) 13:33:36 ID:???
>>322
出力の文字コードはどうしたいわけ?

出力も指定したいなら
output_handler が mb_output_handler になってる?
その上で mbstring.http_output に出力したい文字コードを指定してる?

324 :nobodyさん:2006/09/07(木) 15:22:26 ID:???
ローカル上にあるファイル一式をアップロードさせる方法はないものかと
考えています。

例えば
フォルダ名:[ ]
ファイル場所:[ ][参照]

とあったとして、1ファイルのみの登録であれば、1つのファイルの場所を指定するだけで
良いのですが、これが複数ファイルを一括してアップロードしたい場合、
どうするのが適切なのか?っと悩みます。

copy関数を使うことも考えましたが、copy関数はサーバ上にアップしている
ファイルをコピーするので違うと思うし。

何か設計上のアドバイスをいただけないでしょうか?

325 :nobodyさん:2006/09/07(木) 16:06:20 ID:???
つFTPソフト

326 :nobodyさん:2006/09/07(木) 16:08:19 ID:???
formをたくさん設置して複数を同時なんてのはよく見るよな。

327 :nobodyさん:2006/09/07(木) 17:07:38 ID:???
htmlフォームに値を入れる時
value="".$hoge."" とやると$hogeに"が入っていた場合におかしくなるのですが
value=の区切りってどうしたらよいのでしょうか??

328 :nobodyさん:2006/09/07(木) 17:15:15 ID:???
>>327 自己レスです。
htmlspecialcharsでいけました、すません。

329 :nobodyさん:2006/09/07(木) 18:38:28 ID:???
>>324
ActiveXを使えばできなくはない。
それ以外ではクライアントのディレクトリ情報を拾うようなマネ自体が
セキュリティ的に厳禁な行為なので、ムリだと思うけど…

330 :nobodyさん:2006/09/07(木) 18:54:52 ID:zxRzPgXR
どこに聞けばいいかわからなかったので教えて下さい
cgi(perl)ではかなりあるんですがphpで逆リンク集を配布してるサイトって
ありますでしょうか?
教えて下さい m(_ _"m)ペコリ

331 :nobodyさん:2006/09/07(木) 18:58:11 ID:???
>>324
クライアントに圧縮させて、それをアップしてもらい、
サーバー側で解凍するといいよ。


332 :nobodyさん:2006/09/07(木) 19:24:05 ID:???
>>331
そんなことできるのか。

333 :nobodyさん:2006/09/07(木) 19:25:56 ID:???
圧縮はユーザーが自分でやって解凍だけPHP側でするって話でしょ

334 :nobodyさん:2006/09/07(木) 19:49:03 ID:???
画像共有系サイトとかのアップロード画面は
flash使ってドラッグアンドドロップできたり
ダイアログからまとめて登録できるような
インターフェイスにしてるところがあるよな
>>331みたいにzipとかでアップできるとこもある

335 :nobodyさん:2006/09/07(木) 20:23:24 ID:EP1zTHfC
phpのcopy関数でコピー元をURLにすると、うまく実行できません。
macのmampを使ってローカルで開発していますが、
mampが強制終了します。
URLではなくファイルを指定した場合は何の問題もないです。
php.iniの設定的にはちゃんと動作しても良さそうなのですが....。
どなたかおわかりになりますでしょうか?

336 :nobodyさん:2006/09/07(木) 20:30:25 ID:???
>>335
PHP4.3.0以降、"fopen wrappers"が有効 なんだよね?

マニュアル
http://www.php.net/manual/ja/function.copy.php

337 :324:2006/09/07(木) 20:32:55 ID:jxEGLvXD
>>331
そんなこと出来るんですか!?というかまさにそれがしたいです。
例えば、テンプレートの配布をする時にサイトから圧縮ファイル(ZIP)
をダウンロードしてそれをアップ(登録)してもらい、それが解凍出来れば。

338 :nobodyさん:2006/09/07(木) 20:36:28 ID:EP1zTHfC
>336さん
レスありがとうございます。
phpのバージョンは4.4.2でallow_url_fopenはonになっています。
設定的には大丈夫そうなのですが...。

やりたいことは、phpで吐き出したhtmlのソースコードを
新しいファイルにそっくりコピーしたいのです。
なにかいい方法はありますでしょうか?

339 :nobodyさん:2006/09/07(木) 20:44:10 ID:???
>>338
何となくエスパー気取りでループしてる気がする

ob_startでバッファリングして保存しては?

340 :nobodyさん:2006/09/07(木) 20:47:38 ID:???
>>327-328
お前の作ったスクリプトは脆弱性だらけのようだな。
仕事としてやってはいけないぞ、お前。

341 :nobodyさん:2006/09/07(木) 21:17:08 ID:???
>>338
copyじゃなくて内容取得してファイルを保存じゃ駄目なんだろうか

342 :nobodyさん:2006/09/07(木) 21:30:08 ID:???
これからPHPを勉強しようと思っているのですが、
バージョンは4.xと5.xの
どちらをもとにしたほうがいいでしょうか?

5.xはオブジェクト指向対応ということで
興味をひかれてるんですが、
レンタルサーバとかのPHPのバージョンは
4.xの方がまだまだ多い気がします。

実際のところ、
どちらの方がより使われてるんでしょうか?

343 :nobodyさん:2006/09/07(木) 21:34:05 ID:EP1zTHfC
>339,341
どうもです。obで解決しました。
普通にfwriteしました。

344 :nobodyさん:2006/09/07(木) 22:07:55 ID:???
>>342
多い少ないで言ったらまだ4.xの方が多いんじゃなかろうか。
5.x使うとこもも随分増えたからどっちが主流って言うことはなくなったと思うけどね〜

345 :nobodyさん:2006/09/07(木) 23:01:41 ID:???
>>342
既にクラスについて理解していて経験があるなら5
クラスを理解していなくて基本的な部分から勉強するなら、どっちでもそんな変わらない
勉強が主な目的ならね

正直どっちからやってもそんなに違いは無いでしょ

346 :nobodyさん:2006/09/08(金) 00:34:55 ID:???
>>337
サイトからZIPファイルのダウンロード→OK
ダウンロードしたファイルをそのままアップロード?→まぁOK
アップロードされたZIPファイルをサーバー上で解凍→OK

でも何がしたいのかよくわかんね。

347 :342:2006/09/08(金) 01:02:57 ID:???
>>344,>>345
Javaでオブジェクト指向の経験はあるので、
5.xから入ってみることにしまふ。
ありがとうございますー。

348 :nobodyさん:2006/09/08(金) 04:30:03 ID:???
4.xでも一応オブジェクト指向は使えるよ。
ただJavaの形により近いのは5.xかな。

349 :322:2006/09/08(金) 08:13:59 ID:???
>>323さん
返信有難うございます。

MySQL内はUTF-8で
出力はEUC-JPにしたいです。
Mysqlからとって来た配列をmb_convert_escapeでエンコードするだけでは出来ないと結うことでしょうか?

350 :nobodyさん:2006/09/08(金) 08:20:24 ID:???
mb_convert_escapeなんてあったっけ・・・
それにSQLのバージョンによっては文字コードを投げないと駄目だったような気がする

351 :nobodyさん:2006/09/08(金) 08:26:11 ID:???
captchaで画像をゆがめさせる処理は、
GDのどの関数を使って実現させるのでしょうか?

352 :nobodyさん:2006/09/08(金) 08:50:17 ID:???
>>351
PEARにあるらしい。過去スレから発掘。

【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/441
PEAR::Text_CAPTCHA
ttp://pear.php.net/package/Text_CAPTCHA
ttp://pear.plus-server.net/package.text.text-captcha.html
紹介ページ
ttp://www.doyouphp.jp/sample/sample_others_captcha.shtml
ttp://kawama.jp/archives/2006/05/peartext_captch.html
ttp://blog.poyo.jp/archives.php/categ-1/year-2005/month-1/id-1106990727

353 :322:2006/09/08(金) 08:50:46 ID:???
>>350さん
レス有難うございます。
mb_convert_encodingでした...
XREAに問い合わせたところ、
set names ujis;
を使えといわれたのですが検索してもよく分からず困っております。

354 :nobodyさん:2006/09/08(金) 08:55:38 ID:???
>>352
どうもありがとうございます!
PEAR使ったことないのですが、
これを機に使ってテストしてみたいと思います。

355 :nobodyさん:2006/09/08(金) 09:13:19 ID:???
>>353
なんでお前はみんなのアドバイスをいちいち無視して質問を続けるんだボケ。

XREAにそうやれと言われたのなら、やってみればいいだろチンカス。

356 :nobodyさん:2006/09/08(金) 09:14:33 ID:???
>>352
set names ujis
set names sjis
set names mysql
とかぐぐってもわからん?
SQLとしてPHPからDBクライアントに文字コードを指定するってこった
でDBテーブルの文字コードは何なんだ?UTF8(=ujis)なら
set names ujis
で構わんけどさ。
ようはDBのコードにあわせろってことだ
a.PHPの文字コード
b.DBクライアントの文字指定
c.DBの文字コード
set names で b=cにしろってことだ
aとbの違いは、mb_convert_encodingで九州しる
これでわからんかったら、もうあきらめな

357 :nobodyさん:2006/09/08(金) 09:15:32 ID:???
意味が理解できないんだろ、最近はこんな人達ばかりだよ

mysql_query("set names ujis;");

358 :322:2006/09/08(金) 09:21:02 ID:???
>>356-357さん
ありがとうございます。
357さんの仰る通りです。
いきなりこれを使えとだけ言われたので意味が分からず困っておりました。

>>355
いつアドバイス無視した?死ね

359 :356:2006/09/08(金) 09:21:03 ID:???
>>353 に宛てた回答ですたorz

>>353
あんた自分で試しもせずに、質問ばっかしてんのか?
そりゃ最低だな。答えるんじゃなかったよ

360 :nobodyさん:2006/09/08(金) 09:23:57 ID:???
礼儀も知らない質問房にマジギレしても・・・^^;

361 :356:2006/09/08(金) 09:26:17 ID:???
>>358
えっ、「set names ujis やってみ」って言われて
mysql_query("set names ujis;");
が探せんのか?
ぐぐったらいくらでも答えでてくるって・・・
俺から言わせたら、自分で調べることを放棄してるようにしか
見えんぞ?
たぶん >>355 はそういうことを言ってるんだとおもうよ

362 :nobodyさん:2006/09/08(金) 09:26:44 ID:???
てか下らない質問スレなんだしまた〜りいこうぜ
>>355
切れるくらいなら放置しる!

363 :322:2006/09/08(金) 09:33:36 ID:???
お前らは人力検索機だからな!
自分で調べるより楽チンでいいぜ!これからもしっかり答えろよな!

364 :nobodyさん:2006/09/08(金) 09:50:03 ID:???
IDだしてない時点で荒らし判定 無視確定

365 :322:2006/09/08(金) 09:54:22 ID:???
>>359さん
すみません。mb_startもset names ujisも試したのですが変わらなかったので質問させていただきました。
とても分かりやすいご回答、感謝いたします。

mysql_query("SET NAMES ujis");
〜〜〜
echo mb_convert_encoding($msg, 'SJIS', 'auto');

で変換されました。(理想としてはEUC-JPがよかったのですができませんでした)
本当に有難うございます。

>>360
「質問房」は否定しませんが、「礼儀を知らない」と言われるのは心外です。
もっとヘコヘコしろということでしょうか?
>>363
ほんと死ね
お前見たいのがいるから2ちゃんは掃き溜めっていわれるんだよ

366 :nobodyさん:2006/09/08(金) 10:00:38 ID:???
> お前見たいのがいるから2ちゃんは掃き溜めっていわれるんだよ

(゚д゚)

367 :nobodyさん:2006/09/08(金) 10:22:19 ID:???
これはひどい自演ですね

368 :nobodyさん:2006/09/08(金) 10:27:25 ID:???
>>322はホント狂ってるなwww マジでダメなクズ人間だ、コイツ。

>>355
>いつアドバイス無視した?死ね
>>360
>「礼儀を知らない」と言われるのは心外です。

この二つの発言の矛盾にすら気が付かない>>322
やはりIDを出さないチンカス質問厨は無視する、というルールを徹底すべきだと思ったね。

369 :>>322の華麗なる歴史:まとめ:2006/09/08(金) 10:37:36 ID:???
>>322において、質問開始(実はこれが初めての質問ではない。マルチ投稿だった)

>>349において、>>323からのアドバイス・指示を無視。それらについて答えず、勝手に質問を重ねる。

>>353において、XREAから具体的な指示を出されたのにまたも無視。
「set names ujis」という明確なキーワードがあるにも関わらず、それを「検索できない」という基地害っぷりを披露。

>>358において、「いきなりこれを使えとだけ言われたので意味が分からず」などと、ダメダメチンカス・マニュアル人間っぷりまで開陳。
なおかつ、>>355の指摘に逆ギレ。しかも「死ね」という犯罪的な脅迫発言が飛び出す。

>>363において、騙りらしき者が現れる。これもそもそもIDを出さずに質問した>>322が悪い。

>>365において、「もっとヘコヘコしろということでしょうか?」などと見当違いの頓珍漢なことを言い出す始末。
そして今度は>>363に向けて脅迫&侮辱発言。

370 :nobodyさん:2006/09/08(金) 11:23:55 ID:???
香ばしいな。夏休みは終わってないの?

371 :nobodyさん:2006/09/08(金) 12:00:05 ID:???
クライアントエンコーディングの知識もないんじゃどうしようもないな。

372 :nobodyさん:2006/09/08(金) 12:22:07 ID:???
>>322は1スレに1人、出るか出ないかと言われている幻の逸材ですな。
社会のクズ人間さようなら。アッハッハーm9(^Д^)

373 :322:2006/09/08(金) 12:29:33 ID:???
>>369
はぁ?こっちは質問しただけだよ、なんでそういうひねくれた考えにしかならないわけ?答えがわからないなら書くなよカス。

>>372
お前が一番クズだよ。


mb_convert_set_name_ujis関数を使ったら全く文字化けされなくなりました。ありがとうございます、XREAさん。

374 :nobodyさん:2006/09/08(金) 13:07:09 ID:???
322にかまってるやつも、322と名乗ってるやつも同一人物。
ということでスルー汁。

375 :nobodyさん:2006/09/08(金) 13:12:42 ID:???
>>369
2ちゃんで久々にワロタww

376 :nobodyさん:2006/09/08(金) 13:26:24 ID:???
>>363
「死ね」が脅迫になるとは初耳だねw。
確かに322はちょっとおかしいけど
よくありがちなミスだったから今後のために良いと思うよ

377 :nobodyさん:2006/09/08(金) 14:31:03 ID:???
伸びてると思ったら香ばしい人キテター!!

乗り遅れた事を激しく悔やむ。

378 :nobodyさん:2006/09/08(金) 15:11:56 ID:???
指定したURLからそのフォルダのディレクトリパスを取得
(ASPでいうところのServer.MapPath)みたいなのをPHPで
行うとすればどのような方法が良いでしょうか?

379 :nobodyさん:2006/09/08(金) 15:19:10 ID:???
>>378
も少し説明すると、独自にログファイルを生成したいのですが、
どの階層のファイルからcallされても、トップの下にあるLogフォルダに
(URLでいうと *****.com/log/日付.log)な感じで生成したいのです。
realpathだと、自分自身からの相対パスでないと駄目なようなので。
できれば、上流からのパスで指定したいです。

380 :nobodyさん:2006/09/08(金) 15:25:47 ID:???
>>379
$_SERVER['DOCUMENT_ROOT']にドキュメントルートのパスが入ってるが。

381 :nobodyさん:2006/09/08(金) 15:51:17 ID:???
>>380
そうなんですけど、/opt/の下にある仮想ディレクトリにあるので、
使えないのです。
美しくないけど、グローバル定数に入れておくのが一番楽ですかね orz

382 :nobodyさん:2006/09/08(金) 18:23:15 ID:???
ちょっと今実験する環境がないので教えてください。

fopen('http://USER:PASSWORD@domain/', ・・・・)
という書き方でdigest認証を突破することはできますか?
もし駄目なら何か方法はありますか?

けして悪用するわけではないで教えてください。

383 :nobodyさん:2006/09/08(金) 18:33:41 ID:???
実行中のファイルのパスが知りたいってことだろうか
それならdirname(__FILE__)とかでいいんだろうけど
固定のディレクトリって決めてるなら
むしろabsoluteな指定の方がいいんじゃないか
いまいち説明を把握できてないかもしれん

384 :nobodyさん:2006/09/08(金) 19:58:35 ID:???
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。



385 :nobodyさん:2006/09/08(金) 22:02:26 ID:???
#rrbbgg を 10進数の r g b に変換するクラス
どっかに落ちてないでしょうか

386 :nobodyさん:2006/09/08(金) 22:13:13 ID:???
そんなもん探す時間で作れるだろ

387 :nobodyさん:2006/09/08(金) 23:09:18 ID:???
>>385
そんなもん5分で自作しる。
function decrgb($c) {
return array(
hexdec(substr($c, 1, 2)),
hexdec(substr($c, 3, 2)),
hexdec(substr($c, 5, 2)),
);
}
var_dump(decrgb("#00FFA0"));
出力結果
array(3) {
[0]=>
int(0)
[1]=>
int(255)
[2]=>
int(160)
}

388 :nobodyさん:2006/09/08(金) 23:12:40 ID:???
>>387
substr使うより文字の位置で指定したほうがよくね?

389 :nobodyさん:2006/09/08(金) 23:15:28 ID:???
>>387
ヒント 正規表現

390 :nobodyさん:2006/09/08(金) 23:18:55 ID:???
正規表現の方が遅い

391 :nobodyさん:2006/09/08(金) 23:34:02 ID:???
>>389
むしろsubstrの方が適切

392 :nobodyさん:2006/09/08(金) 23:35:40 ID:???
>>388
文字の位置って hexdec($c{1} . $c{2}) みたいな感じ?
substrとどっちがマシか微妙な感じだけど…

393 :nobodyさん:2006/09/08(金) 23:42:29 ID:???
俺としてはsubstrに一票かな。

まあ、ヘビーなループに放り込まない限りは期待した結果を得られればいい。

394 :nobodyさん:2006/09/08(金) 23:49:01 ID:Bt7aH3H5
unnti


395 :nobodyさん:2006/09/09(土) 00:03:49 ID:???
WEBのありがちな設定画面で
項目がたくさんあるのですが、どうやったら簡単に
DBから引っ張った値を表示できますかね?
テキストボックスと、チェックボックスと、ラジオボタンと
動的に項目数が増える項目があるのですが。


396 :nobodyさん:2006/09/09(土) 00:06:31 ID:???
>>395
まず自分でソースを書いて分からない所を聞いてください。
ここはWEBプログラムする人の板です。

あとID出して下さいね。
詳細は>>1を一読の事。

DBから値を取得して、必要なHTMLを表示するとしか答えにくい質問のような・・。

397 :nobodyさん:2006/09/09(土) 00:17:53 ID:???
>>395
仕様をきっちり決める

398 :nobodyさん:2006/09/09(土) 00:26:47 ID:???
>>395
チェックボックスやラジオボタンが出てくるような設定画面だと、
設定可能な有効範囲とか種類が決まってないといかんと思う。
そういったデータをどのように格納しておくかで設計も決まってくるかと。

399 :395:2006/09/09(土) 00:33:37 ID:???
いま、DB仕様と画面仕様(HTMLソースがある)、設定可能範囲が決まっていて
あとはコーディングするだけなのですが、
いかんせん項目が多いので
楽な方法で実装したいのですが。。
別に根気よく書けば問題ないのだが、
どうやれば一番効率いいかなと思って。


400 :nobodyさん:2006/09/09(土) 00:44:12 ID:???
>>399
DBでもiniファイルでもあるいは単なるPHPの配列データでもいいから
設定項目と設定値の型と設定可能範囲などを記録したもの作って、
あとはそれ読み込んでループで回しながらデータ通りにHTML吐くだけかと。

401 :395:2006/09/09(土) 00:52:22 ID:???
>>400
なるほど。ありがトン
60部品くらいある画面6画面も3日で作らないといけなくて、
困っていますた。
あと、追加ボタンがあって、動的に増えていく項目もあるのですが、、
これはどう扱えばいいのでしょう。DBからの読み書きがあるのですが。。。
これも悩みの種なのです。設定項目数が一定しないから、iniにも書きづらいです

402 :nobodyさん:2006/09/09(土) 01:10:10 ID:???
PEAR HTML_QuickForm あたりで自動化・・出来る仕様なのかな

403 :nobodyさん:2006/09/09(土) 01:18:59 ID:???
>>401
聞いてる限りじゃ3日どころか1日でやる仕事だがw
動的に増えるフォームはその登録項目自体に現在の項目数をhiddenで持たせて
追加ボタンクリック→1個増やして表示、でいいんじゃないの?
iniには初期数と最大数でも格納しときゃいいと思うが。

イマイチレベル低すぎて、どこで困ってるのか分からんです。
なんか仕様を整理して後はその通りに実装する、ってだけで終わる話にしか聞こえない。

404 :nobodyさん:2006/09/09(土) 01:34:07 ID:???
>>401
作り方がどうこうっていうより、各項目の状態を仕様としてまとめられてない時点で
多分今のあなたにはそれを効率よく作ることは無理だと思う。
諦めて地道に作った方がいいんじゃないのか?

405 :nobodyさん:2006/09/09(土) 01:35:22 ID:???
とてもありがちな勘違いだが、PHPでもJavaでも、
必要なのは言語の勉強ではなく設計の勉強。
言語仕様が分かればプログラムが書けると思うのは壮絶な勘違い。

406 :395:2006/09/09(土) 01:47:06 ID:???
うーんなるほど。。。
あと製造開始まで2,3日あるからそれまで仕様をまとめます
3日といわず1日でできるように。。
HTML_QuickForm教えてくれた方もありがとうございました

407 :nobodyさん:2006/09/09(土) 01:49:31 ID:???
それだけの入力フォームやボタン数で6ページ分、やろうと思えば1日でできるけど、1日でやるのが当たり前というほどでもない。
レイアウトはかなり作りこまれたものになると思うし。

とりあえず3日かけてベタ書きするのみ。
そういう仕様にしてしまったのなら。

「使いづらいからページ分けて」と言われ、嫌にならないことを祈るよ。

408 :nobodyさん:2006/09/09(土) 02:25:23 ID:???
画面仕様をHTMLでもらってるならレイアウトにはそれほど悩まないんじゃないか?
渡された画面を動的生成できるように作るだけだろ?

409 :nobodyさん:2006/09/09(土) 06:26:39 ID:???
>>376
>「死ね」が脅迫になるとは初耳だねw。

>>322が慌てて自己弁護に走り出しました。
しかしもう手遅れです。彼はもう既に犯罪者なのですから。

410 :nobodyさん:2006/09/09(土) 07:18:40 ID:stHF8kGV
もういいって。

411 :nobodyさん:2006/09/09(土) 11:18:36 ID:???
>>403
hiddenにって聞くと・・・
セキュリティ的には・・・と条件反射してしまう私

412 :nobodyさん:2006/09/09(土) 11:27:16 ID:???
効率よくフォームを生成するといっても、なにかしらの
最低限の条件の上での設計になるだろう。で、その設計
通りに作ると、当初想定していた条件範囲内での変更
であれば簡単に対応できる。
しかし、設計の想定条件を越える変更を加えようとすると
折角時間かけて設計したのにグズグズになってしまうこともある。
そうなると、あぁ〜前提条件ミスったな。とか
あれもこれも、欲張るんじゃなかった。とか
いっそのことベタ書きでもよかった。とか後悔することもある。
結構、バランス難しいと思うけどね。


413 :nobodyさん:2006/09/09(土) 11:27:33 ID:???
設定画面相手にセキュリティ云々言うのもどうかと思うがw
ホントに脊髄反射だな。
そもそもhiddenデータも含めてエラーチェックされてれば
セキュリティ的な問題は出ないよ。

414 :nobodyさん:2006/09/09(土) 11:29:19 ID:???
>>412
そもそも何日もかけて頑張って設計するようなものではないと思う。

415 :nobodyさん:2006/09/09(土) 11:44:57 ID:???
>>411
hiddenであろうとなかろうと、バリデートがしっかりしてればいいわけで。

416 :nobodyさん:2006/09/09(土) 11:52:34 ID:???
ID出してないやつの質問に答えるなと。

417 :411:2006/09/09(土) 12:25:54 ID:???
そりゃまぁ、ケースバイケースだが、設定画面であっても
セキュリティは重要な時代になってると思うよ?CSRFあるしな
hiddenの件は書き方足りなかったね。すんません。
案外、(hidden=画面から見えない項目)<>ユーザからの入力項目
と認識してない人が多いから。hiddenもSubmitの都度他の入力項目と
同じと考えようね。(hiddenであろうとなかろうと、って認識してない
人が多いって事)ということを言いたかった。


418 :411:2006/09/09(土) 12:35:04 ID:???
あ、なんか文章変だ
まぁいっか・・・

419 :nobodyさん:2006/09/09(土) 12:47:01 ID:???
まぁ、言いたいことは分かる。

420 :nobodyさん:2006/09/09(土) 13:09:25 ID:bt/VDzRM
php4.3 redhatES4 apache1.3 mysql4.1 です。
PEARのDB_DataObjectで「UPDATE」するときの質問です。
DB_DataObjectのインクルードや設定ファイル読み込みが終わったとしします。

numが1のデータを探して年齢を変更するといった場合は

$hoge=DB_DataObject::factory("hoges");
$hoge->get(num,1);
$hoge->age = 15;
$hoge->update();

でできるのですが、numが1で名前がyamadaのデータの年齢を変更するといった場合がうまくできません。

$hoge=DB_DataObject::factory("hoges");
$hoge->whereAdd('id = 1');
$hoge->whereAdd('name = yamada');
$hoge->age = 15;
$hoge->update();

PEARのドキュメントをみても、複数絞込みのUPDATEの例がなくてこまっています。
直接SQL query()をなげるしかないのでしょうか。

421 :nobodyさん:2006/09/09(土) 14:28:27 ID:???
>>420
query投げるならquery()メソッド使えばいいじゃないの

422 :かむかむ:2006/09/09(土) 15:03:38 ID:WZEde27e
POST,GETを取得するクラスを作っているのですがなんか微妙です…
もっと効率的な方法ありますでしょうか?

class Globals {
public $user = array();

//POST
function Post($element) {
if(!is_array($element)) {
$this->user[$elsement] = htmlout($_POST[$elsement]);
} else {
foreach($element as $element=>$key) {
$this->user[$elsement][$key] = htmlout($_POST[$elsement][$key]);
}
}
}
//GET
function Get($element) {
if(!is_array($element)) {
$this->user[$elsement] = htmlout($_GET[$elsement]);
} else {
foreach($element as $element=>$key) {
$this->user[$elsement][$key] = htmlout($_GET[$elsement][$key]);
}
}
}

423 :nobodyさん:2006/09/09(土) 15:09:21 ID:???
>>422
その前にひどいクラス名、メソッド名だと思うぞ。

424 :かむかむ:2006/09/09(土) 15:22:41 ID:WZEde27e
>>423
返レスありがとうございまする!
基本的に分かりやすいのがベストだと思っているんでこんなクラス名・メソッド名にしました(`□′)b

$global = new Globals;
$global->Post('text');
$global->Get('hoge');
こんな感じでインスタンスしてますが、できればGET,POST関係なくとれれば(内部で対応)できればと考えてます
$global = new Globals;
$global->_GP('text');
$global->_GP('hoge');

425 :420:2006/09/09(土) 15:24:18 ID:bt/VDzRM
>>421
ありがとうございます。やはりそうですかね。できれば、テーブル構造の変化も予想されるので、直接SQLを記述する方法は取りたくなのです。

query();使う以外に方法はないものでしょうか。

426 :nobodyさん:2006/09/09(土) 15:40:56 ID:???
よろしくお願いします。

フォームからの書き込みをphpで処理し
xmlとして出力するものを作っています。
Operaで全角文字を書き込むと、
一部の文字が勝手に実体参照に変換され送られています。
(たとえば「〜」が「?」に)。
このため、文面の一部としてフォームに書き込まれた「&」を「&」に変換する際、
既に実体参照に変換された全角文字の先頭の「&」までもが
更に「&」に変換されてしまい、ぐちゃぐちゃになってしまいます。
Firefoxではこうしたことは起きないようです。

どなかたうまい解決法を教えてくださいませんか。お願いします。

427 :nobodyさん:2006/09/09(土) 15:42:33 ID:???
>>426が化けたので一部訂正

(「〜」が「&♯12316;」に)

428 :nobodyさん:2006/09/09(土) 15:48:31 ID:???
>>426もうひとつ化けてますorz

 「&」を「&amp;」に変換する際、
 更に「&amp;」に変換されてしまい、

です。すいません。

429 :428:2006/09/09(土) 16:10:49 ID:WZEde27e
さっさと答えろや

430 :nobodyさん:2006/09/09(土) 16:15:29 ID:???
>>424
そういうのをクラスにするのは、ただの無駄だと思うけど。

どうしてもGET, POSTを統一したければ
$var = (getenv("REQUEST_METHOD") == 'GET') ? $_GET : $_POST;
こんなんで、十分では。

431 :426:2006/09/09(土) 16:16:40 ID:???
自己レスです。

やっぱり実体参照を全部実体に変換して、
その上で再度実体参照に変換するしかないですよね。

432 :nobodyさん:2006/09/09(土) 16:59:51 ID:???
>>430
ちょ、おまw
こんなことができなくなるよ。

<form method="post" action="example.php?foo=getdata">
<input name="foo" type="text" value="postdata">
</form>



433 :nobodyさん:2006/09/09(土) 17:11:07 ID:???
その書き方はおかしい

434 :nobodyさん:2006/09/09(土) 17:41:53 ID:???
通らんと思うがw

435 :nobodyさん:2006/09/09(土) 18:26:30 ID:???
>>422
俺も1行目の時点で既に「おっとっと…」って思ったぞ。

436 :nobodyさん:2006/09/09(土) 19:44:30 ID:???
>>426
偽者>>429が出てるかもしれません。
>>1を読んでIDを出してください。

437 :nobodyさん:2006/09/09(土) 20:17:41 ID:???
>>433-434
普通に通るしやってるけどダメなの?ダメだとちょっとヤバイんだけどw

438 :nobodyさん:2006/09/09(土) 20:19:18 ID:???
偽者等で荒れるのでID出して無い人には答えないでくださいね

439 :nobodyさん:2006/09/09(土) 20:22:38 ID:???
>>432
仮に出来たとしてもやるべきではないわな。
POSTなのにわざわざURL引数としてパラメータ指定する意味がわからん。

440 :nobodyさん:2006/09/09(土) 20:51:02 ID:???
>>437
うんそれブラウザ依存。本来はできないと思った方がいい。

441 :nobodyさん:2006/09/09(土) 21:51:01 ID:???
>>440
いや、GETとPOSTの組み合わせは問題ないと思うけど

Firefox、Opera、IE、Safari、au W31CA、DoCoMo So505is、Lynx で問題無かったし、
W3C のHTMLチェックと、HTML-lint のチェックも通ったよ

それに、HTMLの仕様をざっと読んだ限りでは問題点は発見できなかった
見落としているかもしれないが…


442 :nobodyさん:2006/09/09(土) 21:55:29 ID:???
>>441
FOMAだとダメですよ

443 :初心者ですいません:2006/09/09(土) 23:05:47 ID:7mfku9TF
教えて下さい

<?php include("○○○.php"); ?>
これは外部からphpを呼び込めますが。

これを拡張子がHTMLでも呼び出したいのですが
方法とかあるのでしょうか?
拡張子がphpの場合は、うまいことよびだされるのですがhtmlにすると
エラーがでて無理です。
.htaccessとうでやり方がありましたら教えて下さい m(_ _"m)

444 :nobodyさん:2006/09/09(土) 23:08:20 ID:???
>>443
どんなエラーが出るの?
多分普通に出来ると思うだけど

445 :nobodyさん:2006/09/09(土) 23:15:12 ID:???
>>443
やっときちんとID出してる質問者さんが・・
読み込んだHTMLがPHPとして問題があるからエラー出てるのかな

446 :nobodyさん:2006/09/09(土) 23:22:40 ID:???
PHPレベルではGETとPOSTの組み合わせ。で通じるとおもうが
HTTP的には「POSTメソッドのリクエスト先URLがexample.php?foo=data」
となっているというだけ。というのがより正しいような気がする。

で、本題だけど、少なくとも
<form method="post" action="example.php?foo=data">
<input name="hoge" type="text" value="postdata">
なんていうのは多くのサイトでやってることだよね?

でできる?できない?と意見が割れてるのは
<form method="post" action="example.php?foo=data">
<input name="foo" type="text" value="postdata">
と同じ名称(foo)を指定した場合のことですよね?

ちょっと読んでて気になったのでまとめてみたずらー


447 :nobodyさん:2006/09/09(土) 23:25:10 ID:???
>>443
そのHTMLファイルの拡張子をPHPに変えるというのも一つの手だな
じゃあ俺はちょっくらラーメン食べに言ってくる

448 :nobodyさん:2006/09/09(土) 23:26:02 ID:???
>>443
php 拡張子 html
でぐぐると吉と出たずらー


449 :nobodyさん:2006/09/09(土) 23:26:49 ID:???
>>443

<?php include("○○○.php"); ?>
が書かれているものの拡張子をhtmlにしたいの?
それとも、
<?php include("○○○.html"); ?>
にしたいの?

前者なら、
AddType application/x-httpd-php .html
後者なら常に可能なはず。
動かないのであればエラーが出ているはず。
error_reportingとdisplay_errorsを適切に設定してみて。

450 :nobodyさん:2006/09/09(土) 23:27:10 ID:???
>>442
便乗だけど
FOMAでどんな問題が生じるのか知りたい

451 :nobodyさん:2006/09/09(土) 23:28:59 ID:???
たまには variables_order のことも思い出してあげてくださいです。。。

452 :441:2006/09/09(土) 23:29:12 ID:???
>>446
あ、なるほど
両方 name が "foo" だったのね
それは気がつかなかった

ちなみに、この場合だけど、リクエストURIと、POSTデータは別物なので、
両方とも同じ名称を用いてもHTTP/HTMLの仕様上問題は生じないはず

Webプログラミング言語がどうなってるかは知らないが php5 では少なくとも
問題は生じてないみたい


453 :nobodyさん:2006/09/09(土) 23:37:20 ID:???
>>450
actionで書いたGETパラメータが丸っきり届かない

454 :nobodyさん:2006/09/09(土) 23:38:37 ID:???
>>446
違います。パラメータ名の重複とか関係なく
FOMAではPOSTメソッドでactionに?〜を付けても無視される。

455 :nobodyさん:2006/09/09(土) 23:41:54 ID:???
配列の要素が1つだけの時 {例 array('hoge')}
簡単に文字列に変換する方法はないでしょうか?
(string)で型変換してみましたが、変わりませんでした。

現在はimplodeでやっていますが、もう少し簡単にできる方法があればご教示お願いします。

456 :初心者ですいません:2006/09/09(土) 23:47:59 ID:7mfku9TF
>>444-445
>>447-448
>>449
ありがとうございます m(_ _"m)ペコリ
>>449さんの前者のたとえが正解です。

大変参考になり助かりました!
検索をして勉強もかねてそのようにしたいと思います。
本当にありがとうございました。
ここできいてよかったです!

457 :かむかむ:2006/09/09(土) 23:51:23 ID:WZEde27e
>>430 >>432 >>435
返レス有難うございまする!
では
$_POST['hoge']
$_GET['hoge']
でとるしかないのでしょうか?

458 :nobodyさん:2006/09/09(土) 23:51:48 ID:???
>>454
どうでもいいけど、それでブラウザ依存とか言われたら困るんだけど
あくまでも 「FOMA の欠陥」 だから。

だいたい、メールアドレス の @ の前に "." を使えるようにして、それを RFC準拠だと主張したりするのがドコモだからね
Microsoft のメールサーバにも拒否されるまぬけなアドレス
勿論、Unixの多くのMTAでもこんな仕様違反のメルアドは使えないから不着トラブルも多発



459 :nobodyさん:2006/09/09(土) 23:54:26 ID:???
>>457
$_REQUEST['hoge']

460 :nobodyさん:2006/09/10(日) 00:04:22 ID:???
>>458
最近、他のキャリアもDocomoの真似するようになってきて大迷惑だよね。
あんなメールアドレス通すなよなー。

461 :nobodyさん:2006/09/10(日) 00:24:00 ID:yhAV7xHo
ベースとなるURL(例: http://example.com/foo/bar.html)から
相対パス(例: ../hoge/foobar.html)を計算して、絶対URL(この例だと「http://example.com/hoge/foobar.html」)を求める
にはどうすればよいでしょう?

そのような関数が無ければ、自分で定義するしかありませんが、もしそうなら
正規表現であーだこーだやって絶対URLに変換するしかありませんよね?

462 :かむかむ:2006/09/10(日) 01:03:50 ID:IiyA9HmK
>>459
それだと配列にするのが手間なんですよね

463 :かむかむ:2006/09/10(日) 01:06:43 ID:IiyA9HmK
>>461
絶対urlを相対パスにしてそれから絶対urlを求めるって支離滅裂じゃないかな?


464 :nobodyさん:2006/09/10(日) 01:31:31 ID:???
>>454
うげ〜
そんなこっちゃ、多くのWebサイトは
FOMAからは正常にPOSTできないという
トラブル続発ってことですよね。
FOMAって市場に出てから結構経ってるのにねぇ〜
っていうかFOMAのブラウザが悪いのか?
あ、すれ違いな話題になってきたのですが、
興味あるので、ググルキーワードだけでも
おしえてもらえませんか?<(_ _)>
FOMA GET POST あたりでトライしてみたのですが
見つからなかったので

465 :nobodyさん:2006/09/10(日) 01:33:24 ID:???
>>464
普通そういう場合にはhidden使ってるだろうから
問題にならないだけだと思うよ。

466 :nobodyさん:2006/09/10(日) 01:33:43 ID:ofHvlQB3
突然ですがhtml内にアクセスした人のIPやらホストを表示するphp、cgiもしくは方法ってありますか?

467 :nobodyさん:2006/09/10(日) 01:35:32 ID:???
>>466
ある、がお前には教えたくない

468 :nobodyさん:2006/09/10(日) 01:37:48 ID:ofHvlQB3
>>467
別に詐欺とかそういう黒いことに使うつもりはありません。

ネットワークソフトの解説でわかりやすくするために使いたいのですが
教えていただけないでしょうか?

469 :nobodyさん:2006/09/10(日) 01:38:27 ID:NtN9U8j4
if構文でマイナス値を認識させることって出来ますか?

if($a < -5) {

マイナス5よりも小さければ何々みたいな

470 :nobodyさん:2006/09/10(日) 01:40:53 ID:???
>>469
できる。というか試してみればすぐに分かる。

471 :nobodyさん:2006/09/10(日) 01:42:35 ID:???
>>469
なぜ試さない?

472 :nobodyさん:2006/09/10(日) 01:44:07 ID:???
>>466
ある、がここはプログラムをする人のスレなのですれ違い
移動してください

>>469
試せばすぐ分かります。
上と同じなのでプログラムする気が無ければ別のスレへ行ってください。
やって出来なかったのであればソースを提示してください。

473 :nobodyさん:2006/09/10(日) 01:45:47 ID:???
ごめんなさい 
試したけど出来なかったんです
でも今、最小値を一番頭にもってきたら出来ました
並び順なんて関係あるの


474 :nobodyさん:2006/09/10(日) 01:54:30 ID:???
>>461

名前:772[] 投稿日:2006/04/07(金) 19:27:39 ID:jJE5oi/7
772?で公開した?URI?の?validation?システムをバージョンアップしました。
相対?URI?も解釈可能です。

【設置場所】?http://trashtoy.dw.land.to/app/uri/
【ソース】?http://trashtoy.dw.land.to/app/uri/uri.zip
【プログラミング経験】 3年?
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。?
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。?
【実行例】
http://trashtoy.dw.land.to/app/uri/?uri=../section/1.html#TOC&base=http://example.com/sitemap/index.html
http://trashtoy.dw.land.to/app/uri/?uri=file:///C:/Program%20Files/Internet%20Explorer
http://trashtoy.dw.land.to/app/uri/?uri=mailto:this_is_a_test@example.com
【備考】 花見をもっと楽しみたかった。



参考になればいいね

475 :nobodyさん:2006/09/10(日) 01:55:47 ID:???
>>473
同じ条件では試してないな。
並び順てなんだろう、原因が分からないならソース貼ったほうが確定できるかもよ。

476 :nobodyさん:2006/09/10(日) 02:15:46 ID:???
>>473
並び順のイミが分からない。
単なるロジックのミスじゃないかと思う。

477 :nobodyさん:2006/09/10(日) 02:19:49 ID:???
こんな感じです これ使い方あってますか?

if($s[1] < -5){
$pu = "ぎゃああああああああああああああああ";
} elseif($s[1] < 0){
$pu = "フーン";
} elseif($s[1] > 10){
$pu = "うはwwwwwおkwwwwwwwwwwwwwwwww
} elseif($s[1] > 3){
$pu = "よっしゃああああああああああああ";
} else {
$pu = "おっおっおっ";
}

並び変えるとダメみたいなんですが。

478 :nobodyさん:2006/09/10(日) 02:23:13 ID:???
>>477
並び替えた内容も見ないと断定はできないけど、
多分 if($s[1] < 0) を前に置いたんだろ?
-5より小さい値なら当然0よりも小さいわけだから
まずそっちに該当しちゃうだろ。

もうちょっと論理的に物事を考えないとプログラマにはなれないよ。

479 :nobodyさん:2006/09/10(日) 02:30:01 ID:???
これはひどい

480 :nobodyさん:2006/09/10(日) 02:38:46 ID:???
なにグラマにならなれますか?

481 :nobodyさん:2006/09/10(日) 02:39:37 ID:???
>>477
勘違いしてるかもだけど、
if(条件A) {
} elseif(条件B) {
}
ってのは条件AとBをいっぺんに調べてくれるものじゃなくて、
まずAを調べてそれに該当しない場合のみBを調べるもの。
Aに該当してしまったらBはもう調べてくれない。

482 :nobodyさん:2006/09/10(日) 02:41:28 ID:???
ソース貼って正解だったね

483 :nobodyさん:2006/09/10(日) 02:42:27 ID:???
ちょっと可愛いな
ソースをちゃんと晒すところが良いね。
ソースも出さずに分からない!って奴が多すぎる

484 :nobodyさん:2006/09/10(日) 02:50:57 ID:???
>>1-484
なるほどif構文が理解できました
一括のお礼で失礼かと思いますが
色々、ありがとうございました。

485 :nobodyさん:2006/09/10(日) 02:54:45 ID:???
>>484
すごいアンカーの貼り方だw
それは感謝しすぎだろうw

486 :nobodyさん:2006/09/10(日) 05:38:40 ID:???
お金の単位を区切るのに効率の良い方法はありませんか?
と聞こうと思ったら「number_format()」なんて便利な関数があったのですね。

ちなみにこれが無い場合どのようなやり方が効率が良いでしょうか。
自分は今金額の長さを最初に図ってifで条件分岐させようと思っていました。
3で割って1余るとき2余るときそれ以外の3種類です。(先頭から区切るので余る桁でコンマの打ち方を変えてます)

487 :nobodyさん:2006/09/10(日) 05:42:31 ID:???
>>486
number_format()のあるPHPでそんなこと考えたこともなかったけど、
あえて必要が出たら
ttp://www.din.or.jp/~ohzaki/perl.htm#NumberWithComma
を移植すると思う。

488 :nobodyさん:2006/09/10(日) 07:34:35 ID:???
いつもの自演スレに戻ってるな

489 :nobodyさん:2006/09/10(日) 09:19:06 ID:???
function nunchatte_format($value) {

490 :nobodyさん:2006/09/10(日) 10:03:44 ID:zVKYsOR2
ID無しは回答しないでください。スレが荒れます。

491 :nobodyさん:2006/09/10(日) 10:21:56 ID:???
}

492 :nobodyさん:2006/09/10(日) 10:34:33 ID:???
>>489-491
この関数はエラー

493 :nobodyさん:2006/09/10(日) 10:39:56 ID:???
>>492
PHPをパースする知能を持った人間パーサーキタコレ!!

494 :486:2006/09/10(日) 10:57:59 ID:???
早く答えてもらえますか?こっちは仕事で明日までにやらなきゃならんのですよ。あなたがた二ートと一緒にしないでください。

495 :nobodyさん:2006/09/10(日) 11:04:57 ID:vRp21kRk
http://php.no.land.to/n_book.phps
で、ローカルでテストしてみたのですが、ブラウザに書き込んだ内容が表示されません。

どなたかどうやったら表示されるようになるか、教えてください。

496 :nobodyさん:2006/09/10(日) 11:09:43 ID:???
.php

497 :nobodyさん:2006/09/10(日) 11:17:29 ID:???
このスレは大物が釣れますか?

498 :nobodyさん:2006/09/10(日) 11:51:53 ID:???
>>495
文字コード

499 :nobodyさん:2006/09/10(日) 12:28:18 ID:???
>>486
正規表現で一発

500 :クダラナェ質問です。:2006/09/10(日) 13:28:06 ID:???
いまCSVから商品データの検索をしてるのですが、

$Result=array();
$Data=file("商品.csv");
for($i=0;$i<sizeof($Data);$i++){
$lines=strip_tags($Data[$i]);
$Match=true;

現在の「商品.CSV」からの全体のデータではなく、$line[0]と$line[30]のデータ内のみから
検索データを抽出したいのですが、どうすればいいのでしょうか?


501 :nobodyさん:2006/09/10(日) 13:39:39 ID:???
注・IDなしには回答しないでください。スレが荒れます。>>1

502 :nobodyさん:2006/09/10(日) 13:46:34 ID:???
>>500
0、30用のループを別に用意するとか
ループを一つにして if($i != 0 && $i != 30) continue; とskipするとか

503 :nobodyさん:2006/09/10(日) 14:09:50 ID:QbCxbqAn
<?
$a = array(
array(1,2,3),array(1,3,2),
array(2,1,3),array(2,3,1),
array(3,1,2),array(3,2,1)
);
print_r($a);

foreach($a as &$b){
array_push($b,$b[0]);
}
print_r($a);

foreach($a as $b){
foreach($b as $c){
echo $c;
}
echo '<br/>';
}
?>

1から3までの順列を定義し、さらにその末尾に最初の値を付けた数列を得ようとしています。
しかしこれを実行すると
1231
1321
2132
2312
3123
3123
と何故か最後の1つだけ最後から2番目の数列と同じ値になってしまいます。
foreachで$bを参照にしている影響だと思いますが($bの変数名を変えればうまくいきます)、
どういう原因でこうなるんでしょうか?

504 :nobodyさん:2006/09/10(日) 14:44:12 ID:???
>>503
最初のforeachループが論理的には
$b =& $a[0]; array_push($b,$b[0]);
$b =& $a[1]; array_push($b,$b[0]);
$b =& $a[2]; array_push($b,$b[0]);
:
:
$b =& $a[5]; array_push($b,$b[0]);
というふうに展開されるので、以降は$bは「$aの最後の要素」のエイリアスとして機能する。
これを避けるには、ループの直後でunset($b);をやる。

505 :nobodyさん:2006/09/10(日) 15:10:31 ID:???
>>500
for($i=0;$i<=30;$i++){
  array_push($Result, "ageてIDを出せこのやろう");
}

$search = array(0,30);
for($i=0;$<=sizeof($Data);$i++){
  if(!in_array($i,$search)) continue;
  echo("それともこうか?このやろう");
}

506 :nobodyさん:2006/09/10(日) 16:01:48 ID:QbCxbqAn
>>504
なるほど内部ではそんなことになってたんですね。
どうもありがとうございました。

507 :nobodyさん:2006/09/10(日) 16:04:12 ID:???
内部が理解できないのにプログラム出来るのか・・
自分の理解出来る方法で試行錯誤してみたほうがいいのでは

508 :nobodyさん:2006/09/10(日) 16:21:23 ID:???
MVCモデルの俺俺フレームワークを作成してます。
入力→確認→処理
という流れが多いので、
確認の部分をフレームワークの中に組み込みたいんですが、
どこに組み込めばいいんだろう。

509 :nobodyさん:2006/09/10(日) 16:24:00 ID:???
>>508
>>1 を読んでIDを出しましょう。

510 :nobodyさん:2006/09/10(日) 16:25:20 ID:???
IDIDってうるせーんだよ チンカス。 何様のつもりだオメー



511 :nobodyさん:2006/09/10(日) 16:27:28 ID:???
最近荒れ気味だからしょうがないのでは。

512 :nobodyさん:2006/09/10(日) 16:28:35 ID:???
>>508
フレームワークの話はこちらで。

[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/

513 :nobodyさん:2006/09/10(日) 16:28:58 ID:???
>>507
>>504的な動作に自力で気付くのはなかなか難しいと思われ
大抵は原因を追求する前に諦めて別の実装を探すからな
その点理由を探してる>>503は見込みがある

514 :508:2006/09/10(日) 16:39:06 ID:???
IDIDってうるせーんだよチンカス!

515 :nobodyさん:2006/09/10(日) 16:58:17 ID:vRp21kRk
自演し放題ですね・・・


516 :nobodyさん:2006/09/10(日) 17:15:10 ID:???
>>513
自分で&付けてるんだから普通にわかるだろ
$thisを通してるケースは嵌るけど

『$this は 常にコール側のオブジェクトへのリファレンスです』

517 :nobodyさん:2006/09/10(日) 17:25:46 ID:???
そうだよなぁ・・
自分で書いたのに分からないってのは・・

518 :nobodyさん:2006/09/10(日) 17:27:48 ID:???
まあでも>>513みたいのは、PHPの一種の潜在的な問題点と言えるかもね。
参照つけたループ変数を同名で後から使うほうが悪いってのもあるけど、ループ抜けたあとまでエイリアスとして働き続けるってのは、いざバグったときにかなり発見しづらいと思う。
しかも参照してる対象が、foreachに使った配列の最後の要素と来たもんだ。

519 :518:2006/09/10(日) 17:37:25 ID:???
アンカーミスってたorz
× >>513
○ >>503

520 :513:2006/09/10(日) 17:54:04 ID:???
ちょっと焦った

521 :nobodyさん:2006/09/10(日) 18:29:53 ID:???
Warning: eregi() [function.eregi]: REG_EMPTY

ってでますけどどこかおかしいですか↓

for($n=0;$n<sizeof($ArrKeyword);$n++){
if(!eregi($ArrKeyword[$n],$lines)){
$Match=false;
break;



522 :nobodyさん:2006/09/10(日) 18:39:23 ID:???
>>521
お前の頭

523 :nobodyさん:2006/09/10(日) 18:50:38 ID:???
>>521
そういうときはeregiに何が渡されるかを(echo等で)取得してeregi一文で試すんだよ。
こういったことを繰り返せば問題解決する。

524 :nobodyさん:2006/09/10(日) 19:22:14 ID:???
ID梨には怪盗竹刀でください。スレがアレ升>>1

525 :nobodyさん:2006/09/10(日) 19:33:23 ID:???
>>524
IDIDってうるせーんだよチンカス!

526 :521:2006/09/10(日) 19:49:38 ID:???
早く教えてください。こっちは仕事(ry

527 :nobodyさん:2006/09/10(日) 20:07:28 ID:R17hn9Op
str_padを使って同じ長さにしたい文字があるのですが
mb_send_mailで送るメール本文に上で揃えたものをつけてもずれてしまいます。
どうしたらよいのでしょうか?

例 ↓の円を揃えたい
+消費税 ?円
+送料 ?円

?の所は桁が変わるので +消費税".str_pad(number_format($money),15," ","str_pad_left")."円等とやってます。

528 :524:2006/09/10(日) 20:08:37 ID:???
>>527
おまえバカか? 小学校から行きなおせ

529 :527:2006/09/10(日) 20:15:43 ID:R17hn9Op
あぁ、失礼しました。
str_pad(number_format("+消費税".$money),15," ","str_pad_left")."円
な感じでやってます。

あとメール本文だけじゃなくて普通に表示しても駄目でした

530 :nobodyさん:2006/09/10(日) 20:20:30 ID:???
>>527
それソース見ると大丈夫って落ちじゃないよね?
メールで駄目って言ってるしなぁ・・

531 :nobodyさん:2006/09/10(日) 20:28:51 ID:???
>>529
っていうかお前
number_format("+消費税".$money)
の部分おかしくね?

よく分かんないなら
str_pad と number_format を切り離して考えて味噌
というよりmoney_formatのほうがいいんじゃ

532 :nobodyさん:2006/09/10(日) 22:05:20 ID:???
ここバカばっか・・・・
教えてるやつらも低レベルやし。 まじ笑えるw

ここみるとPGとして優越感にひたれるから好きw



533 :nobodyさん:2006/09/10(日) 22:54:19 ID:???
こんな初心者向けの質問スレ見て優越感に浸るなよ・・・w
自分はレベル低いですって言ってるようなもんだよ。


534 :(^ω^) ◆shPHP/.kPI :2006/09/10(日) 22:55:25 ID:???
目糞鼻糞を笑う

535 :nobodyさん:2006/09/10(日) 23:29:35 ID:???
悲しい奴が一人紛れ込んでるな

536 :521:2006/09/10(日) 23:49:51 ID:VGwX15XG
いろいろ試してますが・・・・ どうも行き詰まりました。

わけワカメなのは何度かリロードするとちゃんと検索結果が出てくるんですよ


なんなんでしょ?



537 :nobodyさん:2006/09/11(月) 00:06:55 ID:???
>>536
実際に問題の出る条件を出さないと分かりにくい

538 :nobodyさん:2006/09/11(月) 00:07:26 ID:???
>>536
ちゃんと値は入ってるの?
>>523の言ってくれた方法は試したのか?

539 :nobodyさん:2006/09/11(月) 00:17:49 ID:Os5jvMFz
>>538
リロードすると問題なく検索結果が反映されるので、値は入ってると・¥・

$lines=strip_tags($Data[$i]);
if(eregi($KeyWord,$lines)){
array_push($Result,$Data[$i]);

こうすると問題ないのですが、1語でしか検索できずまいります。



540 :nobodyさん:2006/09/11(月) 00:26:24 ID:???
>>539
おい、話が変わってるんじゃない?
「一回リロードするとOK」なのか「何回かリロードすると偶発的にOK」なのかハッキリしろ
しかも>>521のソースにはstrip_tagsもarray_pushも入ってないだろ
それにちゃんとechoで値をチェックしたのか?値が入っていたらちゃんとそのif文に引っかかるんだろ?

541 :nobodyさん:2006/09/11(月) 00:32:43 ID:Os5jvMFz
>>540
オリジナルは↓

$KeyWord=$_GET["key"];
$KeyWord=htmlspecialchars($KeyWord);
$KeyWord=mb_convert_encoding($KeyWord,"EUC-JP","auto");
$KeyWord=mb_convert_kana($KeyWord,s);
$ArrKeyword=explode(" ",$KeyWord);
$Result=array();
$Data=file("ほげほげ.csv");
for($i=0;$i<sizeof($Data);$i++){
$lines=strip_tags($Data[$i]);
$Match=true;
for($n=0;$n<sizeof($ArrKeyword);$n++){
if(!eregi($ArrKeyword[$n],$lines)){
$Match=false;
break;
}

これで「何回かリロードすると偶発的にOKです」。 それと時折文字化けします。

でっ、↑を

$lines=strip_tags($Data[$i]);
if(eregi($KeyWord,$lines)){
array_push($Result,$Data[$i]);

に変えると1語でしか検索できませんが、文字化けも、エラーもでません。
がっ、1語でしか検索できず困ります。



542 :nobodyさん:2006/09/11(月) 00:43:57 ID:???
だから変数の中把握することから始めれ
var_dump($ArrKeyword);

543 :nobodyさん:2006/09/11(月) 00:44:02 ID:???
>>541
いくつか間違いがあるぞ
$KeyWord = mb_convert_encoding($KeyWord,"EUC-JP","auto");
まずこれ。mb_convert_encodingの第2引数にautoを入れると環境によって何故か上手く動かないことがある。
だからちゃんと文字コードを指定すること。「偶発的に〜」って部分は多分これのセイだと思う。

あとmb_convert_kana($KeyWord,s)、こいつの第2引数は本当にこの書き方で良いのか?
ちょっとマニュアルで確認してみろ

544 :nobodyさん:2006/09/11(月) 01:22:19 ID:???
>>541
もっと隠してるところあるだろ?出せ

545 :543:2006/09/11(月) 01:26:28 ID:???
あ、ごめん、間違えてる

×mb_convert_encodingの第2引数にauto
○mb_convert_encodingの第3引数にauto

だった

546 :nobodyさん:2006/09/11(月) 01:33:52 ID:???
$KeyWord=mb_convert_encoding($KeyWord,"EUC-JP","auto");
$KeyWord=mb_convert_kana($KeyWord,s);
に問題ないとおもわれw


547 :nobodyさん:2006/09/11(月) 01:38:52 ID:???
>>546
問題はある
が、「何回かリロードすると偶発的にOKです」のわけはない

548 :nobodyさん:2006/09/11(月) 01:40:15 ID:???
>>546
> $KeyWord=mb_convert_kana($KeyWord,s);
> に問題ないとおもわれw

本気で言っているのか?



549 :nobodyさん:2006/09/11(月) 01:47:55 ID:???
>>548

このsって単に全角スペースを半角スペにする淫数だろ


550 :nobodyさん:2006/09/11(月) 01:49:02 ID:???
いんすうとかマジで勘弁してください

551 :nobodyさん:2006/09/11(月) 01:55:01 ID:???
ひきかずとかマジで勘弁してください

552 :nobodyさん:2006/09/11(月) 01:59:57 ID:???
何でこう自分で書いたものすら分からない人が多発するのか

関数はその関数のみでテストしてから使おう。

553 :543:2006/09/11(月) 02:08:59 ID:???
>>546
その自信はどこから出てくるの?

554 :nobodyさん:2006/09/11(月) 02:14:11 ID:???
「引数」の読み方を必死にググっている最中なので
しばらく待ってあげてください。w


555 :nobodyさん:2006/09/11(月) 02:18:12 ID:???
はっきり言ってこのスレは優しすぎるぐらいだよ
他の板じゃまず考えられない。
そして人間のレベルが高い。センスもまあまあ。
プログラマは遊び心ある日とが多いかも分からんからね
俺はここで筆問して解決できなかったことが無いんだもんね

556 :nobodyさん:2006/09/11(月) 02:24:38 ID:???
>>552
それはPHPサイトのをまんまコピペしてるからだろ

557 :nobodyさん:2006/09/11(月) 02:29:28 ID:???
ひきこもりすう


558 :nobodyさん:2006/09/11(月) 02:33:39 ID:???
"淫数"


559 :nobodyさん:2006/09/11(月) 02:58:21 ID:???
define('s', 〜)とか出してくるかと思ったが無理だったか
寝よっと

560 :nobodyさん:2006/09/11(月) 03:07:32 ID:???
つ【未定義の定数を使用した場合、ちょうどstringとして コールしたかのように(CONSTANT vs "CONSTANT")、 PHPはその定数自体の名前を使用したと仮定します。】

561 :nobodyさん:2006/09/11(月) 03:36:54 ID:???
>>560
Notice消してる人?

562 :nobodyさん:2006/09/11(月) 03:37:18 ID:???
>>560
阿呆か?

563 :560:2006/09/11(月) 03:42:37 ID:???
どうゆふうにイケナイのか説明できないやつは知らないやつと一緒。

564 :nobodyさん:2006/09/11(月) 03:56:28 ID:???
ぁ゙ー・・proc_open使って外部のプログラム使って〜ってやってた時に、妙なエラーに遭遇してずっと悩んでたら
文字コード関係の問題だった・・変換して受け渡しやったら正常に動いたよ。

スレに聞きに来る皆も、うっかり指定し忘れたりしないように気を付けよう orz

とまぁこういうわけで、聞こうか悩みながらやってたら自力解決したし寝るノシ

565 :nobodyさん:2006/09/11(月) 04:18:14 ID:???
>>541
ホントにそれ普通のリロードなのかな…
原因自体はkeyってパラメータの末尾に空白がくっついちゃってるかどうかだと思うんだけど。
> $ArrKeyword=explode(" ",$KeyWord);
ここで空白区切りで検索キーワードを分解してるけど、これだと末尾に空白があると
$ArrKeywordの最後の項目が "" っていう空っぽの単語になっちゃうでしょう。
> eregi($ArrKeyword[$n],$lines)
eregの検索キーワードで「空っぽ」ってのは許容されず、
> Warning: eregi() [function.eregi]: REG_EMPTY
のエラーが出ちゃうので、事前に空っぽデータが無いかチェックしないといけない。

あと他に、完全な空っぽでなく正規表現として不正なキーワードになってる可能性もある。
文字列に[だけ含んで]が無いとか、\を含んじゃってるとか。
正規表現として正しくないとやっぱりエラーになるので、ユーザが自分で検索キーを
入力するようなプログラムで検索にeregを使うのは良くないよ。使うならquote_meta()せんと。
正直、このプログラムなら
> if(!eregi($ArrKeyword[$n],$lines)){

if($ArrKeyword[$n] != '' && strpos($lines, $ArrKeyword[$n]) === FALSE) {
の方が適切なんじゃなかろうかと思うんだが。

検索キーワードにそんな変な記号は含んでない!という場合でも、
Shift_JISで漢字の中に正規表現記号を含んでしまっている場合がある。
> $KeyWord=mb_convert_encoding($KeyWord,"EUC-JP","auto");
でeuc変換してるはずだから大丈夫!と思ってても、元のキーワードが短いと
文字コード判定に失敗してしまって変換されないケースがあるので危険。

566 :nobodyさん:2006/09/11(月) 11:17:31 ID:???
<?php
$Keywd=htmlspecialchars($_GET['key']);
$Keywd=mb_convert_encoding($Keywd,"auto");
$Keywd=mb_convert_kana($Keywd,"s", EUC-JP");
$Keywd=ereg_replace("and"," ",$Keywd);
$Keywd=ereg_replace(" "," ",$Keywd);
$Data=file("item.csv");
?>

<?php
if($Keywd!=""){
$Result = array();
for($n=0;$n<sizeof($Data);$n++){
$line=explode(",",$Data[$n]);
$arrSentence = strip_tags($Data[$n]);
$arrKeyword = explode(" ",$Keywd);
for($i=0; $i<sizeof($arrKeyword); $i++) {
$flgMatched = true;
if(!eregi($arrKeyword[$i], $arrSentence)) {
$flgMatched = false;
break;
.......
if($flgMatched) {
array_push($Result, $Data[$n]);
..

コピペだけどこっちのほうがいいんじゃない?

567 :nobodyさん:2006/09/11(月) 11:29:06 ID:???
検索先のファイルはEUCなのかどうか。違うならEUC-JPに変換汁。
あとは先頭に
mb_regex_encoding("EUC-JP");
してみるとか。

568 :nobodyさん:2006/09/11(月) 12:11:20 ID:???
CSVファイルからの検索をしたいのですが、
541と566の構文ではどっちがいいのでしょうか?



569 :nobodyさん:2006/09/11(月) 12:24:10 ID:???
>>566
どの辺がいいんだかさっぱり分からんコードだな。

570 :nobodyさん:2006/09/11(月) 12:24:46 ID:???
>>568
どっちもド素人。真似しちゃダメ。

571 :568:2006/09/11(月) 12:31:59 ID:???
そうですか・・・・・

PHPの勉強もかねて、まずはコピペからでもはじめたいのですが、
もしまともなコードがあるならソースを教えてもらえないでしょうか?
ちなみに検索したらばっちり541と566を見つけられましたが、なかなか
他がないです。


572 :nobodyさん:2006/09/11(月) 12:55:10 ID:???
コピペが勉強になるってのは初耳だな

573 :568:2006/09/11(月) 13:19:05 ID:???
テンプレートの改造は十分勉強になると思うが?

574 :nobodyさん:2006/09/11(月) 13:25:55 ID:???
>>571
お手本を丸ごと「書写(自らタイプ)」するなら、たしかに一定の勉強効果はある。
しかし「コピペ」するなら、全く勉強にならない。

575 :500:2006/09/11(月) 13:36:55 ID:???
「いまCSVから商品データの検索をしてるのですが、

$Result=array();
$Data=file("商品.csv");
for($i=0;$i<sizeof($Data);$i++){
$lines=strip_tags($Data[$i]);
$Match=true;

現在の「商品.CSV」からの全体のデータではなく、$line[0]と$line[30]のデータ内のみから
検索データを抽出したいのですが、どうすればいいのでしょうか?」


if($i != 0 && $i != 30) continue;

for($i=0;$i<=30;$i++){
? array_push($Result, "ageてIDを出せこのやろう");
}

$search = array(0,30);
for($i=0;$<=sizeof($Data);$i++){
? if(!in_array($i,$search)) continue;
? echo("それともこうか?このやろう");
}

などいろいろご回答ありがとうございました。
ただ、行データの$line[0]と$line[30]ではなく、列のデータの$line[0]と$line[30]なんですが、
特定の列のデータを抽出するにはどうしたらよいでしょうか?

576 :nobodyさん:2006/09/11(月) 14:05:40 ID:???
>>575
$Match=true; っていうのは流行なのか
てっきり同じ人だと思ってたが

とりあえずfgetcsvでも使って評価してみたら?

577 :nobodyさん:2006/09/11(月) 14:10:51 ID:???
>>575
あんたは全く理解してないから、まずは簡単なことからしたら?
たとえば、
1.商品データの三行目の二列目を$aに入れてみる。
2.1が出来たら、次は全部の行の二列目を$a[]に入れてみる。
3.2が出来たら、次は全部の行の二列目が1(←なんでもいい。完全一致==で)のものを$a[]に入れてみる。
4.3が出来たら、最後に全部の行の任意の列に文字列$keyが含まれるものを$a[]に入れてみる。
これくらい順序踏めば、頭の悪いあんたでもわかるんじゃね?1すらできないなら諦めるべきだな。

578 :nobodyさん:2006/09/11(月) 14:56:43 ID:???
自分がわかってることの1段上ぐらいのことなら、
ヒントもらったりすればできるようになるが
10段も上のことやろうとしたらヒントもらっても
できんわな
自分が今何段目にいるのか?分かってる人は
1段上を目指して着実に習得してゆくことが
できるけど、分かってない人は、平気で
10段上のことを質問してしまう。で、周りの
人から見ると「へ?あんた全然わかってないじゃんか?」
となるんだな。で質問すればする程荒れるんだな。
>>577 のような自分への課題のようなことを、自ら
考えて自ら乗り越えられない人はプログラミングのセンス
ないと思うな。

579 :nobodyさん:2006/09/11(月) 16:39:59 ID:???
センス無くて良いから、さっさと教えろや カス

580 :nobodyさん:2006/09/11(月) 17:00:09 ID:???
>>579
いってらっさい
http://pc8.2ch.net/test/read.cgi/php/1150088761/


581 :nobodyさん:2006/09/11(月) 17:43:29 ID:2fSvB3gx
DoCoMoやauの絵文字をmb_convert_encoding等でEUC-JPに文字コード変換してMYSQL(EUC-JP)に格納する場合、
取り出したときの表記がおかしくなってしまいます。
この場合絵文字はどんな形式で送られているのでしょうか?
?xXXXX;の形で送られているのですか?

582 :nobodyさん:2006/09/11(月) 17:45:42 ID:???
>>577

もっと猿にもわかるようにお教えくださいませんか?


583 :nobodyさん:2006/09/11(月) 18:32:10 ID:???
猿は最後の行すら理解できないから教えない。

584 :nobodyさん:2006/09/11(月) 19:06:19 ID:???
すいません土下座しますから、列データの抽出方法教えてくださいっ ><;



585 :nobodyさん:2006/09/11(月) 19:08:52 ID:???
>>584
土下座画像うp汁

586 :nobodyさん:2006/09/11(月) 19:18:33 ID:???
おねがいしますっ ><;;

www.uploda.org/uporg511835.gif


587 :nobodyさん:2006/09/11(月) 19:40:34 ID:???
>>586
熱意は認めるが、なぜ>>1を読まない?

588 :nobodyさん:2006/09/11(月) 19:49:40 ID:???
>>575 列のデータの$line[0]と$line[30]って、
エクセルで言うところのAとAEの縦の列ってこと?

589 :nobodyさん:2006/09/11(月) 19:50:41 ID:???
>>581 絵文字はシフトJISかUTF-8じゃないと扱えない門がー

590 :nobodyさん:2006/09/11(月) 19:55:23 ID:2fSvB3gx
>>589さん
ありがとうです^^
http://www.sound-uz.jp/php/tips/mobile.html
こちらを参考にしたらできました
でも意味が良く分かりません

591 :nobodyさん:2006/09/11(月) 20:15:27 ID:xn87RO2C
Win2003, IIS, PHP5.0.4で、Cactiを動かそうとしています。
その他のソフトのバージョンは、こんな感じです。
Cacti0.8.6h, RRDtool1.2.15, Net-SNMP5.3.1, MySQL5.0.24

動作はしているのですが、グラフを見ようとすると、ブラウザが
「ダウンロードしています・・・」の状態のままで、一向に画像が表示されません。
"中止"ボタンを押すと、画像が表示されます。

原因は恐らくContent-Lengthヘッダが付いてないからだと思ってるのですが、
どうやって付くように出来るかが分かりません。
画像(PNG形式)は、ファイルとして保存されているわけではないし、どうやって
PHPのコードで書いてやれば良いか、もしくは他の方法があるのか・・・。

御助けを・・・。スレ違いだったら誘導お願いします。

592 :nobodyさん:2006/09/11(月) 20:22:53 ID:72m7Skn3
ttp://www.ipa.go.jp/security/awareness/vendor/programming/a01_02_main.html
を見たんですが、ここの通りサニタイジングは出力時のほうがいいんですか?
みんな出力時にやってますか?

593 :nobodyさん:2006/09/11(月) 20:39:14 ID:???
>>592
当然、HTMLとして出力する際にやってます


594 :nobodyさん:2006/09/11(月) 20:58:20 ID:???
>>591
header()
って話じゃなくて?

595 :nobodyさん:2006/09/11(月) 21:13:59 ID:???
>>593
受け取ったらすぐにサニタイジングしないと不安だったんですが、
出力時にサニタイジングするのが当然なんですね。ありがとうございます。

596 :nobodyさん:2006/09/11(月) 21:21:41 ID:???
なぜサニタイジングが必要なのかの原因を理解しないと
応用効かなくね?
特に難解なわけでもないし、理解したほうが。
そうすれば、出力時にする意味もわかるし

597 :nobodyさん:2006/09/11(月) 21:37:27 ID:???
>>592 入力は1回だけど、出力は複数回だもんがー

598 :nobodyさん:2006/09/11(月) 21:38:38 ID:???
保存ファイルがxmlのときエンティティ化しなくても大丈夫?

599 :nobodyさん:2006/09/11(月) 21:44:24 ID:???
それは
<![CDATA[
]]>
で囲むんでない?

600 :nobodyさん:2006/09/11(月) 21:45:28 ID:???
すみません、教えてください。
fsockopenでコピー元のホストをオープンした後、
copyでローカルへファイルをコピーした直後に
ローカルへコピーしたファイルが消えてしまいます。
この時copyの返り値は1なのですが、その直後に
filesizeでそのファイルサイズを取得してみようとしても
no such fileというエラーが出てしまいます。

どうすれば回避できるんでしょうか?

phpのバージョンは4.4.3でコピー元のファイルは
http://pc8.2ch.net/avi/dat/1157385546.dat
です。

601 :600:2006/09/11(月) 21:54:17 ID:iGRurTQF
sageてしまいました、すみません。
OS: Windows XP
webサーバー:04WebServer1.84
PHP: PHP 4.4.3
です。

602 :nobodyさん:2006/09/11(月) 22:01:54 ID:???
>>600
copyじゃなくてファイルに書き込んだほうがいいんじゃないの??

というかfsockオープンより楽な方法もあるような、制限のある環境なのかな。

603 :600:2006/09/11(月) 22:16:06 ID:iGRurTQF
>>602
普通にテキスト読み込みでオープンして
ローカルに書き出すってことでしょうか?

以前は消えなくて普通にファイルサイズが取得できたんですが
いつの間にかno such file or directory(たしかこんなスペルだったと思う)という
エラーが表示されていました。

今でも他のファイルとかもこんな現象は発生しませんでした。
http://pc8.2ch.net/php/dat/1157284868.dat
これも普通にコピーできてます。

コピーするファイルの中身に問題があるのでしょうか…。

604 :nobodyさん:2006/09/11(月) 22:21:26 ID:???
今夜のお題はこれかっ?

参考:
resource fsockopen ( string target [, int port [, int &errno [, string &errstr [, float timeout]]]] )
int copy ( string source, string dest )


605 :nobodyさん:2006/09/11(月) 22:25:48 ID:???
コピー元のファイルが移動したとか、そんなオチでは?

606 :nobodyさん:2006/09/11(月) 22:45:14 ID:???

土下座までしたオレは無視ですか?



607 :nobodyさん:2006/09/11(月) 23:17:49 ID:???
いろいろな問題があるがまずIDを出してください

608 :600:2006/09/11(月) 23:19:44 ID:???
>>605
コピー元の移動は無いと思います。
直接アクセスすれば見れますし・・・。

一応、普通のテキストリードはできるので、
とりあえずこれで回避したいと思います。

お手数お掛けしてすみませんでした。
ありがとうございました。

609 :nobodyさん:2006/09/11(月) 23:54:05 ID:???
JpGraphで作ったphpにPOSTでデータを渡して、HTML上に表示するにはどうしたらよいでしょうか?
ASP(VBScript)でのHTMLでの表示がうまくいきません。
『VBScriptを語ろう』のスレにも投稿したのですが、何卒お助け願います。。。

610 :nobodyさん:2006/09/12(火) 00:04:46 ID:???
>>609
まずIDを出してください

611 :nobodyさん:2006/09/12(火) 00:22:29 ID:???
>>609
>>1を読んでない事も問題だが
マルチはよろしくない、分をわきまえろ。

ちゃんと「Web製作:VBscriptについて語りましょう
」にも謝って、
改めて詳細な情報を添えて(>>609では情報不足)依頼するか諦めるか選べ

612 :nobodyさん:2006/09/12(火) 00:36:34 ID:???
おいタバコすうのを辞めろ
ttp://www.synapse.ne.jp/~iichiki/index5.htm

613 :nobodyさん:2006/09/12(火) 00:54:36 ID:???
>>612
まずIDを出してください

614 :nobodyさん:2006/09/12(火) 00:59:00 ID:???
>>612
タバコ吸わないし職場禁煙だし、俺には関係ないな

615 :nobodyさん:2006/09/12(火) 01:08:47 ID:???
>>614
Hello World!てなんですか?
ヘビースモーカーのおじちゃん


616 :nobodyさん:2006/09/12(火) 01:12:43 ID:???
hoge($var);
としたら、
$hoge[var]==1;を実行するような関数を作りたいんだけどどうすればいいでしょうか?
hoge($abc);
なら
$hoge[abc]==1;
です。

617 :nobodyさん:2006/09/12(火) 01:24:36 ID:???
>>616
まずIDを出してください

618 :nobodyさん:2006/09/12(火) 01:38:00 ID:???
>>616
>>1

呼び出し元の変数の名前を、呼び出された側は知る事ができない。よって無理。

まぁ、何がやりたいのかよくわからん。
$varに"var"とか"abc"格納してhoge呼び出せばいいじゃないか。

619 :nobodyさん:2006/09/12(火) 01:45:15 ID:???
>>616

hoge($a[var]);
としたら、
$hoge[var]==1;
を実行なら簡単なんじゃね

620 :nobodyさん:2006/09/12(火) 01:47:07 ID:???
>>616
悪いこた言わないから
hoge("abc");

function hoge($name) {
if($hoge[$name] == 1)
}
にしときなさい。

621 :nobodyさん:2006/09/12(火) 01:47:41 ID:???
>>619
それ、お前作れるのか??

622 :nobodyさん:2006/09/12(火) 01:59:14 ID:???
>>616-621
ID出せ

623 :nobodyさん:2006/09/12(火) 02:21:19 ID:DszY/D+b
>>610>>613>>617>>622
ほら、質問者じゃないがお望み通りID出してやったぞ

さて、スレの皆に問いたいが・・
ID出せと言ってる奴に出して欲しいと思ってるのは俺だけか?

馬鹿の一つ覚えのようにIDIDID連呼しやがって、鬱陶しいのなんのって

624 :nobodyさん:2006/09/12(火) 02:23:06 ID:???
$arr = array();
$arr[0] = "a";
$arr[1] = "b";
$arr[2] = "c";
unset($arr[1]);

としたあとに、$arr[1]にアクセスするとnullだっていうエラー返るんですが、
配列の特定の要素を消した後に、その隙間を埋めるような処理?とかどうすればいいんでしょうか・・
便利な関数とかあればお願いします

625 :nobodyさん:2006/09/12(火) 02:36:24 ID:???
>>624
隙間を埋めるってなんだ?意図が分からん。
単に値は消すけど要素の削除はしたくない、ってことなら
unset($arr[1]);じゃなく$arr[1] = '';でいいんじゃないかと。

それとも$arr[2]に入ってる内容が$arr[1]に移動して欲しいってこと?
だったら
unset($arr[1]);でなくarray_splice($arr, 1, 1);とするか、
unset($arr[1]);の後に$arr = array_values($arr);で配列作り直し。

626 :nobodyさん:2006/09/12(火) 02:38:01 ID:???
>>621
確かに出来なかった・・

$a["var"] = 1;
print hoge($a);

function hoge($a)
{
foreach($a as $key => $value)
{
if($hoge["$key"]==1)
{
return "true";
}
}
}

みたいな感じ?
しかし>>620がいい気がするし、何のためにこうしたいのか分からないな

627 :nobodyさん:2006/09/12(火) 02:39:57 ID:???
debug_backtrace使えばできるかもしれんけど、用途が謎

628 :nobodyさん:2006/09/12(火) 02:44:42 ID:???
だめだ一行に複数の呼出し書かれたらどれか判別できん

629 :nobodyさん:2006/09/12(火) 02:45:34 ID:r0QKMPcD
while($i < count($array)){
echo $array[$i];
$i = $i+1;
}

連想配列の場合、上みたいなのってどうやってやるのでしょうか?
foreach?

630 :(^ω^) ◆shPHP/.kPI :2006/09/12(火) 02:49:19 ID:???
foreach ($hoge as $foo -> $bar) {

631 :nobodyさん:2006/09/12(火) 02:50:47 ID:???
何でやるか見当ついてるなら、まずはやってみればいいじゃなーい。

632 :nobodyさん:2006/09/12(火) 02:53:19 ID:???
>>629
yes

ただ$iがくるまでechoさせないようにしないと等価にならんかな

633 :nobodyさん:2006/09/12(火) 02:58:13 ID:???
phpのなぞなぞスレとかどっかにないんか

634 :(^ω^) ◆shPHP/.kPI :2006/09/12(火) 02:59:17 ID:???
あー見なかったことにして

635 :586:2006/09/12(火) 04:27:09 ID:???

> おねがいしますっ ><;;
> www.uploda.org/uporg511835.gif


 おい、こちとら土下座しておしえてくれっていってるんだぞ

 おまえらそれでも人間か?



636 :nobodyさん:2006/09/12(火) 04:35:19 ID:???
>>635
だって$lineなんて変数はどこにも無のに
>>575
> $line[0]と$line[30]のデータ内のみから
とか文章が意味不明なんだもん。

なんとなく
$Result=array();
$Data=file("商品.csv");
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",", rtrim($Data[$i]));
$Result[] = strip_tags($line[0]);
$Result[] = strip_tags($line[30]);
}
ということがしたいのかな?と思った。
データの中に「,」を含む複雑なCSV形式だとこれじゃ対応できないけど。

ところでこのstrip_tagsって必要あんの?

637 :nobodyさん:2006/09/12(火) 05:18:57 ID:???
>>636
strip_tags必要なし
対応できないようなののせるなよ


638 :nobodyさん:2006/09/12(火) 05:21:45 ID:???
別にExcel互換がCSVの全てじゃないし。
どういうルールのCSVファイルなのかも分からんのにわざわざ
Excelルール対応版のコードで難しく作る必要もねーべ。

639 :nobodyさん:2006/09/12(火) 08:09:19 ID:???
>>623
ID出さないと荒れるから言ってんだろうが。
それに質問者と回答者の区別がつきにくいし。
バカなのはIDを出さないヤツのほうだろ。

っていうか逆になぜIDを出さないのか問いたいね。IDを隠す理由が無いだろう。
まさか、「2ちゃんでID出したら身元がバレるかも?」なんて間抜けな勘違いしてるんだとしたら、
そんな馬鹿はWebアプリなんて作るべきじゃないね。

640 :nobodyさん:2006/09/12(火) 08:32:30 ID:???
単に自動でsageって入っちゃうのを消し忘れてるだけでしょ。
ID出し推奨だけど、厳密な強制や出さないやつには回答すんな強制とかは
それもまた荒れる原因なんだから無理強いはイクナイ
成りすましの罵詈雑言なんてスルーしとけばよろし

641 :nobodyさん:2006/09/12(火) 08:38:34 ID:???
>>639
あなたがIDを出していない理由は何?
質問者じゃなければIDは出さない方がいいなんて理由も特に無いんだけど。

642 :nobodyさん:2006/09/12(火) 09:12:25 ID:???
質問者はID出し推奨

理由は上を見れば明らか
自己主張の強いバカによって荒れるから

643 :624:2006/09/12(火) 09:12:39 ID:???
>>625さん
ありがとうございます それでうまくいきました
その通り[2]が[1]に移動してて欲しかったんです
$arr[]=hoge;
として追加していけるから、単純に消していけるやつも有るのかなあと

644 :nobodyさん:2006/09/12(火) 09:18:58 ID:???
>>640
「推奨」じゃなく「ルール」
「権利」じゃなく「義務」

645 :609:2006/09/12(火) 09:23:17 ID:JAZxe5EO
>>610 >>611
すみません、>>640さんのおっしゃるとおりsage消し忘れました。
「VBScriptについて語りましょう」のスレには撤回謝罪を出してきました。

WindowsServer2003のIISでASP(VBScript)のシステムを作っているのですが、
JpGraphで作成した散布グラフライブラリに対して大量のデータ(3k程度)を渡したいです。
DB格納や中間ファイル無しで実現するにはどうしたらよいでしょうか?

どちらかと言うとVBScript関係かもしれないので、スレ違いだったらすんません

646 :nobodyさん:2006/09/12(火) 09:53:31 ID:MMOpE1aA
質問です。

define("PASSWORD","XXXXXX");

前の関数で、パスワードを入力し、
$_POST["pass"] = $pass

if($pass == PASSWORD){
...
}

とすると$pass と PASWORDが正しくなくても通過してしまうことがあります。
この問題は"==="で解決できたのですが、どうして"=="だとTRUEと評価されてしまったのか分かりません。
内部的にはどのように読まれて、どうして真と判定されたのでしょうか。
ネット上を一応調べてみましたが、明示的な答えはみつかりませんでした。
どうか浅はかな自分にも分かるように説明をお願いします。

647 :nobodyさん:2006/09/12(火) 09:55:17 ID:???
>>609
ちょ、おまいさん
IISでASPって、あのASPかい?
IISでPHPじゃないのか?

648 :nobodyさん:2006/09/12(火) 10:16:30 ID:???
>>646
>$_POST["pass"] = $pass
少し落ち着け。

649 :nobodyさん:2006/09/12(火) 10:33:05 ID:MMOpE1aA
あ、すいません。
$pass = $_POST["pass"]の間違いです。

650 :609:2006/09/12(火) 11:45:54 ID:pg+u65XB
>>647
すごいですよね、今時。
ある処理エンジンのインタフェースがVBScriptとかしかないんですよ。

JpGraphで大きなグラフ書いてた方居ないですかね?

651 :nobodyさん:2006/09/12(火) 11:52:16 ID:???
>>646
define("PASSWORD","0"); もしくは
define("PASSWORD","");


$_POST["pass"]が0もしくは空の時

if($pass == PASSWORD){

で通るはずだが、他のパターンで通ったのか?通った時の正確なソースがないとわからん。

652 :nobodyさん:2006/09/12(火) 12:02:14 ID:???
>>641
>質問者じゃなければIDは出さない方がいいなんて理由も特に無い

バカかお前は!
我田引水な主張してんじゃねぇよクズ。

回答者はIDを「出す必要・出す理由」が無いだろうが。
一方、質問者はIDを「隠す必要・隠す理由」が無い。

653 :647:2006/09/12(火) 12:05:56 ID:???
会話が成立してないっぽorz
へるぷみー

654 :609:2006/09/12(火) 12:24:05 ID:pg+u65XB
>>647
ASPとPHPの混在環境です。このシステムではASPメインで、PHPはJpGraphしか使いません。
何を意図されてるのか不明です。

655 :nobodyさん:2006/09/12(火) 12:38:57 ID:???
>>646
その情報だけじゃ判別できん。
関係するソース全て出さないと。

656 :nobodyさん:2006/09/12(火) 12:40:12 ID:???
騙りで罵詈雑言投げてるのなんて質問側だけじゃなく回答側もだよなー

657 :nobodyさん:2006/09/12(火) 12:42:37 ID:???
>>646
$passに「0」を入力されたら多分なんでも通ると思うよ、それ。
if(値 == 値) としたとき、片方が「数値」だったら両方とも数値変換されちゃうから。
そしたらdefineされたPASSWORDは頭が数字から始まるわけじゃなきゃ0に変換されるので
if(0 == 0) となって等しいと判定されちゃうわけだ。

658 :nobodyさん:2006/09/12(火) 12:46:57 ID:???
>>656
原因と結果を混同しないように。

659 :nobodyさん:2006/09/12(火) 13:43:39 ID:???
ひっかけ耐性が上がってきた模様

660 :nobodyさん:2006/09/12(火) 13:45:52 ID:MMOpE1aA
>>657
まさに仰るとおりでした。
そういう現象と対処法は小耳に挟んで知っていたのですが、どうしてそうなるかという原理を知らなかったのでとても気になっていました。
適確な返答ありがとうございました。

661 :nobodyさん:2006/09/12(火) 13:58:27 ID:???
>>660
もともと$_POSTの中身は文字列なのにどこで数値に変わったのかは気にならないのね。

662 :nobodyさん:2006/09/12(火) 14:15:22 ID:???
>>654
昨日も言ったが、それじゃ情報が足らん

・PHPにPOSTを使ってデータを渡し、変移先のHTMLに生成した画像を載せたい
って事か?

まぁ、セッションとかIDで一意に特定して
保存しといたデータで生成して返すのが楽な気がす(DBか一時ファイルが必要)

663 :nobodyさん:2006/09/12(火) 14:33:28 ID:???
POSTで受け取った値を一度確認画面を挟みたいのですが
既存のパラメーターを弄らずに実装できますでしょうか

出来るとしたらどの様な方法がありますでしょうか

sleep() でとめて確認後実行とか使えますか

664 :nobodyさん:2006/09/12(火) 14:47:33 ID:???
>>663
HTTPの1つのリクエストに対して、PHPシーケンスがひとつ実行される。
sleepは1つPHPシーケンスを休止するこができる
HTTPは1つのリクエストに対して、人まとまりのレスポンスを返す。
確認したことを通知するということは新たにもうひとつリクエストが送られることになる。

あとIDだせ。

665 :nobodyさん:2006/09/12(火) 14:59:45 ID:???
>>664
面倒な言い回ししても理解されないぞ
「sleepはPHPの処理を延滞させるだけの機能」
と書いた方が分かり易いかと
適当なフリースクリプトを拾ってきて適当にsleepを埋め込めば分かると思う。

666 :nobodyさん:2006/09/12(火) 16:03:19 ID:???
>>665
失礼な回答者ですね
あなたと同じ理解力と思わないでください

667 :nobodyさん:2006/09/12(火) 16:08:38 ID:???
マサツーセッツ工科大卒だが?

668 :nobodyさん:2006/09/12(火) 16:16:41 ID:???
http://www.google.co.jp/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50&q=%E3%83%9E%E3%82%B5%E3%83%84%E3%83%BC%E3%82%BB%E3%83%83%E3%83%84%E5%B7%A5%E7%A7%91%E5%A4%A7

669 :nobodyさん:2006/09/12(火) 16:39:38 ID:???
不覚にもワロテシマタw

670 :nobodyさん:2006/09/12(火) 16:56:00 ID:???
>>663
> まぁ、セッションとかIDで一意に特定して
> 保存しといたデータで生成して返すのが楽な気がす(DBか一時ファイルが必要)
これじゃダメなのか?

> sleep() でとめて確認後実行とか使えますか
sleep()で止めてもその分だけレスポンスが遅くなって何の意味もない。

> POSTで受け取った値を一度確認画面を挟みたいのですが
> 既存のパラメーターを弄らずに実装できますでしょうか
hiddenで値保持しといて確認画面からまたPOSTすりゃいいじゃないか

>>668
巨乳発電所www

671 :nobodyさん:2006/09/12(火) 18:24:21 ID:???
巨乳発電所スレの方が楽しそうだな

672 :祭り中:2006/09/12(火) 18:54:05 ID:fDyVHWOD
【コソーリ】今、隣の部屋に妹(15)とその彼氏(18)がいる…【実況】
http://game9.2ch.net/test/read.cgi/tanka/1157611729/l50

なにが起こるか怖くて耐えられん……おまいら一緒に付き合ってくれ(´;ω;`)

673 :nobodyさん:2006/09/12(火) 19:03:48 ID:???
何故tanka?

674 :nobodyさん:2006/09/12(火) 20:32:26 ID:???
短歌を詠んでるんだろ

675 :nobodyさん:2006/09/12(火) 20:51:13 ID:???
簡単なwikiを作ってるんですが、キーワードのリンクに困ってます
正規表現をつかおうとおもってるのですが、上手な記述方法はありますか?
因みに、[[wiki]] を <a href="wiki.php?wiki">wiki</a>に変換したいんですが・・

676 :nobodyさん:2006/09/12(火) 20:59:51 ID:???
>>675
上手かどうか判らないので、とりあえずあなたが書いたモノを見せて下さい。
それから、ID出せ!

677 :nobodyさん:2006/09/12(火) 21:11:19 ID:???
>>675

$str = '[[wiki]]';
$str = str_replace( $str, '[[', '<a href="wiki.php?' );
$str = str_replace( $str, ']]', '</a>' );

でよくないもんが


678 :675:2006/09/12(火) 21:30:11 ID:/GAORCz5
あ、すみません。テンプレ読んでから書き込まないと。。

$line = @preg_replace("/\[\[(.*)\]\]/e","'<a href=\"wiki.php?'.urlencode('\\1').'\">\\1</a>'",$line);
さっき考え付いたものなんですが・・(´・ω・`)

書き方が悪かったですね。[[(任意の文字列)]]を、<a href"wiki?(URLエンコード後の文字列)">(文字列)</a>

679 :675:2006/09/12(火) 21:34:11 ID:/GAORCz5
間違えて途中で書き込んじゃいました

[[(任意の文字列)]]を、<a href"wiki.php?(URLエンコード後の文字列)">(文字列)</a>に変換したいです。

上のコードだと、[[aaa]]bbb[[ccc]]が、"aaa]]bbb[[ccc"として扱われてしまい、うまく変換できません・・。
このコードも何代目か分かりませんが、ずっと悩んでます。よい方法はありませんか?

680 :nobodyさん:2006/09/12(火) 21:38:51 ID:???
>>679 正規表現の最短マッチをつかうもんが

このすれは回答者の方がIDだしたほうがいいね。
答えられもしないくせにID!ID!って要求する輩がいるからね

681 :nobodyさん:2006/09/12(火) 21:50:51 ID:???
全員ID出した方が平和なスレだよな。どう見ても。

682 :nobodyさん:2006/09/12(火) 21:51:32 ID:X6ofAWID
>>680-681
説得力ないな。

683 :nobodyさん:2006/09/12(火) 21:55:49 ID:JLpDdfzd
ほらよ

684 :nobodyさん :2006/09/12(火) 21:59:46 ID:oeb2UHix
PHP5でSQLite1.2.0を使いたいのですが、日本語がどうしてか文字化け
してしまいます。一応、
lang/japanese.inc.phpの$charsetと次の行にあるja-euc-jpの値を
euc-jpからutf-8に置き換え、ファイルをUTF-8に変換して保存する
という対処をしたのですが、それでも文字化けしてしまいます。
何か解決策はないでしょうか?

685 :nobodyさん:2006/09/12(火) 21:59:50 ID:RYz/uoRb
あいよ

686 :nobodyさん:2006/09/12(火) 22:14:28 ID:oJenc4Yw
便乗して質問させてください。
ある文字列を、2パターンでエンコードしてその結果を表示したいのですが
このようなコードはおかしいでしょうか?(別の正当な方法はありますか)

$a = $title;
$b = $title;
$bb = mb_convert_encoding($b,"UTF-8",mb_internal_encoding());
$aa = urlencode("$a");
$bbb = urlencode("$bb");
echo "$title<br>$aa<br>$bbb<br><br>\n";
}

一応実行できてるみたいなんですが素人なので、すぎく不安です
ご意見ください

687 :586:2006/09/12(火) 22:29:26 ID:???
「いまCSVから商品データの検索をしてるのですが、

$Result=array();
$Data=file("商品.csv");
for($i=0;$i<sizeof($Data);$i++){
$lines=strip_tags($Data[$i]);
$Match=true;

現在の「商品.CSV」からの全体のデータではなく、$line[0]と$line[30]のデータ内のみから
検索データを抽出したいのですが、どうすればいいのでしょうか?」


if($i != 0 && $i != 30) continue;

for($i=0;$i<=30;$i++){
? array_push($Result, "ageてIDを出せこのやろう");
}

$search = array(0,30);
for($i=0;$<=sizeof($Data);$i++){
? if(!in_array($i,$search)) continue;
? echo("それともこうか?このやろう");
}

などいろいろご回答ありがとうございました。
ただ、行データの$line[0]と$line[30]ではなく、列のデータの$line[0]と$line[30]なんですが、
特定の列のデータを抽出するにはどうしたらよいでしょうか?

688 :675:2006/09/12(火) 23:06:06 ID:/GAORCz5
解決することができました。ありがとうございました。

689 :nobodyさん:2006/09/12(火) 23:20:43 ID:YEB5NXiY
>>680
質問者になりすまして荒らす人がいるからID出して欲しいと言ってるだけ。
質問者の利益にもなると思うよ。

回答者はしょうもないのはスルーすればいいけど、質問者が偽者出てくると困るでしょ。

まぁ、どれも強制では無いけどさ。

>>686
出力結果が意図した通りなら問題ないんじゃない?

690 :686:2006/09/12(火) 23:26:28 ID:???
すみません686は間違いでした
このように書き直しましたです

$a = urlencode("$title");
$b = $title;
$b = mb_convert_encoding($b,"EUC-JP", "auto");
$b = urlencode("$b");
$c = $title;
$c = mb_convert_encoding($c,"UTF-8", "auto");
$c = urlencode("$c");
echo "$title<br>$a<br>$b<br>$c<p>\n";
}

691 :nobodyさん:2006/09/12(火) 23:26:47 ID:oLKDRDaP
.htaccessで下記を記述すると
AddType application/x-httpd-php .html
拡張子がHTMLでもPHPを使用できますが

これを
AddType application/x-httpd-php .cgi
と記述を変えた場合、cgiでもphpを外部なりから読んで使用はできるのでしょうか?

692 :nobodyさん:2006/09/12(火) 23:34:40 ID:???
やってみるといいと思うよ

693 :nobodyさん:2006/09/12(火) 23:39:09 ID:???
>>689
確かになりすましはうざいね

「○○したら解決しました」とか「早く教えろ馬鹿」とかなりすまして言い出すやつもいるし


694 :nobodyさん:2006/09/12(火) 23:39:10 ID:oLKDRDaP
できませんした><
cgi拡張子でphpを外部から呼び込んで動作させることってどうすればできるんでしょうか?

検索してもかかってくれないし、(検索の仕方がまずいのか・・・)
htmlでphpは呼び出せるので、鯖じたいは、対応してるんですが。。。
誰かヒント下さい m(_ _"m)ペコリ

拡張子がcgiのBBSを複数設置してまして、メニューを一本化したくて、
includeを使って外部からメニューを呼びこみたくて。。。
説明へたですいません。

695 :687:2006/09/12(火) 23:55:26 ID:???
おいカスども、俺は無視か?

ハヤくおしえろチンカスども、だれのお陰でオメーラ
息すえてるとおもってんだ あぁ?


696 :nobodyさん:2006/09/13(水) 00:10:18 ID:d+SA29Wh
>>690

$title = "大きなバラ";
$a = urlencode("$title");
$b = $title;
$b = mb_convert_encoding($b,"EUC-JP", "ASCII,JIS,UTF-8,EUC-JP,SJIS");
$b = urlencode("$b");
$bb = urldecode("$b");
$c = $title;
$c = mb_convert_encoding($c,"UTF-8", "ASCII,JIS,UTF-8,EUC-JP,SJIS");
print "$c" . "<br>";
$c = urlencode("$c");
$cc = urldecode("$c");
echo "$title<br>$a<br>$b : $bb<br>$c : $cc<p>\n";

で問題無くエンコード切り替えて表示されれば問題ないんじゃね
ちなみに俺の環境だと
mbstring.http_output = EUC-JP
が有効だとUTF-8での出力が化けた。

697 :nobodyさん:2006/09/13(水) 01:00:39 ID:euHLrQ2N
すいませんがお願いします

<table>
<tr>
 <td>タイトル</td>
</tr>
<tr>
 <td>1</td>
</tr>
<tr>
 <td>2</td>
</tr>
</table>

という表から最初の<tr>〜</tr>を取り除きたいです(タイトル行)
タイトルが表によっていろいろ変わるので正規表現を使ってと思い
$tbl = preg_replace("/<tr>(.*?)<\/tr>/i", "", $tbl);
これだとテーブルタグしか残りません、、、

ご指導いただけるとありがたいです

698 :nobodyさん:2006/09/13(水) 01:08:45 ID:???
>>689
こういうテンプレが自然じゃない?
「偽者が出ると困る質問者はメ欄を空にしてID出してください」
「(IDの有無に関わらず)荒しを放置できない2ch初心者は回答しないで下さい」

IDを強制にするなんて荒しに構ってるだけでしかない

>>694
そのcgiの中身は何?
拡張子がヘンなデータファイルなのか、本当に動くcgiスクリプトなのか

>>697
第4引数がlimit

699 :694 :2006/09/13(水) 01:11:52 ID:OtwhZuep
>>698
BBSです。cgiは動いてますよ
ケントWEBの掲示板です。
そのBBSの上にphpで外部からメニューを追加したいんです。
掲示板設置数が多すぎて1つ1つ書き直すのもあれで・・・。

700 :nobodyさん:2006/09/13(水) 01:17:38 ID:???
>>699
悪い予感が当たった。perlの掲示板じゃないかと思ってたんだ。
それは無理。
.cgi の中身がperlなんだから、それをphpに渡しても動作しない。

701 :nobodyさん:2006/09/13(水) 01:42:39 ID:???
>>700
fopen で localhost

702 :nobodyさん:2006/09/13(水) 01:44:59 ID:???
>>700
いや、Perl と php と SSI を組み合わせることだってできるよ
漏れの実際その環境で動作させてるし安定している

特に業務で使う場合には、製作コスト>>>サーバ負荷などのハードウェアコスト だから、
重かろうが負荷が高かろうが、サーバ数増やしたり負荷分散すればいいだけ

既にできているモジュールやソフトウェアとの組み合わせに使いたい場合には色々な言語を組み合わせる


703 :nobodyさん:2006/09/13(水) 01:53:43 ID:???
>>702
その方法を質問者に教えてあげればいいんじゃないかな
perlの中にphpを書けるって事??

704 :nobodyさん:2006/09/13(水) 01:58:33 ID:???
大量のcgiファイルを弄りたくないなら逆じゃないかな〜
俺は改造するスクリプトを書いちゃうと思うけど

705 :nobodyさん:2006/09/13(水) 02:04:44 ID:???
スレ的にナニだがperlを覚えたほうがらくちんな気もするね、確かに

706 :nobodyさん:2006/09/13(水) 02:16:53 ID:???
>>699
お前はその程度の思考能力しか無いならそもそもプログラミングに向いてないから
やめちまえ! ・・・と言いたいところだが特別にヒントをやろう。
●メニュー書き直しが一回きり&静的 → 「ファイル一括置換ソフト」
●メニュー書き直しが頻繁&動的 → 「フレーム」

>>702
大馬鹿な勘違いしてるな、お前。

707 :nobodyさん:2006/09/13(水) 02:52:58 ID:???


   プリント (おまえらレベルひっくw);



708 :702:2006/09/13(水) 03:14:37 ID:???
>>703
Perlの中でphpでのプログラムの実行結果を受信する、ってことです
やり方は、シェルコマンドを実行して結果を得る、の応用です

>>699
SSIなら、実は、php(CGI版)やPerl の中に書くことが、そのまま可能。(最新のApacheの場合、古いApacheは駄目)
メニューなんて、SSIで十分です。

ついでに、SSIでexecコマンドを使えるのでそれを使えば、Perlのプログラムの中の一部をphpにしたり、
シェルスクリプトの結果にしたり、と自由自在。
サーバ負荷なんて気にしないw

709 :nobodyさん:2006/09/13(水) 03:15:22 ID:???
printo("おまえらレベルひっくw'):

710 :694 :2006/09/13(水) 03:32:58 ID:OtwhZuep
みなさんレスありがとうございます。
技術的に難しいですね(自分には)

phpとperlを使って2回だけでメニューを書くのがすみそうです
ヒントくれた方々本当にありがとうございます


711 :nobodyさん:2006/09/13(水) 03:38:17 ID:23amVWy2
>>709
printoって何ですか?
PHPのマニュアルを見ましたが載っていませんでした。

どこを探せばいいか教えてください。

712 :nobodyさん:2006/09/13(水) 03:47:50 ID:P2yB0OxN
>>709
>>printo("おまえらレベルひっくw'):

ダブルとシングルで囲んだ文字列を初めて見たのですがどういう意味なんでしょうか。

どこを探せばいいか教えて下さい。

713 :nobodyさん:2006/09/13(水) 04:02:01 ID:???
>>711-712
ちょww可哀想だからあんまり叩くなよwww

714 :nobodyさん:2006/09/13(水) 04:17:33 ID:???
princoなら知ってる(´・ω・`)

715 :nobodyさん:2006/09/13(水) 06:42:29 ID:lPRd5BoH
マニュアルの説明を読んでもピンと来なかったので質問させて下さい。
shell_exec()  (バックティック演算子)
exec()
system()
これらの関数は具体的にどういう場合に使い分けるんでしょうか?
また、実際に案件で使用したことがある人はいますか?


716 :nobodyさん:2006/09/13(水) 07:45:24 ID:???
>>675
pukiwikiを落としてきて該当部分を探すのが早いと思う。
市販の正規表現の本の中にも
ダブルブラケットのリンク化を書いたものが1冊あったと思うが。

717 :nobodyさん:2006/09/13(水) 08:53:54 ID:???
>>715
基本的にはコマンドからの出力結果を、PHP側でどうしたいかって話。
出力された文字列をPHPの変数に代入したいのか、またそれは文字列としてか配列としてか、そのままブラウザに出力したいのか、ステータスコードも取得したいのか・・・などなど。
他細かい点はマニュアルの注意事項を、わかるまで熟読して。

718 :nobodyさん:2006/09/13(水) 08:55:38 ID:???
>>715
shell_execはコマンドの表示内容を1個の文字列変数に格納したい場合に使う。
execはコマンドの表示内容を使わない、もしくは配列で欲しい場合に使う。
systemはコマンドの表示内容を変数で受け取らずにそのままHTML出力する場合に使う。

719 :nobodyさん:2006/09/13(水) 09:09:49 ID:???
>>716
wikiワードに日本語を許容するかどうかで若干違うけどな。
日本語も許可するんならpreg_replaceで最短マッチ使うしかないでしょ。
悩むようなもんじゃないよ。

720 :nobodyさん:2006/09/13(水) 10:33:37 ID:???
preg_much_allの構文がわかるサイトありませんか?

preg_match_all("|<font color=.+>|U")
preg_match_all("/<font color=.+>/i")      

上みたいな|で囲まれた正規表現が、マニュアルをみてもよくわかなくて困っています。


721 :nobodyさん:2006/09/13(水) 10:49:35 ID:???
っデリミタ

722 :nobodyさん:2006/09/13(水) 11:10:32 ID:???
>>720
preg系はPerl互換ライブラリを使う都合上、正規表現を /〜/ で括る必要があるが、
この / はやはりPerl互換で別の文字を使うこともできる。
というわけで単に / の代わりに | を使ってるだけ。機能は一緒。
ファイルパスにマッチさせる正規表現とか、中に / を多用する場合は
いちいちエスケープするのも面倒なので、/ 以外の別の文字をよく使う。

723 :nobodyさん:2006/09/13(水) 11:53:15 ID:???
これって何ですか?仮にも無料鯖として公開している鯖の生ログ(何かはわからないが。訪問者?)が見れてるわけないですよね?ですよね?
http://c-docomo.2ch.net/test/-/hosting/1124973398/426

724 :nobodyさん:2006/09/13(水) 11:57:06 ID:???
>>723
知るか。何故ここで聞く。

725 :nobodyさん:2006/09/13(水) 13:43:58 ID:???
HTML_QuickForm、というか
pearを初めて使用したんですが、
軽いカルチャーショックを受けますね。

今まで苦労してきたことがあっさりと。

726 :nobodyさん:2006/09/13(水) 13:47:10 ID:???
pearって、仕事で使うときとかパッケージも一緒に配布すんの?

727 :nobodyさん:2006/09/13(水) 14:17:22 ID:???
配布っつーか、インストール?
そりゃまぁ、一緒に入れなきゃ動かないでしょ。

728 :nobodyさん:2006/09/13(水) 15:05:04 ID:???
いやごめん、製品を作って納入するときに、
クライアントに「Pear環境も入れてください」って言うのか、
製品と一緒に同梱するのか、
開発にPear使って製品ではPear無くても動作するように仕上げるのか、
どういう形が一般的なのかな、って意味だった。

729 :nobodyさん:2006/09/13(水) 15:35:10 ID:???
>>728
うーん。俺はクライアントにインストールをお願いするような変な開発やったことないからパス。
ただ少なくとも
> 開発にPear使って製品ではPear無くても動作するように仕上げるのか
これはありえないだろww 意味なさすぎ。
普通はインストール作業までこっちで面倒見るもんなんじゃないの?
データベースのユーザ・DB・テーブル作成や、php.iniの設定とか.htaccessとかもあるし。
これを客の作業にする場合はインストーラースクリプトかrpmパッケージでも作るんじゃないかと思うが、
そういうのを全自動でやれるインストーラー作れるならそいつでPEARも同時にインストールさせるだろう。

730 :nobodyさん:2006/09/13(水) 15:51:10 ID:???
配列内に指定した要素が何個あるか知りたいのですがどうしたらいいでしょうか?

array("abc","def","ghi","jkl","abc")の場合 abcを指定すると2とでてほしい

731 :nobodyさん:2006/09/13(水) 15:53:27 ID:???
>>730
echo count(preg_grep('/^abc$/', $arr));
とか

732 :nobodyさん:2006/09/13(水) 16:27:58 ID:???
>>731
ありがとうございました

733 :nobodyさん:2006/09/13(水) 16:33:06 ID:???
>>730
$array = array("abc","def","ghi","jkl","abc");
$hoge= array_count_values($array);
echo $hoge['abc'];

734 :nobodyさん:2006/09/13(水) 16:34:14 ID:???
>>730
array_count_values

735 :734:2006/09/13(水) 16:36:34 ID:???
>>733
モロかぶった・・・

736 :nobodyさん:2006/09/13(水) 17:17:31 ID:???
>>728
ドキュメントに設定方法を書いた

737 :nobodyさん:2006/09/13(水) 20:56:06 ID:???
phpで次のような操作は可能でしょうか。

A,B,C,D,Eという5つの値をFORM1.PHPがPOSTで取得し、
その内AとBはphp側で処理し、残りのC,D,EはFORM2.CGIへPOSTで渡すというものです。

もちろん全部をphp側で処理できれば良いのですが、
既存のシステムの中心部をperlで組んでしまった為にそのような状況となっています。

perlで新しい方も作れば?という意見は尤もなのですが、諸事情によりphpで作成しなくてはなりません。
またもしかするとFORM2.CGIをphpで書き換えることも可能かもしれません。

その場合前述したようにPOSTで値を別のスクリプトへ渡すことは出来ますでしょうか。
量が多いためGETでは恐らく規定量をオーバーする可能性があります。

結果的に受け取った値の一部を別のスクリプトへPOSTで渡すことが出来れば満足です。
javaは環境の都合により利用できません(ページに利用できません)。

よろしく願いします。

738 :737:2006/09/13(水) 20:58:46 ID:???
連投スミマセン。

処理するのは一度に処理するという意味です。
つまり一度A-Eがsubmitが着て、再びC,D,Eの要素をhiddenに書いてsubmitなどは無しということです。

ちなみにGETで規定量と書きましたのはブラウザのという意味です。
確かIEだと4096文字以上は受け取らなかったと記憶しています。

739 :nobodyさん:2006/09/13(水) 21:01:45 ID:???
>>738
「PHPからPOST出来ますか?」
激しく既出ネタ 解:出来る

740 :nobodyさん:2006/09/13(水) 21:08:30 ID:???
>>737
fsockopen使って実装するか、PEARに便利なのがあるからそれ使うとか

まぁ、「PHP POST」とかで検索すれば直ぐ見付かる定番みたいな物だな。

741 :nobodyさん:2006/09/13(水) 21:09:10 ID:???
>>739
ん?737が言いたいのは普通にphpでPOSTするのではなくて別々にってことじゃないの?
と勝手に解釈してみた。

742 :nobodyさん:2006/09/13(水) 21:15:17 ID:???
>>741
そうじゃないでしょ

743 :nobodyさん:2006/09/13(水) 21:17:13 ID:???
FORM1−<POST:A,B,C,D,E>→PHP(A,Bを処理)−<POST:C,D,E>→FORM2.CGI
では?

ってか、>>8に書いてあるからテンプレ嫁で回答するべきだったかねぇ

744 :nobodyさん:2006/09/13(水) 21:17:23 ID:???
PHPプログラムにジャバスクリプトを組み込みたいのですが、出来ますか?

745 :737:2006/09/13(水) 21:23:14 ID:???
回答ありがとうございました。>>743さんが仰られている内容で合致しています。
言語ではなく処理フローを用いて説明するべきでした。

fsockopenを利用した結果ちゃんと値渡しをすることが出来ました。
ありがとうございました。 またお騒がせしてスミマセンでした。

746 :nobodyさん:2006/09/13(水) 21:25:56 ID:???
全角大文字SAGEってw

>>744
組み込んで何をしたいのか詳しく

747 :nobodyさん:2006/09/13(水) 21:29:58 ID:???
ジャバスクリプトって";`こんなの良く使うじゃないですかあ
だからエラーとかおきないのかなと思って

748 :nobodyさん:2006/09/13(水) 21:33:19 ID:???
>>744
>>747

お願いだ。実際に試してから聞いてくれ。


749 :nobodyさん:2006/09/13(水) 21:38:53 ID:???
寧ろ(スレ違いだから)来ないでくれ

750 :720:2006/09/13(水) 21:48:41 ID:???
>>722
ありがとうございます

751 :nobodyさん:2006/09/14(木) 00:12:46 ID:???
>>747
組み込み方を間違えなければ問題なくできる。
キミがPHPとJavaScriptというものを勘違いしてなければ、だ。

752 :nobodyさん:2006/09/14(木) 00:49:24 ID:???
>>747
だがしかし、だ。

753 :nobodyさん:2006/09/14(木) 00:52:03 ID:???
<?php
$db=sqlite_open("schedule.sqlite",0666,$err);
$rs=sqlite_query("SELECT * FROM schedule ORDER BY s_date,s_time",$db);
?>
<body>
<table border="1">
<tr>
<th>日付</th><th>時刻</th><th>予定名</th><th>備考</th><th>削除</th>
</tr>
<?php while($row=sqlite_fetch_array($rs)){ ?>
<tr>
<td><?php print($row['s_date']); ?></td>
<td><?php print($row['s_time']); ?></td>
<td><?php print($row['title']); ?></td>
<td><?php print($row['memo']); ?></td>
<td>
<input type="button" value="削除"
onclick="location.href='schedule_delete.php?sid=<?php print($row['sid']); ?>'" /></td>
</tr>
<?php
}
sqlite_close($db);
?>
</table>
今PHPを勉強していて、スケジュール表を作成中です。
ここまで出来たのですが、編集ボタンの作成に戸惑っています。
どなたかご指導、お願いします。

754 :nobodyさん:2006/09/14(木) 01:12:15 ID:???
>>753
>編集ボタンの作成に戸惑っています

この情報だけで回答できるのは文字通りエスパーだけだ。
そしてお前は一回氏んだほうがいい。

755 :nobodyさん:2006/09/14(木) 01:21:11 ID:???
レベルはともかく前はもう少し分かりやすい質問が多かったような
最近は質問者が何聞きたいのか整理出来て無いのが多い・・

756 :nobodyさん:2006/09/14(木) 01:56:13 ID:???
配列を連結する時に、joinを使うかimplodeを使うか考え出すと夜も眠れません。
どうかお助けください。

757 :nobodyさん:2006/09/14(木) 02:18:52 ID:VDMVGLR1
検索結果が時折、文字化けしたり、検索ワードが飛んで空白になったりしますが、
どんなことがかんがえられますか?
データベースはCSVで、サイト、CSV共にEUC−JPです。
ちなみに文字化けはJISになって現れます。


758 :nobodyさん:2006/09/14(木) 02:41:42 ID:???
>>757
mb_convert_encodingでautoを使ってないか?

759 :753:2006/09/14(木) 02:42:09 ID:???
すみません、焦っていたみたいです。

スケジュール内容の削除を可能にするボタンは作ることができたのですが、
登録したスケジュール内容を更新(編集)するボタンがどうしてもできないでいます。

スケジュール内容の隣にボタンを配置して、編集画面を表示させることが
狙いです。

お願いします。

760 :nobodyさん:2006/09/14(木) 03:07:44 ID:???
>>758
いえ、それがautoつかってないんです。EUC-JPのみ指定してます。


761 :757:2006/09/14(木) 03:12:23 ID:???
もっと正確にいうと。時折検索ワードは文字化けして、検索結果は0になって
表示されません。 「」は0件見つかりました・・・ みたいな感じです。

あと、検索ワードがJISに文字化けして「ソ・イナコィ」は見つかりませんでした・・・みたいになります。

10回の検索で1回くらいの頻度で上記トラブルが起きます。
なんかCSVのデータ側がおかしいのでしょうか?CSVデータが多く、重いのが原因??

762 :nobodyさん:2006/09/14(木) 03:26:01 ID:???
>>759
<td> 
<input type="button" value="編集" 
onclick="location.href='schedule_edit.php?sid=<?php print($row['sid']); ?>'" />
</td> 

>>761
文字列扱ってる部分のソース見せて〜

763 :nobodyさん:2006/09/14(木) 07:29:30 ID:???
>>761
文字コードの自動変換がオンになってるんじゃないの


764 :nobodyさん:2006/09/14(木) 09:40:43 ID:???
>>759
だからお前は「一度氏んだほうがいい」と言っているだろう。
その情報だけでいったい何をどう答えろというんだ。
まず質問の仕方を勉強してから出直せチンカス!

765 :759:2006/09/14(木) 10:14:28 ID:???
>>764
ですから編集ボタンを押したら編集画面をだしたいのです。答える気がないならレスしないでください。

766 :nobodyさん:2006/09/14(木) 11:14:28 ID:???
>>765
作り方が分からないのは編集ボタン?編集画面?
当初の質問では「編集ボタンの付け方が分からない」とのことだったが
要するに編集するための仕組みの作り方が丸ごと分からんー!って話ですか。

767 :nobodyさん:2006/09/14(木) 11:15:46 ID:???
編集画面にリンク貼ればいいじゃん。

768 :nobodyさん:2006/09/14(木) 11:20:02 ID:???
>>765
だったら>>762が回答してる通りじゃないの?

それとも、>>766が3行目で書いてるような意味の質問だったのか?
…だとしたら、お前マジで氏んだほうがいいよ。
もはや生きてる価値もないほどのチンカス能無しだぞ、ぞれは。

769 :nobodyさん:2006/09/14(木) 11:22:05 ID:???
>>765
>>762で回答出てるかと。それで足りないならナニが足りないか説明しる。

770 :759:2006/09/14(木) 11:33:20 ID:???
もういいです。
あなた方の無能さにはほとほと呆れました。
技術的にも、精神的にも、もっと成長してくださいね。
もう二度とここに来ません。さようなら。

771 :nobodyさん:2006/09/14(木) 11:40:01 ID:mbw2I0S6
>>763
AUTOにはなってません。
それともいっそのことコード指定しないほうがましなのかしら?


772 :nobodyさん:2006/09/14(木) 11:48:27 ID:???
>>771
ブラウザ設定によってはEUC指定のサイトでも送信データをUTF-8で送ってくることがなかったっけ?
EUC固定なのはまずいんじゃないかな。

773 :nobodyさん:2006/09/14(木) 11:57:56 ID:mbw2I0S6
いっそのこエンコード指定してる
$KeyWord=mb_convert_encoding($KeyWord,"EUC-JP");

を削除しました。なんだか調子いいみたいですが、気のせい?
コレを削除することでなんか支障がありますか?

774 :nobodyさん:2006/09/14(木) 12:20:56 ID:???
>>773
まさかとは思うけど、HTML出力するときにきちんとヘッダーで文字コード指定してるだろうな?
(HTMLのヘッダーじゃなくて、HTTPヘッダーね)

775 :nobodyさん:2006/09/14(木) 12:29:04 ID:mbw2I0S6
>>774
header("Content-type:text/html;charset=euc-jp");
これを入れればいいのでしょうか?


776 :nobodyさん:2006/09/14(木) 12:32:04 ID:???
>>775
実際にそれで繰り返し実験してみればいいでしょう。

777 :nobodyさん:2006/09/14(木) 12:34:38 ID:???
>>776
改善されませんでした。


778 :nobodyさん:2006/09/14(木) 12:38:37 ID:???
よく「実際にやってみればいいだろ」って人がいるけど、
本当は大問題なコードなのにたまたまうまく動いちゃっただけで、
実は勘違いしてるかもって不安になるとは思わないのかな?
しかも「これでうまくいきました「とか書くと「無知・バカ・ちゃんと聞け」とか言われて。

そういうミスを防ぐために、技術的にその方向で合ってるのか聞いてるのに
「やってみればいいだろ」は回答になってないと思うのだけど。

779 :nobodyさん:2006/09/14(木) 12:48:34 ID:???
実際、ここに書き込んで回答待ってるよりはスクリプト書いて実行した方がお望みの回答が得られる、
そんな質問に対しては「やってみれば?」って回答もアリだと思うけどね・・・

>>775のだってこれを入れても改善されませんでしたって最初から書いてたら>>776のようなレスは付かなかったと思うよ。

780 :759:2006/09/14(木) 12:59:34 ID:???
やっぱり出来なくてまた来ました。どなたか>>759の正確な回答をよろしくお願いします。

781 :nobodyさん:2006/09/14(木) 13:01:53 ID:???
どうやら有効な策はないみたいですね。10回に1回の精度なのであきらめます。
3年くらいノドにひっかかった骨みたいな存在でしたがw

検索したら 「2ちゃんねる」 は13件ありました
みたいな感じにしてて 時折

「2ソカ、、ラナ」は0件でした または
「」は210件でした (全件数がでる)

1回文字化けしたり、検索ワードが空になると、そのページでいくら検索しても
同じになります。たまにリロードすると正常になります。


まあ、当分靴に入った石ころみたいな感じですごしますw 
しかし、何年たっても成長なし・・・・


782 :nobodyさん:2006/09/14(木) 13:07:22 ID:???
>>780
氏ね。 恩知らずに答える義理は無い。
そして日本語もろくに理解できない奴はphpの前に日本語を勉強して来い

783 :nobodyさん:2006/09/14(木) 13:24:14 ID:???
>>781
そんなに悩んでるならDBにするとかしたほうが確実性が増すような気がするが・・

784 :nobodyさん:2006/09/14(木) 13:41:16 ID:???
>>783
まだかなりの低レベル・低知能なのでCSVのインポート失敗しました(SQL)・・・・



785 :nobodyさん:2006/09/14(木) 13:51:40 ID:???
>>784
自分にあったレベルでサイト構築しましょう。
もしくは有料でプロにまかせましょう。

786 :nobodyさん:2006/09/14(木) 14:09:31 ID:rR1x/adN
微妙に板違いかもしれないのですがお願いいたします。

mail()で送った日本語のメールが、特定のアドレスに送った物だけ件名のみ文字化けするのですが
どんな原因が考えられるでしょうか?
文字コードはShiftJISです。ためしに件名のみいろいろ文字コードを変えてみましたが駄目です。
文字コードの問題ではなさそうです。

ちなみに、その文字化けした特定のメールアドレスにメーラー(Outlook)から送ったメールは文字化けしません。

787 :軟式PHP:2006/09/14(木) 14:22:16 ID:???
>>786
$subject = "=?iso-2022-jp?B?" .$subject . "?=";
で送ってもダメぽ?

788 :軟式PHP:2006/09/14(木) 14:23:01 ID:???
っていうかShift_JISって('A')JISに変換しる。

789 :nobodyさん:2006/09/14(木) 14:56:41 ID:???
すいませんこれからPHPの勉強をかねて「XAMPP」のインストールを検討してますが、
このソフト初心者にはどうですか?それとも他におすすめのパケージがありますでしょうか?

それともPHP,MYSQLなどひとつずつインストしていったほうがいいのでしょうか?

790 :nobodyさん:2006/09/14(木) 15:03:11 ID:???
>>789
>>188-193
まずは過去ログをチェックする癖をつけると一皮剥けるかも
もう剥けてるってレスは不可

791 :nobodyさん:2006/09/14(木) 15:05:02 ID:fh1VlVe5
クラスのメソッドの中でコールバック関数を使うときって、そのメソッド内に定義できないの?
メソッド内に定義すると、次にそれを呼び出したときに「再宣言はできません」と怒られる。
同クラスのメソッドとして定義してみても、array_map('this->foo',$array); みたいな書き方は認識してくれない。
クラスファイルとは別にfunctions.phpなんかを用意してそこに書くしかないんでしょうか?

792 :nobodyさん:2006/09/14(木) 15:09:28 ID:???
>>790

ありがとうございます。とりあえずザップス試してみます。
新バージョンのXAMPP Windows 1.5.4も今月10日にでたみたいだし、
調べてもあまり悪いうわさもないようですしね。



793 :nobodyさん:2006/09/14(木) 15:13:06 ID:???
>>780
「正確な」ってなんだ…
そもそも質問の内容に具体性が全然ないので
あれで正確な回答なんて求められても困る。

794 :nobodyさん:2006/09/14(木) 15:15:07 ID:???
>>791
もう少し日本語で。

コールバック関数を使う時に「何が」そのメソッド内に定義できないのか。
「再宣言できません」と言われる、実際の例を出してくれると分かりやすい。

795 :nobodyさん:2006/09/14(木) 15:16:11 ID:???
>>791
1.if(! function_exists("hoge")) function hoge() {}
 で未定義のときだけ関数宣言を実行させる。
2.array_map('class::hoge', $array) なら通らないかな?(未検証でスマソ)

796 :nobodyさん:2006/09/14(木) 15:25:58 ID:xslgfeFn
>>794
人に日本語云々言うよりまず自分の日本語読解力の低さを…
3行目で「メソッドとして定義」や「コールバックとして呼び出してみた場合」と
具体的な話に触れてるんだから「コールバック関数の定義」のことだと
すぐ分かることじゃないかと思うんですが。

797 :nobodyさん:2006/09/14(木) 15:30:06 ID:???
>>791
array_map(array($this, 'foo'), $array);
http://www.php.net/manual/ja/language.pseudo-types.php

「メソッド内」に関数定義とか、頼むからやめてくれw

798 :nobodyさん:2006/09/14(木) 15:31:21 ID:???
まぁ、エスパー呼んでるような文よりはずっとましだけど、
>>791 も結構端折って書いてあるから、分かりにくいと思うが。

799 :nobodyさん:2006/09/14(木) 17:01:26 ID:???
>>791
お前にはそれがお似合いだ

800 :nobodyさん:2006/09/14(木) 17:40:29 ID:???
>>786
やっとルールを守って、しかもマトモな質問の仕方のヤツが現れたな。
これなら回答してあげる気になるよ。
で、答えは「メールでShift_JISは止めれ。変換しろ。っていうかmb_send_mail使え」。

>>796
キミは5回くらい氏んだほうがいいね。
俺は>>794じゃないが、お前のフザけた態度を見てムカついた。
そういう態度なら全部自分で解決すればいいだろ。人間のクズめが。

801 :nobodyさん:2006/09/14(木) 18:01:15 ID:???
俺は>>797で解決すると思うが、アノ>>791の事だから、思わぬ大どんでん返しが!

802 :nobodyさん:2006/09/14(木) 18:12:19 ID:???
だぶん何か隠してる

803 :nobodyさん:2006/09/14(木) 19:12:01 ID:8cwgwxqj
$_SERVERでつかわれるSCRIPT_FILEとSCRIPT_FILENAMEの違いってなんですか?

804 :nobodyさん:2006/09/14(木) 20:26:06 ID:???
>>800

ありがとうございます!
やっとうまくいきました。

805 :nobodyさん:2006/09/14(木) 20:49:10 ID:???
[public_html]
    |
    |----[image]---index.php
    |
    |----index.php

たとえばこんなディレクトリ構成が存在するとします。
imageディレクトリのindex.phpにアクセスするとルート元の
index.phpに飛ぶように処理したいのですが、

imageディレクトリ内のindex.phpに次の記述をしました。
header("Location: http://www.example.com/");

このheader関数内の書かれたURLをサーバによって書き換えないと
いけないので、この面倒をなくすために自動で取得したいのですが
なにかヒントをお願いいたします。

806 :nobodyさん:2006/09/14(木) 20:49:31 ID:z//mxYuG
>>803
SCRIPT_NAMEとSCRIPT_FILENAMEのこと?
phpinfo()出力してみれば一目瞭然だと思うけど、

SCRIPT_FILENAMEはファイルシステム上のパス
SCRIPT_NAMEはリクエストURI上のパス
PHP_SELFはPATH_INFOも含めたリクエストURI上のパス
REQUEST_URIはリクエストされたURIそのもの。クエリストリングも含む

807 :nobodyさん:2006/09/14(木) 20:52:52 ID:z//mxYuG
>>805
$_SERVER['SERVER_NAME']
$_SERVER['HOST_NAME']
のどちらかだけど、後者はクライアントが任意に送れるので前者がお勧め。
ただし、設定によっては使えないので要注意

808 :nobodyさん:2006/09/14(木) 20:54:46 ID:???
相対パスは?

809 :nobodyさん:2006/09/14(木) 20:58:42 ID:???
./image/index.phpの中にrequire入れたら良いだけでは?

require '/index.php'とか


810 :nobodyさん:2006/09/14(木) 21:08:57 ID:z//mxYuG
>>808
Locationには絶対URI指定することになってる。

>>809
表示されるものは同じだろうけど、ブラウザのロケーションURLとかが/image/index.phpのままだし、
ログにも/image/index.phpへの成功アクセスとして記録されちゃうから、
トップページのページビュー取得がめんどくさくなりそう。
その辺は>805の判断だろうけど

811 :nobodyさん:2006/09/14(木) 21:16:34 ID:???


プリント (’$おまえらマジレベルひっく~~)




812 :nobodyさん:2006/09/14(木) 21:19:22 ID:???
$array = array('aaa','bbb','ccc');
foreach($array as &$val){
    if($val=='bbb'){
        $val='kkk';
    }
}

は期待通りにbbbがkkkに置き換わるんですが、処理部分を
unset($val);
にしても消去されないのは何故でしょうか? キーを使わないと消せませんか?

813 :nobodyさん:2006/09/14(木) 21:20:27 ID:???
>>805
一応書いてみた。引数はURLを得たいファイルへの相対パス。
超簡易だから変な相対パス与えた時のことはシラネ


 define('SCRIPT_DIRECTORY', dirname($_SERVER['SCRIPT_NAME']));
 define('BASE_URL', (empty($_SERVER['HTTPS']) ? 'http' : 'https').'://'.$_SERVER['SERVER_NAME']);

 function get_file_url($fileName){
  $directoryName = SCRIPT_DIRECTORY;
  $baseUrl = BASE_URL;

  if(strpos($fileName, './') === 0)
   return $baseUrl.$directoryName.'/'.substr($fileName, 2);
  elseif(strpos($fileName, '../') === false)
   return $baseUrl.$directoryName.'/'.$fileName;

  while(strpos($fileName, '../') === 0){
   $fileName = substr($fileName, 3);
   $directoryName = dirname($directoryName);
  }

  return $baseUrl.$directoryName.'/'.$fileName;
 }

814 :nobodyさん:2006/09/14(木) 21:27:52 ID:???
>>812
http://www.php.net/manual/ja/function.unset.php
リファレンスをunsetしてもどこかで変数を見ていたら消えない。


815 :800:2006/09/14(木) 21:44:47 ID:???
>>804
どのように解決したかを具体的に書いてくれると、
今後の初心者向けアドバイスの参考になるんだが。
どこでつまづいていて、どこを直したのかを伝えてくれ。
(今回の場合なら、mailをmb_send_mailに直したのか、それともSJISをJISに変換したのか)

今後も似たような質問が多ければFAQに入れられるし。

816 :753:2006/09/14(木) 21:45:55 ID:???
えっと、>>753>>759
は私です。

765 :759:2006/09/14(木) 10:14:28 ID:???
>>764
ですから編集ボタンを押したら編集画面をだしたいのです。答える気がないならレスしないでください。

この人はだれですか?
寝てしまい、レスをつけることができず、こんなことになってしまっていました。
まことに申し訳ございません。
このレスは釣りでもなんでもございません。

まじめに答えてくれた>>762の人とスレの皆さんにお詫びいたします。

817 :nobodyさん:2006/09/14(木) 21:54:29 ID:???
>>816
だからお詫びするヒマがあったらIDを出せって言ってんのが分からんか??
初めからIDを出してればそんなことにはならなかったんだから。

いいかい? 次から質問するときはメアド欄を空にして書き込むこと!!

818 :nobodyさん:2006/09/14(木) 21:59:00 ID:???
こいつ頭の悪いガキだろ
先日、見たぞw

819 :753:2006/09/14(木) 21:59:52 ID:lnPVNu7F
>>713

すみません。
癖でいれてしまっていました。
申し訳ない。

820 :753:2006/09/14(木) 22:00:14 ID:lnPVNu7F
>>817

すみません。
癖でいれてしまっていました。
申し訳ない。

821 :nobodyさん:2006/09/14(木) 22:19:09 ID:bJve1W25
<script>
function GoSubmit() {
if(document.Myform.pc_photograph.value==""){
alert('お名前が記入されていません');
return;
}else{
alert(document.Myform.pc_photograph.value);
}
}
</script>

と変数名pc_photographが13文字以上なら評価されません。
12文字以下の制限を解除する方法はありませんか?


822 :nobodyさん:2006/09/14(木) 22:33:45 ID:???
>>821
ここはPHPスレです。

823 :nobodyさん:2006/09/14(木) 22:42:18 ID:bJve1W25
すまん。

824 :nobodyさん:2006/09/14(木) 22:55:03 ID:eHErhI6Y
>>816
お前二度と来ないで良いよ
誰も答える気無いからレス返さないでね


825 :nobodyさん:2006/09/14(木) 23:53:57 ID:???
>>824
はげどう

826 :753:2006/09/15(金) 00:00:14 ID:???
>>824
おめーに聞いてねーよ バカタレが
人が下手にでてればいい気になってんじゃねーよ このクソ野郎が

おまえみたいなカスでも生きてる価値あんのか ああ??



827 :nobodyさん:2006/09/15(金) 00:08:07 ID:???
コード検索したらサイト出てきたw
潰しとこう

828 :nobodyさん:2006/09/15(金) 00:53:08 ID:???
>>824
お前みたいなのがいるからなりすましとか増えてんじゃねーの?

829 :nobodyさん:2006/09/15(金) 00:58:56 ID:???
本人だろ
文体で
分かる

830 :nobodyさん:2006/09/15(金) 01:03:58 ID:???
分からんてwww
分かるつもりになってんのかwww

831 :nobodyさん:2006/09/15(金) 01:08:12 ID:nrnbJRnJ
>>823-831
まぁ、まとめてスレ違いやね。

何か言い争いたい時は必ずID出すようにしなさいな

832 :nobodyさん:2006/09/15(金) 01:10:50 ID:???
>>831
自分もかいwww

833 :nobodyさん:2006/09/15(金) 01:43:20 ID:nrnbJRnJ
>>832
そりゃぁ釣られる方もスレ違いさw

834 :nobodyさん:2006/09/15(金) 02:25:28 ID:???
悪いのは的外れな質問した上に寝てて回答を無視した>>753

835 :nobodyさん:2006/09/15(金) 02:55:54 ID:Kae3HyQK
写真や画像jpg/gifが自動的にブラウザの大きさに合わせて
調整してくれるようにする方法はありますか?

836 :nobodyさん:2006/09/15(金) 03:00:17 ID:azs6O5Hj
>>835
PCのブラウザならJavaScript使わないと無理。
携帯ならサイズが決まってるからUAからなんとかできる

837 :nobodyさん:2006/09/15(金) 03:05:02 ID:???
>>836
ありがとん

838 :nobodyさん:2006/09/15(金) 03:06:37 ID:???
よっしゃあああああああああああああああああ
3連休はPEARをゴリゴリ弄って遊ぶぞおおおおおおお!

839 :nobodyさん:2006/09/15(金) 03:56:45 ID:???
>>835
単純に横幅だけ合わせればいいだけなら
<html>
<img width="100%" src="画像URL">
</html>
でいけね?
縦か横のどっちか小さい方にあわせるとかややこしい話になるとJavaScript必須。

840 :nobodyさん:2006/09/15(金) 03:59:06 ID:???
>>839
img要素 の width属性 に %での指定できたっけ? と思って仕様書調べてみたら
問題無かったみたい。



841 :nobodyさん:2006/09/15(金) 06:56:27 ID:???
http://php.s3.to/man/function.bcpow.html
このbcpow()関数で

echo bcpow(2, 2.5, 10);

と「2の2.5乗」を計算してみたのですが、結果は「4」しか返ってきません。
第二引数が先頭文字の「2」となり「2の2乗」になってるようなのですが、どうすれば計算できますか?

842 :nobodyさん:2006/09/15(金) 07:14:12 ID:???
>>841
pow(2, 2.5)

843 :nobodyさん:2006/09/15(金) 07:30:42 ID:???
>>841
べき乗の指数って自然数しかありえないものだと思ってた…そんなんあるんだ…
>>842
標準のpowでは出せるってことはbc関数のバグ?


844 :nobodyさん:2006/09/15(金) 07:46:14 ID:???
>>843
bcmathのマニュアルには書いてないけど、ソース読んだかぎりでは、第二引数に整数しか使えないのは仕様と思われる。

845 :nobodyさん:2006/09/15(金) 08:26:56 ID:???
bcsqet(bcpow(2, 5, 10), 10)でどうだ?

846 :nobodyさん:2006/09/15(金) 10:54:59 ID:???
>>843
> べき乗の指数って自然数しかありえないものだと思ってた…そんなんあるんだ…
高校に行けば習うべ


847 :841:2006/09/15(金) 11:04:04 ID:???
>>842-845
整数乗と平方根を併用する方法で上手くいきそうです。どうもありがとうございました。

848 :nobodyさん:2006/09/15(金) 13:18:02 ID:???
0.5乗=平方根

849 :nobodyさん:2006/09/15(金) 13:30:07 ID:???
高校の数学の時間寝てたからわからねえ話だらけだ('A`)

850 :nobodyさん:2006/09/15(金) 14:37:12 ID:???
馬乗=巨根

851 :nobodyさん:2006/09/15(金) 14:39:37 ID:???
bcpow() only supports exponen
ts less than or equal to 2^31
-1. Also, bcpow() does not s
upport decimal numbers.

852 :nobodyさん:2006/09/15(金) 15:46:07 ID:???
平方根なんて習わなかったぜ!

853 :nobodyさん:2006/09/15(金) 15:49:15 ID:???
ところでプログラマーのお前らって数学得意な奴多いの?
俺の場合どっちかというとifとかforeachの絡み合った国語系(?)なロジックが多くて
今まではそんなに数学力必要じゃなかったんだよね(簡単な足引掛割程度しか)
グラフィカルなものとかは作れる気がしない。昔から数学大嫌いで。

854 :nobodyさん:2006/09/15(金) 15:50:48 ID:???
>>853
数学なんて0点だったぜ。
っていうかSEとかってモロ文系職だし。
プログラマも似たようなもんでは??

855 :nobodyさん:2006/09/15(金) 17:04:15 ID:???
そもそも文系だったからなあ。
まさか自分がプログラムいじってるなんて
信じられないよ。
数学は高校2年までの知識しかないな。
といってももう忘れてるけど。
webプログラムなら数学はさほど必要なさそう。

856 :nobodyさん:2006/09/15(金) 17:08:25 ID:???
だからオマエらレベルが低いんだよ。

計数能力ないやつがプログラマって おい 笑わせんなよw



857 :nobodyさん:2006/09/15(金) 17:22:14 ID:???
数学は得意でした
日曜プログラマですが

858 :nobodyさん:2006/09/15(金) 17:46:03 ID:???
>>856
「プログラミング=数学が必要」という間違った固定観念は、頭の弱い中年オヤジに多い。

859 :nobodyさん:2006/09/15(金) 17:47:21 ID:???
>>858
慶応院生の24歳ですが、なにか?



860 :nobodyさん:2006/09/15(金) 17:48:09 ID:???
>>859
なにも。

861 :nobodyさん:2006/09/15(金) 17:53:29 ID:???
数学ができると楽なこともあるけどね。
必要不可欠ではないし,その都度調べても追いつく。

862 :nobodyさん:2006/09/15(金) 17:58:14 ID:???
システム開発だと、コンピュータの専門知識は大していらないからな。
設計をビジネスにつなげるのがメインだから、プログラミングはただの作業にすぎない。

同じプログラマでも、OS屋さんとか言語屋さん、セキュリティ屋さん、あとネットワーク屋さんあたりのコアな開発する場合は理系的な専門知識が必要。
組込系の場合はハードウェア依存な知識は必要だけど、決して理系的ではない。

Web開発なんか特に数学やアルゴリズムなどの専門技術はいらんわな。
設計手法とかWebに特異のセキュリティ知識とか、けっこう「文系的」なものばっかり。

863 :nobodyさん:2006/09/15(金) 18:17:08 ID:???
>>862


だからオマエら 「カス」 っていわれんだよ。

 しかも 「PHP」 っておいw



864 :nobodyさん:2006/09/15(金) 18:18:22 ID:???
計算が必要な場合でも大抵既にライブラリがあったりして
スルーできる場合も多いからな。

865 :nobodyさん:2006/09/15(金) 18:18:30 ID:???
マサツーセッツ工科大卒ですが何か?

866 :nobodyさん:2006/09/15(金) 18:19:41 ID:???
数学だけ出来ても仕様は作れないからな。

867 :nobodyさん:2006/09/15(金) 18:20:42 ID:???
要するに、数学苦手な奴が多いと。

868 :(^ω^) ◆shPHP/.kPI :2006/09/15(金) 18:25:34 ID:???
Web開発でもそれなりに使うよ。ログからグラフを作る、とか。
絶対必要でもなければ絶対不要でもない。
でも、いまさら高校の教科書とか参考書とか引っ張り出して調べている姿は決してかっこよくないんで、覚えておいて損はないよ。

で、数学だけ出来ても物理の知識不足で悩むことになる。

869 :nobodyさん:2006/09/15(金) 18:30:10 ID:???
そいや論理学って文型だっけ
記号論理学の先端は数学だけど

870 :nobodyさん:2006/09/15(金) 18:44:40 ID:???
キャーフォニア高価大学卒 マサツーセックル高架大学博士号取得ですか、なにか?


871 :nobodyさん:2006/09/15(金) 18:51:34 ID:???
なんで数学ってすぐに「何か高尚なもの」だと勘違いされるんだろうね?
別に数学できるほうがシステム設計できるより偉い、なんていう図式はどこにも存在しないんだから、Web開発者に数学能力求めてどうこう言う必要はない。

872 :859:2006/09/15(金) 18:52:09 ID:???
ってか、まじでMITに留学してたけど、ヌーメリカル・コンピュテーションやアナリシスは必修。

 もう一度いわせて


    「PHP」 ってオマエらwww






873 :nobodyさん:2006/09/15(金) 18:56:38 ID:???
つまんない人間だなおい。

874 :nobodyさん:2006/09/15(金) 18:57:38 ID:???
>>872
えーと、どこで笑ったらいいのかな。

875 :nobodyさん:2006/09/15(金) 18:58:04 ID:???
>>871
そういう奴に限って、偏差値出す程度のことでも戸惑ったりするんだよなw
数学できる奴なら、5分もありゃできることを、わざわざライブラリー探してきたりしないといけないし
そのライブラリーにバグがあっても、数学ができないと数値がおかしいことに気が付かないのでそのまま納品してしまう


876 :nobodyさん:2006/09/15(金) 19:01:31 ID:???
数学できなくてもこの業界稼げるから大丈夫だよw

877 :nobodyさん:2006/09/15(金) 19:03:04 ID:???
留学までしてブルーカラーかよw

878 :nobodyさん:2006/09/15(金) 19:06:32 ID:???
激しく同意w

数学できないやつ(文系のやつ)は、グラフ作成、表作成、高度な演算に戸惑うし
応用力が無いことが多すぎ
なんていうか、表面しか理解していないから、新しい脆弱性などにも対応できない

例えば、Shift_JISを使っていると、ダブルクォートの中にユーザ入力値を、一般的なエスケープ処理をしてからいれても (&, <, >, ", ' のエスケープ)、XSSを発生させることが可能。
最後を、1バイトの " と連結するような文字コードを入れることで不正な2バイト文字とブラウザは判断し、php側で出力した「"」が無いことになって、次のユーザ入力値でXSS攻撃ができるからね

最近、2年ぐらいになって、Shift_JIS は危険、と騒ぎだされたが、文字コードの特長やビット演算ができれば、そういうことが起きるのは当たり前だとわかるし、
漏れは5年以上前から外部からの知識なしに自分でそれを把握して、対策してた
今では当たり前となったCSRFもいま高木さんが言ってる方式で当時から対応してたしね

なんでもかんでも、どこかから入手できた 「知識」 で対応できるとおもったら大間違い
この移り変わりが激しい世の中で最先端を行くには思考力、そして表面的な知識ではなくビット演算や各文字コードの特長、通信プロトコルの仕組みなどの基礎が重要


なくても、そりゃ一般的な業務プログラムは問題なくつくれけどね


879 :859:2006/09/15(金) 19:06:44 ID:???


  「PHP」 = IQの低いバカ用の(ry



880 :nobodyさん:2006/09/15(金) 19:09:10 ID:???
>>878
数学 まで読んだ


881 :859:2006/09/15(金) 19:20:07 ID:???



   バカで貧乏人www
 
 

882 :nobodyさん:2006/09/15(金) 19:30:10 ID:???
数学なんてできなくてもいいじゃん。
そういえば、自らの国家や民族に固執する右翼系の若者が世界的に増えているという事実も、多少気になるところだが。

883 :871:2006/09/15(金) 19:32:19 ID:???
>>875
いや、俺はいちおう計算機科学の院生でかなり理論寄りなことやってて、数学にもどっぷりつかってるけど、システム開発で金稼いでるプロの連中はスゴイと思うよ。
859みたいにPHPの容易さと設計の難しさの区別もつかない世間知らずがいるようなので、ちょっと言ってみただけ。

884 :nobodyさん:2006/09/15(金) 19:33:26 ID:???
右翼系と言われても基準が良く分からん。
愛国心を持とうレベルの発言で右翼認定されるような日本の現状があるしな。


数学が必要な分野と不要な分野があるだろうし、そこに固執するのは本質ではないだろ。

885 :nobodyさん:2006/09/15(金) 20:10:59 ID:???
院生っていえば納得すると思ってる田舎もんが多くて困るな。



886 :nobodyさん:2006/09/15(金) 20:33:36 ID:???
Web開発で飯食ってると勘違いされたからいっただけだけど。

887 :nobodyさん:2006/09/15(金) 20:51:52 ID:???
ここは質問スレ。

>853の質問の答えは出てるんだから、もういいだろ。
そんなに議論がしたいならよそに行ってくれ。

888 :nobodyさん:2006/09/15(金) 20:57:29 ID:???
答は結局なんだったの?

889 :nobodyさん:2006/09/15(金) 21:00:10 ID:???
このスレでいう「数学ができる」ってどの程度から上を指してるんですか?

・・ちなみに自分は理系です。
頭はよくないけど人並みには数学知ってると思います。
文系の人だって高校レベルを理解してるなら全然問題ないと思います。

890 :nobodyさん:2006/09/15(金) 21:02:17 ID:???
>>888
答え・自分で統計とらなきゃわかるわけねーだろカス。そもそも聞いて答えが出る質問じゃねーだろカス。

891 :nobodyさん:2006/09/15(金) 21:05:22 ID:???
>>890
そんなのあたりめーだろカス。887が答えでたとかいうから聞ーてんだろカス。

892 :nobodyさん:2006/09/15(金) 21:08:38 ID:???
初歩的な質問ですみません
phpからPerlで書かれたCGIを呼び出せますか?
例えば以下のようなプログラム(whoamiの結果を返す)を実行したいのです。
ブラウズ上だと実行できないので、書き方に問題があると考えているのですが。
よろしくお願いします。

<?php
print system("/usr/bin/perl test.cgi");
?>

--test.cgi
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print `whoami`;

893 :nobodyさん:2006/09/15(金) 21:12:33 ID:???
>>892
セーフモードだったりすると動かないかも。
それ以前にwhoamiってフルパスで書かないと動かないと思うけどね。

894 :892:2006/09/15(金) 21:19:23 ID:???
>>893
早速ありがとうございます。
フルパスでもダメでした。

ブラウズ上から直にtest.cgiを実行すると大丈夫なんですよね。
後、ローカルのコンソール上から以下のコマンドでも実施出来る事を確認済です。
php5 (phpのファイル名)

いったいどのようにすればブラウズ上から実行できるのでしょうか?^^;

895 :nobodyさん:2006/09/15(金) 21:21:25 ID:Llhzape2
sendmailでxxne.jpに送れないのはなんでですか?

896 :892:2006/09/15(金) 21:27:58 ID:???
自己解決です。
パーミッションの問題でした。

suEXECを導入しているのですが、system関数から呼び出すとsuEXECは動作してくれないんですね。

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

897 :nobodyさん:2006/09/15(金) 21:35:38 ID:JKh10NJ7
物凄くくだらないですが、
PHPはどのように組み込めばいいのですか?

898 :nobodyさん:2006/09/15(金) 21:51:50 ID:???
>>897
インストールのことなら
http://www.php.net/manual/ja/install.php


899 :nobodyさん:2006/09/15(金) 22:01:45 ID:JKh10NJ7
英語で書いてあってわからない。

>>897修正
ウェブページにアクセス制限のphpを組み込みたいが、
htmlがわからない。

900 :nobodyさん:2006/09/15(金) 22:20:45 ID:???
HTMLに埋め込むなら、拡張子をphpに変えて<?php 〜 ?>の形式で書けばいい。
詳しくはマニュアル嫁

まぁ、諦めてベーシック認証にしとく方がいいと思うがな

901 :897:2006/09/15(金) 22:26:47 ID:???
>>900
素人なんだからもっと詳しくおしえろよ


902 :nobodyさん:2006/09/15(金) 22:27:52 ID:JKh10NJ7
htmlの拡張子では組み込めないのでしょうか。

903 :nobodyさん:2006/09/15(金) 22:33:46 ID:???
>>902
その場合はサーバの設定を変更する必要がある。
AddTypeでこのスレ検索して来い。

FAQ行きかな

904 :nobodyさん:2006/09/15(金) 22:46:40 ID:JKh10NJ7
何を言っているかわからない。
http://www.php.net/manual/ja/
を見ても何がなんだかわからない。

phpは触らないで置こう、できる気がしないorz

905 :nobodyさん:2006/09/15(金) 22:54:59 ID:UAoaNmQp
preg_replace()について教えて下さい。

$queryの値が下の様に、OKの時と空の時とあります。

name=NULL
name=\s
name=OK

で、これらにマッチするもの全てを

name=NANASHI

にしたいのですが、下に様にしてもうまくいきません。

preg_replace('/name=OK\s?/','name=NANASHI',$query)

どすれば良いのでしょうか?

906 :nobodyさん:2006/09/15(金) 22:55:26 ID:JKh10NJ7
といいつつも自己解釈で無理やりやってみたがこれで間違っているか?
ttp://www.abcoroti.com:8081/~wiz/

907 :nobodyさん:2006/09/15(金) 22:55:38 ID:???
>>902
Webサーバー(Apache等)の設定を変更して
.htmlという拡張子のファイルをPHP実行するようにしないといけない。
それがAddTypeという設定項目。httpd.confや.htaccessなどで設定する。

908 :nobodyさん:2006/09/15(金) 22:59:03 ID:???
>>905
$query = preg_replace('/^name=(|OK|\s)$/', 'name=NANASHI', $query);
かな

909 :nobodyさん:2006/09/15(金) 22:59:44 ID:???
>>905
'/^name=(OK|\\s|)$/'
動きが違うと言うなら具体例よろしく

910 :nobodyさん:2006/09/15(金) 23:08:04 ID:JKh10NJ7
今までの文章を修正

nekoteをindex.htmlファイルで使用したい。
この時、index.phpにはせず、index.htmlでnekoteのkillhost.phpを
作動させ、アクセス制限をしたい。
この場合に使用するHTMLなどを教えて欲しい。
お願いできないだろうか?

911 :nobodyさん:2006/09/15(金) 23:11:23 ID:UAoaNmQp
>>908-909

アドバイスありがとうございます。
だめでした。

name=OKOK

となってしまいます。
後、言葉足らずでしたが、という風に埋め込まれてたりします。

name=OK
&name=OK&arg2=9


912 :nobodyさん:2006/09/15(金) 23:12:07 ID:???
>>910
>>907
すでに.htmlでPHPが動くように設定されてるサーバーならともかく、
そうでないならHTMLをいくら修正したところでPHPは一切動作しない。

913 :nobodyさん:2006/09/15(金) 23:16:23 ID:JKh10NJ7
では、index.phpで動作させるにはどうすればいいでしょうか。

914 :nobodyさん:2006/09/15(金) 23:16:25 ID:UAoaNmQp
あれ?
うまくいったくさい。

最後に$つけるの忘れてました。
なんか、動きそうです。ありがとうございました!

915 :nobodyさん:2006/09/15(金) 23:21:59 ID:???
すいません。
ついでに質問ですが

preg_matchでは[a|b]が出来るのに、preg_replaceでは[a|b]は不可
なんでしょうか?ずっと、[]で囲んでました。()は後ろの配列に入れる時だと
ばかり思っていました。勉強不足ですね。

916 :nobodyさん:2006/09/15(金) 23:24:54 ID:???
>>915
[〜] で括るときは | 無しで [ab] だと思うけど。
でもこれだと OK みたいな文字列は処理できないよね。

917 :nobodyさん:2006/09/15(金) 23:26:06 ID:JKh10NJ7
index.phpで使用しようとすると
ttp://www.abcoroti.com:8081/~wiz/index.php
こうなってしまう。どうすればいい?

918 :nobodyさん:2006/09/15(金) 23:26:15 ID:???
>>913
自分で作るのはやめたほうが・・・インジェクションで破壊とか?されたら悲惨

919 :nobodyさん:2006/09/15(金) 23:29:26 ID:JKh10NJ7
>>918
nekoteのkillhost.phpというファイルをindex.php、またはindex.html
で動作させたい。

なのに何故自分で作るのはやめたほうがいいのだろう?

920 :nobodyさん:2006/09/15(金) 23:31:16 ID:???
>>910
>この場合に使用するHTMLなどを教えて欲しい。
HTMLの範疇では不可能。

次の手順を実行する必要がある。(Apacheの場合)
1. Apacheの設定ファイルhttpd.confまたは.htaccessに
    AddType application/x-httpd-php .html
   を追加。
2. index.htmlのどこかに、<?php include '[killhost.phpの場所]';?>を追加
   killhost.phpが
    /home/someone/killhost.php
   に有る場合は
    :<?php include '/home/someone/killhost.php';?>
   を追加する。

>>917
<?php include '/home/wiz/public_html/nekote/killhost.php';?>
ただ、ライブラリはpublic_html以下に置くのはいかがなものかと。

921 :nobodyさん:2006/09/15(金) 23:37:26 ID:JKh10NJ7
>>920
次の手順自体わからない。

第一、public_htmlに置かないといけないサーバー。

922 :nobodyさん:2006/09/15(金) 23:40:36 ID:JKh10NJ7
今までの文章を編集。

index.phpあるいわindex.htmlにどうやればnekoteを組み込めるのか。
動作できるのか。

923 :nobodyさん:2006/09/15(金) 23:43:28 ID:???
>>921-922
お前には無理。諦めろ。そして二度とくるな。

924 :nobodyさん:2006/09/15(金) 23:49:36 ID:???
ある変数名に指定文字列が入っていたら、別の文字列に変更することは
出来ますでしょうか?
例えば

$message="こんにちわ!ご機嫌いかがですか。";
↓表示
<storng>こんにちわ!</strong>ご機嫌いかがですか。

※この例で言うと、$messageに「こんにちわ!」と入っていたら、表示画面では
 太字になるstrongが付くという意味です。

925 :nobodyさん:2006/09/15(金) 23:51:30 ID:???
>>922
index.phpの1行目に
<?php include('./nekote/killhost.php'); ?>
の1行を入れればいけねー?

926 :nobodyさん:2006/09/15(金) 23:51:59 ID:???
>>924
preg_replace
str_replace
でどうぞ

927 :nobodyさん:2006/09/15(金) 23:52:15 ID:???
>>924
str_replace()って関数でできる

928 :924:2006/09/15(金) 23:57:07 ID:???
>>926-927
ありがとうございます。以下のようにstrtrを使っていたのですが、
この場合は何か不都合がありますでしょうか?
前にきいた時に、良くないと言われました。。
<?php
$str="<太>こんにちわ!</太>";
echo strtr($str,array("<太>"=>"<strong>","</太>"=>"</strong>"));
?>


929 :nobodyさん:2006/09/16(土) 01:03:40 ID:???
>>928
別に構わん気もするが、日本語を含む変換はmb系の関数を使った方がいいかもね。
でもこの程度なら誤変換することも無いんじゃないの?

930 :nobodyさん:2006/09/16(土) 02:55:07 ID:???
>>882
ワロタ

931 :nobodyさん:2006/09/16(土) 03:04:23 ID:UtRrdu7L
PHPで読み込んだ画像にalt属性を指定したいのですが
alt=$titleだと大丈夫なのですが、alt="$title" だとエラーがでます。
前者の場合、タイトルの中に半角スペースが入っていると途中で切れてしまうため
alt="$title"を使いたいのですが、良い方法はありませんか?

932 :nobodyさん:2006/09/16(土) 03:45:58 ID:???
alt=\"$title\"

933 :nobodyさん:2006/09/16(土) 07:29:40 ID:???
>>931
おそらく alt="$title" の前後にも " があるから
" alt="$title" "
エラーになってあたりまえ

934 :nobodyさん:2006/09/16(土) 09:24:46 ID:Y53T7tZb
ソース:(<?php ?>の前後に一文字も無し)
<?php
if(headers_sent()){echo "ダメ!";}else{echo "OK!";}
?>

結果:ダメ!

何故でしょう・・・・○| ̄|_

935 :nobodyさん:2006/09/16(土) 09:30:32 ID:???
>>934
うちではOKでるけどね
レンサバで広告入れてるとかじゃないの?

936 :nobodyさん:2006/09/16(土) 09:54:54 ID:???
.phpの拡張子ファイルをCGI板で動作させて、suEXECを適用させたいと考えております。

OS:Vine3.2
php5

現状の設定では、下記のファイルを以下のように書き換えてます。

/etc/apache2/conf.d/php5.conf

# Apache2 module
#<IfModule !sapi_apache2.c>
#LoadModule php5_module modules/libphp5.so
#AddType application/x-httpd-php .php .phtml
#AddType application/x-httpd-php-source .phps
#DirectoryIndex index.php index.phtml
#</IfModule>

# CGI
Action php5script /cgi-bin/php5-cgi
AddHandler php5script .php
DirectoryIndex index.php


それでもモジュール版で動作しているようで、whoamiを使ったphpプログラムでは
apahceのユーザ名で返されます。

CGI版で動作させる場合の設定が不足しているようです。
アドバイスをお願いします。

937 :nobodyさん:2006/09/16(土) 10:06:05 ID:???
>>936
そもそもvineのapacheではsuexecを使う設定になってるの?
php側で設定するものではないよ

938 :936:2006/09/16(土) 10:10:07 ID:???
perlのCGIファイルはsuEXECで動作します。

suexecのバイナリはVineに備わっていたものではなく、
自分でコンパイルしたものを使用してます。

ただしphpを有効にするような設定?はコンパイル時に指定した記憶はありません。
もう少し具体的にお話を伺えないでしょうか。

よろしくお願いします

939 :936:2006/09/16(土) 10:20:24 ID:???
あ、ちなみにphpも、cgiの拡張子で保存するとsuEXECが動作する事は確認済です。

現状として、phpの拡張子でsuEXECを動作させるための設定が不足しているとは睨んでいるのですけど。
よろしくお願いします。

940 :nobodyさん:2006/09/16(土) 10:37:53 ID:???
-が抜けている事を除けば別に気にならないけどバーチャルでもないのに同じ拡張子で
modとCGIの両方を動かそうとして上書きしてません?

941 :nobodyさん:2006/09/16(土) 10:38:44 ID:???
>>939
いや、suEXECとして動かす前にCGIとして動かすことだと思う。
本当にそのphp5.confは読み込めてるの?
別のファイルがインクルードされてたってオチはない?

>>937
>>936の書き込みのどこ見たらPHP側で設定してるように見えるんだ。

942 :nobodyさん:2006/09/16(土) 10:44:40 ID:???
あ、apacheか。エイリアスを使う場合はphp.iniのdoc_rootも関係してくるからそこらもチェックいるかも。

943 :936:2006/09/16(土) 10:46:10 ID:???
>>941

php5.confが読み込めているかどうかは、あやしいですね。
apt-getで取得したphp5のconfだったので、改めて確認するまでもなく、読み込まれていると考えてました。

恐縮ですが、php5.confの読み込み設定確認はどちらで行うのでしょうか?
httpd.confでしょうか?php.iniでしょうか?
(どちらにも、php5.confの記述は無い事を確認しました。)
よろしくお願いします

944 :nobodyさん:2006/09/16(土) 10:53:42 ID:???
>>943
httpd.confのどっかに
Include etc/apache2/conf.d/php5.conf
って1行を書いてやる必要があるんじゃないの?
php5.confはそのままだとただのサンプル設定だと思う。


945 :nobodyさん:2006/09/16(土) 10:58:56 ID:???
>>944
conf.dを使う場合は
Include conf.d/*.conf
という記述で、ディレクトリ内の*.confを全部読み込む指定にするもんだと思う。
>>943
conf.d内にphp5.conf以外にもphp設定をしてるファイルが混じったりしてないか?

946 :936:2006/09/16(土) 11:09:04 ID:???
>>945

httpd.confに以下の記述はありました。
Include conf.d/*.conf

また、conf.dには以下のファイルしかありませんね。

ls /etc/apache/conf.d
README php5.bk php5.conf php5.conf~

結論で言えば、php5.confは読み込めていそうですね。

それでもphpの拡張子でsuEXECが動作しないのは何故だろう。
ほかに原因として考えられる事はありますか?

よろしくお願いします。

947 :nobodyさん:2006/09/16(土) 11:18:48 ID:???
もっと単純に考えたら良いと思われ。CGIで動かずに何で動いているのか、その設定が必ずあるはず。
リスタートしてなかったら大爆笑だがw。

948 :936:2006/09/16(土) 11:38:51 ID:???
>>947

もしかしたら?と思って、OSのリブートましたけど、ダメでしたねw

CGI版で動いてなければ、モジュール版で動いているはず。
しかし、php5.confは修正済。参りましたね。

ちょっとお風呂入ってリラックスしてきます。

949 :nobodyさん:2006/09/16(土) 11:42:35 ID:???
>>946
そもそも、apacheはreloadもしくはrestartしてる?
あと、vineだとapache2とapacheがあるとおもうけど、動いてるのはどっちか確認した?

950 :nobodyさん:2006/09/16(土) 11:45:34 ID:???
>>948
CGI版で動いてなければ、モジュール版で動いているはず。
phpinfoでチェックしろや。

951 :nobodyさん:2006/09/16(土) 12:17:18 ID:Spq9TZy5
正当なメアドかどうかのチェックとして、以下のような正規表現を作りました。
[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+

ところがこれだと、トップレベルドメインの末尾に数字があってもマッチしてしまいます。
たとえば、「test.com」はOKだけど「test.com5」はNGにしたいのですが、
この正規表現では何がマズイのでしょうか?

952 :936:2006/09/16(土) 12:18:26 ID:???
>>950

なるほど、phpinfo()でCGI版か、モジュール版を確認出来るのですね。

下記にphpinfo()を公開します。
どの項目に明記されているかをご指摘いただけないでしょうか。
お手数ですが、よろしくお願いします。

ttp://210.139.207.242/~kozu/index.php

953 :nobodyさん:2006/09/16(土) 12:18:28 ID:???
>>951
1番最後に「$」が無いから。

954 :nobodyさん:2006/09/16(土) 12:19:27 ID:???
>>952
> Server API CGI

955 :936:2006/09/16(土) 12:20:50 ID:???
>>950

もしかして、ServerAPIの項目でしょうか?
そこはCGIと明記されておりますね。

956 :nobodyさん:2006/09/16(土) 12:21:59 ID:???
>>955
モジュール版ならそこは「Apache 2.0 Handler」という表記になる。

957 :936:2006/09/16(土) 12:22:58 ID:???
>>954

やはりそこでしたか。
ありがとうございます。

ということは、現在phpはCGI版で動作しているので、
suEXECがphpの拡張子で動作しない理由は他にある。
って感じですよね。

958 :nobodyさん:2006/09/16(土) 12:35:06 ID:???
そうなると対象外のディレクトリなんだろ

959 :936:2006/09/16(土) 12:38:25 ID:???
原因が分かりました。

以下の設定が不足している事が判明しました。

いろいろとお世話になりました。
ありがとうございました。

httpd.conf

AddHandler /cgi-bin/ .cgi .php


960 :936:2006/09/16(土) 12:54:36 ID:???
訂正

httpd.conf

AddHandler cgi-script .cgi .php


961 :951:2006/09/16(土) 15:11:10 ID:Spq9TZy5
>>953
[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+$
で、解決したようです。
ありがとうございました。

962 :nobodyさん:2006/09/16(土) 15:18:18 ID:???
>>961
先頭に[^]も付けてみてはどうか

963 :nobodyさん:2006/09/16(土) 15:21:49 ID:???
>>961
そういうふざけたチェックするなよ
メールアドレスに "!" などを使っている漏れはどうすればいいんだ?
いっとくが、ドット2連続で使うやつと違って、RFC準拠の正当なメールアドレスだからな

Perlでもphpでもメールアドレスの正当性チェックするモジュールあるんだからそれ使えばいいじゃん

面倒だったらせめて、

^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$

にでもしとけ。


964 :951:2006/09/16(土) 15:32:30 ID:Spq9TZy5
>>962
先頭にそれが無いと、どういった支障が出ちゃうのでしょうか??

>>963
すいません、実はこれは技術評論社の『正規表現ポケットリファレンス』という本を参考にしてます。
http://bitarts.jp/books/

この本は他にもいろいろ間違いというか、足りない点がたくさんあるようで、
今までにも何度も動作に問題が発生して、そのたびに2ちゃんで助けていただいてました… orz

965 :nobodyさん:2006/09/16(土) 15:35:14 ID:???
>>964
チェックになってない<先頭に ^ 無し

http://www.tt.rim.or.jp/~canada/comp/cgi/tech/mailaddrmatch/
でも読んどけ

966 :nobodyさん:2006/09/16(土) 15:36:04 ID:???
>>963
ドメインにアンダースコアは使えないぞ。

967 :951:2006/09/16(土) 15:43:50 ID:Spq9TZy5
>>965
あわわ・・・
たしかにいま実験してみましたところ、先頭に「^」が無いと、
「あtest@example.com」などのアドレスがチェックを通過しちゃいますね。

すいません、正規表現ド素人なもので。。。

968 :nobodyさん:2006/09/16(土) 15:46:11 ID:???
メールアドレスとして正しかろうが、そのアドレスが存在しなければ結局問題なんだから
簡単な入力ミスのチェックと、セキュリティ的なチェックができれば十分。

969 :nobodyさん:2006/09/16(土) 15:47:37 ID:???
いっそMTAいじめにノックしてみるとかw

970 :nobodyさん:2006/09/16(土) 15:48:17 ID:???
クラスのメソッドから、parent::hoge()で親クラスのメソッドを呼び出せますが、
親の親のクラスのメソッドを呼び出すことはできますか?

971 :nobodyさん:2006/09/16(土) 18:19:29 ID:???


「PHP」 = IQの低い貧乏人御用達



972 :nobodyさん:2006/09/16(土) 18:35:23 ID:???
じゃあ俺は貧乏人でいいよ。

で、おまえは?

973 :nobodyさん:2006/09/16(土) 18:41:01 ID:???


   「ASP」 >>>>>>>>>>>>>>>> ............. 「PHP」

974 :nobodyさん:2006/09/16(土) 19:44:57 ID:???
   .∩_∩
  ( ・(エ)・)
  (\_i  i_ノ 
  (_( ̄)_)
      
   .∩_∩
  ( ・(エ)・)  クマネチ
  (_(    )_)
  (_( ̄)_)


975 :nobodyさん:2006/09/16(土) 20:52:18 ID:6z1q+ziI
>>295
出て行けといわれましたが、確認用に来て見ましたらレスがあったようなので一応。

Warning: file(kill.conf): failed to open stream: No such file or directory in /home/wiz/public_html/nekote/killhost.php on line 22

Warning: Invalid argument supplied for foreach() in /home/wiz/public_html/nekote/killhost.php on line 23

Warning: file(dany.dat): failed to open stream: No such file or directory in /home/wiz/public_html/nekote/killhost.php on line 32

Warning: Invalid argument supplied for foreach() in /home/wiz/public_html/nekote/killhost.php on line 33
 
と表示されてしまい、できていないようです。
どうすればいいでしょう。

976 :nobodyさん:2006/09/16(土) 20:56:43 ID:???
>>975
設定とデータファイルが見つからないと主張しているんだから見つけられるようにしてあげたら
良いのでは。パーミッションとかじゃないの?。

977 :nobodyさん:2006/09/16(土) 21:33:08 ID:6z1q+ziI
非常に申し訳ない、謝って許されるかどうかわからないが、
このサーバーはphpに対応しないようで、
他のサーバーと見間違えてしまっていたようです。

978 :nobodyさん:2006/09/16(土) 21:38:24 ID:6z1q+ziI
あれ、大丈夫みたい。
http://www.abcoroti.com:8081/~rent/search.php

979 :nobodyさん:2006/09/16(土) 21:39:40 ID:???
>>977
エラーが出てるんだからそらないだろw
パスまたはパーミッションの問題が濃厚

980 :nobodyさん:2006/09/16(土) 21:44:25 ID:6z1q+ziI
説明書にパーミッション設定が書いてなくてわからない。。

981 :757:2006/09/16(土) 21:57:37 ID:???
:::::::::::/           ヽ::::::::::::
:::::::::::|  P  し  は  i::::::::::::
:::::::::::.ゝ H   ね   や  ノ:::::::::::
:::::::::::/  P  よ  く イ:::::::::::::
:::::  |  屋。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;


982 :nobodyさん:2006/09/16(土) 22:08:20 ID:???
しかしJavaとかCとかPHPとか・・・
いずれは消えていく言語じゃん?
COBOLはいつまで残るんだろうな・・・

983 :nobodyさん:2006/09/16(土) 22:23:44 ID:???
>>982
おまえも消えてくんだから気にするな


984 :nobodyさん:2006/09/16(土) 22:38:54 ID:???
cgi分からない九手もphp分かればくていけますか

985 :nobodyさん:2006/09/16(土) 22:39:23 ID:???
>>982
いつまでも残る言語なんてあんの?
ま、CはCOBOLと同じくらいには長生きするだろ。
それに比べるとどうしてもJavaとPHPは短命だな。

986 :nobodyさん:2006/09/16(土) 22:40:01 ID:???
>>984
ムリ

987 :nobodyさん:2006/09/16(土) 22:40:49 ID:???
>>975
このスクリプトはnekoteなんてディレクトリに入れちゃいけないんじゃないか?
全部public_htmlに置いてみなよ。

988 :nobodyさん:2006/09/16(土) 22:47:18 ID:???
$3.00なんだね
もしや宣伝かw

989 :nobodyさん:2006/09/16(土) 23:44:01 ID:6z1q+ziI
http://www.abcoroti.com:8081/~wiz/

これでおk?nekoteに入れないでやってみたが

990 :nobodyさん:2006/09/16(土) 23:48:49 ID:???
>>989
うん、それでバッチリ大正解。おkだからもうくんなよな。

991 :nobodyさん:2006/09/16(土) 23:59:30 ID:???
PHPでカレンダー作成する際に、祝日を自動で取得しようとしたらどうすればいいですか?
知恵をお貸し下さい。

992 :nobodyさん:2006/09/17(日) 00:19:17 ID:???
ある程度は計算で出せるけど、その算出方法自体が変更される事があるので
お仕事でカレンダーを作るつもりなら毎年アップデートする方が良いかと。(日付決め打ちでデータ保持)

1. 日にちが決まっているもの
2. ある月の特定週目の特定曜日
3. 毎年公布される日(秋分とか春分とか)

993 :nobodyさん:2006/09/17(日) 00:46:25 ID:p0cZcza+
タブを\tや>のようなコードで表示したいのですがなんて書けばいいのでしょうか?

994 :nobodyさん:2006/09/17(日) 00:49:14 ID:???
>>992
ありがとうございました。
やはり、そうですよね。

毎年のアップデートの作業が不要にできるようなものがあればと聞いてみました。
とりあえず、自分でデータベース作っておきます。

995 :nobodyさん:2006/09/17(日) 00:55:25 ID:???
>>993
タブを普通の文字のように置換すればいい
"\t"→"\\t"とかでOK
ソースコードとかをweb上に表示するような場合ならコピペで変なものが混じらないのがいいね。

996 :nobodyさん:2006/09/17(日) 01:40:35 ID:p0cZcza+
>>995
ありがとうございます。
さっそく書いてみたところ、求めていた結果になりました。

997 :nobodyさん:2006/09/17(日) 01:46:44 ID:???
:::::::::::/           ヽ::::::::::::
:::::::::::|  P  し  は  i::::::::::::
:::::::::::.ゝ H   ね   や  ノ:::::::::::
:::::::::::/  P  よ  く イ:::::::::::::
:::::  |  屋。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;



998 :nobodyさん:2006/09/17(日) 04:28:43 ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/l50

999 :nobodyさん:2006/09/17(日) 05:30:38 ID:???
1000ならm(ry

1000 :nobodyさん:2006/09/17(日) 05:40:48 ID:???
   _____
  /   |
 /_________| 
 | __  __ |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | ◆フ◆ | <   PHP(笑)
 |  ノ   |   \_______
  | ─ /
  |_____/


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

279 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)