トップページphp
732コメント231KB

【PHP】質問スレッド Part9

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/07/12 03:18ID:???
■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ及び注意事項等は、 >>2-3ぐらい
018017803/07/22 16:58ID:EYE9sStd
しっかしそんな文法違反をしたままリリースするとは思えないんだけどなぁ。
018116003/07/22 17:08ID:HzWI6izp
>>174
HOSTつけました。
うまくいかないというのは、
ページ自体なにも表示されないんです。

018216303/07/22 17:09ID:655YiDdZ
>>178 >>179 >>180 ありがとうございます。
php-4.* では普通に動いたからphp-5.oo の弊害じゃないかと思ってるんですが。。
018316003/07/22 17:10ID:???
ところで、2chのhtml化された過去ログを
取得しようとしているのですが、
たまに、rangeが効かないサーバーがありますね・・・(ton.2ch.netとか)
拡張子がhtmlでもじつはcgiでうごいてるんですかね・・・
018403/07/22 17:10ID:3VhQ/RK3
WEB制作のSOHOをしらべたいのですが情報願います
0185iwa03/07/22 17:28ID:6je4sq13
>>178
php5/Zend/zend.hでは
struct _zend_class_entry {
    :
   int refcount;
    :
}

php4/Zend/zend.hでは
struct _zend_class_entry {
    :
   int *refcount;
    :
}

ほかにも構造体の中身が変わってるので
動かなくてあたりまえ。
INSTALLを見ても4.2.2 - 4.3.2までしか動作確認はとってないとある
4.3.3RC2では動きましたけどね。
018617803/07/22 17:33ID:EYE9sStd
>>185
ああやっぱりそういうことなんだ。
バージョンによって結果が変わるというからなんとなくそういうことだと思ったけど。
018716303/07/22 20:15ID:655YiDdZ
>>185
調べてくれてありがとう。
改造するモチベーションが少し起こりましたが
ちょこちょこっと変えてみて次から次へとエラー増殖し始めたので
萎えました^^
0188あぼーんNGNG
あぼーん
0189nobodyさん03/07/22 21:41ID:5BdtVqsf
PHP4、Windows2000Server、SJIS環境なのですが、
文字列 "機能" を含むソースを実行すると、
‘能’の2バイト目が'\'に該当するようで、
‘能’の後ろのダブルクォートが文字列終端とみなされずコンパイルエラー
になるのですが、
PHPってマルチバイト文字列扱う時に設定とか必要なんでしょうか?
0190nobodyさん03/07/22 21:45ID:???
>>189
はい、いいえ。
0191nobodyさん03/07/23 02:17ID:???
>>189
EUCがUTFにしたら?
SJISは何かとめんどくさいのでやめ説いた方が
0192nobodyさん03/07/23 11:32ID:j6os713+
セッションについて教えてください
以下のソースでカウントが上がらないのですが
どうしてなんでしょうか?

<?
session_start();
if (!isset($count)) $count=0;
session_register("count");
$count++;
?>

<html>
<body>
あなたは <?= $count ?> 回目の訪問です。
<a href=test1.php>カウントを増やす</a>
</body>
</html>
0193nobodyさん03/07/23 12:35ID:???
>>192
PHPのバージョンは?

まぁ$countを$_SESSION["count"]にすりゃいいわけだが。
019419203/07/23 13:05ID:j6os713+
>>193 4.3.1です。
0195あぼーんNGNG
あぼーん
0196あぼーんNGNG
あぼーん
019719203/07/23 13:22ID:j6os713+
うーん、変わらない訳だがどうすれば・・
0198nobodyさん03/07/23 14:05ID:???
>>197
save_pathは?
0199nobodyさん03/07/23 14:14ID:???
質問させてもらいます。
先ほどクラスについてを一通りのことを勉強したのですが、
クラスを使う利点がよくわかりません。
関数だけで十分な気がするのです。
処理が速くなるとか、何か良いことあるのでしょうか?
0200nobodyさん03/07/23 15:25ID:???
>>199
PHPは構造体がないからその代わりにつかうだけでも便利。
ネームスペースが破綻しにくいし>特にセッション変数
とか。

