【PHP】下らねぇ質問はID出して書き込みやがれ 74at PHP
【PHP】下らねぇ質問はID出して書き込みやがれ 74 - 暇つぶし2ch4:nobodyさん
08/09/20 20:25:00
関連リンク
■本家マニュアル   URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル  URLリンク(pear.php.net)
■メーリングリスト   URLリンク(ns1.php.gr.jp)
■ZFマニュアル    URLリンク(framework.zend.com)

(以下英語)
■Smarty       URLリンク(smarty.php.net)
■Zend本家      URLリンク(www.zend.com)
■Zend Framework  URLリンク(framework.zend.com)
■php | architect   URLリンク(www.phparch.com)
■Smartyマニュアル URLリンク(smarty.php.net)
■PECL本家(英語) URLリンク(pecl.php.net)

5:nobodyさん
08/09/20 20:25:48
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → URLリンク(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プログラムとして実行された結果になる。

6:nobodyさん
08/09/20 20:26:35
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ってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  URLリンク(www.faqts.com)
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に保存?
 → 好きにしてください

7:nobodyさん
08/09/20 20:27:38
>>1
ぬるぽ

8:nobodyさん
08/09/20 20:27:47
ついに、宗派分裂か。これも時代の趨勢か・・・・。

9:nobodyさん
08/09/20 20:29:00
次スレあたりで戻せたら戻したいが
ほんと夏も終わったというのにくだらねえな

10:nobodyさん
08/09/20 20:30:48
>>1
GJ!!

11:nobodyさん
08/09/20 20:32:23
>>1

        _____
.       __`ヽ   ,トr,' ´ ,.へ   ,≡三< ̄ ̄ ̄>
.      ,イ,ィ'⌒"゙f''ト、!ヽ, ィ゙ ./       .≡ ̄>/
       バ, k,ゝ└ト、└ ''゙ ,ス     ≡三/ /
      j、 ` ーク'ー-‐ぅ7',´ ,ノ      ≡/  <___/|
     .f`'`ー-R,,__   `'<,グ.     ≡三|______/
      |    、  `' .、  
        ',  .  ',__    ゙Y
       ',    | ',   .|   こ、これは>>1乙じゃなくてソニックブームなんだから
    ,r''゙~    〉 . い  |   変な勘違いしないでよね!
  ,rァ弋   _,ァ-‐'゙  `'i"~i!
  ぃ_f_⌒"´.        ,ト、入_
  `'.ー┘.        └┴‐‐`'

12:nobodyさん
08/09/20 20:33:51
いままでの使い方に拘るのはどうせ少数がぎゃーぎゃーいってんだからこれでいい
>>1

13:nobodyさん
08/09/20 20:35:02
古参スレだがスレタイから強制的なイメージを受けるから
質問者が果たしてくるかどうかだねー
過疎りそうで心理的反応が楽しみだわ

14:nobodyさん
08/09/20 20:52:00
スレタイ勝手に変えんなボケ


15:nobodyさん
08/09/20 21:15:38 2GZKwOcP
スレタイ変えるなクソ野郎

16:nobodyさん
08/09/20 21:30:37
どう考えても、初心者が見たら向こうのスレを選ぶな。
こっちはコワそう。
だいたい「IDって?」てのが初心者だし。

17:nobodyさん
08/09/20 21:35:10
>>16
そりゃ2ch初心者だろ
こんなとこきてる以上普段から2ch使ってるやつ
もちろんIDのこともしってる
その証拠に前スレまではsageてるやつのほうが多かったからな

18:nobodyさん
08/09/20 21:38:39
とりあえず下らないID争いを真に受けた1がすべて悪いと言うことで
次スレでスレタイを戻すってのでいいとおも

19:nobodyさん
08/09/20 21:40:14
ぐだぐだいうなら立つ前にいえよ
ろくな意見も言わずにたってからいうなボケ

20:nobodyさん
08/09/20 21:42:51
IDにこだわる人へ
言うとおりスレタイは変えたのだからもう荒らさないでください。

21:nobodyさん
08/09/20 21:43:26
スンマセン

22:nobodyさん
08/09/20 22:03:26
ちょっとご無沙汰してたらスレタイ変わってるね

前スレ残ってたので見てみたけど、スレタイは別に変える必要なかったんじゃない?
ID出す出さないってのは相手にしなきゃいい話なのにねぇ・・・

23:nobodyさん
08/09/20 22:05:55
>>22
あんな調子で数スレごとに同じことが繰り返されてきたから
いっそのこともうかえちまえっていう意見が多かった(中身何人いるか自演かはわからないが)

24:nobodyさん
08/09/20 22:21:55
お互い自演し合っていたからプラスマイナス0だよ

25:nobodyさん
08/09/20 22:42:01
別に間違ってないからいいんじゃね?>スレタイ
ID無しスレに人が移るならIDルールがそもそもの間違いだったって話さ

26:nobodyさん
08/09/20 22:48:34
超初心者用スレが最後まで残るという展開ですね。わかります。

27:nobodyさん
08/09/20 23:07:03
とりあえずそろそろ雑談はやめようや
あとは質問をまつのみ
盛り上げのための自演質問もいらないからな

28:nobodyさん
08/09/20 23:37:06
ぬるぽっぽ

29:nobodyさん
08/09/20 23:48:27
>>28
  ∧_∧
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /

30:nobodyさん
08/09/21 00:20:08
ま、スレはどうなろうと、
「栄光のPHPは不滅です!」

31:nobodyさん
08/09/21 01:58:24
バカが寝た時間はスレが平穏になるからすぐわかるなw

32:nobodyさん
08/09/21 02:03:20
>>31
うむそうだな、だから早く寝ろ

33:nobodyさん
08/09/21 02:06:57
>>32
自己紹介乙

34:nobodyさん
08/09/21 02:11:36
どこかどう自己紹介なんだ

35:nobodyさん
08/09/21 02:13:57
>>34
人とコミュニケーションとらないから話のノリってものを読めないのですね、わかります

36:nobodyさん
08/09/21 02:36:02
>>35
理由まで分かるとは
自己紹介乙

37:nobodyさん
08/09/21 02:42:34
とりあえずお前ら寝ろ
そしたら頭も少しは冷えるだろう

38:nobodyさん
08/09/21 02:50:30 3CHNeolW
PHPの勉強はじめてみたいんだけど、
まず、何と何と何と何とをダウンロードして
何と何と何と何とをインストールすればいいの?

39:nobodyさん
08/09/21 03:25:14
XAMPPをインストールすればイナフ

40:nobodyさん
08/09/21 03:26:23 3CHNeolW
余計なものは入れたくないの。
PHPだけ入れたいので、
その方向でアドバイスお願いします

41:nobodyさん
08/09/21 03:29:00
最低限ならApacheとPHPでおk
まあDBが付いてくるXAMPP Liteでもいいと思うよ

42:nobodyさん
08/09/21 04:04:25
勉強するだけなら好きにしろという感じだが
何か作りたいものがあるならそれによって必要なものも変わってくるだろ

43:nobodyさん
08/09/21 04:50:31 3CHNeolW
アパッチはもう入れてあるから、
PHPだけいれる方法教えてよ

44:nobodyさん
08/09/21 04:51:11 3CHNeolW
ちなみにアパッチいれてあっても
ルーター経由であればIPが隠蔽されてるから
外部からアクセスできないですよね。

わざわざルーターでポートフォーワーディングとか
設定してないかぎり。

45:nobodyさん
08/09/21 05:02:25
ずいぶん偉そうなガキだな
ママのおっぱい吸って眠れ

46:nobodyさん
08/09/21 05:23:21
せっかくスレ分けたんだし>>1読んでないのは相手にするな

・ 質問者として、態度をわきまえること。

47:nobodyさん
08/09/21 06:01:43
>>43
URLリンク(www.php.net) から好きなのをどうぞ。
PHP 5.2.6 installer とか

48:nobodyさん
08/09/21 07:47:32 3CHNeolW
インストールは終わったはずなんだが、
動いているのかいないのか、
よくわからんな。

49:nobodyさん
08/09/21 07:59:50
phpってサービスが動くわけじゃないからな

50:nobodyさん
08/09/21 08:30:10 3CHNeolW
PHPが動いた!PHPが動いた!PHPが動いた!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=Shift_Jis">
<title>PHP入門</title>
</head>

<body>
<p>今日は、<?php echo date("Y/m/d"); ?> です。</p>
</body>
</html>

↑これをinfo.phpという名前で保存して、そのファイルを
C:\abcde\info.php
に保存して、ブラウザで
URLリンク(localhost)
にアクセスしたら、
今日は、2008/09/21 です。
と表示された!

51:nobodyさん
08/09/21 08:31:58
日記はチラシの裏へどうぞ

52:nobodyさん
08/09/21 10:44:45 3CHNeolW
エディタは何を使えばいいの?

53:nobodyさん
08/09/21 10:54:19
>>52
何でもいい、という位に制限はほぼ無い。
文字コードを意識できる程度かな。
使い慣れたものを使えばおk。

54:nobodyさん
08/09/21 11:02:56 3CHNeolW
いやいや、最高のものを推薦してくださいよ
現時点でのシェアナンバーワン、っていったほうがいいかな。

FTPソフトだったら、FFFTP、
メールソフトだったらベッキー、
みたいな。定番のなにかがあるでしょたぶん。
ブラウザだったらファイヤーフォックスみたいな。

55:nobodyさん
08/09/21 11:07:47
メモ帳でいいよ

56:nobodyさん
08/09/21 11:16:38
メモ帳だな
普及率はトップでしょ

57:nobodyさん
08/09/21 11:20:31
メモ帳に決まっているだろ。他に何か紹介する奴がいたら、宣伝乙といってやるよ。

58:nobodyさん
08/09/21 11:32:32
なぜかwindowsのphpを5.2.6にしたらpdoでpgsqlが使えなくなった
could not find driverになる
なぜだ

59:nobodyさん
08/09/21 11:38:50
pdoのpgsqlは、まだphp5.2.6に対応していないよ。

60:nobodyさん
08/09/21 11:43:15
あら、そうなの…
とりあえず戻すね
トン

61:nobodyさん
08/09/21 12:04:41
fireFTPお勧め

62:nobodyさん
08/09/21 12:12:44 i3pcIM3p
URLリンク(*******.php?id=***@***.***)

<?php
$id = $_GET['id'];
?>
で取得した変数に英数字と@と.以外が入っていた場合エラー返したいんだけど、どうすればよいですか?

63:nobodyさん
08/09/21 12:22:53
>>58
5.2.6は普通にpostgreもダメなはず

64:nobodyさん
08/09/21 12:29:07
>>62
正規表現

65:nobodyさん
08/09/21 12:48:15 i3pcIM3p
>>64 トンクス
見つかった。ありがとう。

66:nobodyさん
08/09/21 13:40:09 amudP2A4
お前等ネットの情報鵜呑みにしてんじゃねーぞ

preg_matchの方がeregより速いと言われるが
ereg と preg_match を 10万回ループさせた結果

ereg
0.2693秒
preg_match
0.3628秒


処理した文字列
$str = "piece1 piece2 piece3 piece4 piece5 piece6";
これを[a-z]+でTRUEかFALSEかを判定
もちろんprintはしない

CPUはathlon X2 BE
winXP

今他の関数でも調べてるからお前等も暇ならベンチ報告よろしく

ちなみにループさせてる間、CPU使用率が20%になった

67:nobodyさん
08/09/21 13:44:11 xzC3gd0K
PHPの処理速度を上げたいんですが
サーバー自体の物理的処理速度をiniファイル?とかでアップすることは可能ですか?
ローカルで専用PCで使ってるのでもっとPC自体に負荷かけても問題ないです。
メモリの割り当て増やす以外にいじれるところはあるのでしょうか?


68:nobodyさん
08/09/21 13:53:19
>>67
httpd.conf

69:nobodyさん
08/09/21 13:54:04
>>66
もっと複雑な正規表現にしてから計測しろよ


70:nobodyさん
08/09/21 14:01:09 amudP2A4
1000回ループ

file()と
fopen、fgetsで
半角40文字が書いたテキストを読み込んでみた


file()
0.062秒
fopen、fgets
0.0511秒

次はデスクトップにあった4892バイトテキスト

file()
0.1626秒
fopen、fgets(複数行なのでwhile使用)
0.3258秒

なるほど~
一行ならfgetsで
複数ならfileか。

なんか調べてほしい関数ある?
今までforでやってたからforeachでもやってみよう

71:nobodyさん
08/09/21 14:01:34
blogでやれ

72:nobodyさん
08/09/21 14:02:01
ネットの情報は信じない

73:nobodyさん
08/09/21 14:22:55 amudP2A4
今10万回ループの中にループ入れてみたらアパッチは動いてるのに
IEが完全に立ち上がらなくなってPC再起動させたわ


>>69
分かった。次はマルチバイト文字でやってみる

74:nobodyさん
08/09/21 14:36:11
どうでもいいけど、そのループ調査に使った
ソースコードの内容がわからないと出てきた結果は意味が無いよ

75:nobodyさん
08/09/21 14:48:52
クライアントと鯖一緒の状態でベンチマークとってどうすんだ

76:nobodyさん
08/09/21 14:49:59
アホだなこいつ

77:nobodyさん
08/09/21 14:51:38 amudP2A4
mb_ereg_replaceと
str_replaceで
「PHPの質問はちゃんとID出して質問しろ!」という文字列の
「ちゃんとID」を「しっかりchinko」に変換してみた

各1000回ループ
mb_ereg_replace
0.0217秒
str_replace
0.0038秒


eregと
preg_matchで
文字列をメアドかどうか判定
^[]+@[]+$ ←こんな感じね

ereg
0.0066
preg_match
0.0049

少し複雑だとpreg_matchの方が速いな

78:たま ◆ExGQrDul2E
08/09/21 15:00:54 Q+K5bZwX
PHP スレッド式掲示板を作成しています。
スレッド一覧を取得するlist.txtには
スレッドno<>スレタイ<>時間
がかかれていて、スレッドログファイルに書かれるたびに更新します。
array_unshiftで、上からログを追加して、古いスレッド情報を削除しようと思うんですが、どうしたら、古いスレッド情報が
取得できるのでしょうか?

79:nobodyさん
08/09/21 15:02:05
一番下のやつ消せば?

80:nobodyさん
08/09/21 15:11:37
>>78
unset end($array)

81:nobodyさん
08/09/21 15:14:25 amudP2A4
>>78
100個スレッドがあり101個目が入ったら、一番古いのは配列の一番最後になるから
ループで書き込む時に
countして100でbreakすれば古いのは書き込まれず終了するよ

82:nobodyさん
08/09/21 15:24:46
スレ伸び始めてると思ったら日記ばっかじゃねーかw

83:たま ◆ExGQrDul2E
08/09/21 15:26:57 Q+K5bZwX
回答ありがとうございます。

たとえば、./log/2.dat
に書き込むとして、スレッドキーは
2とします。
2.datには、うまく書き込みが可能でした。

./list.txt
には
1<>テストスレ1<>9/10 11:12
3<>テストすれ3<>9/10 11:12
2<>テストすれ2<>9/10 11:10

こうなっててとします。
array_unshiftで一番上に持って来るので
2<>テストすれ2<>9/10 11:10
1<>テストスレ1<>9/10 11:12
3<>テストすれ3<>9/10 11:12
2<>テストすれ2<>9/10 11:10

書き込んだらこうなります。
古いのは、一番上以外で、ナンバーが2なのを探せばいいわけですから、
一番下にありました、
ここで、一番下を取得して、
array_splise($log,$key,1);
でいいのですが、この$keyは何にあたるのでしょうか?




84:nobodyさん
08/09/21 15:42:18
>>83
最後を削除したいだけなら
array_pop
要素の一番としたいなら値チェックしてくしかないんじゃ・・・


85:たま ◆ExGQrDul2E
08/09/21 15:45:51 Q+K5bZwX
このようなことも考えてみました。

$log = file("./list.txt");
foreach ($log as $value){
list($no,$title,$time) = explode('<>', $value);
array_unique($log);
echo "NO:".$no."<br>"."title:".$title."<hr>";
}

list.txtには
1<>テストすれ1<>9/10 11:10
3<>テストすれ3<>9/10 11:15
1<>テストすれ1<>9/10 11:10
2<>テストすれ2<>9/10 11:13
このように同じ要素
1<>テストすれ1<>9/10 11:10
があったので
array_unique($log);
で消そうと思いましたが、だめでした。
なぜでしょうか?



86:nobodyさん
08/09/21 15:46:08 amudP2A4
$keyはその消したいやつがある配列の番号count。

2番目のスレを上げで書き込む前に
ループで
if(スレ番==2){
array_splice(スレの配列、$i、1、"")//配列をループさせ、スレ番号が2の行を見つけたら、その行を空にする
}

で、新しい2をunshftで書き込む

87:nobodyさん
08/09/21 15:46:42 UFHYPm4K
質問させてください。
以下のようにクラスセパレータを含むようなクラス変数を表示させたいのですが
うまくいきません(どうも変数が通っていない)
どのようにすれば表示できるか教えてください。

<?php
$var = "no->hoge_id";

$str = '<?xml version="1.0"?><item>'.
'<no><hoge>123</hoge>'.
'<huga>456</huga></no>'.
'</item>';
$xml = simplexml_load_string($str);

// 出力無し
echo $xml->{$var};
?>


88:87
08/09/21 15:47:37 UFHYPm4K
すいません、一部間違えました。
× $var = "no->hoge_id";
○ $var = "no->hoge";

89:nobodyさん
08/09/21 15:58:15
たまちゃん応援あげ

90:nobodyさん
08/09/21 16:09:11
>>88
二つに分けりゃいいじゃん

91:nobodyさん
08/09/21 16:16:41
>>たまちゃん

アレイユニークをループの中に入れてもしょうがないので
ループの前に
$配列 = アレイunique($配列)
にしてループで表示すればいいよ

ただそれだとログの中は同名のスレだらけになるから
書き込む時にunique使って、表示する時は通常通りがいいよ

ただ、uniqueでやると改行文字もuniqueの判定基準になるから
文字コード変えると二つ表示になっちゃうよ

やっぱり古いのは""で置き換えた方がいい


あとほかの方法では
書き込むときのループで
if($i==0 or スレ番!=2){
write
}
とすれば一番新しく追加されたスレ番2以外の2は書き込まれないよ


92:nobodyさん
08/09/21 16:17:50 amudP2A4
ID出し忘れた
というかもうどうでもいい

ひたすらベンチするわ

93:nobodyさん
08/09/21 16:20:16
>>92
いちいち報告しなくていいからあとはチラシの裏でやってくれな

94:nobodyさん
08/09/21 16:34:17
>>92
クソの役にも立たないベンチはどうでもいいからブログにでも書いといてくれ

95:90
08/09/21 16:36:13 UFHYPm4K
返信ありがとうございます。
後出しぽくて申し訳ないですが本当はもっと大きなXMLを読み込んでいて、
階層の深さが特定できない状態という前提で考えているので
$var = "no->hoge->foo->bar"; のように変数名も受け付けるように読み込みたいのです。

splitで分割して、それをセパレータでつなげるというのは挑戦してみたんですが
どうにもうまくできなくて…。おわかりの方はいらっしゃいますでしょうか?


96:88
08/09/21 16:37:12 UFHYPm4K
↑すいません、また間違えてしまいました。
90ではなく88
>> 90さんへの返信でした

97:nobodyさん
08/09/21 16:38:23
階層の深さが特定できないなら余計に文字列でなく要素ごとに管理したほうがいいと思うが
splitでもいいんじゃない?


98:88
08/09/21 16:55:26 UFHYPm4K
>>97さん
XMLの要素名を配列の要素に入れて、それをくっつけて参照できる形に組み立てる感じでしょうか。
僕が知らないだけなのかもしれないんですが、ちょっとその方法がわからないんです。

ちなみにsplitで最初に書いたコードはこんな感じです。

<?php

// XML読み込みは省略

$classvars = split("->", $var);
$num = count($classvars);

for ($i=0; $i<$num; $i++){
if (($i+1) != $num){
// ここでエラーが出る
$class .= $classvars[$i]->;
} else{
$class .= $classvars[$i];
}
}

echo $xml->{$class};
?>

99:nobodyさん
08/09/21 17:06:01
たまちゃん応援あげ

100:nobodyさん
08/09/21 17:11:30
<?php
$str = '<?xml version="1.0"?><item>'.
'<no><hoge>123</hoge>'.
'<huga>456</huga></no>'.
'</item>';
$xml = simplexml_load_string($str);
$var = "{$xml->no->hoge}";
echo $$var;

これじゃだめなん?要素ごとに分けないやり方の方が良いのなら。

101:nobodyさん
08/09/21 17:16:43
すまん勘違いだ。
123を表示できればいいのに$123とかよく分からないことになってる。

よく考えてみたら結局そのまま $xml->no->hoge でいいような気もするんだが
>>87みたいに可変変数使う理由って何なの?

102:88
08/09/21 17:53:49 UFHYPm4K
>>101さん
function showElementValue($node){

// 省略
echo $xml->{$node};

}

実際にはこのようにメソッドとして呼び出しているので表示したいノードを引数にして書きたいのと、
$xml-> というような共通項は関数内で処理できたらなと思ったのが理由です。
冗長になると思ってやめたんですが、意図通りにちゃんとメソッドとして例示した方がよかったですね。

103:nobodyさん
08/09/21 18:13:41
オブジェクトオペレータ込みだと上手いこと展開してくれないんだね。
PHPなんだからしてくれてもいいのにね。

やっぱ要素ごとに渡してくっつける方法か、
関数に分けて入れない方法を検討したほうがいいかもね。
省略中でどんな処理してるか分からんから何とも言えないけど。

104:nobodyさん
08/09/21 18:19:16
汚いけどevalで出来るよ

105:nobodyさん
08/09/21 18:21:35
なにがしたいのかさっぱりわからん

106:nobodyさん
08/09/21 18:43:54
なんか…



必死だなw

107:nobodyさん
08/09/21 18:58:52
>>106
だまれっ!下僕の分際でいきがるな!!!!!

108:nobodyさん
08/09/21 19:00:01 kQIo17gb
Linuxです。
PHPからmail()とかでメール送りたいのですが、メール鯖をインストールするのも面倒なので、
プロバイダのサーバー使えるようにできないもんですかね。
Windowsではphp.iniの設定でなんとかなるみたいですが・・

109:88
08/09/21 19:05:46 UFHYPm4K
ありがとうございました。
結局、以下のように階層を9に絞って手動処理してみました。
>>104さんの仰るようにevalも試していますが、いかんせん
始めて扱う関数でうまくいきません。よければ教えてください。

function showElementValue($node){

$path = parseNode($node);

echo $path;

}

function parseNode($node){

$cv = split("->", $node);
$count = count($cv);

// オブジェクトオペレータの展開がうまくいかないので、すごく冗長な手動処理
switch ($count){
case "1":
return $xml->$cv[0];
case "2":
return $xml->$cv[0]->$cv[1];
// 以下同じように続く
}

}

110:nobodyさん
08/09/21 19:10:46
>>108
phpで直接ISPのメル鯖にsmtp投げればいいだけの話と違うん?

111:nobodyさん
08/09/21 19:17:57
>>107
下僕、ゲッ、僕σ(´Д`)?

(´・ω:;.:...

112:nobodyさん
08/09/21 19:22:08
>>111

113:88
08/09/21 19:27:37 UFHYPm4K
以下でなんとかできましたので、ご報告しておきます。
ありがとうございました。

eval('$node = $xml->'. $node .';');

114:nobodyさん
08/09/21 19:32:40
ちょw

115:nobodyさん
08/09/21 19:35:44

showElementValue($xml->no->hoge);

function showElementValue($node){
// 省略
echo $node;
}

なんで、これじゃだめなん?

116:nobodyさん
08/09/21 19:58:39
>>115
>>102


117:nobodyさん
08/09/21 21:47:12
>>108
ライブラリでもあると思うが

118:nobodyさん
08/09/21 21:52:10 EC1BuyjV
レンタルサーバでPHPをCGIとして利用したい場合、
#!/usr/local/bin/php
みたいに1行目に書く必要がありますが、
このパスがわかりません。
phpinfo();で出力した情報のどこを見ればよろしいのでしょうか?
前提としてその鯖ではPHPをCGIとして動かせるということだけはわかってます。
鯖管に聞くのが一番早いのですが、後学のために教えてください。

119:nobodyさん
08/09/21 21:53:58
仕様に載ってる

120:118
08/09/21 22:01:48 EC1BuyjV
>>119
マニュアルに書いてるということでしょうか?
仕様という項目が見当たらないのですが、
もしよかったらどこを見ればよいか教えてください。

121:nobodyさん
08/09/21 22:05:35
載ってないの?じゃ見てみるからURL教えてくれ

122:118
08/09/21 22:08:35 EC1BuyjV
>>121
サーバの仕様ってことですか?
一応のせてみますので、よろしくお願いします。

URLリンク(www.usamimi.info)

123:nobodyさん
08/09/21 22:12:51 lcTeMIBY


124:nobodyさん
08/09/21 22:13:11
まぁ普通に考えて
/usr/local/bin/php or /usr/bin/php
ではないでしょうか

125:118
08/09/21 22:20:36 EC1BuyjV
レスありがとうございます。
/usr/local/bin/php
/usr/bin/php
拡張子をcgiにパーミッションを755にし、どちらも試しましたが、
テキストとして普通に表示されてしまいます。
cgi-binというフォルダがあったので、
そこに入れてみて実行してみましたが、500が返ってきました。
phpinfo();での確認が無理なようでしたら、あきらめたいと思います。

126:nobodyさん
08/09/21 22:25:19
その挙動は何かおかしいんじゃないの?
perlで書いたcgiなら動くのかい?
俺は良く知らないので詳しい人待ち。

そんなことより、ちゃんと良さげなフォーラムが用意されているのになぜ聞かないんでしょうか

127:nobodyさん
08/09/21 23:11:18
「PHPについては、SuEXEcが掛からない為、特別なパーミッション設定などはありません。」って書いてあるな
PerlだけSuExecしてるってことはないだろうから、CGI版PHPじゃないんじゃね?
仕様の表ではCGIの項目にPHP5ってあるけど誤記かもしれん(鯖缶がアホならCGIとモジュール版の違いが分からんだろうし)

128:nobodyさん
08/09/21 23:45:44
>>118
そもそもphpをcgiで動かせる鯖なのか?

129:nobodyさん
08/09/22 00:32:06 FSj+R9kA
"aaa","bbb","ccc"

というダブルクォーテーションで囲まれた文字があるとします。
これを文字だけ取り出して配列に入れるにはどうすればいいのでしょうか?
ファイルではないので、fgetcsvは使えませんでした。

130:nobodyさん
08/09/22 00:32:09
モジュール版だったら、.phpで。
CGI版だったら、.cgiで。

動かすってこと?

131:nobodyさん
08/09/22 00:38:55
>>129
explode
>>130
そんなのどうとでも設定できる

132:nobodyさん
08/09/22 00:47:40
>>131
揚げ足とって楽しい?
そうやってリアルでもやってて人から嫌われてるだろ?

133:nobodyさん
08/09/22 00:52:06
ど、どの辺が揚げ足・・・?

134:nobodyさん
08/09/22 00:54:46
>>130 一般的にはそうだが、>>131も正解。
ていうか鯖管に聞けよ

135:nobodyさん
08/09/22 01:00:26
>>131=>>133=>>134

136:うんこ ◆otPHSLbxjY
08/09/22 01:02:48 JxuRK2av
よくさぁ、掲示板とか作るけど、ログをDBに入れるかdatファイルに保存するか悩むやついるよね。
「DBの方が速そう」とか。

今日(というか昨日)ベンチしまくって分かったんだけど
DBの方が遅いわ。
1000行書き込んで表示させたんだけどdatの方が速かった。

「そんなわけねーだろバカ」って思った?
なぜかって、DBだって結局取り出したあとPHPの変数に入れてPHPでループ表示させるので
違いはデータをDBから読みとるかファイルから読みとるかの違いでしかないんだよね。
で、DBだってデータ圧縮されて保存されてるわけじゃないから
HDDが読みとるデータ量はほぼ同じ。
結局速度は同じなんだよね。
でもDBはDBに接続する時に少し時間がかかってるようだ。
ということで単純にデータを取り出すだけならdatファイルがいい。
ただし、検索したり並び変えたりするのであれば
PHPのeregやソート関数を使うよりDBの方が断然速いのでDBを使おうな。

137:nobodyさん
08/09/22 01:12:19
>>136
あのさ、datファイルに保存する奴の目的って
「後からログを検索したい」だと思うぞ。

そりゃ読み込むだけならdatファイルの方が早いのは当たり前だ

138:nobodyさん
08/09/22 01:13:14
もう相手すんな

139:nobodyさん
08/09/22 01:13:29
間違えた

datファイルに保存する奴の目的って

ログを保存する奴の目的って


140:nobodyさん
08/09/22 01:13:58
どこを立て読み?
ていうか駐留しなくていいからそろそろ名無しに戻るか消えてくれないかな
スカトロマニアはこのスレにはいないので

141:nobodyさん
08/09/22 01:22:51
>>136
どこに新しい要素があるのその話

142:nobodyさん
08/09/22 01:25:54
DBスレいって書き込んで来い
盛大に笑われるからw

143:nobodyさん
08/09/22 01:39:27
>>136
普通の人はね、ファイル名とハッシュだけDBに入れてデータはファイルで持つとか
用途に応じて格納場所変えるのね。まぁ試行錯誤するのは悪くないのね。

ところで質問は?

144:nobodyさん
08/09/22 01:47:51
>>143
横から質問で申し訳ないんだけど、

>普通の人はね、ファイル名とハッシュだけDBに入れてデータはファイルで持つとか

そうなの?MTのDB構造とか見てると、ログはテーブルに全て書き込んでた

145:nobodyさん
08/09/22 01:50:05
お前は何を言ってるんだ

146:nobodyさん
08/09/22 01:53:39
>>144
用途に応じてと言う言葉が見えんのか・・・

次の質問どうぞ

147:nobodyさん
08/09/22 01:55:02
「用途に応じて」って言ったら、どの質問もそれで片づけられるなw

148:nobodyさん
08/09/22 01:58:23
いや、その片づけ方は難度高いぞ

149:nobodyさん
08/09/22 02:03:02
>>144
blogのログとかは利便性もあってDBに全部放り込むとか良くあるのね。
逆に考えるのね。何故MTは全部DBに放り込んでるのか、そう考えるのね。
そういう思考できないとSEとかPGとしては暗い未来が待ってるのね。

ぼちぼちウザいからこの文体やめるのねw

150:nobodyさん
08/09/22 02:05:24
とりあえずうんこ野郎には構ってやるな
有益な意見交換ができるどこか
こうやって口論を誘発させるレスばっかなんだから
前スレでの教訓をいい加減生かしてくれ

151:nobodyさん
08/09/22 02:06:35
>>136
さあプログラムを書く作業に戻るんだ

152:nobodyさん
08/09/22 02:10:22
>>150
うんこ自身はともかくその後のやり取りは割と有益に見えるがな

153:nobodyさん
08/09/22 08:11:46
>>140
せっかくトリつけてるんだから、NGにしとけよ。

154:nobodyさん
08/09/22 08:59:46
>>136
初心者のボクには役に立った。
でもなぜネット上では「preg_matchの方がeregより速い」という情報があるのかな。
というかマニュアルにも書いてあるし。これPHPの制作者が書いたんでしょに。

155:nobodyさん
08/09/22 09:22:53
>>154
マニュアルにあるように「多くの場合pregの方が早い」
全ての状況でeregより早いって訳じゃないんだな

156:nobodyさん
08/09/22 09:23:40
>>154
まぬあるにはどこにもpregのが方が早いとは書いて無いぞ

>注意: Perl 互換の正規表現構文を使用する preg_match()  のほうが、多くの場合 ereg() よりも速く動作します。

ここに書いてあるのは”多くの場合”だ


157:nobodyさん
08/09/22 09:30:56
なるへそ

158:nobodyさん
08/09/22 09:37:39
私はメモリの使用量や比較量のオーダを計算して客観的に見ることができるんです。
あなたたちとは違うんです。

159:nobodyさん
08/09/22 09:40:12
お前は何を言っている

160:nobodyさん
08/09/22 10:01:31
>>158
まあ最終的にはそういうことだな

161:nobodyさん
08/09/22 10:07:11
そういや初心者未満スレで
URLリンク(www.php.net)
> 注意: PHP 5以降、デフォルトで値はリファレンス渡しとなります。
これ訳が間違ってるって指摘あったぞ

162:nobodyさん
08/09/22 12:08:11
PHPとjavaScript、
どっちが難しい?

163:nobodyさん
08/09/22 12:16:05
クロスブラウザのことがあるからjavascriptじゃね?ライブラリで吸収すれば事足りるが

164:nobodyさん
08/09/22 12:24:45
ブラウザ上のクライアントサイドで間違っても「ごめんねテヘッ☆」で済むことがほとんどだが
サーバーサイドで間違うと民事補償で首が回らなくなる

セキュアに作るのが大前提の昨今ではPHPのほうが難しいと言わざるを得ない

165:nobodyさん
08/09/22 12:29:36
>> サーバーサイドで間違うと民事補償で首が回らなくなる
民事補償で首が回らなくなるようなシステムをphpで作るわけないだろw
もう少し考えて物言ったほうがいいよ。

166:nobodyさん
08/09/22 12:54:53
>>165
バカだなあ
本当にバカだなあ

167:nobodyさん
08/09/22 16:23:26 Ib6bzj0X
PHPでなにかエラーがあったときに、エラー内容がHTMLに出力されますが、
同じ内容をログファイルかなにかに出力させることはできますか。
Ajaxを使っていると、エラーがおきても 200 OK でかえってくるので、
わかりにくいです。


168:nobodyさん
08/09/22 16:37:37
log_errors

169:たまちゃん ◆ExGQrDul2E
08/09/22 22:32:32 igNMx8gy
先日はお世話になりました
o(・◇・)o

おかげさまで、成功いたしました。

今回は、ユーザーエージェンとから、ブラウザ名を取得する配列を作ろうと思います。

UAにMSIEが含んでいたらIE
Sleipnir/が含んでいたらSleipnir

みたいに、たくさんのブラウザ情報を取得したいです。教えてください。

170:たまちゃん ◆ExGQrDul2E
08/09/22 22:33:38 igNMx8gy
教えてくださいというのは、ブラウザ情報です。

preg_matchで、マッチさせたいと思います。

よろしくお願いします

171:nobodyさん
08/09/22 22:47:03
何が分からんの?

172:nobodyさん
08/09/22 22:52:54
>教えてくださいというのは、ブラウザ情報です。

全ブラウザのユーザーエージェントを教えろと言っているか?
だったらスレ違いだヴォケ

173:たまちゃん ◆ExGQrDul2E
08/09/22 23:32:56 igNMx8gy
すべてではないです。

有名なブラウザを5~8個くらいお願いしたいです。


174:nobodyさん
08/09/22 23:42:09
なんのために?
書き出すJavaScriptの分岐でもするのかな

175:nobodyさん
08/09/22 23:50:57
>>173
訪問者のUA記録してそっから上位のブラウザしぼって調べればいいのでは?

176:nobodyさん
08/09/23 00:09:15
>>174
XHTMLとか使うんだと思う
あれはIEは読めない

177:nobodyさん
08/09/23 00:40:53
>>173
とりあえず「ユーザーエージェント 一覧」でググれ
php関係ねーよその質問

178:nobodyさん
08/09/23 06:12:56 pjs6yXW6
たまちゃん応援あげ

179:nobodyさん
08/09/23 06:35:46 NJoiFrJ7
PHPってCGIじゃないから
パーミッションの勉強はしなくていいの?

180:nobodyさん
08/09/23 07:15:24
>>179
ディレクトリもファイルも全部に777にしとけばそれ以上気にする必要はない

181:nobodyさん
08/09/23 08:47:20
>>179
PHPだってCGIだ

182:nobodyさん
08/09/23 09:18:57
>>179
「PHP CGI版 モジュール版」でググってこい

183:nobodyさん
08/09/23 10:25:58
>>181
その回答には疑問を呈さざるを得ない

184:nobodyさん
08/09/23 11:47:07 EW2yGFvW
【OS名】WindowsXP
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
PHPを使ってWEBアプリのファイルマネージャを
作成しようと思っていますが、
ローカル側のファイル一覧の取得及び
ファイル操作のやり方がわかりません
くだらない質問ですみませんが
ご教示ください

185:nobodyさん
08/09/23 12:03:36
>>184
まあ基本的にはCGIとかではローカルデータの取得はできません
(できたらページにアクセスしただけでじゃんじゃんファイルがアップロードされて困る)

プラウザ上でローカルディスクをいじれるものを導入してください
IEとActiveXコンポーネントが定番なのかな

186:nobodyさん
08/09/23 12:06:53 EW2yGFvW
>>185
なるほど
ローカル側にはなるべくアプリを入れないで方法を
考えたかったんですが、
こればかりはしょうがなさそうですね・・・


187:nobodyさん
08/09/23 12:49:56
しかしなんだな。184の日本語を理解して、よくぞ185のような適切なアドバイスが
できるもんだな。オレには何の相談か検討がつかなかったが。

188:nobodyさん
08/09/23 14:14:19
>>185
できるよ普通に

189:nobodyさん
08/09/23 14:32:34
いやいやちょっとまて。
自分のパソコンの中で
アパッチを動かして
localhostでやりたい、という
意味だったのかもしれんぞ。

それだったらPHPで可能では?

190:nobodyさん
08/09/23 14:32:52
>>188
できねーよ
絶対に、ユーザーが明示的に単一データをsubmitする必要がある(それは意図ではあるまい)
これができるならアップロードデータの一時保持問題で世界中のWebプログラマが困ったりせんわい

CGIからローカルユーザーのデータやディレクトリ構成を読み込めるなら
それはWebブラウザのセキュリティバグなので報告しろ

191:nobodyさん
08/09/23 14:34:45
>>189
そういうのはローカルとは言わん
2000歩くらい譲ってローカルホスト略してローカルだったとしても

というか>>186みる限り普通にクライアント側のディスクいじりたいんだろ

192:nobodyさん
08/09/23 14:38:51
>>184で「ローカル側の」ってあるからリモート側にCGIがあると考えるのが普通だわな。
当然CGIでは無理っつー話にはなる。(できたら怖ぇw)

まぁネットワーク越しの共有とか駆使すればそれっぽいことはできるがCGIの仕事じゃねーわな。

193:nobodyさん
08/09/23 14:52:59
javaとjavascriptを組み合わせると可能

194:nobodyさん
08/09/23 14:56:53
新しい質問

外部に公開してない、
社内限定サービスを、
携帯電話でアクセスして
ページを見たりすることは不可能?

195:nobodyさん
08/09/23 15:00:49
>>1

196:nobodyさん
08/09/23 15:03:48
>>194
>外部に公開してない

の時点でどう見ても不可能

197:nobodyさん
08/09/23 15:06:02
>>194

誘導

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
スレリンク(php板)

198:194
08/09/23 15:07:02
すいません、何回も質問するためにIDは絶対だしたくないのでそちらに行きます


199:nobodyさん
08/09/23 15:07:38
でも社内パソコンだったら、200台くらい
からアクセスできて、もちろん社内ネットワーク
限定ですけど、その目の前のパソコンで動いている
画面に、手持ちの携帯からはアクセスできないと
いうのが、はがゆくて。やっぱ無理?その社内サーバーに
携帯でアクセスできれば済む話なんだけど、携帯って
絶対にドコモとかのサーバーを通さないと通信できないんだよね。

つまり

[携帯]-[社内サーバー]

これができればいいんだけど,実際は

[携帯]-[ドコモ]-[社内サーバー]
こうするしかないのかなーって。

200:nobodyさん
08/09/23 15:07:59
>>194
できるが、社内に会社の回線とは別の専用のサーバが必要
そのサーバに携帯電話でアクセスして、社内サーバのデータを取得するという流れになる
これがバレたらおおむね社内処分対象だが、可能

201:nobodyさん
08/09/23 15:10:00
>>200
3日くらいで発覚しそうだが…
ケータイからアクセスしたいですと管理者に言うほうが早いな

202:nobodyさん
08/09/23 15:12:51
>>199
無線LAN付きの携帯でも買えよ。
あとスレ違い。

203:nobodyさん
08/09/23 15:14:05
>>199
というかなんでそこまでして携帯で見たいのかがわからん

204:nobodyさん
08/09/23 15:28:41
IDなしの質問だぞ

205:nobodyさん
08/09/23 15:31:02
>>198
別に何回質問したっていいじゃない
問題なのは的を得ない質問を延々と繰り返したり
全く理解してないのに持論を展開しつつ理解したつもりで次の質問したり
明らかに自分の意思でやろうというのが感じられず
全てわからないで最初から全部他人任せな質問者
解決してでは次の質問でこれをお願いしますというのならたたかれたりしない

206:nobodyさん
08/09/23 15:59:33
>>205
偉そうに説教してくれるな

207:nobodyさん
08/09/23 16:06:36
IDなんて1日で変わるんだからどうでもいいっていうか>>194は釣りだよね

208:nobodyさん
08/09/23 16:19:05
>>184
URLリンク(navphp.sourceforge.net)
ほれ、可能

209:nobodyさん
08/09/23 16:34:10
>>208
リモート側のファイル操作しかできないんですが・・・

210:nobodyさん
08/09/23 16:38:58
>>200
それだとドコモのネットワークを通過するじゃない。

211:nobodyさん
08/09/23 16:48:42 L7uUnnXk
OSX 10.5.5 での質問です。

Server version: Apache/2.2.8 (Unix)

PHP 5.2.6 (cli) (built: Jul 17 2008 23:04:49)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

がインストールされています。PHPからOracleのInstantClientを
使おうと思って作業しました。
$ sudo php go-pear.php
$ sudo ./pecl install oci8
というような処理を実行しました。その後 httpd.confとphp.iniを書き換えて、
コマンドラインで
$ php -m
すると oci8 があり、また実際にサーバーに接続して select * from dual
するスクリプトを実行して正常に処理できることが確認できました。

ですが、
$ sudo launchctl load /System/Library/LaunchDaemons/org.apache.httpd.plist
などとしてapacheを起動すると、apacheのerror_logに

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/oci8.so' - (null) in Unknown on line 0

というログが残り、phpinfo()で確認してもやはりモジュールがロードされていません。
DYLD_LIBRARY_PATHなどの環境変数がうまくわたっていないのかと思い、org.apache.httpd.plistに
設定を追加して再起動後、ps -xE で httpdにその環境変数が渡された状態で実行されていることを
確認しましたが、やはり警告がでています。

このあとどのようなことを確認すべきでしょうか?
よろしくおねがいします。

212:nobodyさん
08/09/23 16:59:29
InstantClientのverは?

213:nobodyさん
08/09/23 17:16:45 L7uUnnXk
InstantClient 10.2.0.4 for Mac OS X (Intel x86)
のbasic, sql*plus, sdkを www.oracle.com からもらってきて入れました。
sqlplus コマンドは正常に実行できました。
phpのcliからのoci8呼び出しも正常に動いているようです。

なのに警告がでる理由がわからず手詰まりになってしまいました。

よろしくおねがいします。

214:nobodyさん
08/09/23 17:21:46 zv1b+5oE
>>184
要するにWAMPやLAMPでのWEBアプリで
クライアント側のファイルを操作できる
エクスプローラを作りたいって事だろ

WAMPやLAMPじゃできねぇよ!

まずは何で出来ないのか(出来てはならないのか)を
勉強しましょうね


215:nobodyさん
08/09/23 17:57:22
ローカル って言葉がちょっと分かりにくい
クライアントかサーバにすればこんな混乱は起きなかった

216:nobodyさん
08/09/23 18:02:33 iCMm4+DU
<?php
header("HTTP/1.0 404 Not Found");
?>

このようなページを作成したのですが、
404 Not foundのページが表示されません。
これはヘッダーを返すとブラウザが自動的に404を読み込んでページを返してくれるというものじゃないのでしょうか?

217:nobodyさん
08/09/23 18:15:37
その404のページはどこから読み込むのさ?

218:nobodyさん
08/09/23 18:17:26 iCMm4+DU
ErrorDocument 404 /error.html

とhtaccessにて指定しているのですが、これではダメなのでしょうか?

219:nobodyさん
08/09/23 18:19:27
>>213
oracle依存の問題っぽいからDB板に移った方がいいかもしれん

220:nobodyさん
08/09/23 19:03:27 L7uUnnXk
そうですか…
なんでもいいので気づいたことなどあれば教えてください。
しばらく足掻いてみます。

221:nobodyさん
08/09/23 20:08:59
>>220
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。

222:nobodyさん
08/09/23 20:24:44
別にID出してるうちは問題ないような

223:nobodyさん
08/09/23 20:31:53
>>211
php.iniのextension記述コメントアウトしたらどうなる?

224:たまちゃん ◆ExGQrDul2E
08/09/23 20:34:47 juer5RVw

PHPで掲示板を作っています。
書き込み後に、headerでトップに飛ばすのですが、
携帯、Windows/Vista
なら、普通に大丈夫ですが、

XPのIEから書き込めば、画面が白くなり、更新ボタンを押さなければ、書き込むことができません。
VistaではできてXPではできないのはなぜでしょうか?

array_push("ログ配列",$data);
$fp =fopen(ログファイル,"w");
for($i=0;$i<count(ログファイル);$i++){
fwrite(logfile,$log[$i]);
}
@fclose($fp);

header("Location: $jump");

exit();

?>

225:nobodyさん
08/09/23 20:39:08
XPのIEって6と7どっちだよ

226:たまちゃん ◆wSaCDPDEl2
08/09/23 20:41:02 juer5RVw
IE6です。



227:nobodyさん
08/09/23 20:50:12 L7uUnnXk
>>223
extension=oci8.so をコメントアウトしてみました。
cliは Fatal error: Call to undefined function oci_connect() が
出るようになります。
apacheの起動時には error_log の警告が消えますが、oci8 は phpinfo()
には現れません。


228:nobodyさん
08/09/23 20:58:18
おくれましたが、
>>168
ありがとうございました。


229:nobodyさん
08/09/23 20:59:22
>>227
ok。じゃあ今度はそのextension記述のoci8.soをフルパスで書いてみ。

230:たまちゃん ◆ExGQrDul2E
08/09/23 21:03:39 juer5RVw
IE6には、何かバグのようなもの


header();が対応していない

とかあるのですか?

231:nobodyさん
08/09/23 21:05:35 L7uUnnXk
ごめんなさいタイムアップなので続きはまた後日。。。

extension=/usr/lib/php/extensions/no-debug-non-zts-20060613/oci8.so
と書くという意味でしょうか?

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613//usr/lib/php/extensions/no-debug-non-zts-20060613/oci8.so' - (null) in Unknown on line 0
こうなりました。。。

extension_dir は現在コメントアウトしています。
extension=oci8.so と書いているときは、
extension_dirをコメントアウトするか、extension_dir=/usr/lib/php/extensions/no-debug-non-zts-20060613/
としているときに CLI が正常に動きました。

とりいそぎ報告。どうもありがとう。


232:nobodyさん
08/09/23 21:09:49
>>231
・・・本当にextension_dir無効になってるか・・・?

233:nobodyさん
08/09/23 21:13:25 silsv7a8
たまちゃん応援あげ

234:たまちゃん ◆ExGQrDul2E
08/09/23 21:23:54 juer5RVw
>>233
毎度毎度応援ありがとうございますo(*・◇・)o

感謝します。

IE6のブラウザだけ、画面が真っ白になるというのは、なぜでしょうか…


header($header);

echo "ジャンプ失敗";

exit();


exit;は使ってはいけないでしょうか…

235:nobodyさん
08/09/23 21:28:16
>>234
vistaでも何でもいいから正常に表示されてるときのhtmlを晒すかどこかにうpしろ

236:nobodyさん
08/09/23 21:42:18
>>234
1つ言えるのはPHPの問題ではない
サーバサイドの言語でブラウザ別に異なる結果が返ってくるということは
明示的にそうする意外はありえない
ブラウザの挙動がおかしいか変なhtmlはいてるとしか思えない

237:nobodyさん
08/09/23 22:26:10
Includepathで指定されてるディレクトリって
file_existsでは省略できないんだな

238:たまちゃん ◆ExGQrDul2E
08/09/23 22:30:13 juer5RVw
たしか、

<html>
<head>
<title>

</title>

<body>

……

で、ヘッドを閉じ忘れていたかもしれません。
問題ありますか?

239:たまちゃん ◆ExGQrDul2E
08/09/23 22:37:39 juer5RVw
閉じましたけど、とくに問題はないです。

IEが書き込みできないのは、困ります。
だいたいの人はIEを使ってると思うので…

240:nobodyさん
08/09/23 22:38:30 JwvtqXNH
■index.php
<?php
if($mode=="js") {
header("Content-Type:text/javascript");
echo <<<EOM
window.onload = test;
function test() {
for(i=0;i<5;i++) {
alert("test");
}
}
EOM;
} else {
echo <<<EOM
<html><head>
<script type="text/javascript" src="./index.php?mode=js"></script>
</head><body>...</body></html>
EOM;
}
?>


このように書いたときにスクリプトの中に<や>が入ると(※8行目)上手く動作しないのですが
何か良い改善策はないでしょうか?

241:nobodyさん
08/09/23 22:38:52
>>238
とりあえずそのHTMLが表示されていればLocationはできない

header('Location: URLリンク(example.com)');

こういう形になってる?
$headerの内容を表示してみ

242:nobodyさん
08/09/23 23:05:54
>>240
ヒアドキュメントを使わない

243: ◆pv9EB/sLdI
08/09/23 23:51:24 +JSHtbhX
参考書を使って勉強しています

参考書の中で
foreach((array)$example as $key => $value)
という文が出てきたのですが、(array)の部分に関する説明が全く書いてありません


(array)を変数の前に付けるとどうなるのか
他に変数の前に(○○)と記述する場合はあるのか

この2点について教えてください

244:nobodyさん
08/09/23 23:55:24
>>243
URLリンク(jp.php.net)

245:242 ◆pv9EB/sLdI
08/09/24 00:02:32 RHQqV9in
>>244
よく読んで勉強してみます
素早い返答ありがとうございました

246:nobodyさん
08/09/24 01:50:00
require_onceで失敗したときにエラーコードを吐き出して終了させたいのですが

require_once "hoge.php" or die("エラーっす");

としてみたのですが
Failed opening required '1'
とエラーが表示されて自分で書いたエラーが出力されません。
どのようにすればエラー処理ができるのでしょうか?

247:nobodyさん
08/09/24 02:55:44
>>246
はいどうぞ
URLリンク(www.php.net)
includeのページも読んでおけよ

248:nobodyさん
08/09/24 04:18:52
hoge.php
<?php
$nullpo = 'gatt'';
?>

***.php
<?php
$bar = include 'hoge.php';
if (!$bar) die("逝ってよし");
?>

249:211
08/09/24 07:06:45 0bs2J/yD
>>232
無効とはどういう状態のことでしょうか? 231での変更をもとに戻し、
$ grep "^[[:space:]]*ext" /etc/php.ini
extension=oci8.so
$
という状態です。

CLIで動作するかどうかを見ても意味ないかもしれませんが。。。
$ php ocitest.php (←自分で作ったものです)
$ php -d extension_dir="" ocitest.php
$ php -d extension_dir="/usr/lib/php/extensions/no-debug-non-zts-20060613/" ocitest.php
いずれも期待通りの動きです。

$ php -d extension_dir="./" ocitest.php
PHP Warning: PHP Startup: Unable to load dynamic library './oci8.so' - (null) in Unknown on line 0
Fatal error: Call to undefined function oci_connect() in ...
となります。


250:nobodyさん
08/09/24 13:07:51
>>249
CLIとmod_phpは別物だからいったん離れようぜ。
>>231のエラーメッセージを見る限り明らかにpathがおかしい。

251:nobodyさん
08/09/24 13:49:22 tcsExBCJ
PHPのRoRは
いくつあって、
名前はなんていうの?

252:nobodyさん
08/09/24 14:03:57
>>251
そこでRoRが出てくること自体・・・
フレームワークのことを言いたいのか?と予想してみる


253:nobodyさん
08/09/24 14:19:47 tcsExBCJ
>>252
そう

254:瀬戸内みかん
08/09/24 14:30:17 7nXE5EDo
PHPプログラマーとして就職したいんですけど
実務経験がほとんどありません。
独学でプログラミング歴が大体5ヶ月ぐらいです。
開発現場で働いている方はどのぐらいのレベル何でしょうか?

年齢は25歳の人間です。

255:nobodyさん
08/09/24 14:34:50
>>251
ググればいくらでも見つかるだろ
あえてここで質問している意図が見えないが・・・

phrame
Mojavi
Agavi
Ethna
Maple
CakePHP
symfony
Zend Framework

後半3つがRoRぽいヤツだな
「いくつあって」と言うが、挙げればキリがない
↑のが使えるかどうかは別に知名度の高いやつ

256:nobodyさん
08/09/24 14:47:44
>>254
5ヶ月か、頑張りどころだな

規模や受けてる仕事の内容で現場のレベルは変わるが
俺の場合は今年6年目
PHPのソース書くだけでなく、Zendのコードが読める、PECLも作れる
自社開発のフレームワークも管理してる、ってレベル
PHPに限った内容ではこんなもん、他の知識やスキルにも精通しなきゃならん段階には入ってる

257:nobodyさん
08/09/24 14:54:18
>>254
マルチ乙

258:nobodyさん
08/09/24 14:57:51
>>256
誰がお前の自己紹介なんか聞いてねーよw
こういう自己主張の強い奴は、どこに行っても嫌われるから、
こういう奴だけにはならないように、という反面教師になった。

この業界、人間的に欠落している人が多いから、
素直な性格で新しい事を修得するのに積極的な人は、
現時点での実力がなくても、将来性を買って採用してくれる企業は一杯ある。

259:nobodyさん
08/09/24 15:03:08 tcsExBCJ
>>255
結局どれを使えばいいのかな?
rubyだったら、RoR一択なので考える
こともないのですが。

260:瀬戸内みかん
08/09/24 15:10:51 7nXE5EDo
いろいろアドバイスありがとうございます。
周りにプログラマーいないんで・・・
自分の書いているコードが正しいかどうか、判断もつきません。

ネットで検索して求人内容など見ているんですが
自分では到底できそうもないことばかりです。

お勧めの参考書とかあれば教えてもらえますか?


261:nobodyさん
08/09/24 15:12:10
RailsライクなPHPフレームワークをうまく語句を変えて検索してみれ

262:nobodyさん
08/09/24 15:20:05
>>260
マルチおつかれネカマくん

263:nobodyさん
08/09/24 15:20:49
>>254
スレリンク(php板:103番)

264:瀬戸内みかん改めネカマくん
08/09/24 15:22:54 7nXE5EDo
すまん。マルチとかよく分からんかった。
ネカマくんって呼んでもいいから、何かアドバイスをくれ。
俺はカスで糞、どうしようもない人間だ。

265:瀬戸内みかん改めネカマくん
08/09/24 15:24:28 7nXE5EDo
>>263
あ・り・が・と・う

266:nobodyさん
08/09/24 15:28:56
>>264
とりあえず外に出てコンビニのアルバイトあたりから始めましょう

267:瀬戸内みかん改めネカマくん
08/09/24 15:30:37 7nXE5EDo
>>266
ちなみにコンビニで今、アルバイトしてます。

268:nobodyさん
08/09/24 15:55:21
それでこれなら終わってる

269:nobodyさん
08/09/24 20:36:43 jFyd2scl
コンビニアルバイトって大変かな?
やってみたいんだけどな。
あと瀬戸内みかん改めネカマくんに
スレリンク(php板:103番)
でレスしたんで、見てみて。
よろしく


270:たまちゃん ◆.9IKLOrRqU
08/09/24 20:48:20 dUo0upab
2ch トリップ

を作成するスクリプトを作成しています。

スクリプト
URLリンク(www.abcoroti.com)

ソース
URLリンク(www.abcoroti.com)

しかし、作成されたトリップの一部が2chトリップとは違うのはなぜでしょうか?

271:たまちゃん ◆Mission/5Y
08/09/24 20:51:06 dUo0upab
このトリップ

たまちゃん#B#「WCO=d

は、このようになるはずなのですが、

変なトリップになってしまいます。

試しに、
2chと比べてみてください。


しかし、

たまちゃん#tama

のトリップは、どちらとも同じです。

この、本当なら◆Mission
のトリップが◆pj.
になるのはなぜでしょうか?

272:nobodyさん
08/09/24 20:59:06 f8f+ks6F
たまちゃんファイト(^o^)応援あげ

273: ◆Mission/5Y
08/09/24 20:59:21
へー

274:たまちゃん ◆Mission/5Y
08/09/24 21:04:32
てst

275:nobodyさん
08/09/24 21:27:23
ソース見てないから憶測だが
1.そもそも2chのトリップ生成方法と違う
2.トリップの生成方法はあってるが文字コードが違う

276:nobodyさん
08/09/24 21:31:55 VCrs+bf+
F5攻撃を違うIPで攻撃されているのですが、
これをサーバーに負荷をかけずに弾くことには、
どのような方法がいいですか?

いやゆる、DDOS攻撃だと思うんですが、
Juniper Networks NetScreen-5GT
を導入して、こういった攻撃に対抗することは可能ですか?
アドバイスお願いします。

277:nobodyさん
08/09/24 21:47:18
>>276
ものすっごいすれ違い

278:たまちゃん ◆ExGQrDul2E
08/09/24 21:51:57 dUo0upab
>>275

文字コードは何がよいのでしょうか?
詳細を教えてください


279:nobodyさん
08/09/24 21:59:18
2chの文字コードがShift_JISだからShift_JISなんじゃないの?
内部コードがどうなってるかは知らんが

280:たまちゃん ◆ExGQrDul2E
08/09/24 22:08:30 dUo0upab
>>279
つまり、ヘッダー

header();

で、Shift_JiSを指定すればよいってわけですか?

281:nobodyさん
08/09/24 22:11:35
騙り乙

282:nobodyさん
08/09/24 22:28:00 tcsExBCJ
最初期モックアップ作るのに、
(1)RoRと
(2)cakephpと
どっちがカンタン?

283:nobodyさん
08/09/24 22:30:39
どちらが簡単か試してあげるから初心者の俺様に使い方を教えてくれたらいいよ

284:nobodyさん
08/09/24 22:31:24
そろそろ>>1読んで消えろよ
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

285:nobodyさん
08/09/24 22:33:53
>>280
まず念のためソースをメモ張あたりにコピペしてShift_JISで保存する
htmlのヘッダをちゃんと指定してやる(>>270はwindows-1252になってる)

286:nobodyさん
08/09/25 00:44:00 mCTDR1SM
PHP初心者です。現在オブジェクト指向でのプログラムを勉強中なのですが、
Aクラスの中でBクラスのメソッドを使用するといった事は可能でしょうか?

287:nobodyさん
08/09/25 00:47:10 5FXXDUh2
可能


288:nobodyさん
08/09/25 00:56:36
>>287
なにそのやる気なさ

289:nobodyさん
08/09/25 01:01:23
じゃあどう答えろと?
ここは学校じゃねーんだよ

290:nobodyさん
08/09/25 01:04:43
>>289
タンジェントこさいん氏ね!

291:nobodyさん
08/09/25 01:05:32
>>287
ぁたし女だけど味のないレスする男に魅力を感じないのよね

292:nobodyさん
08/09/25 02:16:14
味のあるレスって例えば?

293:nobodyさん
08/09/25 08:23:36
>>292
塩!

294:211
08/09/25 09:15:30 sm4D2lX6
のびのびになってしまってすみません。

>>250

>>231 は、私が指摘された内容を正しく理解できてないためだと思いますが、
まったくダメなので元に戻しています。
>>211 に書いたとおりで、apacheが以下の警告を出力しますが、このパスは正しいです。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/oci8.so' - (null) in Unknown on line 0

よろしくおねがいします。。。

295:nobodyさん
08/09/25 10:47:34
まだやってんのかw
DB板行った?

296:nobodyさん
08/09/25 11:12:25
>>294
OSXでPHPを使ったことがないので適当だけど...

ダイナミックロード回りの問題と仮定して、
mod_phpと同じ環境変数で、otool -L oci8.soのライブラリが読めるか
確認してみたら? DYLD_PRELOADとかあるしね。

あとはktraceでカーネルコールを眺めてみるとかかなぁ。
別のoci8.soバイナリが見付かったら試してみるのもいいかも

297:nobodyさん
08/09/25 12:12:59
>>294
CLIで動いて、モジュール版で動かないって分かってるなら原因も直ぐに分かるもんだが・・・
実効ユーザが変わればライブラリとかアクセス権に違いが出るからソコを調べてみるべきだな

例えばApacheの実効ユーザでoracleや依存のライブラリのパスが通ってないとか


298:211
08/09/25 13:08:46 sm4D2lX6
>>296-297
ありがとうございます。大事な確認ができていませんでした。
$ sudo su -
# export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
# php ocitest.php
(正常動作)
# /usr/sbin/httpd -X
(error_logに見慣れた警告メッセージ。。。)
となりました。

ktraceは入っていなかったのですが、DTraceというツールがあったので、
これでどのようなファイルを開いているか確認してみました。
(ここを参考にしました URLリンク(www.mactech.com) )

php を実行すると
/usr/lib/php/extensions/no-debug-non-zts-20060613/oci8.so
/usr/local/instantclient_10_2/libclntsh.dylib.10.1
この2行が結果に現れるのですが、httpd を 実行したときには oci8.so の
行はあるものの、libclntsh.dylib.10.1の行が現れませんでした。

ちょっと進展しました。引き続き調査したいと思います。
なにかあったら教えてください。よろしくおねがいします。


299:nobodyさん
08/09/25 15:18:44
>>298
DYLD_PRELOADに、その読まれないdylibを指定するとどうなる?
ていうか、otool -L oci8.so ではどうなってるの

10.4以降、dlopen/dlerror周りが整備されてるから、
これに対応した(かもしれない)最新のPHPならなんか変わるかもよ。
運が良ければエラーメッセージがなにか出るかもね

300:たまちゃん ◆ExGQrDul2E
08/09/25 23:30:12 tOvqpqkP
スレのレス記事表示について。log.datには新しい要素を上に追加していっています
7<>名無し7<>よろしく
6<>名無し6<>よろしく
5<>名無し5<>よろしく
4<>名無し4<>よろしく
3<>名無し3<>よろしく
2<>名無し2<>よろしく
1<>名無し1<>よろしく
ログは、5つに区切って表示しています。
?page=0のとき
7.名無し7
6.名無し6
?page=1
5.名無し5
4.名無し4
3.名無し3
2.名無し2
1.名無し1
この状態では、表示の時、新しい記事が上に来てしまいます。しかし、表示したいのは
?page=0のとき
6.名無し6
7.名無し7
?page=1
1.名無し1
2.名無し2
3.名無し3
4.名無し4
5.名無し5
このように、ソートさせたいです。何か、うまくソートする方法はないでしょうか?

301:nobodyさん
08/09/25 23:33:13
そのページで表示するログを取ってきてからソートすれば?
なんでpage=0で2件なのかは謎だけど

302:たまちゃん ◆ExGQrDul2E
08/09/25 23:50:44 tOvqpqkP
間違えた(ノд<。)゜。

?page=0
で5件、

?page=1
で2件。
ログの保存方法からかえるのはいやですので、何かないでしょうか

303:nobodyさん
08/09/26 00:19:02
>>301をちゃんと読めよw

304:nobodyさん
08/09/26 01:11:05 1TPWkDg1
たまちゃん応援あげ
今日はがんばって答えちゃうぞっ(^o^)

ログデータ読み込み

page=0のときに表示する分のログを取る

ソート

305:nobodyさん
08/09/26 04:24:31 UEEhc7iP
$_ENV + $_SERVERって書いてるソースを見たのですが、
これは何をしているのですか?

306:nobodyさん
08/09/26 04:31:15
足してるんじゃ?

307:たまちゃん ◆ExGQrDul2E
08/09/26 05:25:15 AJ85Tj0b
>>304
ありがとうございます
o(*・◇・)o
なんかログが逆から読んで変ですが、ソートはできました。



308:たまちゃん ◆ExGQrDul2E
08/09/26 05:26:28 AJ85Tj0b
スレッド式掲示板のスレッドを複数で削除するにはどうしたらよいですか?
スレッド単体で削除するなら
delform.htmlには
削除スレナンバー<br>
<form action="del.php" method="POST">
<input type="text" name="del" value="">
<input type="submit" value="削除">
del.phpには
<?php
$del = $_POST['del']; //削除スレッドナンバー
$list = @file("./list.txt"); //リスト
$handle = @fopen("./list.txt", "w") or exit('ログファイルに書き込めません。');
for($i=0; $i<count($list); $i++) {
list($no,$title) = explode('<>', $list[$i]);
if($del == $no){ //もし、delが配列にあれば
array_splice($list,$i,1,"");//配列をループさせ、スレ番号が$delの行を見つけたら、その行を空にする ■レス続く■

309:たまちゃん ◆ExGQrDul2E
08/09/26 05:28:09 AJ85Tj0b
■続き■

}
}
for($i=0; $i<count($list); $i++) {
fwrite($handle, $list[$i]);
}
@fclose($handle);
unlink("./{$del}.cgi");
echo "1スレッド削除しました。";
?>
つづく


これで、簡単に削除して、スレッド一覧をリスト記録しているlist.txtを更新できます。

今回やりたいのは、

delform.htmlを


<form action="del.php" method="POST">
削除スレナンバー0<br>
<input type="text" name="del[]" value="">
削除スレナンバー1<br>
<input type="text" name="del[]" value="">
削除スレナンバー2<br>
<input type="text" name="del[]" value="">
<input type="submit" value="削除">

これに対応させたいです。
どのように改造したらよいか、教えてください。

310:nobodyさん
08/09/26 05:32:16
foreachかけて同じことすればいいんじゃ?

311:nobodyさん
08/09/26 11:02:08 QCsSeIuJ
htmlspecialcharsをすると、
URLの「index.php?id=12&page=2」の&が&に変換されてしまいます。

テキストエリア入力で複数文字列の中にURLがある場合、
htmlspecialcharsを無効としたいのですが、どうすればいいのでしょうか?

312:nobodyさん
08/09/26 11:07:15
ampに変えられると何で駄目なん?

313:312
08/09/26 11:09:36 QCsSeIuJ
メール内にURLが含まれる時
URLリンク(***.com)

と言う風になりますが、これだとuidの値が取得できないからです

314:nobodyさん
08/09/26 11:32:08 9c95iPZj
PHPで作業中のスクリプトの確保してるメモリ(or使用中の)の量とかって表示はできないのかな?

315:nobodyさん
08/09/26 11:35:18 BQfgychi
Qdmailの関数型でDoCoMoだけ[添付ファイル削除]になるんですが、
回避方法分かる方いらっしゃいませんか・・?


316:nobodyさん
08/09/26 12:07:35 6bG1vTrj
パッケージ名
「xampp 1.6.7」

「やろうとしたこと」
 管理画面からphpmyadminをクリックして表示

出てきたエラーメッセージ
「mysql 拡張をロードできません。PHP の設定を確認してください」

ぐぐると、
「phpinfoで、Configuration File (php.ini) Pathのパスは正しいですか?」
という書き込みを発見。
さっそく調べてみると

Configuration File (php.ini) Path C:\WINNT

Loaded Configuration File C:\Program Files\PHP\php.ini

となっている。これってOKなの?まちがってるの?

317:nobodyさん
08/09/26 12:16:53
>>314
memory_get_usage()

318:nobodyさん
08/09/26 12:19:24
>>315
docomoは無条件に添付削除、のはず
サーバにアップロードしてURLを送るようにすればいいかと

319:nobodyさん
08/09/26 12:23:17
>>316
zip版しか使ったことないが、xamppはパッケージ化されてる訳だからパスが間違ってるってわけじゃなくて
php.iniに「extension=php_mysql.dll」や「extension=php_mysqli.dll」がコメント化されたままなんじゃないか?
phpinfo()でmysqlクライアントが有効か確認汁

320:nobodyさん
08/09/26 12:27:41
$hoge = mb_convert_kana($hoge, "a");
if (ereg("^([\x01-\x2f]|[\x3a-\x40]|[\x5b-\x60]|[\x7b-\x7f])*$", $hoge)){
echo "記号入れるな";
}

という漢字で、記号が入れられたらエラーみたいな処理をしたいのですが
全角で” ’ を入れたときにうまく機能しません
たすけてくだしあ

321:nobodyさん
08/09/26 12:30:56 6bG1vTrj
>>319
>phpinfo()でmysqlクライアントが有効か確認汁

これはどこを見ればいいですか?

322:nobodyさん
08/09/26 12:33:48 6bG1vTrj
php.iniはハードディスクの中に9個入っているのですが
どれを変更すればいいですか?

323:nobodyさん
08/09/26 12:39:55 6bG1vTrj
URLリンク(blog.3re.jp)

↑ここを見ると、
php.iniの設定

XAMPPに同梱されているxdebugを
利用できるように設定したいのですが、
XAMPPの採用する「PHP Switch」という機構によって、
設定ファイルが

\xampp\php\php.ini

ではなく、

\xampp\apache\bin\php.ini

であることがわかるまで苦労しました
-----------------------------------------
と書いてあるのですが、これを信用していいですか?

324:nobodyさん
08/09/26 12:52:17 6bG1vTrj
extension=php_mysql.dll
extension=php_mysqli.dll

↑この2つは行頭の;セミコロンははずされてる。

確認したファイルは
\xampp\apache\bin\php.ini

325:nobodyさん
08/09/26 12:55:25 6bG1vTrj
やっぱりpathの設定なんじゃないかなぁ。

Configuration File (php.ini) Path C:\WINNT
Loaded Configuration File C:\Program Files\PHP\php.ini

↑この読込先ってどうやって変更するの?
この読込先を
\xampp\apache\bin\php.ini
にしないとだめなんじゃないの?

そのやり方を教えてよ。

ちょっと教えてくれるまで
しばらくオンラインゲームやってくるから。

326:nobodyさん
08/09/26 12:57:33 6bG1vTrj
いや間違えた。

変更するのは
C:\xampp\apache\bin

でいいんだけども、PHP5を使う場合は、
PHP5用 --- C:\xampp\php\php.ini
これが読み込まれるように設定しないとだめだと思う。

だからそのやり方をおしえて。

327:315
08/09/26 13:05:31 BQfgychi
改行コードの設定を無理やり変更したらいけました。

328:nobodyさん
08/09/26 14:14:13
>>313
htmlspecialcharsで全体をエスケープしてから、
個別に戻すしかない。

329:nobodyさん
08/09/26 14:16:41 6bG1vTrj
うおおおおおおおおおおおおおおおおおおおおおおおお

うごいたーーーーーーーーーーーーーーーーーーーーー

がおおおおおおおおおおおおおおおおおおおおおおおお

330:nobodyさん
08/09/26 14:17:13 6bG1vTrj
うごいたうごいたうごいたうごいたうごいた
うごいたうごいたうごいたうごいたうごいた
うごいたうごいたうごいたうごいたうごいた
うごいたうごいたうごいたうごいたうごいた
うごいたうごいたうごいたうごいたうごいた

うーーーーーーーーーーーーーーー
ごーーーーーーーーーーーーーーー
いーーーーーーーーーーーーーー
たーーーーーーーーーーーーーー

あああああああああああああああああ

331:nobodyさん
08/09/26 14:19:39 6bG1vTrj
で、結論としては、
URLリンク(d.hatena.ne.jp)
ここのページの、

■[PHP] mod_phpが使用する php.ini のパスを設定する方法
* httpd.conf の中で以下のように設定できる。
グローバルに設定されるので、VirtualHost等では使えない。

PHPIniDir /usr/local/etc/php.ini


↑これをまず読んだのね。で、
これをhttpd.confに設定すればいいんだと。

332:nobodyさん
08/09/26 14:22:10 6bG1vTrj
そんで次にこれを読んだのね。
URLリンク(php.benscom.com)
php.ini を探す場所は、次の場所 (順番に) です。

(1) SAPI モジュール特有の場所 (Apache 2 における PHPIniDir ディレクティブ、
   CGI/CLI 版における -c コマンドラインオプション、
   NSAPI における php_ini パラメータ、 THTTPD における PHP_INI_PATH 環境変数)
(2) PHPRC 環境変数。PHP 5.2.0 より前では、 これは、次に挙げるレジストリキーの後にチェックされていました。
(3) PHP 5.2.0 では、レジストリの以下の箇所を順に探します。
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath、
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath および
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath。
ここで x、y および z はそれぞれ PHP のメジャー、マイナー、 リリース番号を表します。
(4) HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows レジストリの場所)
(5) 現在の作業ディレクトリ (CLI を除く)
(6) Web サーバのディレクトリ (SAPI モジュールの場合)、 もしくは PHP ディレクトリ (そうでない Windows の場合)
(7) Windows ディレクトリ (C:\windows もしくは C:\winnt)) (Windows の場合) 、もしくはコンパイル時のオプション --with-config-file-path

、、、で、(1)に書いてあるPHPIniDir ディレクティブてのを
アパッチのhttpd.confに設定すればいいんだと。
それで、一番最後の行に入れて、アパッチを再起動したら、できた。

333:nobodyさん
08/09/26 14:28:30
>>320
全角のシングルクォートはmb_convert_kanaのaでは半角にならんのでは?

マニュアルには
> "a", "A" オプションに含まれる文字は、U+0022, U+0027, U+005C, U+007Eを除く U+0021 - U+007E の範囲です
って書いてある・・・0027ってシングルクォートだよな?

334:age
08/09/26 17:24:58
かなり、完成度が高い、プロ串を発見しました。
URLリンク(www.sjk.co.jp)

このプロ串は、接続方法はkeep-なんちゃらで、プロ串である情報が一切含まれていません。
このような、串を防ぐにはどうしたらよいでしょうか

335:nobodyさん
08/09/26 17:50:40
なんで串防ぎたいの?

336:nobodyさん
08/09/26 17:58:00
>>334
含まれてるよ
Proxy特有の環境変数をそれ経由で出してみ
ちゃんといくつか出てるから

337:age
08/09/26 21:44:28
>>336

この串は
HTTP_VIA
X_FORWERDED_FOR
HTTP_TE
など、串情報が送信されてないです。

他に、何か環境変数ありましたか?
どのようなものか教えてください。

338:nobodyさん
08/09/26 22:50:38
>>334
メール欄と名前間違えてる
どんなHTTPリクエストを吐くかはプロキシサーバの勝手です
知りたけりゃ世界中のプロキシサーバに仕様を聞いてまわります
そしてその中からおっすおらプロキシ!と
リクエストヘッダで名乗らないサーバのIPアドレスを禁止にします
ね、簡単でしょう?


339:nobodyさん
08/09/26 23:03:12
公開串は悪の温床。そんなことも分からないのか?

340:nobodyさん
08/09/27 00:04:05
>>337
ID出したら解決方法教えてあげるよ

341:nobodyさん
08/09/27 10:57:41 HGmYkZgj
皆様お願いします
配列 $list は以下の構造になっています

Array
(
[0] => あ
[1] => Array
(
[0] => い
[1] => う
[2] => え
[3] => お
[4] => Array
(
[0] => か
[1] => き
)

この配列の値の部分だけ取り出し1次元配列にしたく、以下のように記述してみましたが思った結果になりません
どうすればよいですか?



342:nobodyさん
08/09/27 10:58:31 HGmYkZgj
$kekka = list_all($list);

function list_all($list) {
$list_all = array();
foreach ($list as $key => $val) {
$list_all[] = $val;
if (is_array($val)) {
$list_all[] =list_all($val);
}
}
return $list_all;
}


このようにしたいです

Array
(
[0] => あ
[1] => い
[2] => う
[3] => え
[4] => お
[5] => か
[6] => き
)




343:nobodyさん
08/09/27 11:21:55
push使えよ

344:nobodyさん
08/09/27 12:08:00 HGmYkZgj
>>343
function list_all($list) {
$list_all = array();
foreach ($list as $key => $val) {
array_push($list_all, $val);
if (is_array($val)) {
array_push($list_all, list_all($val));
}
}
return $list_all;
}

このように記述してみましたが、同じ結果となり駄目でした
関数内の構造が悪いものと思われますが、具体的にどう書けばよいのでしょうか?

345:211
08/09/27 12:32:44 1XaClFhl
is_array($val)が真のとき、
array_push($list_all, $val);
array_push($list_all, list_all($val));
の両方が実行されますね。意図したロジックですか?

>>299
man dyld してみたところ、DYLD_PRELOAD というのはないようでした。

otool -L oci8.so すると、libclntsh.dylib.10.1が表示されるのですが、
/scratch/plebld/208/rdbms/lib/libclntsh.dylib.10.1
という意味不明なパスでした。install_name_tool というコマンドで、
存在するパスに変更してみましたが、変更前・変更後で動作が変わった
点は確認できませんでした。

346:nobodyさん
08/09/27 13:40:09
>>344
グローバルスコープを汚していいならこういうのもある

<?php
$arr = array(
'あ',
array(
'い','う','え','お',
array('か','き',)
)
);
var_dump($arr);
$out = array();
array_walk_recursive($arr, create_function('$data, $key', 'global $out; $out[] = $data;'));
var_dump($out);


347:nobodyさん
08/09/27 13:51:05
>>342

foreach () {
if(値が配列でなければ) {$配列に値を格納}
}

348:nobodyさん
08/09/27 14:07:05 HGmYkZgj
>>345
ご指摘ありがとうございます
>>347のロジックが正解です

>>346
思った結果となりました
ありがとうございました

349:nobodyさん
08/09/27 14:25:50 cA4bmdkf
すみませんが、お返事が頂けないので、
再度投稿させて頂きました。連日悩まされ続けているので、
本当に困っています。宜しくお願いします。

F5攻撃を違うIPで攻撃されているのですが、
これをサーバーに負荷をかけずに弾くことには、
どのような方法がいいですか?

いやゆる、DDOS攻撃だと思うんですが、
Juniper Networks NetScreen-5GT
を導入して、こういった攻撃に対抗することは可能ですか?
アドバイスお願いします。


350:nobodyさん
08/09/27 14:31:08 LCQeUZBK
DDoSって.htaccessでそのIPを
アク禁にするしか対処法ないんだっけ?

351:nobodyさん
08/09/27 14:41:03
はぁ?

352:nobodyさん
08/09/27 14:45:37
>>349
全然php関係ない話なんだけど誤爆?

353:nobodyさん
08/09/27 14:50:32
いやー
webprog板で聞け!とか
だれかに言われたんだろう

354:nobodyさん
08/09/27 14:55:25
にしてもこのスレに来る理由がわからん。

つーか鯖の種類も何も書かずにDDoS攻撃対策教えろとか言われてもな。
最終的な答えは自分で書いてるし。

355:349
08/09/27 15:00:52 cA4bmdkf
色々、すみません。プログラムがphpで作っていまして、
そのphpが重いせいもあって、DDOS攻撃をされると、
処理の負荷が高くなりすぎて、サーバーが即死します。

それで、色々検索すると、Juniper Networks NetScreen-5GT
がそれに対応できると書いてあったのを見たのですが、
値段も結構するし、該当するスレもないので、困っています。

DDOS攻撃ってアプリケーション層で対応するしかないような気がするのですが、
そうだとしたら、phpで対応できなくもないのかなと思っています。
どうなのでしょうか?

356:nobodyさん
08/09/27 15:06:01
スレタイのせいで「板の」質問スレと思われる事がある
【】は飾り扱いされやすい

357:nobodyさん
08/09/27 15:06:46
じゃ処理見直せ

358:nobodyさん
08/09/27 15:09:02
>>355
>DDOS攻撃ってアプリケーション層で対応するしかないような気がする
この不可解な思考はまぁともかくとしてだ、phpが重いってのがわかってるなら
根本的に軽くするか処理の初期段階で連続アクセス弾くかDDoS対応の
ファイアウォール入れるかのどれかしかないだろう。

ちなみにNetscreenのスレがないのは明らかに板違いだからだ。通技板行け。

359:nobodyさん
08/09/27 15:17:51
質問です。
xpathは配列を返す関数だとして

$arr = $xml->xpath("hoge");
$node = $arr[0];

だとうまくいくのに

$node = $xml->xpath("hoge")[0];

だと [ でsyntax errorなんですがなぜでしょうか?

360:nobodyさん
08/09/27 15:21:51
>>359
>>1

361:359
08/09/27 15:32:43 QsC/zkZf
失礼しました。では改めて。

【OS名】不明
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
>>359

362:nobodyさん
08/09/27 15:36:13
$node = ($xml->xpath("hoge"))[0];

363:359
08/09/27 15:38:08
>>362
やっぱり [ でsyntax errorになります。

364:nobodyさん
08/09/27 15:41:38
list($node) = $xml->xpath("hoge");

365:nobodyさん
08/09/27 15:44:57 /NumMpeS
ここで質問するのはあれかもしれませんが、
php,mysqlで簡単なSNSを構築したいと考えています

どのくらいの期間は必要でしょうか?

366:nobodyさん
08/09/27 15:46:22
>>365
どのくらいのレベルの人間が何人いるのさ?

367:nobodyさん
08/09/27 15:48:55 t9Gh2l9F
こんにちわ。
ファイルアップロード時のエラーコードについて教えて下さい。

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" size="3000">
<input type="file" name="user_file">
<button type="submit">送信</button>
</form>

MAX_FILE_SIZEにsize=3000を指定しております。
このフォームから5000バイトのファイルを送った場合、
$_FILES["user_file"]["error"] に 2 が入るようなことが
phpマニュアルから読み取れましたが、 0 になってしまいます。

$_FILES["user_file"]["error"] に 2 が入るときはどのようなときなのでしょうか?

368:359
08/09/27 15:51:55 QsC/zkZf
>>362
そうも書けるんですね。どうもありがとうございます。

ところで、なんで>>359の後者ではエラーになるんでしょうか?

369:nobodyさん
08/09/27 15:56:10
それくらいは自分で考えようぜ
答え出てるんだから

370:365
08/09/27 15:58:23 /NumMpeS
>>366
自分一人です 能力は高いほうではありません phpは初心者です
勉強がてらログイン処理、マイページ、ファイルのアップロード
くらいのしょぼい機能をもつオリジナルのSNS(と呼んでいいのやら)なのですが、
ファイルの量が膨大になるなら人数を増やそうと考えています

371:nobodyさん
08/09/27 16:02:25
>>370
機能がしょぼいのはいいとして想定してる利用者の規模は?

372:nobodyさん
08/09/27 16:04:08
>>370
php以外でwebアプリを作った経験はあるの?

373:365
08/09/27 16:05:33
>>371
将来的にはできるだけ多くの利用者を考えていますが、
今のところ勉強が目的なので自分+友人数名程度で10人程度が対象です

374:365
08/09/27 16:06:27
>>372
Strutsを用いて簡単なのはやったことはあります

375:nobodyさん
08/09/27 16:06:40
最低いつまでに作りたいの?

376:nobodyさん
08/09/27 16:11:22
>>367
なんでだろね。おかしいね。

377:nobodyさん
08/09/27 16:12:16
Myスペックの出し方の下手くそっぷりから1年以上はかかるとみた

378:365
08/09/27 16:15:18
>>375
期間は4ヶ月が限度です それまでにはなんとかしたいと考えています

379:nobodyさん
08/09/27 16:32:38
>>378
無理ですね

380:365
08/09/27 16:34:49
>>379
そうですか ありがとうござました

381:nobodyさん
08/09/27 16:35:30
>>378
やるだけやってみりゃいいじゃん
別に仕事じゃないんだからできなかったらできなかったで怒られるわけじゃないし

382:nobodyさん
08/09/27 17:36:03
>>355
そのサーバはレンタル?自分で構成いじれるの?
Juniper Networks NetScreen-5GTとハード出してる時点で後者かな?
DoS攻撃をソフトでどうにかするのは限界があるから
ハードでどうにかするという点は正解
ただサーバ構成が複雑になるので
詳しくは自宅サーバ板やネットワーク板で聞いたほうがいい

URLリンク(pc11.2ch.net)
URLリンク(pc11.2ch.net)

383:367
08/09/27 17:37:25 t9Gh2l9F
>>376
どうもです!

phpマニュアルのファイルアップロードのところをもう一度確認したところ、
<input type="hidden" name="MAX_FILE_SIZE" size="3000">
の size=3000 ではなく、 value=3000 でした;;
しかしながら、エラーコードは 0 から変わらず…

他のところでも聞いてみます、ありがとうございました。

384:nobodyさん
08/09/27 17:40:13
やってみたら2になったわ

385:355
08/09/27 17:57:36
>>358
>>382
誘導どうもありがとうございます。
CISCOとかなら知っているのですが、Juniperって聞いたこともない会社なので不安で、
しかも、以前ここで聞いてもまったく反応がなかったので、やはり無名のルーターは駄目だと思ってしました。

通信技術板見たところ、そのスレがありました。
でも、スレ番が3で、人気がないみたいです。このスレは74なのに・・・

でも、DDOS攻撃に本当に対応できるのか、聞いてみます。
ありがとうございました。

386:367
08/09/27 18:18:13 t9Gh2l9F
>>384
こんばんわ!
確認ありがとうございます!

upload_max_filesize をデフォルトの 2M に設定していて、
試しに 2M 以上のファイルをアップロードしてみたんですが、
$_FILES ["user_file"]自体が作成されず、ただページがリロードされるだけみたいな…
本当なら 1 がエラーに入るみたいなことが書かれているのに…

さらに、テンポラリフォルダのエラー 6 も出そうとディレクトリを無くして試みましたが、
勝手に null で置かれる一時ディレクトリに置かれて普通にアップロードできてしまいました。

会社でも自宅でもエラーコードが変わらないので、
一旦諦めようと思いました。

387:nobodyさん
08/09/27 21:25:12
>>385
おまwww間違ってもそれ通技板で言うなよw答え返ってこなくなるぞw

>でも、スレ番が3で、人気がないみたいです。このスレは74なのに・・・
比較対象がおかしい

388:nobodyさん
08/09/27 21:33:03
>>365
4か月も期限があるならその中でがんばりゃいいだけの話だと思うんだがなぁ・・・。
1か月とかだと流石にムリだろって話にはなるが。

389:nobodyさん
08/09/27 21:44:55
>>386
お前何か勘違いしてないか?知識なんて使って減るもんじゃないから只だと思ってんだろ?
人に物を訊くってのがどういう事だか、自覚してる?
知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。使っても減らないけど、教えたら広まった分だけ価値が下がる。それを分けてくれって言ってんの自分でわかってる?
社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。
そういうノウハウを分けてもらう申し訳無さみたいな物が、伝わって来ないんだよ。お前の態度からは。
猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。
猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。何回も言ったよな。謝る時は申し訳無さそうな顔をしろって。
そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、
何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。

390:nobodyさん
08/09/27 21:48:24
>>389
マルチ乙

391:たまちゃん ◆ExGQrDul2E
08/09/27 22:55:12 lTVm1+x/
みなさんお久しぶりです。
日頃からの回答感謝しています。
今での質問のなかで、一つだけまだ機能として実装できてないものがあります。
list.txtには
7<>たま<>テスト
6<>たま<>テスト
5<>たま<>テスト
4<>たま<>テスト
3<>たま<>テスト
2<>たま<>テスト
1<>たま<>テスト
0<>たま<>テスト
記事を表示する際に、
【続く】

392:たまちゃん ◆ExGQrDul2E
08/09/27 22:57:45 lTVm1+x/
【続き】
?page=0なら
上から
レス記事1~7を表示したいです。
[2]名前
[3]名前
[4]名前
[5]名前
[5]名前
?page=1なら
[0]名前
[1]名前
[2]名前
[3]名前

と表示したいです。
どのように回せばよいか教えてください。
現在は、そのまま表示していますので
上に新しい記事がきてしまいます。
[7]
[6]
[5]

です。

393:たまちゃん ◆ExGQrDul2E
08/09/27 23:01:41 lTVm1+x/
【続き】
に修正です。
希望は
?page=0のとき
[3]
[4]
[5]
[6]
[7]
?page=1のとき
[0]
[1]
[2]
しかし、現在は?p=0のとき[7]
[6]

?p=0のとき
[2]
[1]
[0]
となって表示されてしまいます。

394:nobodyさん
08/09/28 00:26:15
URLリンク(hain.jp)

こいつの文章の書き方、変。

395:nobodyさん
08/09/28 01:11:41 XPzqjxjb
おひさ!たまちゃん応援あげ
ええっと、そのまま表示する一つ手前に逆ソートさせると幸せになります。

その他の方法もあります
ログの記録方法を古いのを上にして新しいのを下にくるようにすると
逆ソートする必要がなくなるばかりか処理数も減って経済的になります


396:nobodyさん
08/09/28 02:39:56 nY0Ki6gH
PHPの質問が週末で全然ないので、どさくさにマギレテ質問。

街中で猫をよく見かけるけど、猫の死体を今まで見たことがない。
あれってどうして?

397:nobodyさん
08/09/28 02:47:27
>>393
本当に掲示板作ってんのかは知らんけど他の掲示板とかフォーラムとか見てみたほうがいいと思う
そんな仕様の掲示板はまずないw

398:nobodyさん
08/09/28 03:02:06
URLリンク(hain.jp)
これ面白そうね

399:nobodyさん
08/09/28 17:20:15 mGLv8aDS
PEARってCPANなの?

400:nobodyさん
08/09/28 17:24:07
はぃ?

401:nobodyさん
08/09/28 17:55:10
PEARはCPANだった説浮上


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch