【PHP】下らねぇ質問はここに書き込みやがれ 46at PHP
【PHP】下らねぇ質問はここに書き込みやがれ 46 - 暇つぶし2ch2:nobodyさん
07/05/12 16:44:31
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 44
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 43
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 42
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 41
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 40
スレリンク(php板)

3:nobodyさん
07/05/12 16:45: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)

4:nobodyさん
07/05/12 16:45:23
【簡易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プログラムとして実行された結果になる。

5:nobodyさん
07/05/12 16:45:39
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に保存?
 → 好きにしてください

6:nobodyさん
07/05/12 16:50:14
>>1

7:nobodyさん
07/05/12 16:53:14 uqNjkBgI
上書きされたくない配列のクラス内属性があるのですが
constには配列が記述できないですよね。
何かいい方法はないでしょうか?

8:nobodyさん
07/05/12 17:02:48
アクセサ経由で使用させる

9:nobodyさん
07/05/12 17:18:33
                _,, ─=ニ二 ̄ "'- 、
            _,..-'''"__ ※  `"'- 、  \
           />゙⌒ヽ ̄ ̄ ̄"'- 、 ※ \.   \
         / ./   : :\ : :\ : : \    ∨   \
.         /  /     : :ハ  : :\ : : ヘ ※ ∨ _〆)
        / : :i    : i: : :ト、   : : ヘ : :ヘ.   | イ__/
         /  : :i   : : /,イ イ: :ト、\__,: :∧ : : :| ※゙|.八
       l l : : :l_ // ル゙i: :ノィr‐─< 〉: :.,'  .l: : \
       l l. : :tノ.厶イ  ル゙  (て刀ア.,': :./ ※ .l: :    \
       |∧ : :∨ (てカ`     ゞ―゙ /: :/   .ト、 : :     \
.          ゝ : : \.ゞ┘ ,   ////,.イ ※  l: \ : :     \  下らねぇ質問は
.         `(>┬-ゝ//  r 、      个   ∧.: : \ : :     '.,  ここに書き込みやがれですぅ
.           ) 人.X゙\   `‐'   / .| ※ /.: :',: :   \: :   l
            /./ : : )゙※/゙テ=r‐ャ<.___人.  /: :  ',: :    \: :  l
        /./ : :/ /゙f .〉〉刀, 〉 〕    `X乃ミY)∧: :      \/
          /./ : :/./_「| Y|    /\  ∧ ヘ\  ̄ハ.: :      \
       /./ : : ,イ 辷竺ミY   .∧  》 ∧ノ  〉 \. l.: :        ヘ
.       /./., -'"/ノ 廴_辷竺ミ乃ゝノ∧ノ  / ※ /  |.: : : :       ',
      /./  /  ./^''^''廴___) ∧ノ  〈   〈   l: : : :      l
.    / ※ / Y /    人^''^''^∨ノ∠_.',    ', l',.: : : :       |

10:nobodyさん
07/05/12 17:59:38
>>1

ところで失敗したゴミスレはどうすんの?

11:nobodyさん
07/05/12 18:08:44
普通は、スレ番間違ってても、先にたった奴から消費するもんだが


12:nobodyさん
07/05/12 18:20:39
>>10
・「先に立ってる向こうが本スレ、ここは重複」で向こうを46として使う。(通常、これ)
 保守なんかしなくてもこっちも落ちないだろうから、ここが将来の47に。

・放置して沈める。現状のままレスが一定数つかなければ即死判定で消える。
 たぶん誰かが書くので生き延びる。

・削除整理に持って行ってみる。スレタイや 1 の文言がアレすぎる事例なら
 住民合意次第で後から立ったほうを本スレ扱いしてもらえる場合もあったと思う。

どれか。つーか、番号の変え忘れだけでなんで重複が立ってるんだ。

13:nobodyさん
07/05/12 18:37:00
linuxのfedoraスレは重複しまくりだけど削除人に無視されてるよw

14:nobodyさん
07/05/12 21:10:57
最近このいたの過疎化が急激にすすんできた

15:nobodyさん
07/05/12 21:12:02
休日は人すくないお
職場から書き込んでる人が多いんじゃない?

16:nobodyさん
07/05/12 21:53:16
幾ら試してもダメだったんで質問。

(postで文字列・行番号を送信)
textからファイルを1行ずつ配列に突っ込む、
配列の指定された行に文字列代入、(この時改行を突っ込む)
その後ファイルに出力。

とやってるんだけど、どうしてもpostで受け取ったところに改行が入らない。
\r\n、\n、\r、CRLF、0xA、0x0D全部ダメでした。
改行を入れるのに良い方法があればご教授宜しくお願いします。

※環境:windowsXP proSP2 IE6 XAMPP2.3
※状況としては、DB使えない鯖でDB的な事がやりたい。
で、1つずつファイルを用意して、1行で1つのパラメータとして管理。行番号でIDとしてやってみた。

17:nobodyさん
07/05/12 22:10:37
> (postで文字列・行番号を送信)
> textからファイルを1行ずつ配列に突っ込む、
> 配列の指定された行に文字列代入、(この時改行を突っ込む)
> その後ファイルに出力。

この説明を自分で読んでどう思う、あとIDな

18:nobodyさん
07/05/12 22:18:35
意味ワカンネ
ソース晒せ

19:nobodyさん
07/05/12 23:38:29
>>16
こういうこと?

【1】 管理画面的なページからファイルに書き込みたい文字列と行番号を送信
【2】 【1】の文字列と行番号を受け取ったプログラムが受け取った文字列をファイルに書き込み

だよな?

で、ファイルの書き込む位置として【1】から受け取った行番号を使うんだよな?

20:nobodyさん
07/05/12 23:41:43
>>16
ちゃんと文字列に改行つけられてないんだろ?

$fp = fopen ("/unnko/file.txt");
fputs ($fp, $_POST['文字列' . "\r\n"]);
fclose($fp);

コレでもだめ?

21:20
07/05/12 23:42:32
よく見たらIDだしてないじゃないかお前
氏ね!俺氏ね!

22:nobodyさん
07/05/13 00:13:47
ID出さないは食い逃げですよ

23:nobodyさん
07/05/13 01:14:36
ID出したら負けと思ってます

24:nobodyさん
07/05/13 01:17:52 bVkJL6kZ
ApacheモジュールのPHPって
仮にあるユーザが10秒かかる処理をリクエストしたとき
その10秒間は他のユーザがアクセスしても無応答になるの?

25:nobodyさん
07/05/13 01:27:52
>>24
apacheが別スッドレ起動するはずだから大丈夫

26:nobodyさん
07/05/13 01:40:06 EaEIAfe4
空メのシステムを作りたいんだけど、
お勧めのレン鯖ってないかな?

これはメール鯖借りるだけでもできたっけ?

27:nobodyさん
07/05/13 02:01:55 bVkJL6kZ
>>25
確か自分で高負荷のかかる処理をさせたときは待たされた記憶があるんですが
その判定って何でやってるんですか?IPアドレス?セッション?

28:nobodyさん
07/05/13 02:03:04
質問です。
手元の本見てると、
class xxxx {
private $_name;
function getName(){return $this->_name;}
function setName($namae){$this->_name = $namae;}
}
って言うのがあるんですが、
この$_name の「_」には何か特別な意味があるんですか?
$nameとする場合と意味が違うんでしょうか?

29:nobodyさん
07/05/13 02:03:49
>>28
private変数を明示的にするための過去の遺産かと

30:nobodyさん
07/05/13 02:06:10
>>26
昨日のやつか市ね

31:nobodyさん
07/05/13 02:06:46
>>29
ありがとうございます。じゃ、作者の癖みたいなものですね?
あと、
{return $name;} じゃダメなんでしょうか? this って必要でしょうか?
マニュアルで検索しても出てこないような?
URLリンク(jp2.php.net)

32:nobodyさん
07/05/13 02:08:54 EaEIAfe4
>>30
昨日って?

33:nobodyさん
07/05/13 02:29:01
>>27
それはシステム自体(つまりサーバ全体)自体が負荷が
高くて処理が遅くなってたんじゃないのかな?
PHP自体はIPとかセッションじゃなくてリクエスト単位で
アパチェがスッドレ立ててるはずだよ

34:nobodyさん
07/05/13 02:38:00
>>31
thisって関数じゃないだろ。
クラスのとこ見たほうがいいと思うよ。

35:nobodyさん
07/05/13 03:02:00
$thisって実行してるクラスってことでいいんだよな?

36:nobodyさん
07/05/13 03:08:49
いいえ。全然違います。
メンバ変数のことです。

37:ぷぅ
07/05/13 03:11:20 eYzfHo38
携帯の前略のプログなんですが、ある人のりあるのページをみたら、背景と文字が真っ黒で絵文字のみ浮き上がり読めなくなってしまいました。読める様になる方法ってありますか?教えて下さい。

38:nobodyさん
07/05/13 03:24:35
>>36
インスタンスだろ

39:nobodyさん
07/05/13 03:26:32
>>38
('A`)?

40:nobodyさん
07/05/13 03:27:12
>>37
板違い、やさしい住民がいる板に誘導してやるからさっさとでていけクズ

【マジレス】超初心者の質問に答えるスレ49【エスパー】
スレリンク(win板)

41:nobodyさん
07/05/13 03:32:54
>>39
分からないなら少なくともマニュアルのクラスの項読むといいぞ

42:nobodyさん
07/05/13 07:35:57
>>41
クラスのどこ読めばいいの?
$thisがインスタンスとだけ言われちゃどういう意図でいったのか意味が伝わらない。

43:nobodyさん
07/05/13 08:10:34
全部

44:nobodyさん
07/05/13 10:25:54
普通に考えて$thisはインスタンスだろwwwwwwww
このスレのレベルの低さが伺えるなw

45:nobodyさん
07/05/13 10:27:35
メンバ変数であるわけないのに、そう言っちゃって突っ込まれたから
顔が真っ赤になって書き込みを続けているというだけの話だろうね

46:nobodyさん
07/05/13 10:33:12
公式マニュアルはOOP入門書じゃないし、
そのへんの一般常識がごっそり抜けてる奴が結構居ると思うよ。

47:nobodyさん
07/05/13 11:32:57
常識というより、どっかからサンプルソースもってきて、
表示された=動いたーうごかないー、みたいなやつにありがちだ。
意味もわからずDBを入れるわ、クラス使うわ



48:nobodyさん
07/05/13 12:26:51
PHPのクラスとオブジェクトのページすら読まずに語ってたのか・・・
恐ろしや・・・

49:nobodyさん
07/05/13 12:27:00 /gq+so5C
>>26
空メって何?

50:nobodyさん
07/05/13 12:33:10 EaEIAfe4
>>49
メールが送られてきたらPHPを実行する みたいな感じ

51:nobodyさん
07/05/13 12:38:40
mb_send_mail('info@rental-server.domain','至急','なぁ、おまえんとこのサーバってメールが送られてきたらPHPを実行できんのか?それだったら借りたる');

52:nobodyさん
07/05/13 13:12:19
仕組み次第で出来るぞ・・

53:nobodyさん
07/05/13 14:49:01
開発環境によると思うが、
.forward ファイルを編集して fopen('php://stdin', 'r'); で受け取ればいい

54:nobodyさん
07/05/13 15:03:59
postfixを使った場合のソースをもっと詳しくおながい

55:nobodyさん
07/05/13 15:46:59
ググレ腐るほど転がってる

56:nobodyさん
07/05/13 16:07:42
ここに転がしてよ!バカ!

57:nobodyさん
07/05/13 17:17:10 JyhsaAbc
質問させてください。

/proc 0 0 0 0% /proc
↑のようなデータがあります。

この行の"0%"のみを抜き出して表示させたいのですが、
以下のようなスクリプトを実行すると、
何も表示されません。0=無として動いているようです。


$a = 0;
$hairetu = explode(" ", "$proc"); 
// ↑の$procに「/proc 0 0 0 0% /proc」の内容が入ってます。

while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}

print "$str<br>";
// ↑ここで何も表示されない

分かりにくくて申し訳ありませんが、対処方法を教えてください。


58:nobodyさん
07/05/13 17:17:44
sendmail呼べばおk。

59:nobodyさん
07/05/13 17:25:38
>>57
$str = preg_replace('/.*? (¥d+)%.*/', "$1", $proc);

60:nobodyさん
07/05/13 17:27:12
>>57
$a = 0;
$hairetu = explode(" ", "/proc 0 0 0 0% /proc");
while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}
print "$str<br>";

で出てくるけど

61:nobodyさん
07/05/13 17:31:11
>>57
糞ロジックだし、記法かなりあやしいところあるけど、別に間違ってないよ。
別の原因だな。


62:nobodyさん
07/05/13 22:04:51 w30SUErw
phpで指定した何年何月のカレンダーを組み込み関数なしで表示させたいが
いまいちソースが予想付かない、どういう組み方すればいいかなんとかご教授
お願いできませんでしょうか。スレ違いならそっちいくんでスレ指定おねがいします。

初めて1か月だがプログラミング向いてないんかな・・・。

63:nobodyさん
07/05/13 22:28:16
なぜ組み込み関数無しで?

64:nobodyさん
07/05/13 22:34:48
できるわけねえだろクズ。
もしやるとしたら正しい日付のフォーマットを自分で作るしかねえんだよ!

65:nobodyさん
07/05/13 22:36:29
ガタガタいってるとそろそろ反撃しますよ回答者ども

おれは62じゃないから、念のため。

66:62
07/05/13 22:59:48
>>63
いやそういう指定受けたもので。

>>64
でもやらなきゃならんのですよ。

ううむ・・。基本日数は1800年の1月1日が水曜日って事ぐらいしか・・

67:nobodyさん
07/05/13 23:05:30
その理由をかけよ

68:nobodyさん
07/05/13 23:08:17
>>66
1800年の1月1日から、求める月の最初の日付まで何日間経ったか数えて、
それを7で割ったあまりで1日の曜日を求めて、ってことになりますね。

閏年は4で割り切れる年、ただし100で割り切れない年である、しかし400で割り切れる年はやはり閏年である、という事実を使って日数を求めればよいです。

69:nobodyさん
07/05/13 23:10:19
>>68
それも関数つかわなきゃできなくね?

70:nobodyさん
07/05/13 23:10:44
>>66
とりあえずどこまで考えたか見せてみ

71:nobodyさん
07/05/13 23:16:04
組み込み関数無しでどうやって出力するんだ

72:nobodyさん
07/05/13 23:17:30
プログラムのロジックを考えるのが趣味ならべつだが、車輪の再開発なんて無駄


73:66
07/05/13 23:21:39 w30SUErw
>>67
残念だが無理

>>68
わかりました、それをヒントに考えてみます。

>>70
フロチャートから書いてる段階だからまだ入力してないんだ・・。

>>71
説明不足でした、正確には日付関数系をなし。

なんとか頑張ってみます、ありがとうございました。

74:nobodyさん
07/05/13 23:23:08
無理ワロタ

75:nobodyさん
07/05/13 23:23:35
できないことはないが、ソースがふえるだけ
学校の宿題だろ

76:nobodyさん
07/05/13 23:24:06
どうせ宿題かなんかだろ。

スルーしろよ。

77:nobodyさん
07/05/13 23:25:31
どんな用件なんだいったい?
謎は深まるばかりだな

78:nobodyさん
07/05/13 23:28:46
大学板でこの質問貼り付けて聞きまわって調査してくる

79:nobodyさん
07/05/13 23:29:38
>>73
要求仕様の理解がおかしいんじゃないのか?
カレンダー関数と、標準関数としての日付関数と取り違えてないか?

80:nobodyさん
07/05/13 23:37:32
>>73
フローチャートでもいいから見せろよ
どの段階で詰まってるのか分からないと答えようが無いだろ

81:nobodyさん
07/05/13 23:37:33 Abz7uB+8
ウィンドウズでPHP5をインストールしたのですが
アパッチを起動してPHPが動きません
PHP4を設定する資料は沢山あっても5の資料が無いので教えてください

82:nobodyさん
07/05/13 23:38:28
>>81
公式マニュアルに分かりやすく確実な解説があるよ~~~

83:nobodyさん
07/05/13 23:41:09 Abz7uB+8
>>82
どうもありがとう

84:nobodyさん
07/05/14 00:11:16
>>81-83

ほのぼのした流れにワロタ

85:nobodyさん
07/05/14 00:30:06
あるスクリプトで、sleep 10;という命令を使おうと思ってます。
そこで、停止している10秒間に、10、9、8、7、、、と
カウントダウンを表示させたいのですが、どのように記述すれば
良いでしょうか


86:nobodyさん
07/05/14 00:31:07
>>85
>>1

87:nobodyさん
07/05/14 00:46:07
>>85
こんなんじゃダメか?
for ($i = 10; $i >= 0; $i--) {
 printf("\r%2d", $i);
 sleep(1);
}

88:nobodyさん
07/05/14 00:52:05
駄目に決まってるじゃん。CLI標準出力じゃあるまいし

89:nobodyさん
07/05/14 00:56:58 5a5f7yKw
>>50
Thx!なるほど。バッチで実行してもいいんじゃね?phpでpopアクセスするやつ作って。

90:nobodyさん
07/05/14 00:58:42
>>88
死n

91:nobodyさん
07/05/14 01:07:06 anxZlOK/
$iyear=2007;
$imoon=5;

function leap($year){
$count=0;
$count += floor($year/4);
$count -= floor($year/100);
$count += floor($year/400);
return $count;
}

$leap = leap($iyear)-leap(1800+(($imoon>2)?-1:0));
echo "leap=$leap\n";
$moon = array(0,31,28,31,30,31,30,31,31,30,31,30,31);

$day = ($iyear-1800)*365 + $leap;
for($i=1; $i<$imoon; $i++)
$day+=$moon[$i];
echo "day=$day\n";

$dotw=($day+3)%7;
echo "dotw=$dotw\n";

for($i=0; $i<$dotw; $i++)
echo " ";

for($i=1; $i<=$moon[$imoon]; $i++){
printf("%2d ",$i);
if(!(($i+$dotw)%7))
echo "\n";
}

92:nobodyさん
07/05/14 01:07:34
IDだしてないやつに回答した奴が被害にあいますた

93:nobodyさん
07/05/14 01:12:07
そうですか。頭悪いね。

94:nobodyさん
07/05/14 01:14:51 w1xXl1JO
httpd.exe: Syntax error on line 115 of C:/Program Files/Apache Software Foundati
on/Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: \x
8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8
c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B
Note the errors or messages above, and press the <ESC> key to exit. 27...

C:/php/php5apache2.dllはあるのにこう言われます
何故ですか

95:nobodyさん
07/05/14 01:15:34 w1xXl1JO
>>94はウィンドウズXPでアパッチを起動した時のエラーメッセージです

96:nobodyさん
07/05/14 01:16:34 dsmo737w
>>95
エラーメッセージ答えてもエラー内容わからないと解決しなくね?

97:nobodyさん
07/05/14 01:17:11
>>91
汚いけど凄いな、俺には理解できん

98:nobodyさん
07/05/14 01:19:05
>>94
httpd.confの115行目でsyntax errorだって。

99:nobodyさん
07/05/14 01:22:01
なんでapache2.2なのにphp5apache2.dllを呼ぶんだよバカ。
apache2,2用のdllを呼んでからでなおしてこいやボンクラ

100:nobodyさん
07/05/14 01:23:47
( ・ω・)

101:nobodyさん
07/05/14 01:37:31 Rgccl4HD
$str1 = "/AAA/BBB/CCC";
$str2 = "/BBB/CCC/DDD";

から共通部分の"/BBB/CCC"だけを抜き取るにはどうしたらいいの?

102:nobodyさん
07/05/14 01:40:52
マニュアルの配列を扱う関数ページはもちろんみたんだろうな?

103:nobodyさん
07/05/14 01:53:13 w1xXl1JO
>>99
どうもありがとう
おかげでエラーは出なくなりました

でもまだテスト用のスクリプト動かすとエラーが出ます
たとえば
<? phpinfo() ?>
だけのphpファイルを開くと
Parse error: syntax error, unexpected '@' in C:\Pr 略 est\phpinfo.php on line 2
になります
他のスクリプトの内容でも同じエラーです
質問厨ですいません

104:nobodyさん
07/05/14 01:56:07
unexpected '@' といわれるのは、たいがい全角スペースが変なとこに入ってるときだな。

105:nobodyさん
07/05/14 01:57:06 w1xXl1JO
>>104
その通りでした
ありがとうございました

106:nobodyさん
07/05/14 02:01:42
PHPのフレームワークはいつになったらデファクトスタンダードゥが決まるんだろな

107:nobodyさん
07/05/14 02:02:37
口は悪いけど面倒見がいい回答者がそろうインターネットですね

108:nobodyさん
07/05/14 02:06:24
>91 こゆの見ると、己の才能の無さに凹むわ

109:nobodyさん
07/05/14 02:07:51
関数でできることを書くのは自己まんにしかみえないよ

110:nobodyさん
07/05/14 02:17:09
>>109
確かにそれはそうだ。
でも出来るけどやらないのと出来ないからやらないでは
全然意味合いが違ってくると思うんだ。

111:101
07/05/14 02:21:50 Rgccl4HD
>>102
>>101へのレス?

112:nobodyさん
07/05/14 02:41:21
>>101
共通部分があらかじめ分かってるか否かによる

113:101
07/05/14 03:04:28 Rgccl4HD
$str1 = "/AAA/BBB/CCC";
$str2 = "/BBB/CCC/DDD";

$temp = end(explode("/", $str1));
$pattern = "`^(.*{$temp})`";
preg_match($pattern, $str2, $match);
echo $match[1];

自分で書いたのはこんな感じなんだけどなんかたまたま動いてるだけな気がするんです
"/"で分割したから$str1が"/"で終わっちゃうと当然思い通りには動作しないし。
$str1はファイルの絶対パス、すなわち"/"で終わらないって条件下ならこれでいいのかな
やりたいことをうまく説明できてなくてすまん

114:nobodyさん
07/05/14 03:24:35
最後に/を含なまいようにrtrimで削除すればいい話だろ
難しく考えすぎるな。楽をしろ

115:nobodyさん
07/05/14 05:38:18 Qx50SkdA
あるスクリプトで、sleep 10;という命令を使おうと思ってます。
そこで、停止している10秒間に、10、9、8、7、、、と
カウントダウンを表示させたいのですが、どのように記述すれば
良いでしょうか

116:nobodyさん
07/05/14 05:54:14
>>115
CLIならループで。
Webならクライアント側のJavaScriptで。
必要ならばセッション張って。

それ以前に仕様を見直したほうが無難。

117:nobodyさん
07/05/14 06:46:28 Qx50SkdA
>>116
WEBでやりたいと思ってます
なるほど。JavaScriptかぁ・・・
例えば、10秒のGifアニメを張るとかもアリでしょうか?

>それ以前に仕様を見直したほうが無難。
どういう点がマズイ仕様でしょうか


118:nobodyさん
07/05/14 07:11:02
>あるスクリプトで、sleep 10;という命令を使おうと思ってます。

・・・・・・。

119:nobodyさん
07/05/14 08:56:54
>>117
サーバー側での10秒後がクライアント側でも10秒後とは限らない

120:nobodyさん
07/05/14 09:06:46
>>117
サーバー資源を10秒も食いっぱなしにすんなよ。
JavaScriptで10秒timerかけて、10秒後にサーバーに再アクセス、が妥当じゃないの?
GIFアニメの再生速度はマシンパワーに依存するから「10秒の」ってのは作れないと思う。
これもJavaScriptで1秒間隔で別の画像に次々切り替えるとかにすれば。

121:nobodyさん
07/05/14 09:36:02
くだらねぇな

<script type="text/javascript">
onload = function () {
 var counter = document.getElementById("counter");
 var n = 10;
 (function () {
  counter.innerHTML = n;
  if (n-- > 0) setTimeout(arguments.callee, 1000);
  else counter.innerHTML = "ぬるぽ";
 })();
}
</script>
<span id="counter"></span>

122:nobodyさん
07/05/14 11:35:48 dsmo737w
imapで、メールの本文や日時、メールアドレスは見れるのですが、
タイトルが見ることができません。
何かタイトルを見る方法はないのでしょうか?

あと、メールアドレスが偽装で送られてきた場合は、
この関数ではそれを見破る(?)ことはできるのでしょうか?

123:nobodyさん
07/05/14 11:44:07
>>122
頼むから日本語で喋ってくれ

124:nobodyさん
07/05/14 11:56:04 dsmo737w
>>123
①メールのタイトルを取得する方法
②メールアドレスが偽装されている部分はどうなるの?

です

125:nobodyさん
07/05/14 12:06:16
>>124
1. ヘッダを取得する関数があるような気はしませんか。
2. ヘッダを取得する関数があるような気はしませんか。

何を以って偽装とするのかわかんないけど
複数プロバと契約しててSMTP1つで片づけてる人も「偽装」?

126:nobodyさん
07/05/14 12:08:59 dsmo737w
>>125
あー
mb_send_mailなのでヘッダーで自分のメールアドレスを指定してたりすると偽装?
わっかんねwwwwww

headerに
[subject] => =?ISO-2022-JP?B?GyRCJCokUiQ1IXkbKEI=?=
ってりましたが、これですか、どもです

こんな形の文字化け初めてみました

127:nobodyさん
07/05/14 12:29:35
メールアドレスはいくらでも偽装かのうだけど
発信元サーバー情報は取得できるよ。

128:nobodyさん
07/05/14 12:44:30 dsmo737w
>>127
message_idの項目のことですかね?

=?ISO-2022-JP?B?GyRCJCokUiQ1IXkbKEI=?=
↑文字化けしてますけど、どうやって戻すのでしょう?
mb_convert_encoding($str, "utf-8","iso-2022-jp")
mb_convert_encoding($str, "utf-8","auto")
試しましたが元に戻りません・・・


129:nobodyさん
07/05/14 12:50:43
タイトルにサーバー情報が入ってる分けないだろバカ

130:nobodyさん
07/05/14 12:51:48 dsmo737w
>>129
落ち着け
下のは新しい質問だ

131:nobodyさん
07/05/14 12:57:58
>>128
mb_decode_mimeheader

ていうかそんなのも分からずメール関連やろうなんて無謀だから諦めた方が…
まずはメールのプロトコルとかヘッダーとか理解したほうがいいよ

132:nobodyさん
07/05/14 12:59:48
>>128
それは文字化けではない
BASE64エンコード
元に戻すならデコード
関数探せばあるよ

133:nobodyさん
07/05/14 13:09:19 dsmo737w
>>131
なるほど!urlencodeみたいなものですね

134:nobodyさん
07/05/14 13:27:38 fBoB1LaJ
すみません。書籍を読んで勉強中なんですが。疑問におもったので教えてください。

最初にif文で$_GETで受け取るべき値があれば受け取り変数$nameに入れるとします。受け取る値がない場合はもちろん受け取りません。
そしてTEXTBOX(<input type="text">)に$_GETで得た値をデフォルトで入れます。$_GETで受け取らない場合は
textboxはデフォルトでは空白です。

それを実現するには、

本によると<input type="text" value="<? echo $name; ?>">となっています。
最初のif文では
if(isset($_GET)) {
$name=$_GET;
}
としています。要するに$_GETが空白の場合は$nameは使用しません。
その場合、<input type="text" value="<? echo $name; ?>">での$name使用は
エラーにならないんですか?C言語だといきなり今まで使用していない変数(値も代入されていない)を使うとエラーになるんですが。。
PHPでは、エラーもなく通るんですか?

たしか、なにかの本ではこのような状況のとき、厳密にはエラーになるときもあるとかいてありました。

135:nobodyさん
07/05/14 13:30:55
>>134
中身がない場合は、空のデータが出力される

136:134
07/05/14 13:35:37 fBoB1LaJ
>>135
どうもありがとうございます。中身がない場合は空のデータなんですね。
ということは<input type="text" value="">となるんですね。

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

137:nobodyさん
07/05/14 13:37:29
どうしても心配なら
$name = "value=\"".$_GET."\"";

<input type="text"<? echo $name; ?>>

にすればいいかもしれんね

138:nobodyさん
07/05/14 13:50:25
普通の配列だと
$array[0]['type']
で見れるけど

simplexmlloadだと、
配列の中身見るとき$xml->type;だよね

139:虚弱PHP
07/05/14 13:56:21
>>134
質問は↓でいいのかな?
> C言語だといきなり今まで使用していない変数(値も代入されていない)を使うとエラーになるんですが。。
> PHPでは、エラーもなく通るんですか?

そういうもんです。
スクリプト系の言語ではわりと普通のことだと思います。
NOTICEも表示するようにしとけば、NOTICEは起きると思いますよ。

140:nobodyさん
07/05/14 14:14:35 5a5f7yKw
>>97
>>91じゃ閏年に対応できなくね?date関数使えば?

141:nobodyさん
07/05/14 14:33:07
E_ALLなら宣言してない変数使うとエラー出なかったっけか?

142:nobodyさん
07/05/14 14:38:16
foreachのなかで if ( isset( $value['table']))
というif文があるんですが、$valueが'flg'という文字列でも上記のif文がtrueになるのはなぜですか?

$ret[] = $value['table'] . '.' . $key;
という文がそのif文の中にはあるんですが、この部分の返り値が"f.hoge"となってます。



143:142
07/05/14 14:44:08 L2qcEQSy
PHPのバージョンは 5.1.6です

あと、たまに同じ値を比べてもFALSEな時があるんですが、
それもforeachブロック内です。
===で比べないとTRUEになりません。

なんかあるんでしょうか。



144:nobodyさん
07/05/14 14:51:14
>>134
代入する場合は存在していなくても問題ない。
参照する場合は存在していないとNOTICEエラーが発生する。
(Undefined~系、エラーレベルE_ALLじゃないと出ない。値的にはnullが返る。

それはそうとその通りだと$_GETは常にセットされてるし、配列なんだけど写しミス?

>>142
文字列型も配列型のように角括弧でバイト単位でアクセス出来る為。
ただしオフセットは数字以外は[0]と見なされて1byte目を参照することになる。
そのfはflgの先頭文字。

145:nobodyさん
07/05/14 15:16:58
youtubeって会員登録無料でしょうか?


146:nobodyさん
07/05/14 15:21:02
有料です。
登録しないで視聴した場合、それなりの料金はIPから調査されてちゃんと後日請求されます

147:nobodyさん
07/05/14 16:09:05 k9XxZtyZ
static変数やメソッドというものは、
どういうケースで使うのでしょうか?
カウンターでカウントするときに使用するぐらいはわかるのですが、
ブロック内が終わっても値を保持し続けるといっても、
具体的にどういうケースで使えばいいのかいまいち理解できません。
どういう所で使うのか、具体的なケースをいくつかあげていただけませんでしょうか?

148:nobodyさん
07/05/14 16:16:40
なんで貴様のために具体的なケースを、しかもいくつもあげ(ry

149:nobodyさん
07/05/14 16:17:37
しかもカウントする処理でわざわざつかうなよw

150:nobodyさん
07/05/14 16:20:00
>>147
思いつかなければ、別に使う必要はない
具体的な例を挙げるほど頻繁に使うことはない



151:nobodyさん
07/05/14 16:21:49
>>147
貴様に教えられることはマニュアルを極めてから出直して来い

152:nobodyさん
07/05/14 16:35:11 k9XxZtyZ
>>150
そうですか。
いくつか例をあげていただければ、共通項が見出せると思ったのですが、
頻繁に使うことはないとのことなので気にしないことにします。

153:nobodyさん
07/05/14 16:45:23
良く使うのはstaticなインスタンスを作成するときぐらいかな。
他は特に使わないと困るって所があまり無い気がする。

154:nobodyさん
07/05/14 16:47:02
ここは新しいことを覚えるというより、わからないことを教えてもらうスレだろ
楽して勉強しようとするな

155:nobodyさん
07/05/14 16:48:14
新しいことを覚えるのも楽しいよ。

156:nobodyさん
07/05/14 16:58:26
>>154
そういう俺ルールを作るなボケ。
くだらねぇ質問ならなんでもいいんだよカス。
ていうかこの時間の回答者は煽ることしかできない低レベルな馬鹿ばっかりだな。
俺も含めて。

157:nobodyさん
07/05/14 17:00:26
俺はまじめに答えたぞ

158:nobodyさん
07/05/14 17:08:22
おれもまじめに質問したぜ!

159:nobodyさん
07/05/14 17:09:21 byqD8Lza
メンバ変数にfinal修飾子を使えないようですが、
定数を定義するときは、constを使えばいいのでしょうか?

// メソッドのみにしか使えないとエラー
public static final $CONSTANT = "CONSTANT";

// これでいいのかな?
const CONSTANT = "CONSTANT";

160:nobodyさん
07/05/14 17:31:51
>>159
マヌアルくらい嫁

161:nobodyさん
07/05/14 17:34:13 Gq/W6/hf
hogeというディレクトリの中にhoge2というディレクトリと、main.phpというPHPファイルがあるとします。
hoge2の中には、inc.phpというファイルがあり、
main.phpから、inc.phpを呼び出しています。
そこで、main.phpから、inc.phpが置かれている、「hoge2」という値を取得したいんですが、どうしたらいいんでしょうか?
よろしくおねがいします。

162:161
07/05/14 17:36:08 Gq/W6/hf
すいません、逆でした。
上の書き込みの、3行目、
X main.phpから、inc.phpを呼び出しています。
O inc.phpからmain.phpを呼び出しています。
ファイル名が逆のままですが、よろしくです。

163:nobodyさん
07/05/14 17:42:51
dirname

164:nobodyさん
07/05/14 17:50:21 Gq/W6/hf
>>163
どうもありがとうございます。
/php/hoge2 って感じで出力されるんですが、hoge2だけ(自分のいるディレクトリ名だけ)を取得したい場合の関数ってあります?
それとも、これを正規表現なりでいじって取るしかないんでしょうか。
何度もすいません。よろしくおねがいします。

165:nobodyさん
07/05/14 17:53:23
>>164
list(,,$dir) = split('/',"/php/hoge2");

166:nobodyさん
07/05/14 18:01:29 xEs1nUuB
正規表現道場
スレリンク(php板:86-番)

でpreg_replaceに関して質問していましたが話題が正規表現からズレてきましたので
こちらで質問させてください。
----------------------------------------------------------
90 :86:2007/05/14(月) 15:45:03 ID:???
後方置換する時に関数かましたくマニュアル眺めてたら「e修飾子」をみつけたのですが
>>87の「S修飾子」と同時に使おうと
$pattern = "/(.*?)<html_start>(.*)<html_end>(.*?)/se";
$replacement = "'\\2''\\1''\\3'";

こんなコードを書いてみた所
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Failed evaluating code:
といった感じで怒られます
修飾子2個は同時に使えないのでしょうか…?
----------------------------------------------------------

以上ですがまとめますと
「preg_replaceの修飾子を2個指定したい(eとs)時の正しい書式」
を教えてくださいまし。

167:nobodyさん
07/05/14 18:03:15
おれがこたえてやるからあと20分まってくれ

168:nobodyさん
07/05/14 18:03:16 byqD8Lza
>>160
わからないなら答えなくていいですよ。
やはりPHPはユーザレベルも低いですね。
失望しました。

169:nobodyさん
07/05/14 18:04:09
>>168

くだらない質問でもど偉そうに聞いていいスレ
スレリンク(php板)

170:nobodyさん
07/05/14 18:05:03 Gq/W6/hf
>>165
ありがとうございます。解決しました!

ところで、もう1個疑問があるのですが、
a.phpでdefine("OUT", "out.html")と定義して、./hoge/b.phpをrequireで呼び出したとき、
b.phpでOUTに出力すると、b.phpのディレクトリにファイルができるのか、a.phpにファイルができるのか、よくわかりません。

今自分で、試してみると、a.phpのディレクトリに出力されたんですけど、
b.phpのディレクトリ上でout.htmlとして書き込んでいるのに、なぜ、a.phpのディレクトリにできちゃうんでしょうか?
requireの挙動がよく理解できない・・・。

171:nobodyさん
07/05/14 18:08:37 byqD8Lza
>>169
まさに私にぴったりですね。
でも過疎ってるので遠慮しときます。

本当に>>160みたいな害虫は死ねばいいのに。
答えられないけど何かいいたいやつの決まり文句は、
「マニュアル見れ」だよね。

172:nobodyさん
07/05/14 18:15:15
質問です。
GD2で、tiff画像を読み込みたいのですが、マニュアルにimagecreatefromtiffが見当たりません。
何かほかに方法はありますが?

173:nobodyさん
07/05/14 18:16:17
>>172
OSぐらいかけよ・・・

174:nobodyさん
07/05/14 18:16:51
>>171
スレ違い

175:172
07/05/14 18:17:51 N76OGPmp
すみません。
IDが出てませんでした。

ちなみに、海外サイトで次のような例があったのですが、動きませんでした。
$bild="einbildeben.tif";
Header("content-type: image/tiff");
$im = @readfile($bild);
return $im;

176:nobodyさん
07/05/14 18:20:45 N76OGPmp
>173
たびたびすみません。入れ違いでした。
環境は、OSX+MAMPで、PHPは5.16です。



177:nobodyさん
07/05/14 18:26:00
gd関係ないやん

178:nobodyさん
07/05/14 18:30:57 Gq/W6/hf
>>170をおねがいします。。

179:nobodyさん
07/05/14 18:34:06
>>166
$replacement が間違っていないか?

$replacement = "'\\2' . '\\1' . '\\3'";
じゃないの

180:166
07/05/14 18:40:16
>>179
仰せの通り、
$replacement = "'\\2'.nl2br('\\1').'\\3'";
で通りました!
nl2brで囲んだ\\1がクオートで囲まれていなかったのが原因、というオチでした。
(・∀・)アリガ㌧

181:nobodyさん
07/05/14 18:50:11
>>178
もう少し落ち着け

// b.php
function b_write() {
// ファイル書き込む処理
}

// a.php
require('b.php');
define("OUT", "out.html");
b_write(OUT);

で、a.php のスクリプトをブラウザから動かしたってこと?

out.html は相対パス指定になっているから
スクリプトの実行されているカレントディレクトリを基本にして
パスを生成するのだから、当然
a.php があるディレクトリ + out.html という風に解釈
される
もしこうなら require の問題ではないぞ

182:nobodyさん
07/05/14 18:52:58
>>140
コード読めないのかお前?

183:nobodyさん
07/05/14 18:54:45
>>170
requireは対象を実行させるわけじゃなく、対象を自分に組み込んで実行するから。

>>171
160じゃないがそのレベルじゃ解らないも何も無いだろ…。
オブジェクト定数の項に書いてあるし、
何より自分で答え書いてるんだから試せば終わりだし…。
ああ…釣りですか。

184:nobodyさん
07/05/14 19:56:37
echo urldecode('test.php?hoge&hoge2');

とやると、hoge2が消えるのは仕様でつか?

185:nobodyさん
07/05/14 19:59:57
ごめんなさいでつ。ブラウザの表示の問題でつた

186:nobodyさん
07/05/14 20:25:56
よかったw

187:nobodyさん
07/05/14 20:37:25 /zb+oLLW
" と ' の使い分けって、みなさんどんな規則作ってやってますか?

188:nobodyさん
07/05/14 20:43:07
>>187
変数展開が必要かどうかと中身に ' か " を含むかどうか。
どっちでもいい場合は、将来的に変数展開を追加する可能性があるかどうか。
もっぱら、配列キーの場合は ' で、それ以外は " にすることが多い。

189:nobodyさん
07/05/14 20:53:43
>>187
基本的にJava風に、1文字の場合はシングル。それ以外はダブル。

190:nobodyさん
07/05/14 21:32:30
意味が違うから基本的にシングル。'もエスケープ。

191:nobodyさん
07/05/14 21:40:43
同じく。ダブルを使うときって、まずない。

192:nobodyさん
07/05/14 21:41:33
あ、"\n"とかね、そういうときぐらいは使うか。

193:nobodyさん
07/05/14 21:56:56
"で統一してる
変数の中身を表示したいときだけ→'

194:nobodyさん
07/05/14 21:59:31
エスケープするときだけ"\"で、他は''だと統一性があまりないよね。
かといって''."\".''とかだと余計おかしいし。
ということで、最近は全部""でやってる。

195:nobodyさん
07/05/14 22:05:26 dsmo737w
<?
echo "";
?>

とすると、ソースで

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

と表示されるんだけど
これを消す関数のようなものありませんでしたっけ?

196:nobodyさん
07/05/14 22:13:26
>>194
>エスケープするときだけ"\"で、他は''だと統一性があまりないよね。
統一性はあるだろ。統一性というのが変なら規則性はあるだろ。

197:nobodyさん
07/05/14 22:20:21
>>195
それはブラウザが勝手に表示してるだけ。
ブラウザによってソースが違うから気にする事はない。

198:nobodyさん
07/05/14 22:23:59 dsmo737w
>>197
サンクス!

199:nobodyさん
07/05/14 22:26:38
ノ     ∧     /) ∧
  彡  ノW \从/V  W \   ミ
  (  ノ        |      ノ \)
  ∩V      、、 |       >V7
  (eLL/ ̄ ̄\/  L/ ̄ ̄\┘/3)
  (┗(      )⌒(      )┛/
   ~| \__/ |  \__/ |~     / ̄ ̄ ̄ ̄ ̄ ̄
    爻     < |  ;     爻    < 君たち、どんどん質問をぶつけてくれたまえ23時までなら私がすべてに答えてしんぜよう
    ~爻     \_/  _, 爻~     \______
     ~爻__/⌒ ̄ ̄ ̄~~ヽ_ 爻~
     /    ー ̄ ̄\_ ̄\
  _一‘     < ̄ ̄\\\J
<\       ー ̄ ̄ヽ_ヽJ   ̄\_
  \     _ニニニヽ )       ~\
   \  _/⌒|\ ヽ_~~ ~⌒\_
  __/~    V \_|     ~\_



200:nobodyさん
07/05/14 22:28:31 dsmo737w
>>199
PEAR使ったことないんだけどどうやって使うの?

201:nobodyさん
07/05/14 22:28:47
>>199
ジュワワワジュワワ、
ジュワジュワジュジュワワワワワ?

202:nobodyさん
07/05/14 22:36:27 tsqMY0Kq
for文の中でif文を書きまして、if文の処理でtrueだったらforを抜け出したいのですが、
if文にbreakを書いても抜け出せませんでした。
breakでは抜け出せないのでしょうか?
どなたかご教授お願いいたします。

for ($i=0; $i<5; $i++) {

if ($i == 3) {
$nissuu = $i;
break;

}

}

203:nobodyさん
07/05/14 22:36:28
>>199
質問:

>てしんぜよう
>    ~爻

ここのところに字が食い込んで痛くないですか?

204:nobodyさん
07/05/14 22:38:44
>>200
それはむずかしい質問だ。pearは楽をするために使うものである。

>>201
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │ 
    |:|: ..   :||    .. |:|  │ 
    :|: ..   ||    ..|| <  日本語でおk 
     :\ [_ ̄] /::|   │ 
::     |\|_|_|_|_/:::|    \________
   __| |   / / :|___

205:nobodyさん
07/05/14 22:44:07
>>202
別の問題では?

$nissuu = 0;
for ($i=0; $i<5; $i++) {
 if ($i == 3) {
  $nissuu = $i;
  break;
 }
}
print_r($nissuu); // 3

206:nobodyさん
07/05/14 22:44:42
>>202
ちゃんと抜ける
というか、そのスクリプト動かしてみた?

207:nobodyさん
07/05/14 23:14:34 tsqMY0Kq
すいません、2ちゃんに書き写したら動きましたw

208:nobodyさん
07/05/14 23:36:25
ないない

209:nobodyさん
07/05/14 23:48:47 dsmo737w
class x{

function a(){
echo "a";
}

function b(){
$this->a();
}

}

x::b();

こうすると
Using $this when not in object context
というエラーが返ってきました。

b()からa()を呼び出すのはどうすれば良いのでしょうか?

210:nobodyさん
07/05/14 23:53:26
publicつかえ

211:nobodyさん
07/05/14 23:55:11 dsmo737w
publicを使っても同じでした

$obj = new x();
$obj->b();

で解決しました

212:nobodyさん
07/05/15 00:14:53
インスタンス作れ、が正解

213:nobodyさん
07/05/15 00:15:31
>>211
a()メソッドにpublicつけてだめだったの?

214:nobodyさん
07/05/15 00:23:05
>>210,213
恥晒しだからやめてくれ。

public function b(){
self::a();
}

215:nobodyさん
07/05/15 00:25:49
なんだかねw

216:nobodyさん
07/05/15 00:28:01 b/094Ijk
.htaccessについての質問なんですが、

Order deny,allow
Deny from All

と記述しているのに、アクセスできてしまいます。

httpd.confも

AccessFileName .htaccess

と指定しています。

なぜでしょう?

217:nobodyさん
07/05/15 00:33:53 zmGOBMea
配列が空かどうかチェックする関数とか制御文てある?
empty($array)でいい?

218:nobodyさん
07/05/15 00:41:34
うん

219:nobodyさん
07/05/15 00:45:38
>>217
それだと$arrayが0や""や"0"やNULLの場合も真が返る。
$arrayが空の配列の時のみ真にしたいなら
$array === array()

220:nobodyさん
07/05/15 00:46:41 zmGOBMea
>>218
>>219
さすが下すれですね。どうもです。

221:nobodyさん
07/05/15 00:51:05
>$arrayが0や""や"0"やNULLの場合
これもPHP的に空であるのでemptyが正解

222:nobodyさん
07/05/15 00:54:17
( ´_ゝ`)

223:nobodyさん
07/05/15 01:05:17
>>216
http.confのディレクトリセクションのAllowoverrideディレクティブにLimitキーワードが指定されてるかどうか
確かめなさい。しかし、スレ違いだから返事はよろしい。


224:nobodyさん
07/05/15 01:06:52
>>219
正直勉強になった

225:nobodyさん
07/05/15 01:16:58
基礎ですよ^^;

226:187
07/05/15 01:27:16 VFvSiaRR
多くの方の意見を聞けて参考になりました
ありがとうございます

227:nobodyさん
07/05/15 08:22:03
    ____?
   ?/∵∴∵∴\?
  ?/∵∴∵∴∵∴\?
  /∵∴∴,(・)(・)∴|?
  |∵∵/  ?○ \|?
  |∵?/  三 | 三 |  / ̄ ̄ ̄ ̄ ̄?
  |∵?|   __|__? | < てめえらさっさと起きろ!!?
  ?\|   \_/ /  \_____?
 ? ? ?\____/?


228:nobodyさん
07/05/15 10:09:00 7hthTDm5
>>181
すいません、もう少し詳しく書きます。

アクセスしたファイル:index.php
index.php内でファイル名などを設定している。
(define("OUT", "out.html");)
index.phpが上のディレクトリにある、main.phpを呼び出す(require("../main.php");)。
main.phpから、同じディレクトリにあるwrite.phpを呼び出す。
main.phpから、write.phpにある、書き込み処理の関数を実行する。 write_hoge();

そうすると、index.phpがあるディレクトリにファイルができあがるんですが、
write.phpで、書き込み処理を行ってるので、write.phpがあるディレクトリにできあがると予想したんですが、
なぜ、こうなったんでしょうか?

write.phpにとってOUTとは、自分のディレクトリのout.htmlになりますよね?
それとも、書き込み処理をするファイルの位置は関係なく、定義したファイルの位置からのOUTと解釈されるんでしょうか?


229:nobodyさん
07/05/15 10:39:30
>>228
requireやincludeは指定したファイルの内容を
埋め込むものと考えればいい

その場合main.phpやwreite.phpの内容は
index.phpに「埋め込まれる」ので
OUTに書き込む場合の相対パスは
main.phpやwreite.phpのパスに影響されない

230:nobodyさん
07/05/15 10:48:11 8bGiD1y7
該当するスレッドが見あたらないため、こちらで質問することをお許しを。

WinにXAMPPをインストールしようと思っておりますが、
常時ネットにも接続するためセキュリティーが不安です。

標準のProgram Files\XAMPP か
C:XAMPP か
それとも他のドライブに入れた方が良いのですかね?

ファイアウォールと.htaccessで拒否すれば、そこまで深く考える必要はないのでしょうか?
みなさん、どうしてますか?

231:nobodyさん
07/05/15 10:57:53 sdtp9zq7
require/include/loadされて実行中のファイル位置を確保する
定数があればいいんだけどね。残念ながらない。

232:nobodyさん
07/05/15 11:05:21
>>230
ポート開放してなかったら問題なくね?

233:nobodyさん
07/05/15 11:10:09
>>229
わかりやすい解説ありがとうございました。

234:nobodyさん
07/05/15 11:32:57
DBからプライマリキーでselectするとき、
limit 0,1付けた方がいいですかね?
暗黙的に1つに限定されているから、パースのコストの方が高くつく?

235:nobodyさん
07/05/15 11:38:12
どちらも非常に微々たるもの
気にするな

236:nobodyさん
07/05/15 11:53:31 b/094Ijk
data.logというファイルがあり


[1] 適当なデータ
[2] わかんない><;
[3] 123456789
[4] ABCDEFG
[5] こんにちは
[6] example.com
[7] Hoge Hoge
[8] Hello world

こういうデータで、
特定の行のみ削除する方法はないでしょうか?

一度、fileで展開してその行を削除し、書き換えるようなやり方ではなく、
行を削除するだけというのはできませんか?

237:nobodyさん
07/05/15 11:55:33
>>236
出来なかったと思う。

238:nobodyさん
07/05/15 11:57:19 b/094Ijk
>>237
サンクス

239:nobodyさん
07/05/15 11:57:29
>>236
行の幅が固定長ならできるんだがな。
あとはfseekとかで、書き換える行以降のみを変更するってことならできなくもなさそうだ。

240:nobodyさん
07/05/15 12:30:07
fileでいいじゃん。
富豪プログラミングしようぜ。

241:nobodyさん
07/05/15 12:33:44
データベースを覚えるともう手放せません
プログラムがすごく簡単になりました
>>236とかdelete一発です

242:nobodyさん
07/05/15 12:36:05 i5vBSj25
むやみにDELETEするのはどうかとおもうがな
コスト的にもね

243:nobodyさん
07/05/15 12:36:24
sage忘れた

244:nobodyさん
07/05/15 12:37:47
消したい時にdeleteしないで何するんだよ

245:nobodyさん
07/05/15 12:44:13
DELETE以前に、フラグで処理するかどうか考えるもんだ普通は

246:nobodyさん
07/05/15 12:45:11
状態カラムでもつけて削除済みのフラグを立てておく。

247:nobodyさん
07/05/15 13:00:36
>>244

>>245-246が言いたい事言ってくれてるよ。
DELETEをする事によって起こるコストとバグあった時の危険度を考えると
DELETEをむやみに流すってのはどうかと思うんだ

248:nobodyさん
07/05/15 14:08:20 b/094Ijk
class&function管理したいのですが、
皆どんなソフトでやってます?

classとfunction増えすぎてファイルがわけわかんなくなってきたwww

249:nobodyさん
07/05/15 14:23:21
普段はEclipseだけど、客観化するにはphpdocでdocument作るよ

250:nobodyさん
07/05/15 14:25:33 b/094Ijk
>>249
サンクス

とりあえずPHPエディタをダウソしてみたところ、
クラスやfunctionが管理できそうなので、
これを使ってみようと思います。
(各クラス、functionにコメントをつけることができればベストなんですが・・・)

251:nobodyさん
07/05/15 14:26:43
俺はIDEの類は使わずにとことんやってるぜい。
そうすると、わかんなくならないようにするために、設計に力が入るようになる。

252:nobodyさん
07/05/15 14:55:09
>>248
クラス図でも描いておけば

253:nobodyさん
07/05/15 14:58:04 b/094Ijk
>>252
とりあえず

class XXX {
/****************

説明

****************/

}

こんな感じでは書いてる

エディタの左にクラスとメソッドがツリー式に表示されてるんだが、
それにカーソル合わせると、その説明が出るとかだとうれしいなwwww

254:nobodyさん
07/05/15 15:12:55
>>248
ctags使えばエディタによっては一発ジャンプしてくれる

255:虚弱PHP
07/05/15 16:03:06
>>253
アウトラインの見出し定義を編集できるようなエディタなら、
似たようなことは出来るよ。

256:nobodyさん
07/05/15 16:17:09 7hthTDm5
magic_quot_gpc以外で自動的にエスケープする設定ってありますか?
何もしてないのに、<や>がエスケープされる・・・。なぜ?

257:nobodyさん
07/05/15 16:22:05
<>とマジック・クオートは全然関係ないだろ。勘違い

258:nobodyさん
07/05/15 16:37:28 6TG+QTaB
eregi()を使ってフォームで入力された単語の中で半角記号がある場合
はじくスクリプトを書いてるのですが$をはじく
if(eregi("$",$keyword)){
return false;
}else{
return true;
}
と\をはじく
if(eregi("\\",$keyword)){
return false;
}else{
return true;
}
だけが正しく機能してくれません。

正規表現などでググったのですが、これらを認識させる方法を
明記されてるところが無くほとほと困ってます。

osはfreeBSD、phpのバージョンは4.4.6です(レンタルサーバ)

259:nobodyさん
07/05/15 16:53:49
>>258
マルチすんじゃねえボケ。あっちで答えたから見ておけ

260:nobodyさん
07/05/15 16:54:35
$はエスケープしろ。
エスケープ特殊文字であるバックスラッシュは、エスケープのエスケープしろ。
\\\\じゃないとなぜ駄目なのかを考えてみよう。

なお「半角文字」なんていう言葉は変だから使うの辞めようね。

261:nobodyさん
07/05/15 16:58:51
>>259
別にマルチじゃねーだろが。ぼけ。こっちが本スレだから書き直しただけだろ。

262:nobodyさん
07/05/15 17:01:05
>>261
向こうに書いてこっちに書き直すなら
向こうにそう言ってからこっちに書かないとマルチ

263:258
07/05/15 17:22:25 6TG+QTaB
すいません、一度このスレに書いた後でレスが反映されなかったので
落ちてるのかと思い、再度「php 質問」で2ch内検索しなおして出てきた
あちらのスレに書きなおしたつもりだったのですがマルチになってたようですね。

ちなみに>>261は赤の他人です、気分を悪くする流れにしてしまい申し訳ありませんでした。

>>260 \$で試してみたところ、やはりうまくいきませんでした。
ちなみに、$が入っていようが無かろうが
if(eregi("\$",$keyword)){
return false;
}
のところで必ず引っかかりfalseを返してしまうようです。


264:nobodyさん
07/05/15 17:23:27
>>263
\\を\\\\にしないといけないってことは
\$なら\\$にしないといけないよね

265:nobodyさん
07/05/15 17:26:27
if(eregi("\\$",$keyword)){
return false;
}

メタ文字エスケープする時に\$とか\\とかじゃだめだってばさ。

266:nobodyさん
07/05/15 17:31:26
いろいろ試してみたり \\\\ について理解を深めるのは良いことだと思うんだけど
要件的に正規表現を使わなくてもよさそうな気がする。

267:nobodyさん
07/05/15 17:31:34 6TG+QTaB
>>264
今試してみたところうまくいきました。

\\\\じゃ無いとダメなのかはもう少し詳しく調べてみようと思います。
くだらない質問を光の速さで回答していただきありがとうございました。

あと、半角文字という言葉の使用は以後注意して使わないようにもします。
ありがとうございました。

268:258
07/05/15 17:35:25 6TG+QTaB
>>267 の名前欄にレス番号記入するのを忘れていました。
色々ミスってスイマセンでした、訂正しておきます。

>>266 ほかにも色々ある正規表現のテストと
ゆくゆくは[a-z]なども使う事があるかと思い
試している途中で詰まった事なのです。

269:nobodyさん
07/05/15 18:14:44
return strpos($keyword,'\\') === false ? true : false;

270:nobodyさん
07/05/15 18:15:41
まあそれが美しいよね

271:258
07/05/15 18:32:31 AwqtLTCz
>>269 あまりにも美しすぎて、もう少し勉強しないと
なにがどう書かれているのか理解する事もできませんでした。

PHPも中々置くが深いんですね、>>269が理解できるよう
さらに深く学んで生きたいと思います。ありがとうございます。

272:nobodyさん
07/05/15 18:42:17
何でもかんでも一行で書けばいいってもんじゃない。


273:nobodyさん
07/05/15 18:56:42
なんで回答後ってこういう慇懃無礼とも思える気持ち悪い表現が多いんだろう

274:nobodyさん
07/05/15 19:00:24
あんたなんでもかんでも肯定されないといやなんですか?
だったらやめたほうがいいよ

275:nobodyさん
07/05/15 19:37:30
確かに現役PGの視点からいえば、
可読性がない自己満足な書き方をするのは誉められたものじゃない。

276:nobodyさん
07/05/15 19:54:26
それは正論だが、論理値リテラルを返すだけの三項演算子で可読性云々言い出す奴はいわゆるキチガイ。

277:nobodyさん
07/05/15 20:49:07 Fy2AtB8k
再利用可能にするために気をつけてることってありますか?

278:nobodyさん
07/05/15 21:28:28
PHP以外の言語をたくさん学ぶこと。

279:nobodyさん
07/05/15 21:52:35
>>276
だと俺も思う。
一行プログラムがポイントではなくて、
strposの返り値を理解して、三項演算子でFALSEチェックするというのは正統派じゃん。

280:nobodyさん
07/05/15 22:04:24
三項演算子使う奴は趣味だろ、わるかったね仕事で使わないもので

281:nobodyさん
07/05/15 22:06:33 FHaxfx0y
dbのコネクションや問い合わせ結果等のリソースは、
変数間でコピーしても必ず参照としてコピーされますか?
丸々コピーされてメモリ大量消費されたりしませんか?

282:nobodyさん
07/05/15 22:10:02
>>280
まあお好みだけど、そのヒネクレ口調だけはやめたほうがいいな。
仕事で嫌われるよ。能力ないのに嫌われたら困るだろお前も

283:nobodyさん
07/05/15 22:26:46
>>281
DBコネクションのリソースってそんなに多大な情報持ってんのか?

284:nobodyさん
07/05/15 22:38:40 UJ71PYY7
>>281
ほとんどの場合は接続IDだからコピーされても
無視できるだろう

ただし、pear::DB とか PDO のインターフェースは
結構でかい


285:nobodyさん
07/05/15 22:40:43
>>281
普通にやれば、丸々コピーだろ
sqlの実行結果なんかは、状況によってはボトルネックに
なるかもね


286:nobodyさん
07/05/15 22:43:22
>>284>>285で議論を戦わせてください。他の人は口出ししないで><

287:nobodyさん
07/05/15 22:47:12
たんじぇんと、こさいん、氏ね>>286

288:nobodyさん
07/05/15 22:52:10 GtGfJ8qN
DBから出勤時間と退勤時間を出して勤務時間をはじきたいですが、
さくっとかっこいいやり方ってありますか?


289:nobodyさん
07/05/15 22:56:21
退勤時間 - 出勤時間

290:nobodyさん
07/05/15 23:00:29
>>288
select name,phone from shain where shain_id = 'foo';
call phone;
get appointment;

if(define('appointment') && appointment == TRUE )
{
return 'SUCCESS';
} else {
return FALSE;
}

291:nobodyさん
07/05/16 00:39:57
>>289
休み時間は?
仮に休み時間が1時間としても、
退出時間-出勤時間-1
としてはいけない。半休とか使う場合があるからだ。
だから単純な方法は無い。

292:nobodyさん
07/05/16 00:53:26
退勤時間 - 出勤時間(if 休憩がXXだったら~~~)



293:nobodyさん
07/05/16 01:06:54
>>280
世界中の職場が三項演算子を禁止してるとでも?
うちで禁止するのは新人と糞派遣に投げる時ぐらいだな。

294:nobodyさん
07/05/16 01:12:08
>>291
じゃその就業規則をルール化しろよ

295:nobodyさん
07/05/16 01:16:31
プライド高いだけの奴が沸いてきた

296:nobodyさん
07/05/16 01:17:33
プライド高い「だけ」の奴ね
          ^^^^^^^^

297:nobodyさん
07/05/16 01:28:05 PGjb3KVb
すいません、登録制のサイトで登録者の情報を管理者と登録者本人だけに表示を許可したい場合はどうすれば良いんでしょうか?
(管理者以外の他の登録者からは見えないようにしたい)
ちなみに、管理者を$site_admin、 登録者本人を$user_owninfoとして、
管理者のみだと、
<{if $site_admin == true}>
中身
<{/if}>
で上手く行くんですが、そこに登録者本人をプラスして、
<{if $site_admin == true && $user_owninfo == true}>
中身 
<{/if}>
としてみると結局$site_admin == trueの部分しか機能していません。
どうかお知恵をお貸しください。

298:nobodyさん
07/05/16 01:29:45
Smarty使う前にandとorくらい知っておいたほうがいいんじゃないかね

299:nobodyさん
07/05/16 01:30:02
IDかPASS制だったらDBでIDとPASS検索して一致しなければLocationで飛ばせばいいんじゃね?

300:nobodyさん
07/05/16 02:12:16
もうBasic認証でいいじゃん、pearの認証つかえばいいじゃん

301:nobodyさん
07/05/16 02:33:19 ceM6XUKn
オリジナルのclassを集めたやつ「class.inc」を暗号化した場合、
読み込むときに複合化しなきゃダメなのかな?

知り合いに自分の作ったやつあげるときに、そのclass.incの中身見られたくないのよ

302:297
07/05/16 02:33:43 PGjb3KVb
&&じゃなくて||でしたね。
単純な間違いでした。
お騒がせしました。

303:nobodyさん
07/05/16 02:34:46 QKxTyLUD
質問です。
mysqliの関数を実行する時に、
prepareステートメントとか bind_param()とか execute()を使う場合と
使わない場合で、どのような違いがあるんですか?
こんな場合は使ったほうがいい、ってのありますか?
参考にしている本を見ると、リストDBに「人名」「自己紹介」「HPのurl」を
追加するのに使っていますが、この程度なら普通にやっても同じでは?
という気がします

304:nobodyさん
07/05/16 02:40:07
>>301
PHPスクリプトを暗号化するソフトなら安いので1万円出してお釣がきますので探してください。
あとは高いのでZendにもでてますよ

305:nobodyさん
07/05/16 02:42:10 ceM6XUKn
>>304
サンクス
無料で何かあるかと思ってた俺哀れorz

PHPって実行時にコンパイルするけど、
あらかじめコンパイルしておけば実行するとき早くね?wwwww

306:nobodyさん
07/05/16 02:47:49
何秒くらい?

307:nobodyさん
07/05/16 02:49:27 ceM6XUKn
>>306
いや、そっちのほうが早いかなって思っただけ

308:nobodyさん
07/05/16 02:51:22
>>303
端的に言えば異なるパラメータを用いて複数回実行するようなSQL文で使うとパフォーマンスがあがるってところかな。(キャッシュが働く
あとはパラメータの自動クォートでユーザー入力からのSQLインジェクション対策とか。
具体的にはID指定して何度もSELECTする様なのとか、ユーザー入力を条件に使うSELECTとか、INSERT全般とか。

309:nobodyさん
07/05/16 03:04:26
>>305
コンパイラによる。おれデメリットの方がイヤだから使ってないけど

310:nobodyさん
07/05/16 03:26:08
>>308
ありがとうございます
アドバイスを読んでると、かなりありがたい機能ですね
じゃ、もうprepareステートメントを使うやり方を徹底しても問題ないですかね。
普通のやり方のほうがかえって好都合ってのはないですよね?

311:nobodyさん
07/05/16 03:33:40
そんなに使いたきゃ使えよ

312:nobodyさん
07/05/16 03:41:22
>>310
使わなくてもいいとこでも使うと無駄にステートメントを保持することになる、かな…。

313:nobodyさん
07/05/16 04:16:02
$calc = 1.23456789 * 9.87654321;
for ($i = 1; $i <= 100; $i++) {
echo $calc;
}

こうやった場合って、100回計算が実行されるのか、
すでに計算が終わったものを100回出力しているのか、
どちらなのでしょうか?

314:nobodyさん
07/05/16 04:17:25
ほへ?

315:313
07/05/16 04:19:56 9TTx9/gy
すみません。age忘れました。

316:nobodyさん
07/05/16 04:22:59
>>315
ふほ?
URLリンク(www.php.net)

317:nobodyさん
07/05/16 04:23:42
百回、変数に入った値が出力されるだけ

318:nobodyさん
07/05/16 04:26:26
php4とphp5のクラスの参照渡しをあいまいに頭にいれてるからこんな質問したくなったんだろ

319:313
07/05/16 04:27:47 9TTx9/gy
>>314 >>316
すみません。日本語がおかしかったです・・・

>>317
どうもエスパーな質問にお答えいただきありがとうございます。
ということは100回計算してベンチをとるといったことをするには、
別の書き方をしないとならないわけですね。

320:nobodyさん
07/05/16 04:32:04
>>319
forの中で計算させるだけじゃ?
つかリンク先読めよ。まずそこから必要だ。


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