一般的なクラスの利点はPHPに限ることじゃないので
他で調べるほうがいいとおもう。
0201nobodyさん03/07/23 15:47ID:???
複雑なソースを書くときや
複数人でソースを書くときなんか
クラスを使うとわかりやすいという
ことだけです。

「わかりやすい」
この一言に尽きます。
020219203/07/23 16:20ID:j6os713+
>>198 C:\PHP\sessiondata となっています。OSはWinXPです。

それと別件なんですが$_SESSION['test']みたいな感じでセッションを
使うことができたんですが
セッション情報をURL(SID)につけてSQLでデータの削除や閲覧ページなど
動作させると削除はきちんとできているんですが画面には削除したはずの情報が
そのまま残っているんです。ちょっとわかりづらいでしょうがなにが原因なんでしょうか?
0203あぼーんNGNG
あぼーん
020419203/07/23 16:31ID:j6os713+
どうもキャッシュが関係しているんでしょうか?
0205nobodyさん03/07/23 16:55ID:???
>>192
register_globals=offだからだけど、
onにするのは望ましくないので$_SESSION使うのがいいとおもう。
http://www.php.net/manual/ja/ref.session.php

>>202
Cookieは使えないんですよね?
動的ページでもURLが同じだとキャッシュされやすいので
a. ページの移動にGETでなくPOSTを使う
b. URLの末尾にダミーのユニークなパラメータを付加する
のどっちかで回避できるかな。
020619203/07/23 20:09ID:j6os713+
>>205
なるほど、そういう手があるんですね。
どうもありがとうございました^^
0207nobodyさん03/07/23 20:22ID:???
REMOTE_ADDRを取得したい時に2通りの方法があることが
分かったのですが、これらはどのように違うのでしょうか?

$_SERVER[REMOTE_ADDR]
getenv( 'REMOTE_ADDR' )
0208nobodyさん03/07/23 22:50ID:???
>>207
変数か関数かの違いだろ。見たら分かる。






・・・そうじゃなくて?
俺いじわるだから答えてあげないよ〜
0209nobodyさん03/07/23 22:58ID:???
>>208
解らないと行った方が潔い。
0210nobodyさん03/07/24 00:46ID:???
>>207
PHP使ったことないから「$_SERVER」って変数がよくわからないけど
Perlの$ENVと同じなのであれば、中身は一緒だね
好きなほうを選ぶがよい
0211nobodyさん03/07/24 19:28ID:3Ff6tsfH
いきなりの質問ですみません。
RedHatLinux8.0でメールボックスにメールを受信した時に
PHPスクリプトを呼び出して処理を行った後返信をしたいのですが、
メールが届く度に、PHPスクリプトを呼び出すメールサーバ側の設定がわかりません。
どのようにすればいいでしょうか?
PHPはphp 4.3.2をimap関数付きでconfigureしてます。
sendmail 8.12.5
popt 1.7.1
板違いかもしれませんがよろしくお願いします。
0212あぼーんNGNG
あぼーん
0213あぼーんNGNG
あぼーん
0214あぼーんNGNG
あぼーん
0215nobodyさん03/07/24 20:39ID:???
>>211
forward
0216nobodyさん03/07/25 02:34ID:???
質問お許しください。
http://www.pat.hi-ho.ne.jp/dimension/sample/sample_xml_dom.4.3.0.basic.shtml
でxml文章を作成しているのですが、日本語を使うと実体参照で
表現されてしまいます。mbstring等の設定で直せるのでしょうか?
0217nobodyさん03/07/25 02:36ID:???
printで出力するときに、勝手にJavaScriptのようなものが
HTMLの最上段と最下段に追加されるのですが、
これは一体何なのでしょうか?

