【PHP】下らねぇ質問はここに書き込みやがれ 46 at PHP
[2ch|▼Menu]
1:nobodyさん
07/05/12 16:43:57
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
スレリンク(php板)

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

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

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

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

2: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
@メールのタイトルを取得する方法
Aメールアドレスが偽装されている部分はどうなるの?

です

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がクオートで囲まれていなかったのが原因、というオチでした。
(・∀・)アリガd

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
サンクス!


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

5366日前に更新/79 KB
担当:undef