また、includeでHTMLファイルを取り込んだ際にも、
アンカータグに勝手にtarget="_top"を追加されてしまいます。
どなたか原因がわかる方はいらっしゃいませんでしょうか?
0218nobodyさん03/07/25 02:39ID:???
>>211 procmailで調べるといいかと。
0219nobodyさん03/07/25 04:41ID:???
PHPでWord文書を生成したいのですが,できますか?
0220nobodyさん03/07/25 06:50ID:???
>>217
クライアント側でProxomitronとか使ってない?
他の端末で確認してみるべし。
0221nobodyさん03/07/25 14:49ID:n0rGriHy
>>218
ありがとうございます。procmailで調べてみます!!
0222あぼーんNGNG
あぼーん
0223あぼーんNGNG
あぼーん
0224あぼーんNGNG
あぼーん
0225nobodyさん03/07/25 18:39ID:???
$a1 $a2 $a3 $a4 $a5 $a6 $a7 これを比較して、1つでも
違うものがあったらエラーにしたいのですが
if($a1 == $a2)と1つずつチェックするしかないでしょうか?
一度に比較するのは無理ですか?
0226nobodyさん03/07/25 19:13ID:5Frmg0qV
>>225
最初から配列にしときゃ楽なのに

for ($i = 1; $i < 8; ++$i) {
 $val = "a$i";
 $a[$i] = $$val;
}

if (count(array_unique($a)) == 1) {
 echo "Equal.\n";
} else {
 echo "Different.\n";
}
0227221(225)03/07/25 19:53ID:???
>>222
配列にしてうまくいきました。
ありがとうございました。
0228nobodyさん03/07/25 23:55ID:???
>>227
なにコピペにレスしてんだ
0229nobodyさん03/07/26 00:11ID:???
pu
0230nobodyさん03/07/26 01:51ID:???
zlib関数についてですが
これは、gzfopenを使ってファイルを開いたときに、
そのファイル全部が解凍されてしまうのでしょうか?
それともgzfgets等を使って読み込むときに逐一
解凍されるのでしょうか?
インターネット上にあるファイルを扱うため
ダウンロード時間を節約したいと思っています。
よろしくおねがいします。
0231nobodyさん03/07/26 01:52ID:???
× gzfgets
○ gzgets
0232nobodyさん03/07/26 03:07ID:???
>>220
別の端末(というか本稼動用マシン)で試したら無事上手くいきました。
ずーっとPHPのデバッグモードか何かが変更してるのかと思ってました。
ありがとうございました。
0233nobodyさん03/07/27 00:47ID:npgEG66c
おいおいPHPってgotoもラベルも無いのかよ〜。
深いネストからの脱出とかめんどくせぇな〜。
0234nobodyさん03/07/27 00:49ID:???
gotoだって。(w
0235nobodyさん03/07/27 01:01ID:???
>>233-234
自作自演ご苦労
0236nobodyさん03/07/27 01:32ID:???
>>233 = >>235 だって。(w
0237あぼーんNGNG
あぼーん
0238nobodyさん03/07/27 02:03ID:???
>>233
おいおいPHPじゃsatoを使うんだぜ。この厨房
0239nobodyさん03/07/27 02:06ID:???
甘い。(w
0240nobodyさん03/07/27 03:45ID:???
>>233
スパゲッティ,食べる?
024124103/07/27 13:14ID:dJWoBMBZ
置換についてです。
$a内の『7月27日』を『7/27』に換えたいんですが、

$data =~ s/7月27日/7/27/g;

と、すると区切りのスラッシュがダブってしまいますよね。
こんなときの対処方法がご存知でしたら、
御教授お願い致します。
0242nobodyさん03/07/27 13:16ID:59cmaD5D
>>241
$data =~ s/7月27日/7\/27/g;
024324103/07/27 13:56ID:dJWoBMBZ
>>242
うまくいきませんでした。。。
0244nobodyさん03/07/27 14:17ID:???
> $data =~ s/ 〜
これはPHPの書式じゃない。
正規表現スレにもマルチしているみたいだが、PHPだとちゃんと伝えておいたほうがいいぞ。
0245板違いですかね?03/07/27 14:48ID:xxX8c2Bz
掲示板のパスワードやぶられました
しかもパスワード変えられちゃって、どうしようもない状態ですTT
常連さんの話によると、ブルートフォースアタッカーが関係しているようで、なにやら言っていました
何ですかそれ?検索してみても、POPとかFTPとかのパスワード破るのはあったんですけど、
それで破られたとは考えにくいです。
フロームのパスワードを破る奴なんて存在するんですか?
0246nobodyさん03/07/27 14:50ID:???
自分で設置した掲示板なの?
024724503/07/27 14:51ID:xxX8c2Bz
いいえレンタルです。。
024824103/07/27 15:08ID:dJWoBMBZ
>>244
誤爆スマソ
0249nobodyさん03/07/27 15:11ID:???
簡単なパスワードだと破られるよ。
英数字36文字(a-z,0-9)でパスワードを設定したとすると、
平均試行回数 = (36^n)/2 = (36*36*...*36)/2 回で破られることになる。
4文字だと、(36*36*36*36)/2 = 839808 回ってところか。
1秒に一回試行するとして、約233時間 ≒ 10日。
... 結構かかるんだな。。。

レンタル掲示板なら管理者の人に連絡して対処してもらうべし。
フロームのパスワードって何なんだろう?PHPとどんな関係があるんだろう。わけわか。
0250nobodyさん03/07/27 15:19ID:???
PHP はメーリングリストも質問版も、知識のある奇特なヤシが色んな質問に答えまくる、初心者様に貢献する奴隷板になりますた。
0251nobodyさん03/07/27 15:27ID:???
>>249
多分、管理モードに入るためのフォームのパスワード、と言いたいのでは無いだろうか。まさかgetじゃ…

>>245
パスワードは英大小文字数字記号全て混在させて10文字以上が割に安心。


でも何でここなの? 漏れも奴隷ですか?
0252nobodyさん03/07/27 17:50ID:???
素直に提供元に連絡しろと。

後、内部犯の可能性も高いので敵を作らんような性格になれるよう努力しろ。
0253nobodyさん03/07/27 20:47ID:D+yphSrQ
PHP4.2+PostgreSQL7.3で、
ラージオブジェクトの格納、引出(表示)、削除、などのやり方について
詳しいサイトあったら教えて下さい。

自分なりに探したのは、
ttp://homepage2.nifty.com/~chairo/html/installation/webapp/webapp.html

ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/2287/doc/funto13.html
↑ここくらいですが、削除のやり方とかのってないす。

※別スレにも書いたのですが、反応が無くて。。。
 重複すいません
PHP + PostgreSQL
http://pc2.2ch.net/test/read.cgi/php/983128806/
0254nobodyさん03/07/27 20:56ID:???
削除はごく基本的な機能です。
一冊本買った方がいいかと。
0255あぼーんNGNG
あぼーん
025625303/07/28 00:08ID:pa0vp2x9
>>254
一般本は、3,4冊持っているのですが、
ラージオブジェクトの削除は特殊らしくて。。。

それを解説しているような本も見つからなくて。。。
0257nobodyさん03/07/28 00:14ID:???
pg_lo_unlink
これちがうんか?
0258nobodyさん03/07/28 01:50ID:???
gotoもラベルもないPHPってホント終わってるね。
gotoを否定する馬鹿はプログラム組まなくていいよ。
深いネストからの一発脱出はgotoが無いとめんどくさくてしょうがない。
gotoなくすならPerlのbreak ラベルのように代替策を提示しろよな。
0259nobodyさん03/07/28 01:58ID:???
>>258
いや、そんなのなくてもプログラム書けるから。
もちろん見難くしないでね。
0260nobodyさん03/07/28 02:09ID:???
>>259
ほう〜。
じゃあ以下の例(gotoは使えないけど仮に使ってる)を
ラベル使わずにエレガントに書いて見てよ。

for($i=0;$i<10;$i++)
{
  for($j=0;$j<10;$j++)
  {
    if(条件)
      goto LABEL;
  }
}

LABEL:
0261nobodyさん03/07/28 02:10ID:???
釣りネタ・煽りネタとしてgotoを持ってくるのは適切だと思うが、goto信者というのはやり過ぎ。
さすがにそんな椰子が実在するとは思えない。
0262nobodyさん03/07/28 02:12ID:???
while使えばいいじゃん。
0263nobodyさん03/07/28 02:13ID:???
勝手にgoto信者にすんなよ。
gotoは使いどころを分かってるなら有効な命令なんだよ。
盲目的にgoto嫌ってる阿呆は意味も分からずに
遠回りして汚いコードを書き散らす。
0264nobodyさん03/07/28 02:16ID:???
>while使えばいいじゃん。
えっ何?それが答え?
どこぞの香具師の受け売りで盲目的にgoto嫌って
直感的じゃないソースを書く奴はただの能無しだからさ。
もう偉そうに回答しなくていいや。
あーあっと。
0265nobodyさん03/07/28 02:18ID:???
gotoの例文以外に>>260みたいなコードに遭遇したことないし
0266nobodyさん03/07/28 02:21ID:???
信者さん江
http://jp2.php.net/manual/ja/html/control-structures.break.html
0267nobodyさん03/07/28 02:25ID:Og/nq0Tf
for($i=0;$i<10;$i++)
{
  for($j=0;$j<10;$j++)
  {
    if(条件)
      break 2;
  }
}
0268nobodyさん03/07/28 02:29ID:???
素直に
「gotoが無くて困ってます。助けて下さい」
って書けないのはなんでだろ〜
0269nobodyさん03/07/28 02:48ID:GMEyhxNP
functionの呼び出し元のスクリプト名(又はclass名)と行番号を取得する事は出来ますか?
複数の場所で使用している関数でエラーが起きた時に
どのパターンの時にエラーが起きているか分かりにくくて困っています(T.T)
全て行数をくっつけて送るしかないのでしょうか?
0270nobodyさん03/07/28 03:14ID:???
gotoバカ、ありゃ基地外だな。
0271nobodyさん03/07/28 04:26ID:???
矢野先生ー
0272nobodyさん03/07/28 06:21ID:???
後藤さん人気ですな
0273nobodyさん03/07/28 06:40ID:???
gotoとか言ってる奴は高校でBASICを習いました

10 print "goto無いの?"
20 goto 10
0274nobodyさん03/07/28 12:22ID:???
goto hell
0275nobodyさん03/07/28 13:06ID:???
ネトゲ速報板のとあるスレで、1001ストッパーが壊れ
1001以降もまだ書き込みできている模様。

1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1006 名前: マロン名無しさん 投稿日: 03/07/28 06:42 ID:Z0CeMHS7
何これ 

1014 名前: マロン名無しさん 投稿日: 03/07/28 06:42 ID:AxlwdY4A
お〜い、まだ書けるぞ?

書き込みは1300レスを過ぎた今も続けられている。
http://live4.2ch.net/test/read.cgi/mmonews/1059166935/
0276nobodyさん03/07/28 15:27ID:???
はじめて知った>break ネスト数
でも例外用の構文がないのでgotoあってもいいとおもう。
do/break/while(0)でもいいけど。
0277nobodyさん03/07/28 18:50ID:???
control-structures.break.phpでも読めよ
0278nobodyさん03/07/28 18:56ID:???
hoge.php の1行目に
<?xml version="1.0" encoding="EUC_JP"?>
と記述すると
Parse error: parse error in /home/httpd/hoge.php on line 1
というエラーが発生します。
xhtmlとphpを共存させるにはどうしたらいいんですか?
0279nobodyさん03/07/28 18:59ID:???
>>278
普通にechoする
■ このスレッドは過去ログ倉庫に格納されています