【PHP】質問スレッド Part4

このエントリーをはてなブックマークに追加
1nobodyさん
レスは気長に待つのが良い感じかも。


<<参考>>

■本家
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を見よう。
2nobodyさん:02/06/02 15:33 ID:???
3追加:02/06/02 15:47 ID:???
■PHP 関連の書籍 (但し PHP 出版系お断り)
http://pc.2ch.net/test/read.cgi/php/985315574/l50

■PHP アップグレード報告スレッド
http://pc.2ch.net/test/read.cgi/php/987259309/l50
4nobodyさん:02/06/02 16:24 ID:UOUxnd1Q
※注意
4.2.0以降はデフォルトでregister_globalsがoffになっています。
POST, GET等で渡される値には
グローバル連想配列
$HTTP_ENV_VARS
$HTTP_GET_VARS
$HTTP_POST_VARS
$HTTP_COOKIE_VARS
$HTTP_SERVER_VARS
でアクセスしてください。

つーか、マニュアルとか読んでください。おながいします。

5名無しさん:02/06/02 17:27 ID:tBlpLEc9
※注意2

header()でcontent-typeを出力すると、mb_output_handlerが無効になります。
ini_set('default_mimetype', 'text/html');
とすることで回避できます。
6前スレ996:02/06/03 03:12 ID:???
>ディレクトリの中のファイルを番号が若い順に並べたいの。
>更新時間はバラバラなので、ファイル名だけ配列に入れてrsortしようと思うんだけど、
>readdirってちゃんとファイル名順に読み込んでいくの?

自己レス。結局ソートするんだから、ファイル名の読み込み順なんて関係ないね。
恥ずかしー。逝ってくる。

>あと、ディレクトリの中のファイルで一番番号が若いファイル名を取得したいんだけど、
>それも上のように一度配列に読み込まないとだめかな。

こっちは相変わらずわからん。アドバイスプリーズ。
7halc:02/06/03 08:06 ID:???
>>6
前者のソース一部変えてこんな感じだと思います。
# 0というdirは想定しないとする

while ($file = readdir($dir)) {
if(! isdir($file)) continue;
if(! ereg('^[0-9]+$', $file)) continue;

if( $num_max > $file ) $num_max = $file;
}

print $num_max;
8halc:02/06/03 08:11 ID:???
>>6
あ、「一番番号が若いファイル名」だった、勘違いめんご。
しかもis_dirの間違いだし…

while ($file = readdir($dir)) {
if(! is_file($file)) continue;

if( strnatcmp($num_max,$file) < 0 ) $num_max = $file;
}

print $num_max;

辞書順比較ってのはこれ使います。perlだとcmpだったかな?
http://www.php.net/manual/ja/function.strnatcmp.php
9nobodyさん:02/06/03 11:07 ID:???
少々お聞きしたいのですが。
sessionを使っていて既にsession_registerしてある $hoge=3 というデータ
があるとしてあとから $hoge の内容を変えることってできるんですか?
いろいろやってるんですがどうもうまくいかないのでなにかヒントでも結構
ですのでご指導ください。

PHP4.1.12です。
10nobodyさん:02/06/03 11:21 ID:21jPjT5l
sessionで保存するクッキーの名前って変えられるんでしょうか?
11名無しさん@Emacs:02/06/03 12:48 ID:3U+9Jvdz
test
12RASCAL:02/06/03 23:18 ID:Ty02FZkQ
はじめまして、PHP初心者のものです。
只今、ファイルのアップロードを試みてるのですが、

Fatal error: Failed opening required 'jcode.phps'
(include_path='.:/usr/local/lib/php')
in /home/design/public_html/doc2/upload.php on line 12
とでてしまいます。
<table border="1" width="350">
<tr>
<th>FILE NAME</th><th>SIZE</th><th>MIME TYPE</th>
</tr>
<?php
require_once("jcode.phps"); //この部分が12行目に当たる部分です。
$num=0;
for($i=0; $i<sizeof($fl); $i++){
if($fl[$i]=="none"){
continue;
}
if(file_exists("./doc/".jcodeconvert($fl_name[$i],0,2))==TRUE && $frb=="true"){
$num++;
}elseif(!is_uploaded_file($fl[$i])){
$num++;
}else{
?>
<tr>
<td align="right"><?php print(jcodeconvert($fl_name[$i],0,2)); ?>
</td>
<td align="right"><?php print($fl_size[$i]); ?>BYTE</td>
<td align="right"><?php print($fl_type[$i]); ?></td>
</tr>
<?php
move_uploaded_file($fl[$i],"./doc/".jcodeconvert($fl_name[$i],0,2));
}
}
if($num>0){
print("<div style='color:red'>".$num."件がアップロードに失敗しました。</div>");
}
?>
どうしたらいいのでしょうか、よろしくお願いします。
13nobodyさん:02/06/04 00:14 ID:???
>>12
jcode.phpsは入ってるんだよね?念のため。
「何それ?わからない」ということなら、恐らく入ってないです。
検索してください。
14nobodyさん:02/06/04 00:15 ID:nDLL3eGN
>>12 日本語メッセージ
「要求されたファイル'jcode.phps'を
開くことができません。」
upload.phpと同じディレクトリに
jcode.phpsは有りますか?
そもそもなぜソースを読み込むのですか?

>>10 php.ini
; Name of the session (used as cookie name).
session.name = PHPSESSID

>>9 php.iniのregister_globals はどうなってますか?

>>6
http://www.php.net/manual/ja/function.readdir.php
ファイル名は 特定の順序で返されるわけではありません。
readdirではダメっぽいね。
15nobodyさん:02/06/04 00:18 ID:???
>>8 >>6
そっか単純ソートすればいいのか。
スマソ。他も怪しいかも。
16nobodyさん:02/06/04 10:59 ID:???
PHPにCのfprintfのような関数はありますか?
なさそうなので、fwrite($fp,sprintf($format,...))とやっているのですが。
17nobodyさん:02/06/04 14:58 ID:???
求人が全然ないんですが、皆さんは何の仕事してるの?
18nobodyさん:02/06/04 16:30 ID:???
>>17
どこに住んでるのかにもよるけど、
http://www.find-job.net/ 逝って探したら?
19nobodyさん:02/06/05 00:22 ID:u1mPAxGZ
共用なんで4.1.2のままです。
セキュリティが気になってregister_globalsをoffにしたいのですが、勝手にすることもできないので、
とりあえずスクリプト内の記述で対応することできますか?

できなかったらどうすればいいんでしょう。。。
20nobodyさん:02/06/05 00:28 ID:8T+VUhRr
>>19
変数の扱いに気をつければいいんじゃないの?
必ず自分で初期化する、みたいな。
たとえば

$hoge = $_GET("hoge");

とか最初にやっちゃうの。
2119:02/06/05 00:35 ID:u1mPAxGZ
>>20
ありがとうございます。
ってことは例えばファイルを読み込んで、if (~略~) $admin = 'yes';とかする場合には、
必ずelse $admin = '';とか書かなきゃいけないんですね。なんか面倒だし抜けありそうだし。。。
んー、自分のとこだけ実行時はデフォルトでoffとかできればいいのに。
22nobodyさん:02/06/05 15:21 ID:q2nPzAuV
PHP4.2.0でPHPlib7.2をインストールし
各種設定を行い、pages/index.phpの表示まではできました。
ユーザを追加するために、pages/admin/new_user.phpにアクセスし、
login画面(Test for Login)に
Username:kris Passwprd:test
と打ち込んで、loginしようと試みたのですが、
再度login画面(Test for Login)に戻ってしまいます。
(ユーザを追加する画面にはならないです)
どうすれば、ユーザ追加のページにいけるのでしょうか?
23名無しさん:02/06/05 15:21 ID:???
.htaccess
2422:02/06/05 15:35 ID:q2nPzAuV
>>23さん
resありがとうございます。
.htaccessにどの様な内容を書けばいいんでしょうか?
以下のように書いたんですが・・・
2522:02/06/05 15:37 ID:q2nPzAuV
以下のようには書けてませんです。すいません。
2623:02/06/05 15:46 ID:???
>>24
ごめん。
>>23>>19宛てに書いた。
2722:02/06/05 15:58 ID:???
>>23さん
了解です(苦笑)
28キム:02/06/05 19:03 ID:sjTX0T+w
PHPでfopen("test.txt","w" );
でファイルを作成し書き込みを行ないたいのですが
パーミッションが無く書き込みエラーになるようです。
test.txtをあらかじめ作成しchmodコマンドを実行すれば
書き込みは出来るのですが
PHPから作成し書き込みを行ないたい場合、どのようにすればよいのでしょうか?
教えてください。
よろしくお願いします。
2919:02/06/05 21:16 ID:JGd9rG/R
>>23
すいません、調べてみましたが全く見当もつきません。
ヒントになるページだけでも教えていただけないでしょうか。
30htaccessについて:02/06/05 21:27 ID:???
本当に調べたのか、小一時間問い詰めたい。
http://www.google.co.jp/search?hl=ja&q=.htaccess&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
31nobodyさん:02/06/05 21:47 ID:???
3219:02/06/05 22:02 ID:JGd9rG/R
いや確かに本家のマニュアル読めば一発でした。。
ただうちの共用サーバーはhtaccessじゃ設定できなくしてあるっぽいです。
うーん。。
33nobodyさん:02/06/05 22:39 ID:Bl/EL1d3
>>19
じゃあ
>>20さんのおっしゃるように、まずは自分で気をつけては?
初期化しない変数を使わなきゃいいだけな気が。

>>28
ディレクトリのパーミッションは707でしょうか?
34nobodyさん:02/06/06 00:52 ID:???
>>33
いえ、777です。
35nobodyさん:02/06/06 01:08 ID:hbHT1ZtS
カウンタ、BBS、簡易なページ自動生成スクリプトを
作ることを目標としてPHPをはじめたところなんですが、
flockに関して質問があります

理屈で言えばすべてのプロセスがflockを使用していれば
排他制御は正しく行われるはずですが、ネット上でのCGI講座などで、
Parlの場合はファイルのロックにはロックファイルを置く方法をよく見かけます。
PHPの場合だとflockを積極的に利用しているように見受けられました。

とするとPHPでのflockの信頼性は、Parlのより高いと勝手に想像してるのですが
実際のところはどうなんでしょうか?
抽象的な質問で申し訳ないですが、私見でも構いませんので
どなたかレスお願いします。
36nobodyさん:02/06/06 01:28 ID:???
37nobodyさん:02/06/06 01:42 ID:???
>35
まず、Parlとは何かを小一時間ほど問い詰めたい。
その後、flockとは何かを小一時間ほど調べてみることをおすすめする。
3835:02/06/06 02:53 ID:???
>>36
ざっと目を通しました
色々参考になりました
ありがとうございます

>>37
失礼しました、Peal、綴り間違いです

POSIX準拠のflockが動作しているのなら
PealもPHPも、ロックをすり抜けられる可能性は
同じだということでしょうか。

私、勘違い&見当違いですかね…
とりあえずもっと勉強してから出直します
ありがとうございました
39nobodyさん:02/06/06 03:57 ID:???
> Peal

(´д⊂
40nobodyさん:02/06/06 06:33 ID:???
すいません、PHPのクラスについて教えて下さい。

 今個別データベース非依存のデータベース操作APIを作っているんですが、
基底クラスもどきを作り、いざ継承という段階で躓いてしまいました。
 質問は親クラスのプロパティ(クラス変数)をダイレクトに取得する方法が
ないか?ということです。
 ものの本では、var定義されている変数はスコープ内(=すなわちクラス内)
でしか通用しないし、そもそもPHPは関数であり、クラスによる設計はあくま
でもオプション程度のものと書いてあり、実際にparent::やhoge::とか、
試してみましたがだめでした。
 それではと思って、親クラスに親クラス自信のプロパティを取得し、連想配列
で戻り値を返すメソッドを作り、それを子クラスで参照する方法もやってみた
のですが、値が(=連想配列の値の部分)NULLで返ってきます。

 何か見落としている点とかやはりあるんでしょうか?教えて下さい。
(環境:Win98 + An HTTPd + PHP ver4.1.2)
41名無しさん:02/06/06 09:23 ID:???
毎回ちゃんとflockするようにすれば大丈夫じゃないの?
まあ、作法を守らないプログラムが他にあれば問題だけど。
42nobodyさん:02/06/06 12:51 ID:???
PerlもPHPもflockはUNIXのflockシステムコールを使っているだけじゃないの?
43nobodyさん:02/06/06 13:06 ID:???
NTサーバでもflockできますが・・・
44名無しさん:02/06/06 14:26 ID:???
POSIXのflockが正しいのかな?
45nobodyさん:02/06/06 15:34 ID:???
WindowsでPHP ( ´,_ゝ`)プッ
46nobodyさん:02/06/06 21:10 ID:???
>>45
何か?
47キム:02/06/06 21:48 ID:HEq09nZx
ファイルが入っているディレクトリを
707でパーミッションの設定をしたら
ファイルを作成する事が出来ました。
しかし、そのファイルにはパーミッションがないので
書き込む事が出来ません。
どしたらよいのでしょうか???
48nobodyさん:02/06/06 22:25 ID:???
>>47
>パーミッションがない
(゚Д゚)ハァ?

PHPとの関連は?
49nobodyさん:02/06/06 22:46 ID:auwDQifb
いままで動いていた index.php を CGI として動かしたいのですが、
先頭に #!/usr/bin/php4 という行を追加して index.cgi という名前にして実行属性をつけるだけではダメなのでしょうか?

エラー 500 (Internal Server Error) が出てしまいます。

Debian GNU/Linux 3.0 (x86) + Apache です。
50 ◆AngelBlk :02/06/06 22:57 ID:???
>49
もの凄い勢いで質問なんですが
PHPのCGI版をインストールしてありますか・・・。

/usr/bin/php4が存在しないとか言ったら
大笑いですよ・・・。
51nobodyさん:02/06/06 23:00 ID:auwDQifb
>50 which php4 ではでてくるのと、./index.cgi を実行するとちゃんとレスポンスヘッダと HTML 本体が出力されるのは確認してるんですが、なぜか Apache 経由で CGI として実行するとエラーログに Premature end of script headers と出力されるんです…

もうちょっと調べてみます。
52 ◆AngelBlk :02/06/06 23:12 ID:???
>51
流石にインストールしてないなんて事無いですか(苦笑。
んー、じゃあ可能性だけど。
index.cgiの文字コード/改行コードは?


//というか、php4なんて名前で入るのか・・・。
//php4.1.2の時にCGI版入れた時
//バイナリファイルの名前phpだったけど変わったのかな。
53nobodyさん:02/06/06 23:44 ID:zHub/sfn
「php4 徹底攻略」 のPDFから ex4 (p144-p149まで) をコピペしてサーバーにアップし、
ブラウザから参照すると、必ずpgconnect.iniの中身が表示され、一番下に
Fatal error: Class mypgselect: Cannot inherit from undefined class pgselect in /usr/home/takeshi04/public_html/ex4.php on line 11
となり動作しません。

同じような現象起きた人いますか? もしくはどのような対処法がありますでしょうか?

ちなみにex1〜ex3まではうまく動作しました。
54nobodyさん:02/06/07 00:30 ID:???
タケシーーー
55nobodyさん:02/06/07 00:36 ID:???
呼んだ?
56nobodyさん:02/06/07 00:55 ID:???
echo "$yonde-naiyo!";
57nobodyさん:02/06/07 01:53 ID:kC35ouJd
$month = (isset($month)) ? $month : date("n",time());

これはどういうことを意味するのでしょうか?
58nobodyさん:02/06/07 02:43 ID:???
あなたにはマニュアルを読むことをお勧めします。
キーワードは「isset関数」「三項演算子」「date関数」です。
ガンバレ
59nobodyさん:02/06/07 03:48 ID:???
>>58さん

三項演算子と言うのですね。
マニュアル読んでみましたが、
if 文で書き換えると↓のような感じということでしょうか?

if(isset($month)) {
$month = $month;
} else {
$month = date("n",time());
}
6057 = 59:02/06/07 03:49 ID:???
あっ、、、57 = 59です。
61nobodyさん:02/06/07 05:32 ID:FyQSs3TI
やっぱこれからはセッション管理をなるだけ使わない方向になっちゃうんですか?
62nobodyさん:02/06/07 10:35 ID:???
>>61
なぜ?

漏れはこれから使おうと思っていたのに(w
63nobodyさん:02/06/07 10:48 ID:lJP0VltF
PHP にも、Java でいうところの JDBC や Perl, Ruby の DBI みたいな
データベースに依存しない、使いやすいデータベース利用のための
ライブラリは存在するのでしょうか。
6433:02/06/07 11:02 ID:???
>63
PEARのDBクラスじゃ駄目なのですか?
65nobodyさん:02/06/07 11:47 ID:RmSLRVAQ
PEAR(・∀・)???
66 ◆AngelBlk :02/06/07 11:53 ID:???
>65
http://pear.php.net/
これ。
後からDB変えた時とか、ほとんどコードの変更いらなくて便利。
67 ◆AngelBlk :02/06/07 11:54 ID:???
補足。
ttp://www.avantexchange.com/php/pear_tut.php

後はこことか参考にするといいと思うよ。
68ジー子:02/06/07 16:02 ID:mUQr0G4t
$array = array("A"=>"aデス","B"=>"bデス。");
という配列の中身を、
一関数で全て出力するという関数って何でしたっけ。
おしえてくだsちい。
69 ◆AngelBlk :02/06/07 16:32 ID:???
>68
http://www.php.net/manual/ja/function.array.php
http://www.php.net/manual/ja/function.print-r.php
このくらい自分で調べようよ・・・。
公式マニュアルの配列の所にそのまま書いてあるんだしさ。
70ジー子:02/06/07 16:51 ID:mUQr0G4t
>>68
print_r()じゃねえの?
百済ねえ質問し点者ね絵よ。
71nobodyさん:02/06/07 17:12 ID:???
>>70
くだらねえ誤字してんじゃねえよ。
72nobodyさん:02/06/08 03:28 ID:u5/r5db4
正規表現で最短マッチするにはどうすればいいのですか?
73nobodyさん:02/06/08 05:59 ID:???
PHP のマニュアルを勝手に自分のサーバにおいて
誰でも閲覧できる状態にしても構いませんか?
74nobodyさん:02/06/08 13:53 ID:???
>>72-73
タイーホ
75nobodyさん:02/06/08 15:12 ID:???
>>74
おまえもまとめてタイーホダ-
76nobodyさん:02/06/08 17:25 ID:VO8Wct1A
すいません。質問させてください。
http://php3.de/manual/ja/function.each.php
each って、
$bar[0] == $bar[key] で、 $bar[1] == $bar[value] のよーなのですけど、
同じ値なのだったらkey,valueか、0,1かの
どっちかのペアだけでいいと思うんだけど。
4つある意味はなんで?
77nobodyさん:02/06/08 22:27 ID:???
$bar["key"]や$bar["value"]でキーと値を連想配列として使うのと、
list($key,$value)=each($bar);
で通常の配列として使うこともできるからでは?
78nobodyさん:02/06/09 00:39 ID:QolOb+V5
質問なんですが。
ネットにアップロードされているファイルをfopenの読み込みモードで読み込んで、それをprintで出力しようとしても
Resource id #1と出ます。

これはどういう意味なんでしょうか?
79nobodyさん:02/06/09 00:58 ID:???
…ひょっとして
$fp=foepn("http://****","r");
echo $fp;

とかやってないですか?(汗)
接続IDです。>Resource id #1
8079:02/06/09 00:59 ID:???
自己レス
>$fp=foepn("http://****","r");

foepnって…(恥
fopenですスイマセン。
81nobodyさん:02/06/09 01:14 ID:???
>>79-80さん
・・やってます・・・・
どういう書き方をすればいいんでしょうか?

それと、差し支えなければ接続IDというのも教えて頂きたいのですが・・・。
8279:02/06/09 01:31 ID:???
マニュアル読みましょ…。
普通にファイルを開くのと同じようにできますよ。
キーワード:ファイルハンドル fopen fread(fgets)
などなど。
fgetsやfreadの例を見た方がわかりやすいかもです。
http://www.php.net/manual/ja/ref.filesystem.php
8376:02/06/09 01:34 ID:A3vcjjB5
>>77
>list($key,$value)=each($bar);
これって、
$key=key($bar);
$value=current($bar);
next($bar);
と同じことですよね。
となると、listで簡略化できるから、ってことで納得しますです。
ありがとうでしたー。

>>78
レッツphpのチュートリアルにあるやつはどう?
ttp://php.s3.to/tt/tt6.php
8478:02/06/09 01:41 ID:QolOb+V5
>>82
すいません、よく読んでおいたつもりなんですが・・・出直してきます

>>83
熟読してきます。ありがとうございました。
85nobodyさん:02/06/09 07:06 ID:???
何行かある文字列から、
[begin] と [end] に挟まれた部分を
取り出すにはどうすれば良いでしょうか?

-----------------------
あああああ
いいいいいいいいい
[begin]ほげほげ[end]
ううう
ええええええ
おお
-----------------------

だとしたら、「ほげほげ」を取り出したいのです。
分かりにくくてすみません。
86nobodyさん:02/06/09 08:26 ID:???
>>85
strpos + substr使うなり正規表現使うなりご自由にどうぞ。
87nobodyさん:02/06/09 13:27 ID:A3vcjjB5
PerlからPHPに変えるソフトってない?
JavaからC#に変換してくれるみたいなやつ。
88nobodyさん:02/06/09 14:48 ID:???
まだまだ駆け出しなんですが、気になったので質問します。
可変変数ってどういう使い方があるんですか?
89nobodyさん:02/06/09 16:12 ID:???
>>85
変数に全行を代入する
[begin]で区切る
[end]で区切る
90nobodyさん:02/06/10 18:53 ID:WsKMKNfu
php4.2.1にバージョンアップしたら、フォームからメールを送ることができなくなってしまったのですが、どこをどのようにいじったら直りますか?
初心者なのでよろしくお願いします
91名無しさん:02/06/10 21:21 ID:???
>>90
phpのバージョンを元に戻してください。
92nobodyさん:02/06/10 21:45 ID:WsKMKNfu
>>90
ひ〜っ。
その方法しかないでしょうか、、、。

できれば、emacsとか使うことはできるので、設定ファイルのいじり方とかを教えていただきたいのですが、、、、。
93nobodyさん:02/06/10 21:45 ID:WsKMKNfu
>>91でした。
間違えました。
94戊寅:02/06/10 22:47 ID:???
>>90
php.ini の register_globals = を on に設定してみてokならば、
http://www.php.net/manual/ja/security.registerglobals.php
を参考にスクリプトを修正する。

sendmail_path = が適切に設定されているか否かを確認。

この2つくらいしか思いつかないっす。

前のバージョンはいくつか? 環境は? スクリプトの具体例は?
などを書くと、識者がアドバイスしてくれると思うです。
95nobodyさん:02/06/11 00:08 ID:fQRftcxO
header("Location: http://hoge");
を使うと鯖負担大なの?

既出でしたらすみません。
96nobodyさん:02/06/11 01:40 ID:???
>>95
へ?なんで?
9795:02/06/11 02:02 ID:fQRftcxO
>>96
以前Perlで
print "Location: http://hoge\n\n";exit;
だけのCGI(URL転送のみ)を使ってたら、レンタル鯖屋さんに
高負担かかってますと怒られた事と、

最近PHPで一日7万弱アクセスのページに
header("Location: http://hoge");
これ使ったら、鯖負担がかなり高くなったから…
まぁ、ほかのPHP処理で高くなったのかもしれないけど、
かなり低負担重視で作ったから、あとはコレかな?と…
98nobodyさん:02/06/11 03:57 ID:???
>>97
URL転送のみってのが嫌がられたんじゃないの?
print "Location: http://hoge\n\n";exit;は文字列を表示して終了するだけだし。
99nobodyさん:02/06/11 04:10 ID:fQRftcxO
>>98
TOPコマンドで高負荷確認済み

>文字列を表示して終了するだけだし
(゚Д゚)?
100nobodyさん:02/06/11 04:19 ID:???
>>99
あんたまさかLocationをPerlが理解すると思っているのか?
URL転送ということは他サイトに飛ばしていたんだろ?
101100:02/06/11 04:22 ID:???
s/Perlが/PerlやWebサーバーソフトが/
102nobodyさん:02/06/11 08:53 ID:???
>>99
RFC2616読んで、出直してこい。

>>90
とりあえず引数をハードコーディングした場合、mail関数は成功するか?
以下のスクリプトで成功するなら、メール送信そのものは動いてる。
その場合はmail関数の引数をチェキしる。

<?php
mail( "[email protected]", "Test", "Test" ); //メールアドレスは自分のアドレスに入れ替えれ
?>
103nobodyさん:02/06/11 09:30 ID:yLQsThBf
http://www.php.gr.jp
つながんないです。
松下ナントカの圧力でしょうか?
104nobodyさん:02/06/11 14:32 ID:g7ykEoe9
>>94,102
返答ありがとうございました。
これからがんばってみます
105nobodyさん:02/06/12 08:39 ID:???
class 化すると、どういう良いことがあるのですか?
106nobodyさん:02/06/12 08:54 ID:???
>>105
コードの再利用がしやすい。
107nobodyさん:02/06/12 12:14 ID:???
オブジェクト指向が分からない〜♪
108nobodyさん:02/06/12 14:07 ID:???
>>106
盗用?
109nobodyさん:02/06/12 14:26 ID:???
>>108
?
110nobodyさん:02/06/12 16:40 ID:???
ああ、携帯用サイトをセッション使ってつくってまった。。。鬱
111nobodyさん:02/06/12 16:45 ID:lexh1GXn
phpの使える無料ウェブスペースってないんでしょうか?
112nobodyさん:02/06/12 17:52 ID:???
ある。
113nobodyさん:02/06/12 20:14 ID:rqNQKIVd
PHPEdit(ttp://www.phpedit.net/)以外の
無料でお勧めの統合環境のソフトないすか?
114 ◆AngelBlk :02/06/12 20:59 ID:???
>113
ZendStudio2.01Personalが非商用に限りだけどフリーになったような。
流石に本家だけあって文字エンコードもSJIS/EUC-JP/UTF-8とか対応してるし
割といいかもしれない。
115nobodyさん:02/06/12 21:34 ID:GkccyYwt
>>114

嘘つけ。証拠みせろ。

116nobodyさん:02/06/12 21:44 ID:rqNQKIVd
117 ◆AngelBlk :02/06/12 22:32 ID:???
>115
何が嘘なのかな?

>116
はい、それです。
コード補完もしてくれるし割といいと思う。
ちょっと重い気がするけど。
118nobodyさん:02/06/12 22:42 ID:tyywLjto
兆初心者なんですが
PHPの設置はどうすればいいのですか?
教えてください
よろしくお願いします
119親切な人:02/06/12 22:44 ID:???

ヤフーオークションで、凄い人気商品、発見!!!

「 RX-2001 」がパワーアップした、
「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
120nobodyさん:02/06/12 22:52 ID:???
>>118
マニュアル嫁
121nobodyさん:02/06/12 22:54 ID:tyywLjto
>>120
?
122nobodyさん:02/06/12 22:59 ID:???
>>117
Javaですか?妙に重い。
123nobodyさん:02/06/12 23:03 ID:tyywLjto
>>118
はリア厨なので英語が読めません
124nobodyさん:02/06/13 00:26 ID:???
>>123
PHPのマニュアルは日本語化されてるが‥‥↓
http://jp.php.net/manual/ja/
125nobodyさん:02/06/13 08:17 ID:???
>>113
PHPごときで統合開発環境を必要とするとは・・・
126anonymous:02/06/13 16:45 ID:???
初心者です。
PHPの"include()"関数をつかって、クライアントのブラウザに
HTMLファイルを表示させてやろうと思うのですが、意図したのとは違う
フレームに表示されてしまって困っています。
TARGETのフレームを指定するいい方法はないでしょうか?

それとも、HTMLのコードの中に埋め込むべきなのでしょうか?
だとしたら板違いですね・・・
127anonymous:02/06/13 16:58 ID:???
解決しました。
128nobodyさん:02/06/13 22:46 ID:o2iA2r6w
ちょっと教えてください。

$h=array("h6"=>2,"h5"=>7,"h7"=>1);

という連想配列をURLにくっつけて渡したい場合

print("<a href=test2.php?h[]=$h[]>テスト</a>\n");

とやってみてもだめなんですが渡せないんでしょうか?
ずっとやってて煮詰まってしまいました。
129nobodyさん:02/06/13 23:26 ID:???
>>128
配列ってそのまま渡せるのかな?
俺はURLにくっつけてやったことはないけど、formからpostで送るときには
foreach($h as $value)
 echo "<input type=\"hidden\" name=\"h[]\" value=\"$value\">\n";
みたいな感じにしてる。
確かに、あんま賢い方法ではないような気もするんだけど・・・
配列をそのまま渡す方法があるなら俺も知りたいので識者の方、おながいします。
130nobodyさん:02/06/13 23:41 ID:g7mthRrE
>>129
serializeしてbase64_encodeとか
131nobodyさん:02/06/13 23:58 ID:AgZxqh7j
sessionじゃだめですか。
132nobodyさん:02/06/14 01:25 ID:WdA4+PT5
Perlでシーザー暗号を利用する時は、
$str =~ tr/a-zA-Z/b-zA-Za/;
ですが、PHPの場合はどうなるんでしょうか?
133nobodyさん:02/06/14 01:27 ID:???
safe_mode って何してくれるもの?
134nobodyさん:02/06/14 01:45 ID:???
>>132

それシーザー暗号っていうの?その暗号化は知ってるけどそんな名前だとは
初めて知った。
135128:02/06/14 10:17 ID:HA6GEGFh
>>131
sessionが使えない場合のことを考えて作ってます。
実際にsession使ったバージョンのはできてるんですけどね。
素直にtmpファイルとか使った方が楽なのかな?
136名無しさん:02/06/14 11:43 ID:???
>>135
php.iniの設定で、自動でPHPSESSIDを付加してくれる設定があったはず。
クッキーが使えない携帯でもセッションは利用できるはず。
137nobodyさん:02/06/14 17:09 ID:???
お初になります。ちと知恵をお借りしたいのですが…

WindowsXPでPHPを勉強し始めようと思っています。
PHPDeviceをダウンロードして自分のPC内で動かそうとしたんですが
PHPを経由してファイルへの書き込みが出来ないのです。
(PHPファイルを読むことは出来ます。)

これについて、書き込みについての権限がないからというヘルプを貰ったのですが
解決方法がわかりません。
XPでインストールしたディレクトリを動かさずに権限を操作することが出来るのでしょうか。
または、この理由ではないのでしょうか。

(他板で誤って質問してしまったのでコピペ流用)
138 ◆AngelBlk :02/06/14 18:20 ID:???
>137
PHPDeviceってなんだろう?
Apacheとか一緒に入れてくれるやつの一種かな?
と思いつつ。

該当部分のソース出さないと答えようがないと思うよ。
139nobodyさん:02/06/14 19:49 ID:???
>>138
そうです。PHPとApache、PerlにMySQLがセットになってます。

> 出てきたメッセージが以下。
Warning: Unable to open '' for reading: Permission denied in c:\phpdev\www\fileedit.php on line 6
ERROR: backup failed.
> 書き換え部分のソースを以下に。
<?
$filename = "todo01.txt";

if($submit){
$backupfile = $filename.".bak";
if ( copy($writefile, $backupfile)){
$fp = fopen($filename, "w");
if(flock($fp, 2)){
fputs($fp, $contents);
flock($fp,3);
} else {
echo "ERROR: file lock is failed.<BR>\n";
exit;
}
fclose($fp);
} else {
echo "ERROR: backup failed.<BR>";
exit;
}
}

?>
140nobodyさん:02/06/14 23:20 ID:HA6GEGFh
>>136
ありがとうございます。
今マニュアルみたら書いてありますね(^^;
141親切な人:02/06/14 23:45 ID:???

ヤフーオークションで、凄い人気商品、発見!!!

「 RX-2001 」がパワーアップした、
「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
142nobodyさん:02/06/15 12:47 ID:???
>>134
おう。シーザー暗号って言うんだよ・・・・・・って、肝心のPHPでのやり方を教えて。
143nobodyさん:02/06/16 00:45 ID:i4sSElYH
>>142

レス無いので...

PHPにはtrないですからねぇ(なぜなれpcreにtrがないから)。

<?php
$subject = "stringzZ";
<?php
$subject = "string";
print preg_replace('/([a-zA-Z])/e', 'caesar($1)', $subject);

function caesar($c)
{
if ($c == 'z')
return 'A';
if ($c == 'Z')
return 'a';
return chr(ord($c)+1);
}
?>

こんなかんじで、普通にやるしかないのでは?ってか、普通に
php-usersで聞いたほうが良いと思いますが。
144nobodyさん:02/06/16 01:20 ID:8EBDLVWp
「トップ > どこそこ > あそこ > ここ」という表示をするスクリプトを
全てのページの最上部にincludeしたいのですが、
こういう場合どうするのが定石なんでしょうか?
//php.ini にはすでにデフォルトで、auto_prepend_file =prepend.phpとあり、
//prepend.php にはcvsのバージョン番号があるので、
//やはり、これを書き換えるのはさけるべき・・・ですよね?
145nobodyさん:02/06/16 02:19 ID:0KeGGR15
>>142
if (!function_exists('str_caesar')) {
function str_caesar($str) {
$from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$to = 'bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZa';
return strtr($str, $from, $to);
}
}

if (`which tr` && !function_exists('str_caesar2')) {
function str_caesar2($str) {
return `echo $str | tr a-zA-Z b-zA-Za`;
}
}

/* See
* str_rot13
* mcrypt
* ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/
*/
146nobodyさん:02/06/16 09:40 ID:rHOpgHxS
umask(0)とした後に0777でディレクトリを作成するようmkdirしても、
0777で作成できません。
0777で作成するにはどうしたらいいですか?
147nobodyさん:02/06/16 10:12 ID:7Bh3fOrx
148nobodyさん:02/06/17 02:52 ID:sgUmh/XP
正規表現ではなくて、メールアドレスが本当に正しいかどうか確かめるにはどうすればいいですか?
149nobodyさん:02/06/17 03:18 ID:???
一般的には実際に送ってみるしかない。
SMTPのvrfyは禁止されてたりするしね。
特定のドメインが対象なら、やりようはあるかも。
相手の振る舞いに依存するのはよくないけど。
150nobodyさん:02/06/17 03:24 ID:???
>>148
WebベースのMLの登録の様に、メール送信して返信してもらう。
151nobodyさん:02/06/17 14:09 ID:aQhyjpeP
PHPではないのですが、
javascriptでformのタイプを変更できるんでしょうか?
<input type="text" ←の部分。
152new...:02/06/17 16:03 ID:/PRHCvov

PHPとMysqlで掲示板をつくりましたが、
書き込んだメッセージの中で、
特定の漢字だけが、文字化けのように表示されてしまいます。

どこに原因があるとおもいますか?
153:02/06/17 16:16 ID:???
154new...:02/06/17 16:58 ID:MBYnZ3N+
??
155nobodyさん:02/06/18 07:18 ID:???
PHP に限ったことではないと思いますが、
改行コードは \r, \n, \r\n の内
どれに統一するのがベストなのでしょうか?
156nobodyさん:02/06/18 10:51 ID:???
>>155
普通は\n使わないか?
明示的にCR+LFにしたいときは\r\nではないかと。
\rは単独で使うことはないかと。
157nobodyさん:02/06/18 12:23 ID:2kc8v8+B
ローカルでpostmaster -p 7432で起動しているPostgreSQLに
PEARのDBクラスを使ってUNIXソケット経由で接続したいんですけど
DSNをpgsql://user:pass@unix+localhost:7432/dbname
などと書いても接続できません。

標準のポート番号でPostgreSQLを起動した場合はUNIXソケット経由
で接続できるんですけど、どなたか接続させる方法をご存じないですか?
158new..:02/06/18 12:28 ID:wwQMWvxU
>>155
TEXTAREAのフォームデータを受信したときに、改行コードに
差が少しでるよ。
win は\r\n
mac は\r
メル鯖はまちまち
159nobodyさん:02/06/18 12:41 ID:???
>>152

例えば $content という内容をDBに書き込むとすると

$content = addslashes($content);

とやってからDBに放り込んでみれ。

160nobodyさん:02/06/18 14:12 ID:0criPbYz
ttp://tohoho.wakusei.ne.jp/wwwsoft.htm
こちらのgifcat.plをPHPで書き換えてみました。
print(gifcat());
としたところ、失敗してしまいました。
Windowsを使用しているので、バイナリモードで書き出すように
したいのですが、Perlでいう
binmode(STDOUT);
のような処理はどのようになるのでしょうか?
161nobodyさん:02/06/18 14:31 ID:JmpSL9X1
>>160
passthru()じゃなかったかな
162160:02/06/18 14:45 ID:0criPbYz
>>161
御返信どうもありがとうございます。
がんばって文字列関数のところばかり見ていました。

実行してみたところエラーが出てしまいました。
passthruの説明を読んでみたところ、あるコマンドを実行して
結果の最後の行を文字列として返すとあったのですが、これでよろしいのでしょうか?
> <br>
> <b>Warning</b>: Unable to fork [GIF89a] in <b>c:\phpdev\www\image.php</b> on line <b>100</b><br>
imagephpはこの様になっています。
line 99 : $GifCat = new CGifCat();
line 100 :passthru($GifCat->gifcat($files));

関数gifcatは連結したい画像名配列を入れると連結された画像が帰ってくるという
仕組みなのですが、これはPHPにする時になにかミスをしていると考えた方が良いのでしょうか?
163nobodyさん:02/06/18 17:51 ID:???
>>162
ttp://www.spencernetwork.org/
こーゆーのあるけど
164162:02/06/18 21:26 ID:0criPbYz
>>163
ありがとうございます。そちらのスクリプトと見比べて修正したところ
うまく画像が連結して表示されました。

ファイルをオープンする際の
$fp = fopen($file, 'rb') or return("ERROR");
のor return("ERROR")がまずかったようです。
バイナリ表示とか全然違う方向に目が行っていました。
本当にありがとうございました。
165ちえ:02/06/18 21:31 ID:zOwUJg6s
だれかいますか
教えてほしいんですけど・・・
インターねとでいろいろみてたら
ヤフーの画面に「NetZany]というのがかってにくみ
込まれてこまってます
どうすれば消せるの?
これってやばいの?
166nobodyさん:02/06/18 21:49 ID:???
>>165
完全に板違いなので誘導

くだらねぇ質問はここに書き込め Ver2.16
http://pc.2ch.net/test/read.cgi/sec/1021270127/
167nobodyさん:02/06/18 22:21 ID:???
http://www.php.net/manual/ja/function.symlink.php
こちらでsymlink関数を調べていたのですが、この第一引数の
targetというのはどのように設定すればよろしいのでしょうか?
カレントディレクトリにしようと思い、symlink('.', $filename);
としたのですが、以下のようにエラーが出てしまいました。
Warning: SymLink failed (No such file or directory)
168142:02/06/19 00:40 ID:???
>>143,145
レスありがとん。うーん、結構めんどくさそうだねぇ(涙。
とりあえず、実装してみるよ。ありがとう。
169nobodyさん:02/06/19 09:37 ID:???
>>167

./
170167:02/06/19 10:43 ID:???
>>169
ありがとうございます。
そちらの方も試してみたのですが、同じエラーがでてしまいました。
カレントティレクトリがないということはありえないので、何かおかしな
ところがあると思うのですが、コードは下のようになっています。
$retry = 5;
while (!symlink("./", "lock.lock")) {
     if (--$retry <= 0) { error(); }
     sleep(1);
}
171nobodyさん:02/06/19 11:56 ID:wvwPfn4b
http://www.net-newbie.com/support/pdf/PART_2.PDF
PHP4徹底攻略PDF版で勉強中なのですが、
p143からのex4.phpが、うまく動いてくれず困っております。

症状は、次の画面に移ったときに、
$this->offset の値が0に戻ってしまうというものです。
また $this->usersql も空になってしまい、
SQLが実行できず、58行目のifが評価されてしまうので、
このソース(pgselect.ini)の44-45行目、46-47行目に、
$this->usersql = $sql; とだけ追加してみました。
(↑まったく根本的な解決になっていないと思いますが…)
他、記述ミス等は無いと思います。
環境は次の通りです。Apache1.3.24 + PHP4.2.1 + PostgreSQL7.2.1

ご教授よろしくお願いします。
172nobodyさん:02/06/19 12:08 ID:???
>>171
そのコード斜読みしただけだけど、
セッションからの値がきてないんじゃ無い?
ここの>>4とマニュアルのセッション関数のところみてみてみて。
173171:02/06/19 12:37 ID:wvwPfn4b
>>172
ご返答感謝します!
register_globalsはonにしています(php.iniで唯一変えた箇所)
やはりセッションがうまく働いていないんでしょうか…。
帰ってきたらマニュアルなどを利用して、
もう一度セッションについて勉強してみます。

では昼休みも終わりそうなんでまたです。
174nobodyさん:02/06/19 18:18 ID:???
138,139 です。
皆様から返答が得られないのは
尋ね方が悪いんでしょうか。
情報が足りないんでしょか。
よろしくお願いします。
175nobodyさん:02/06/19 18:46 ID:???
解答が欲しければ煽ってみろゴルァ!
176nobodyさん:02/06/19 18:49 ID:???
>>174
極度の人員不足です。
177nobodyさん:02/06/19 19:32 ID:???
すみません。ある意味クレクレ厨ですな…
178nobodyさん:02/06/20 06:25 ID:3HmCYevV
>>139
IFのなかのcopyが失敗しているようですが・・・
$writefileには何が入っていますか?
179139:02/06/20 11:14 ID:???
エラーの文が6行目がどう、って言ってるからなんですよね。
$writefileの中にはテキスト、ものが入ってると思います。
>>その後は以下のように。これでファイル全部です。
<HTML>
<HEAD>
<TITLE>

<?
echo $filename
?>
</TITLE>

<META http-equiv="Content-Type" content="text/html; charset=euc-jp">

</HEAD>
<BODY>
<FORM ACTION="<? echo $PHP_SELF; ?>" METHOD="POST">
<TEXTAREA NAME="contents" ROWS="10" COLS="50">

<?

require ($filename);
?>

</TEXTAREA>

<INPUT TYPE="submit" NAME="submit" VALUE="更新">

</FORM>
</BODY>
</HTML>
180 :02/06/20 11:34 ID:???
>>179
ファイルのパーミッション確認すれ
181171:02/06/20 19:45 ID:???
うまく行きました。
原因はex3.phpの設定を引きずってしまった為の記述ミスでした…。
(ex3.phpの34行目 $sel = new myPgSelect 消し忘れ)
ソースを見直してこれが不要なのではと気づいた点は、
救いようがあると思いますが、やはりまだまだ理解不足ですね。

お騒がせしました。
182139:02/06/20 19:51 ID:???
ウィンドウズXPでパーミッションの変更ってどうやって行うのでしょう。
重ね重ね、申し訳ないですけどご教授いただけませんか。

PHPはヴァージョン4でした。
183nobodyさん:02/06/20 20:45 ID:???
>>182
プロパティのセキュリティタブ
184139:02/06/21 00:11 ID:???
ファイル一つ一つについてプロパティを開いても共有セキュリティタグが出てきません。
フォルダに対してプロパティ→共有セキュリティタグは出てきます。つまりフォルダに対して行うのですよね。

共有ドキュメントフォルダに移動させるとディレクトリ自体が変更してしまいアパッチが起動できなくなりできません。
てことでネットワーク上でこのフォルダを共有するというチェックボックスをオンにしました。

そして、どのフォルダを共有させるのでしょうか。
ローカルホストを有効にさせているアパッチ、PHP本体、
あとローカルホストのルートディレクトリ。これらのフォルダをすべて
プロパティ→共有タブ→ネットワーク上で共有のチェックボックスをオンにしました。

しかし実行したときの反応、出てくるメッセージ文に変わりはありませんでした。
すみません…よろしくお願いします。どうすればいいのでしょうか…
185180:02/06/21 00:24 ID:???
ゴルァ>>179
でけたんか?反応すれ
186139:02/06/21 00:42 ID:???
>>180,185
137かつ139かつ179かつ182かつ184です。
パーミッションの確認方法がわかりません。

全ユーザには権限がないんだと思いパーミッションの変更方法をお聞きしてたのですが。
187nobodyさん:02/06/21 00:45 ID:???
>>184
共有はつかんが。
ちなみにFATはパーミッションの概念自体がない。
パーミッション設定できるのはNTFSのみ。
188nobodyさん:02/06/21 01:00 ID:???
すんません。
画像表示のカウンターって、どうやってカウントしてるんすか?
リモートホストはどうやって取得してるんすか?
189nobodyさん:02/06/21 01:08 ID:???
>>188
ソース読んで下さい。
おながいします。
190144:02/06/21 01:41 ID:???
だれか、
>>144
にヘルプくださいまし
191139:02/06/21 02:05 ID:???
>>187
では、問題となている箇所はなんなのでしょうか。
パーミション、共有に原因はない、と。
192nobodyさん:02/06/21 06:41 ID:???
>>139
ちゃんと$writefileに希望の内容が入っているか確認してみました?
echo $writefile;で一度チェックしてみては?

パーミッションの方は
$fp = fopen("test.txt", "w");
fputs($fp, "test");
fclose($fp);
とでもしてファイルを作成できるかチェックしてみてはいかがでしょうか?
193nobodyさん:02/06/22 09:55 ID:oMvchyAU
Apache1.3.26 + PHP4.1.2 + php4_mbregex-1.3.1
で、mbereg_replace()を使うと
Warning: mbregex compile err: premature end of regular expression
と、エラーが出てしまいます。
コンパイルエラーとありますが、何度インストールし直してもこのエラーです。
$ phpize
$ ./configure --enable-mbregex
$ su
# make install
でインストールしました。
なにがいけないんでしょうか?
194nobodyさん:02/06/22 18:00 ID:???
>193
正規表現が間違ってるんだYO!
195193:02/06/22 23:54 ID:???

phpinfo();で、
        mbregex
Directive      Local Value   Master Value
mbregex.encoding    EUC-JP     EUC-JP

となっているのに、S-JISで書いてたのが原因でした…
196nobodyさん:02/06/23 00:18 ID:???
ええと、テキスト出力をWindowsのコピーのところに送るには
どうしたらよろしいでしょうか。
チェックボックスとかセレクトとか使ってテキスト作り上げて、
そいで貼り付けとかしたいので。
197somebodyさん:02/06/23 00:29 ID:???
>>139 >>196

WindowsXP,IE系に逝ってください
198nobodyさん:02/06/23 00:47 ID:???
PHP4.2.0にて
mb_ereg_* を使うと Fatal error: Call to undefined function: mb_ereg_*()
と言われます。
phpinfo()だと
Configure Command :
'./configure' '--with-pgsql' '--without-mysql' '--with-namazu' '--with-kakasi' '--with-apxs=/usr/local/apache/bin/apxs' '--with-openssl' '--with-iconv' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-trans-sid' '--with-mbregex'
となってるんですが…(ていうか実際そうした)
php.iniはデフォルトのままで、
[mbstring]
mbstring.internal_encoding = iso-2022-jp
mbstring.http_input = auto
mbstring.http_output = iso-2022-jp
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
となっています。

日本語使えなくて鬱です…どうしたらよいでしょうか。
199nobodyさん:02/06/23 06:06 ID:???
>>198
--with-mbregex

--enable-mbregex
だと思われ。
200nobodyさん:02/06/23 09:28 ID:???
>>199
いや、--enable--mbregexだと無視されます。
マニュアル見ると、いつのまにか--with-mbregexオプションは無くなってたみたいなので
(後方互換のためいちおう有効にされてはいた?)
つけずにやってみてもやはり Undefined functionと言われます。
201nobodyさん:02/06/23 09:35 ID:???
>>200自己レス
どうもmb無しのereg_*で日本語もあつかえるらしい…
別に
mbstring.func_overload=1
とかしてないんですがね…
#デフォでonになってる??
ともかくなんとかなりそうです。THX>>199
202 ◆AngelBlk :02/06/23 09:37 ID:???
>200
・・・ほんとに?
configure見ると思いっきり
--enable-mbregex
Enable multibyte regex support
って書いてあるんだけど・・・>PHP4.2.0/PHP4.2.1
203 ◆AngelBlk :02/06/23 09:38 ID:???
って、解決したのか(苦笑
204nobodyさん:02/06/23 18:38 ID:kqip7CeK

$fp = @fopen("/tmp/counter", "r+");
// ファイルがなかった場合、ファイルを作る。
if( !$fp ) {
$fp = fopen("/tmp/counter", "w");
}

// 重要。説明は下で。
set_file_buffer($fp, 0);

flock($fp, LOCK_EX);
rewind($fp);
$buf = fgets($fp, 1000000);
if( !$buf ) {
$buf = 1;
} else {
$buf++;
}
rewind($fp);
fputs($fp, $buf);
flock($fp, LOCK_UN);
fclose($fp);

itboostのロックの頁を見たら、上のようなソースが載っていた。
自分はfopen($file,"w")をしたときにrewindなんてしなかったんだけど、
rewindって必要なの?それともロックとかかけるときのみ必要なの?
205縞栗鼠(シマリス)の親方:02/06/23 18:45 ID:ZSSdFO5T
中央高等学院の従業員「西部」が女子トイレに闖入し
汚物入れを物色して女子生徒の使用済みタンポン・ナプキン等を
個人的に収集しているというのは事実。

中央高等学院では
生徒及びその保護者の個人情報を名簿図書館等に売却しています。
中央高等学院 http://chs-f.com/index.html 中央高等学院福岡校
http://www.chuo-school.ac/
206nobodyさん:02/06/23 20:50 ID:???
>>204
いらないけど、個人的には付けてる。
207204:02/06/24 01:05 ID:???
>>206
どうすればいいんだ……。つけるべきかなぁ。無駄に負荷をかけたくないんだけど。
208nobodyさん:02/06/24 01:16 ID:0X7UgTkp
出たなオヒス
209nobodyさん:02/06/24 02:37 ID:???
フォームを使って
<select name="array[]" size=20 multiple >
このように複数行選択した内容を扱いたいけどつかえないよ。

一応、他の変数のように
$array[] = $_REQUEST["array[]"];
このようにしたけど、空の値が入るだけ。

どうすりゃいいの?

昔はできたのに・・・・

ガイシュツだったらスマソ
210名無しさん:02/06/24 03:49 ID:???
$_REQUEST["array"]
211nobodyさん:02/06/24 18:44 ID:???
>>210
ありがと。できた。
$array = $_REQUEST["array"];
これでいいのね。
212nobodyさん:02/06/24 21:22 ID:v5JHJkLy
$str = "&#63861;";

という文字列の "63861" の部分を "f975" のように
16進数に変換し、

$str = "&#f975;";

というようにしたいのですが、書き方がわかりません。

$str = preg_replace( "/(&#)([0-9]{5})(;)/", "$1$2$3", $str );

↑どう書けばいいのでしょう?
わかる方いたら教えてください。
m(__)m

※ちなみに全角にしているのは文字化け防止です。
213nobodyさん:02/06/24 21:53 ID:???
>>212
強引にやってみた。駄目かなあ。。。

<?php
$str='&#63861;';
$str=dechex(eregi_replace("(&#)([0-9]*)(;)","\\2",$str));
$str='&#'.$str.';';
echo $str;
?>
214nobodyさん:02/06/24 22:07 ID:v5JHJkLy
>>213
レスサンクス.

でも

$str = '&#63861;'

だけの時はいいんだけど

$str = 'わたしは&#63861;です。';

とかだったりするとだめっぽいです。

うーん。
215nobodyさん:02/06/24 22:33 ID:???
>>214
おちけつ

もう少しだけヒント。

いっぺんにやろうとせずに順序立てて考えれ。つーかコーディング汁。
216nobodyさん:02/06/24 22:59 ID:???
つーか、数字部分だけ分離してsprintf関数通せば済む問題じゃあ‥‥‥
217sage:02/06/24 23:45 ID:v5JHJkLy
>>213, 215, 216

汚いけどナントカ動きました。
一度にやらなければそんなにむつかしくなかったです。

$str = "&#63861;";
preg_match_all( "/&#([0-9]{5});/", $str, $match );
for( $i=0; $i<count( $match[0] ); $i++ ) {
$match[1][$i] = '&#' . DecHex( $match[1][$i] ) . ';';
$str = ereg_replace( $match[0][$i], $match[1][$i], $str );
}
return $str;
218nobodyさん:02/06/25 00:10 ID:P4v4WPT0
2番目の引数、出来そうで出来ないな。


$str = "掠";
$str = preg_replace("/(&#)(\d*)(;)/", "$1" . dechex("$2") . "$3", $str);
print $str;
219nobodyさん:02/06/25 00:17 ID:pVNEMAn7
PHP3でsybase関数が使えないのですが、
sybaseの拡張モジュールってあるのでしょうか?

※WindowsからLinuxにあるsybaseへアクセスしたい。ODBC無で。
220216:02/06/25 00:41 ID:???
>>217
んな面倒なことせんでも2行でおさまるが。

$str = "掠";
ereg("&#([0-9]+);", $str, $match);
$str = "&#".sprintf("%x", $match[1]).";";

221nobodyさん:02/06/25 01:35 ID:???
>>220
ありがとうございます。

でも、それだと >>214 でも書いたんだけど

$str = 'わたしは&#63861;です。';

のようなときにうまく動かないのです。
222216:02/06/25 01:40 ID:???
>>221
パターンいじればいいだけでは?
.*&#([0-9]+);.*
223216:02/06/25 01:49 ID:???
$str = "掠です。わたしは掠です。";
$regRule = "(.*)&#([0-9]+);(.*)";
while(ereg($regRule, $str, $match))
$str = $match[1]."&#".sprintf("%x", $match[2]).";".$match[3];
224nobodyさん:02/06/25 02:15 ID:vEnhn/oC
すまそ...
ProxyのプログラムをPHPで作りたいです。
これが、一番参考になるかな〜って思ったけど
http://php.s3.to/net/kusi.phps
でも、駄目。
cURLを利用して、作りたいんです。誰か、つくりかた、おせて!
わからん...
225nobodyさん:02/06/25 03:09 ID:???
>>223
教えてもらってばかりで申し訳ないです。
きちんと動きました。

どうも、ありがとうございました!
226nobodyさん:02/06/25 18:58 ID:???
>>224
>でも、駄目。
何がどう駄目なんだよ!
オマエなんかに作れないって事だけは解るがなw
227nobodyさん:02/06/25 20:31 ID:9ydA7d41
>>226
何がどう駄目なんだよ!

だって、次のページへ進むとProxyがはずれるし、
Javaに対応してないし、
フレームにも、対応してないじゃん。
作りが、あまいの
もっと、プロ仕様にしてくれなきゃ。
228nobodyさん:02/06/25 20:33 ID:9ydA7d41
それにさ、せっかく、cURLって便利なものがあるんだから
cURLを使ってよ。
LetsPHPでしょ。Letsして!藁
229nobodyさん:02/06/25 20:36 ID:???
      __ ┌┬┬┬┐ __
    ―――┴┴┴┴┴―――――、
   /.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ ||     __________
  /.    ∧// ∧ ∧|.||      |||   ||  /
 [/____(゚_//[ ].゚Д゚,,) ||___|||   || <  224=227=228を迎えに来ました
 ||_. *  _|_| ̄ ̄ ∪|.|.       .|ヽ. _||  \__________
 lO|o―o|O゜.|二二 東|.|京 精神 .病院 ||
 | ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
   ̄ ̄`ー' ̄   `ー'  `ー'   `ー'
230nobodyさん:02/06/25 22:37 ID:???
Proxy 厨房をハケーンしますた。
231nobodyさん:02/06/25 22:38 ID:24biITUF
真面目にこたえて欲しいな〜
http://php.s3.to
作った人、きっと、見てんでしょ。藁
232nobodyさん:02/06/25 22:47 ID:???
煽り方が下手です。
233nobodyさん:02/06/26 10:35 ID:???
プロ仕様… Proxyのプロ…
234nobodyさん:02/06/27 02:54 ID:oQ+aVv2C
>>233
君だけだよ
もれのセンスがわかってくれるの。藁
もうちょっと、ちゃんと作って欲しいよね〜って感じ。煽
235nobodyさん:02/06/27 04:38 ID:???
(´ー`)┌
236 :02/06/27 14:51 ID:???
セッションIDで質問です

クッキーが使用できない携帯端末などを想定して
<A href="hoge.php?<?=SID?>">Next</A>

などとして持ちまわっていたのですが、どうしてもformタグを使用しなくて
はならず

<form action=hoge.php?<?=SID?> method=POST>

としてみたらiモードでうまく持ち越せました。
同様にJフォン対応にするべし!と思い

<form action=hoge.php?<?=SID?> method=GET>

としてみましたが撃沈してしまいました。
諦めるしかないのでしょうか?
237nobodyさん:02/06/27 15:32 ID:???
hiddink だよ...
238nobodyさん:02/06/27 23:01 ID:???
あのー、
配列のキーに文字列入れてソートすると、その文字列消えちゃって
整数に変わっちゃうのですが、これを簡単に回避する方法って
何かありますか?というかこれって仕様ですか?

foreach($dat as $line){
list($lasttime,$title,$admin,$comment,$url)=explode("<>",$line);
$mix_data[$lasttime][]=array($title,$admin,$comment,$url);
}
print_r($mix_data);←ここでは文字で出てきてる(2002/06/27(Thu) 22:58みたいな)
rsort($mix_data,SORT_STRING);
list($key,$value)=each($mix_data);
print_r($key);←ここになると0、1になっちゃう
239nobodyさん:02/06/28 21:43 ID:MwZT+i3a
<input type=checkbox name="target" value="1"> 1 <br>
<input type=checkbox name="target" value="2"> 2 <br>
<input type=checkbox name="target" value="3"> 3 <br>

こんなフォームを受け取った場合に全部のcheckboxを見るにはどうしたら良いかの?
2つ以上チェックしたとき、$_POSTや$_GETだと最後のチェックしか見えないのだが。
240nobodyさん:02/06/28 22:37 ID:???
連配
241nobodyさん:02/06/28 23:03 ID:???
>>239
変数ダンプしる。
242239:02/06/28 23:21 ID:???
すまん。nameとvalue入れ替えたらなんとなく動いた。
243nobodyさん:02/06/28 23:49 ID:???
故あって、CGI版で動かしたいのですが、

#!/usr/local/bin/php
<? phpinfo() ?>

とかってやると、先頭に

#!/usr/local/bin/php

と出力されてしまいます。なで?
244nobodyさん:02/06/29 01:33 ID:???
http://www.spencernetwork.org/memo/tips-3.php
ここのHTTPクライアントで、Hoops!のページを取得しようとしたんですが、

HTTP/1.0 200 OK
Date: Fri, 28 Jun 2002 16:28:33 GMT
Server: Apache/1.3.14 (Unix) mod_perl/1.24_01
Content-Type: text/html
X-Cache: MISS from squid4.hoops.hoops.ne.jp
Connection: close

HTTP によるリクエストが不正です.可能性のある問題は以下の通りです:

リクエスト方法が指定されていないか,あるいは不明です.
URL がありません.
HTTP 識別文字列がありません (HTTP/1.0).
リクエストが長すぎます.
POST/PUT リクエストにおいて Content-Length がありません.
ホスト名に不正な文字が使われています: アンダースコアは使えません.

のように取得できませんのです。
アパッチじゃなくスクイドサーバーというの使ってるみたいなんですが、
この場合どないすれば良いでしょうか。
何を加えればよろしいでしょうか。
245nobodyさん:02/06/29 02:55 ID:???
> スクイドサーバー


"Server: Apache/1.3.14 (Unix) mod_perl/1.24_01"
と返すのですか?
246244:02/06/29 03:41 ID:???
http://www.hoops.ne.jp/help/a/faq11_03.html

ここにスクイドって書いてありますけど、
なんなんでしょうか、これ。
247nobodyさん:02/06/29 07:58 ID:???
248nobodyさん:02/06/29 11:29 ID:nVQfumhW
#!/usr/local/bin/php -c /home/hoge/php.ini

↑こんな感じでCGI版PHPを起動しているのですが
-c 指定が効かずに /etc/php/cgi の php.ini が使われてしまいます.
# phpinfo()で確認

http経由でなくコマンドラインから上記スクリプトを実行してもダメでしたが
/usr/local/bin/php -c /home/hoge/php.ini -i
のようにphpを起動すると,意図通りのphp.iniを使ってくれました.

CGI版PHPで任意のphp.iniを使うことは不可能なのでしょうか?

環境は以下の通りです
PHP/4.0.3pl1
Apache/1.3.9
Debian/GNU Linux 2.2

249uho!:02/06/29 12:27 ID:???
PHPを使ってBulknewsさんのへっどらいんを表示させたいのですがやり方がわかりません。
教えてください。
【Bulknews】
http://bulknews.net
250nobodyさん:02/06/29 13:27 ID:???
知識ゼロでやらないで下さい。
やるにしてもリクエストが多いなら、
宮川たんに許可を取ってからにして下さい。
251nobodyさん:02/06/29 14:30 ID:???
>>250
質問スレなんだから教えてやれや・・・。
252nobodyさん:02/06/29 15:04 ID:???
0から教えるスレではないと思うが……。
253nobodyさん:02/06/29 21:39 ID:???
何を実現したくて、そのためにここまではわかっていて、こうやってみた。
でも、こういう点でうまくいかない(こんなメッセージがでる)。
どうすりゃいい?
くらいの聞き方はしてほしい。
254nobodyさん:02/06/29 22:02 ID:???
ZAKZAKとAsahi.comを表示させようとしています。
これはうちのサイトがニュースサイトだから、かなり個人的な。
Perlでならできた。だけど負荷が高いから一時停止してPHPに乗り換えようとしています。
これでいいですか、>>253さん?
255nobodyさん:02/06/29 23:15 ID:???
251=254

       か?
256PEAR太郎:02/06/30 00:47 ID:???
PEARを使用し開発しているのですが、Postgresのカーソルまわりでどうしても
答えが見つからないので、どなたかご存知の方おられましたらお知恵を
お貸しください。
以下のようなソースを書き、結果をブラウザーに出力しデバッグしているのですが、
すべての答えにDB_OK(データ無しだがSQL成功)が帰って来まして、どの答えにもデータがのって来て
くれません。どなたかPEAR上で、FETCHによりデータを取り出す方法をご存知無いでしょうか?

#同SQLはPSQLにてテストし、思い通りのデータが取り出せております。

$sql = "BEGIN WORK;";
$res = $db->query( $sql);
print_r( $res);
$sql = "DECLARE cur CURSOR FOR select * from data;";
$res = $db->query( $sql);
print_r( $res);
$sql = "FETCH 20 FROM cur;";
$res = $db->query( $sql);
print_r( $res);
$sql = "CLOSE bbs_cur;";
$res = $db->query( $sql);
print_r( $res);
$sql = "END WORK;";
$res = $db->query( $sql);
print_r( $res);
257 ◆AngelBlk :02/06/30 00:54 ID:???
>256
いや・・・なんていうか。
$resの中に何が入っているか勘違いしてるような。

http://pear.php.net/manual/ja/core.db.tut_fetch.php

この辺参照。
258nobodyさん:02/06/30 00:56 ID:???
>>254
> これでいいですか、>>253さん?

#漏れは253氏ではないが...

誰が読んでも253氏の意図するところとは違う。
259nobodyさん:02/06/30 02:37 ID:???
php4activescript.dll?(・ε・)
260PEAR太郎:02/06/30 10:40 ID:???
>>257
普通にsql文に"select * from hoge"等とし、$resにDB_Resultが返って
来て、それに対してfetchする一般的な処理は理解できるのですが、
queryによって返ってくるのが、上記カーソルの例の場合DB_Resultではなく、
DB_OKばかりなのです。FETCHでDB_Resultが返って来てくれることを
期待したのですが・・・
261Power:02/06/30 16:32 ID:I8dOrvMO
PHPで画面間でクラスを渡す方法ってありますか?
セッション変数とかで出来るのでしょうか?
262nobodyさん:02/06/30 17:06 ID:???
すいません質問です。

レッツPHPの「PHPあぷろだ」を使いたいのですが、
ある特定の拡張子のみ(jpgとか)うp出来るようにしたいのですが、
どのようにすればよろしいでしょうか?

スレ違いだったらすいません
263nobodyさん:02/06/30 19:16 ID:???
>>262
レッツPHPとやらのURLくらい書いておけよ

if($pos=="") $ext='xxx';//拡張子が無いときはxxx
↑この行があるが、これを見てピンとこないのか?
ちとは自分で考えれ
264nobodyさん:02/07/02 16:09 ID:???
Alpha 2 of PHP w/ the Zend Engine 2 Now Available
265nobodyさん:02/07/02 16:40 ID:xZuMtSlY
phpを使って
2ちゃんねるのdatファイルを読み込みたいのですが
どうしたらよいのでしょうか?
266nobodyさん:02/07/02 16:43 ID:???
>>265
かってにHTTPクライアント実装して。
267nobodyさん:02/07/02 16:46 ID:xZuMtSlY
>>266
要約すると
素人にはお勧めできない
ってことですか?
268初期不良:02/07/02 16:54 ID:LBDwMoL/
269nobodyさん:02/07/02 19:17 ID:mUq62rt1

$site = 'http://aaa.bbb.ccc.com';
print "<a href=\"$site\">ABC</a>";

これってエスケープしないで書く方法ってないの???
Perlはあるのに。。。
270nobodyさん:02/07/02 20:09 ID:???
ヒアドキュメント
271nobodyさん:02/07/02 20:19 ID:???
$site = 'http://aaa.bbb.com';
$format = '<A href="%s">ABC</A>';
printf($format, $site);
272244:02/07/02 20:37 ID:???
htmlって " つけなくたって大丈夫じゃん
つける必要ってあるんか?
273nobodyさん:02/07/02 21:30 ID:mUq62rt1
どうも。
> つける必要ってあるんか?
ま、特に無いですけど、気持ち的にですね。
ちなみにヒアドキュメント以外でと思っていたのですが、
やはりないのでしょうか。prinfもちょこっとめんどくさいし。

perl風に print qq(<a href="$site">ABCDEF</a>); とかないんですかね〜?
274244:02/07/03 00:08 ID:???
一重引用符から一重引用符まで、
二重引用符から二重引用符まで、
となってるので、
echoなりprintなりする場合は、
' """"""""""""""""""""';
ということで。逆もまたアリ。
がんがれ。
275おぶじぇくと歯垢:02/07/03 01:39 ID:J1Ir7H21
perl上がりでPHPいじってるんだけど
なんで くらす とか ふぁんくしょん とか使わなくちゃいけないのか
さっぱりわからん。
ふぁんくしょんっっ〜のは平たく言えばサブルーチンの事?
くらすにいたっては完全にわけわかめ。
276nobodyさん:02/07/03 02:11 ID:+bzS6Uur
277 :02/07/03 12:07 ID:???
>>275
何回も繰り返し処理をするものや同じ記述をコード内に繰り返すものを
ファンクションでサブルーチン化、これ便利ね。
ある程度まとまった複雑な処理をする場合、これをクラス化して内部の
関数を取り出したり再利用することができるこれがクラスね。
で、PHPでどこまでのものつくるかしらんがちょっとした程度のもんなら
クラスなんてつかう必要はない。
278nobodyさん:02/07/03 14:10 ID:???
>>275
クラス使う場合はオブジェクトな指向を思考してください。
279nobodyさん:02/07/03 14:22 ID:???
>>277
(´-`).。oO(それ、クラスの使い方間違ってるような‥‥)
280nobodyさん:02/07/03 20:59 ID:govsnHFj
phpにgdを組み入れてインストールしたいんだけど、どうにもうまく
動きません。gdは1.8.4
redhat7.3つかてるんだけどもgdは最初から組み込まれているみたい。
rpm -eしてからmake installとかして--with-gdとかにしてるんだけど
やるとapacheが起動しなくなります。へるぷ
281nobodyさん:02/07/03 21:00 ID:???
超しろうとです。。よろしくお願いします。

form.html(下記参照)にてテキストボックスに
文字を入力し、submitボタンで送信しましたが、
display.php(下記参照)に何も表示されません。
原因としては何が考えられるでしょうか???

phpのバージョンは4.2.1です。


form.htmlのソース

<html><body>
<form action="display.php" method="POST">
<input type="text" name="fName" size="30"><br>
<input type="submit" value="submit">
</form>
</body></html>

<html><body>
<?
print $fName;
?>
</body></html>




display.phpのソース

<html><body>
<?
print $fName;
?>
</body></html>
282nobodyさん:02/07/03 21:16 ID:R6CLh4kM
print $fName;
でなくて
print $_POST["fName"];
283281:02/07/03 21:38 ID:???
>>282
どうもありがとうございます!
早速明日会社でやってみます!!
284nobodyさん:02/07/03 22:57 ID:???
>>281
スレの頭に原因が書いてあるので嫁。
phpinfo()くらい確認しろ。
285Power:02/07/04 11:27 ID:6mswN9rJ
header関数がうまくいきません。

header("Location: http://www.php.net/");
上記を実行すると下記のエラーが発生します。
どして?

Warning: Cannot add header information - headers already sent by
(output started at /test/test.php:7)
286nobodyさん:02/07/04 11:48 ID:???
そのままです。
検索すればすぐに解明できそうなものを。。。
287nobodyさん:02/07/04 15:12 ID:???
>>285
headers already sent だから
288nobodyさん:02/07/04 18:10 ID:???
こんにちは。returnで配列を返す時に、

送る側
return($list);

受け取る側
$list=$this->hoge();
while(list($key, $value) = each($list)) {
処理・・・・
}
と書いてますが、値が全然取れません。送る前に値が入っているのは確認しました。
明確に「配列だよ〜ん」と書く必要がありますか? それはPHPでどうやって・・・?
すみません、よろしくお願いいたします。
289nobodyさん:02/07/04 18:57 ID:???
>>285
えっと、header関数が組み込まれる前になんか文字とか出力されてると
そんなエラーでまつ。とゆーわけでheader以前のprint文なんかを確認するとか、もしくは
<?php ?>で囲まれてない部分にスペースとかなんか文字がかかれているとエラーになるので
そんなのも確認してみまSHOW
290:02/07/04 19:53 ID:bt2uu3Sk
291nobodyさん:02/07/04 20:35 ID:???
flockをかけるタイミングでベストなのは?
292nobodyさん:02/07/04 20:36 ID:???
すみません、アクセスカウンタでの場合です。
293nobodyさん:02/07/04 23:42 ID:dLbCkgI+
JavaScriptみたいに、PHPからブラウザプラグインの環境を知ることは、
できないですかね?できないですよねぇ…
294nobodyさん:02/07/05 00:52 ID:???
サーバサイド
295nobodyさん:02/07/05 01:52 ID:jFz8E7Y4
>288

whileの前で$listの中身確認してみては?
296nobodyさん:02/07/05 07:14 ID:???
297nobodyさん:02/07/05 10:32 ID:C173d5WV
PHPでキーボードイベントや
マウスクリックイベントを取得することはできないのですか?
getkeystate みたいなやつとか・・
298nobodyさん:02/07/05 10:42 ID:???
クリップボードの中身を取得することはできますでしょうか
299293:02/07/05 12:37 ID:bJdk03R6
>>296
お、それFlashもわかるみたいでいいですね。
でも共用レンタルサーバなのでbrowscap.ini がインストールできない。。
300nobodyさん:02/07/05 12:40 ID:???
>>298

氏ね
301nobodyさん:02/07/05 13:08 ID:???
>>299
んなこたーない。
302nobodyさん:02/07/05 21:28 ID:???
なあ、一言だけ言わせてくれ。

SESSIONって便利だねえ!

御清聴ありがとうございますた
303nobodyさん:02/07/05 23:03 ID:???
ディレクトリが作りたくてmkdirやってみたはいいですけど、
そのphpファイルと同じディレクトリならディレクトリ作れますが、
セーフモードの場合その下位にも上位にも作れないですよね。

上位は流石にマズいと思われるのでどうでもいいですけど、
一つのphpファイルだけで下位に作れちゃう方法はありますか?
304nobodyさん:02/07/05 23:46 ID:6m20wbXX
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
</head>
<form NAME="output" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
<input type="hidden" NAME="text" value="">
<input type="submit" value="押すな">
</form>
<script language="JScript">
function transferClipboard() {
document.output.text.value = clipboardData.getData("Text");

}
transferClipboard();
</SCRIPT>
<?php
if($_POST["text"]) {
$fp = fopen("/tmp/data.txt","a+");
fwrite($fp,$_POST["text"]."\n");
fclose($fp);
}
?>
305nobodyさん:02/07/06 12:11 ID:g7/vswyq
ヽ(´▽`)ノ ユカイダナ-
306nobodyさん:02/07/07 00:37 ID:???
うふふ。
307nobodyさん:02/07/08 19:13 ID:vmjgMMy4
すいません、質問です。
100分の3とか、確率を設定して、当選するかしないかというプログラムを書いています。
DBから3というデータを取り出して、配列に3個の要素を格納し、一個ずつ、乱数を生成して
(例えば10,100,500とか乱数で出す)、任意の数字とマッチさせて、マッチすれば、当選という
感じにしています。

ところが、1000分の500にしようとして、500個生成したら、その中で同一の数字も出てくる
わけで、その分当選率が下がってしまいます。例えば、500個のうち、100が10回出てきたら、
1000分の490になってしまうのです。

それではいけないので、100が一回出てきたら、もう100が出ないように、すでに出てきた
要素数とマッチさせて、マッチしたらもう一回生成するという感じで組んだのだが、
それで実装すると、恐ろしく時間がかかってしまいます。

その当選するかどうかの処理は、五個あるので、ちょっと使い物になりません。
どうしたものかと頭を悩ませております。助言くださりませ。

連想配列を使えとありますが、どう書いたらいいかわかりません。。。。。
一応、今書いているコードを書いておきます。

$yousosu1 = 500;
for($i=1;$i<=$yousosu1;$i++){
$atari1[$i] = rand(1,1000);

/* これまでに生成された要素を取り出す */
for($ii=1;$ii<$i;$ii++){
/* これまでに生成された要素と同じであれば、その要素を消す */
if($atari1[$ii] == $atari1[$i]){
array_pop($atari1);
}
}
}

308nobodyさん:02/07/09 00:51 ID:bUbte1LM
>>307
・要素数1000の配列を作ってそこに1〜1000の値を順に格納。
・そこからarray_rand()関数で500個抜き取る。

てのは駄目かな?
メモリを無駄に使うけど速度は稼げると思う。
309307:02/07/09 14:17 ID:AVgu1PiI
> 308
ありがとうございます。
解決しました。array_rand()関数なんてあったのですね。
勉強になります。

それ以前に連想配列もわかんないといけないのですが・・・・・・
310nobodyさん:02/07/09 19:03 ID:+vatuIIk
初歩的な質問で恐縮です。

今まで<!--#exec cmd="./xxx.pl"-->のように、CGIをSSI
で呼び出していたのですが、PHPでCGIを呼び出して結果を
表示させる事は可能でしょうか?
311.:02/07/09 22:17 ID:???
勿論。
312nobodyさん:02/07/10 01:02 ID:+PGQkPhp
>>311
呼び出し方を教えてください
313osage:02/07/10 01:41 ID:???
shell_exec?
314nobodyさん:02/07/10 01:47 ID:???
>>312
PHPのマニュアルの言語リファレンス読んできいや。
315nobodyさん:02/07/10 02:02 ID:???
>>310
でも、そんな変なことをするよりも、もっとまともな解決方法はあるから、
そういう手法を身につけるべき。
316nobodyさん:02/07/10 02:04 ID:???
>>312
<!--#exec cmd="./xxx.php"-->
これでいいんじゃねーの
317nobodyさん:02/07/10 02:04 ID:+PGQkPhp
日本語訳を読んでみましたが、http://www.php.net/manual/ja/ref.exec.php
ここらへんだと思うのですが、手当たり次第実行してみても表示されません。
318nobodyさん:02/07/10 02:08 ID:???
PHPの呼び出しを、通常の <? ?> ではなく
タグ文字でない {? ?} みたいなのでやりたいのだが
ソースのどこをいじればできるのか教えれや
319nobodyさん:02/07/10 02:11 ID:???
あんなに良いマニュアルあっても、ほとんどの人は読んでいないんだろうな。
PHP-USERS の ML 見てると

「インストール」が3割
「○○について」が2割
「○○が動きません」が2割
マニュアル読めば分かるものばっかり

たまには、マニュアルも読みなさい。
http://www.php.net/manual/ja/
320316:02/07/10 02:16 ID:???
>>312

316だが、すまんカン違いしてた。
俺は実行結果を加工してるので exec() 使ってる。

加工する必要がないなら system() とか passthru() とかでいいんじゃねーの?
321nobodyさん:02/07/10 02:18 ID:???
>>319
出来ない人ほどマニュアル見てないからなぁ
口ばっかり達者で人に聞くことしか知らん・・・
322nobodyさん:02/07/10 02:29 ID:???
おまいら、設定の所も読んでください。

>318
確かソースをいじる必要はなかったんじゃ・・・
ソース手元にないんでちょっとあれだけど、
ソースいじるならASPモードの方判定しているところとかどうよ?

>317
セーフモードによる制限とかに引っかかっていませんか?

>320
最後の一行しか返らないんじゃなかったっけ?
全部欲しいときは、shell_exec()で
323nobodyさん:02/07/10 02:37 ID:+PGQkPhp
>>315
コンテンツを作るのに精力を傾けているので、Perlも改造程度しか
出来ないんです(頭の問題もあるけど)、PHPに少しずつ移行した
いのですが、こまごましたスクリプトを書き直すのは時間が掛かり
過ぎるので、今あるPerlベースのスクリプトを活用したいのです、
出来る人から見れば変かもしれませんが...

>>316
それはSSIでPHPを呼び出す方法では?その後の>>320も試したけど
なにも表示されませんでした。
詳しく書くと、xxx.phpからSSIのように部分的にCGIを実行させた
いんです、<? exec("./xxx.cgi"); ?>でいいのですか?
ここがわからないと実行の仕方が悪いのか、呼び出しているCGI
が問題なのかわかりません。
324osage:02/07/10 02:41 ID:???
<?
echo exec("hage.cgi");
?>
では?

#セーフモードで、exec()を制限してたりしない?
325nobodyさん:02/07/10 02:43 ID:+PGQkPhp
>>322
セーフモードって<? phpinfo(); ?>で一覧が出てくる中にある
safe_mode_exec_dirとかですか? 1になってます。
safe_modeはOffでした。
326osage:02/07/10 02:51 ID:???
いや失敬 Off なら OK です。
327nobodyさん:02/07/10 03:12 ID:+PGQkPhp
>>324
ありがとうございます、一応は動くことが確認できました。

でも、printが動いているだけで、Perlとしては動いていないようです。
試しに、下記をcgiとして動作させると表示はしません。
#!/usr/local/bin/perl
$AGENT=$ENV{'HTTP_USER_AGENT'};
print "$AGENT";

print '$AGENT'; とすると「$AGENT」、print "hoge";とすると「hoge」
とでます、PHPとして動いているって事ですか?
328nobodyさん:02/07/10 21:23 ID:???
>>327
> printが動いているだけで、Perlとしては動いていないようです。

意味不明。


> 下記をcgiとして動作させると表示はしません。

だろうな。


> PHPとして動いているって事ですか?

ワケワカラン。
エラーメッセージが出なければ動いてるんだろ。
329nobodyさん:02/07/10 21:28 ID:???
>>323
そんなこといっている&わけのわからん試行錯誤している暇があるんなら、
まともな手法おぼえろよ、バカ。
330nobodyさん:02/07/10 21:51 ID:FZyFUyp9
>>328>>329
結局お前もわかんないんだろ?俺も試したがわからん
素朴な疑問としても面白いと思うが、回答求む
331nobodyさん:02/07/10 21:54 ID:???
>>330
わかるよ
でも面白くないから答えてやんない
332nobodyさん:02/07/10 22:29 ID:???
ウフフって感じだね
知らないくせに
333328:02/07/10 22:40 ID:???
>>330
漏れは327の言っていること自体よく分からん。


#それにしても、"ID:+PGQkPhp" ってカコイイよな...
334nobodyさん:02/07/10 22:42 ID:???
> 素朴な疑問としても面白いと思うが

……。(呆
335nobodyさん:02/07/10 22:51 ID:???
スキルのない煽り君だらけって事で終了〜
336nobodyさん:02/07/10 23:16 ID:???
スキル以前のことを質問しているってことすら認識できていないバカ発見。
337327:02/07/11 00:24 ID:OZ6VhSK5
どなたかわかる方いませんか?(^^;
338 ◆IEXmM1Rw :02/07/11 00:51 ID:???
Oracle DB に接続できない!

PHP4 + Oracle8i + Windows2000Pro + Apache 3
です。
339nobodyさん:02/07/11 00:56 ID:???
>>337
だから、お前がなにやっているのかすらも意味不明なんだよ…。
340nobodyさん:02/07/11 01:10 ID:???
>>327
いや、あんたはまずPerlをお勉強するべきです。
ちゃんとCGIを動かせるようになってからもう一度きて欲しい。
341nobodyさん:02/07/11 01:34 ID:OZ6VhSK5
>>339
例えば、下記のhoge.cgiをPHPから呼び出して表示するには、どうし
たらいいでしょうかって事なんですけど。
#!/usr/local/bin/perl
$AGENT=$ENV{'HTTP_USER_AGENT'};
print "$AGENT";

SSIで呼び出すように<!--#exec cmd="hoge.cgi"-->、PHPから
<? echo exec("hoge.cgi");?>を呼び出してもうまくいきません。
342340:02/07/11 01:41 ID:???
いい加減うぜーつーの
fopen調べろ
343nobodyさん:02/07/11 02:09 ID:???
俺も答えられないんだけど、ここにはまともな奴はいないのか?
『知識は自慢するものではなく人に伝えるもの』っていい言葉
があるよ。
344nobodyさん:02/07/11 02:14 ID:???
>>343
またこの手のバカが出てきたかよ…。ったくバカが口出すな。
345nobodyさん:02/07/11 02:56 ID:???
馬鹿がバカに向かって「バカ」と言えるスレはここですか?
346高卒童貞無職:02/07/11 09:57 ID:???
--- hoge.php ---
〜〜〜〜〜〜〜〜
<?
$mstrng = shell_exec('./cgi-bin/env.cgi');
$mstrng = ereg_replace( "Content-type: text/html", "",
$mstrng );
echo $mstrng;
?>
〜〜〜〜〜〜〜〜

--- env.cgi ---
#!/usr/local/bin/perl
print <<END_OF_HTML;
Content-type: text/html
<div align=center><table border=1>
<tr><th>Environment variable name<th>value</tr>
END_OF_HTML

while (($key,$value) = each %ENV) {
print "<tr><td><font color=blue>$key</font><td>$value</tr>\n";
}
print "</table></div>"

---
今すぐ回線切って柿の木残して首吊って死ね。
347nobodyさん:02/07/11 10:44 ID:???
何か変……。
348nicebodyさん:02/07/11 13:23 ID:???
>>341

PHPから呼び出した時点でCGIじゃないので、
perlとしては動くが CGIとしては動かないというのが正解だろう。

つまり、CGIとして伝えられるはずの環境変数なんかは伝わらないに10モナー 

試してないから責任は取りません。
349nobodyさん:02/07/11 13:27 ID:???
>>343

ちゃんと教えてもらうなら、有料になりますね。


只がよければ煽りにも耐えて待つしかねーだろと思われ
350nobodyさん:02/07/11 14:04 ID:7dp96S8n

うざかったら放置で頼みます。
SQL使用不能・PHP4セーフモードのレンタルスペースにて、
サイト内検索(テキストファイル内からの検索)エンジンを使いたいのです。
フリーのソースを探し回ったところ、どこもSQLを使用しておりまして。
phpdotcomからも見つけられなかったのですが、
どこかにフリーで公開しているところありませんかね?

自分が何か勘違いしている可能性もあるので、そこのレンタルスペースの規約(抜粋)。
Q: PHP は使用できますか?
A: PHP4 がモジュールでインストールされております。ただし、セキュリティの関係上から safemode でのみ動作いたします。拡張子を .php にしてください。また、データベースとの連携は行っておりません。
351nobodyさん:02/07/11 15:18 ID:???
(´-`).。oO(どこの鯖か一発で判っちまった‥‥)
352nobodyさん:02/07/11 15:41 ID:???
>>350

Namazu れ。


> 肉

???
353350:02/07/11 15:55 ID:???
>>352
NamazuはPerlを使えるようになってないといけないようで。
私が世話になっているribbon.to/httpd/faq.htmlではPHPのみ可能らしいです。

自分、何か勘違いしてたら指摘求む。
354nobodyさん:02/07/11 16:41 ID:???
(´-`).。oO(共用サーバで全文検索スクリプトはやめてホスィ(゜д゜)
       
355350:02/07/11 18:39 ID:???
>>354
それを言われると痛い.....
いや、Googleのサイト内検索も効かないもんで。
356nobodyさん:02/07/11 19:40 ID:???
ribbon.2
357nobodyさん:02/07/11 19:41 ID:???
教えて君に対抗する、教えてやらない君が出現し始めたような気がする…。
358nobodyさん:02/07/11 21:19 ID:???
>>357
で、質問は何ですか?
359osage:02/07/11 22:13 ID:Rp1Mey72
遅レススマソ

>>347
『何か』どころか全然だめでしょ?
shell_exec した時点で、ENV 引き継げなくのは当たり前。
少し考えてからコードかけ。

>>342
fopen なんてしたら、php が動いているところ(WebServer)の ENV が入って来ちゃうでしょ?

>>330
面白いもなにも、最初に提示された条件だけなら、
<?echo shell_exec('/hoge.cgi')?>
だけで、十分だろ

>>329
最初の質問者がアホだから仕方がない

よって
>>341 は、
・php 側で ENV 全部入れ直す。
・全部 php に直す。
のいずれか以外に道はない


全員、php でもなく、perl でもなく、"CGI"のお勉強でもしる
360nobodyさん:02/07/11 23:07 ID:???
>>359
> 全員

って何さ?
361nobodyさん:02/07/12 00:49 ID:???
>遅レススマソ
この一言だけで「終わった話題を蒸し返した」&「全てガイシュツなレスを垂れた」罪が赦されると
思っているなら>>359は氏ねよ今すぐに。
362nobodyさん:02/07/12 02:39 ID:???
遅レスでもレスつけれないやつよりはマシかと
363osage:02/07/12 03:33 ID:???
>「全てガイシュツなレスを垂れた」
どこら辺が、すべてガイシュツなんだ?

#終わった話だったのは、みとめるけどさ。
364nobodyさん:02/07/12 14:16 ID:???
キタイ(・∀・)age.
365350:02/07/12 15:23 ID:???
>>364
あがっていませんよage
366nobodyさん:02/07/12 20:50 ID:GVODDFli
すみません、質問です!

あるスクリプトaaa.phpからbbb.phpを呼び出して実行したいと考えています。
が、このbbb.phpは現在↓のようなかたちで

bbb.php?id=1&html=ture

呼び出されています。
idはこれをキーとしてDBを読み、関連データを持ってくる。
htmlはtureであればHTMLファイルを生成し、
指定されていなければそのままブラウザに出力する。

現在bbb.phpは一覧表のような所からリンク形式で呼び出されているのですが
データ登録時(←aaa.php)にHTMLファイルを自動生成する必要性が出てきてしまいました。

readfile("bbb.php?id=1&html=true");

とやってみましたが、「んなディレクトリやファイルはねぇぞ、(゚Д゚)ゴルァ!!」とエラーが。
まぁ、当たり前ですね。実際のファイル名は?以降が無いのですから。
?以降を付けなければ動きますが、idが無い為データも読まずHTMLファイルも作られず…。
こういう時はどうしたらいいのでしょうか???
?以降もくっつけて呼べる関数などあるのでしょうか。
それとも別のPHPファイルでも変数を引き渡せる方法があるのでしょうか…。

長い上に分かりづらくて申し訳ありません。
どなたか、分かる方。よろしくお願いしますぅうう。゜(゜´Д`゜)゜
367nobodyさん:02/07/12 23:30 ID:???
>>366
aaa.phpの処理が終わった後に
bbb.php?id=1&html=trueを表示させたいって事?

header("Location: bbb.php?id=1&html=true");exit;
じゃ駄目なんか?
368osage:02/07/13 00:15 ID:???
META タグの refresh とか JavaScript でも何とかなりそうですね。
HTTP の Location も含めてクライアント側が対応していないとだめですが。

META タグも JavaScript もブラウザの設定によっては×
Location は Netscape4.x(バージョン忘れた) でバグっていてうまく動かなかったはず。

これだけだとPHPに関係ないので、もう一つネタ。

$_GET['id']=1;
$_GET['html']=true;
include_once("bbb.php");

保守性悪そうだけど。
369nobodyさん :02/07/13 16:07 ID:DKHlRt3C
 初心者な質問ですみませんが、PHPで路線バスの
時刻表検索サイトを作ることは可能なのでしょうか?
370j:02/07/13 16:14 ID:68IOunJU
371nobodyさん:02/07/13 17:49 ID:???
>>369
禿 げ し く ア バ ウ ト だ な 。
372nobodyさん:02/07/13 18:25 ID:???
>>369
そりゃ作れるが‥‥‥
373nobodyさん:02/07/13 18:39 ID:gZEmWErp
>>372

もう少し高機能な言語を選択したほうがいいと思います。
374nobodyさん:02/07/13 18:41 ID:gZEmWErp
PHP の変数、関数のコーディング標準っていったいどうなってんの?

in_array とか基本的な関数は _ 区切りだが、
多くのライブラリの書式に従うなら、 inArray でなければいけない
はずだろ。
375nobodyさん:02/07/13 19:21 ID:???
>>373
> もう少し高機能な言語

例えば?
376山田:02/07/13 19:30 ID:WDQKN29y
p-inを出先で使っていますが、電波の具合が悪く通信途中でとぎれます
せっかくネットを立ち上げ、いざ検索の段階でとぎれることもしばしば
ドコモのエリアで調べたらちょうど円の周辺
ドコモに問い合わせても、いつ周辺に発信基地ができるかわからないとのこと
なにかいい方法ないでしょうか?
電波を増幅させる機器も買ってみましたが今ひとつ
それと10分以上使って発熱するととぎれやすいような気もします
よい解決方法ありましたらどなたか教えてください
ちなみに20時間使用で5000円程度のコースに入っています
377nobodyさん:02/07/13 19:51 ID:???
>>376
誤爆ですか?
378nobodyさん:02/07/13 22:42 ID:???
>>350
ここに書き込む方々はフリーで公開されている既存のものを使うより、
自作マンセーな方々が多いので答えられないのではないかな。
だからいっそのこと自分で作ってみたらどうでしょう。
検索機能がついているBBSのソースから抽出して改造とかしてみたら、
結構簡単に作れましたよ。
ド素人な私でも作れたのですから、きっとあなたも作れるでしょう。
ちなみに私はレッツPHPのpppbbsから取り出しました。

頑張ってくださいね。
379nobodyさん:02/07/14 09:38 ID:vRstB+mQ
>>375

Java とかイイんでない?
380川田:02/07/14 10:01 ID:A1YZ/1/S
>>376
ここはPHSとかそういう類のスレではないので、、、。
ちなみに書籍でもないんです。。。


perlなスレには真珠がどうのって言うヤシは来ないのになぁ。。。
381nobodyさん:02/07/15 18:28 ID:BTTlxQyy
while (list($key, $val) = each($HTTP_GET_VARS))
{
echo "$key => $val<br>";
}
/////////////////////
// test.php?aaa=bbb&ccc=ddd
全く表示されません。設定の問題は、
php.ini
bariables_order = "EGPCS"
track_vars = On
register_glovals = On
/////////////////////
環境は
PHP Version 4.3.0-dev
FreeBSD server 4.5-RELEASE FreeBSD 4.5-RELEASE
382nobodyさん:02/07/15 20:34 ID:???
>>381
その環境なら余裕で表示されるが。
383381:02/07/15 23:17 ID:BTTlxQyy
php-4.3.0-dev-zend2-alpha2.tar.gz
これ入れてからダメみたい…。
とりあえず、alpha1
でためしてみるぽ…
384nobodyさん:02/07/16 00:08 ID:0ekhabd+
FreeBSD 4-stable です。
ZendOptimizerをインストールしようと、FreeBSD 4用のアーカイブを
落としてきて、install.shを実行したのですが、httpd.confを検出するところで
正しくパスを入力してるにもかかわらず、not foundといわれてしまいます。

解決法をご教授ください。お願いします。
385nobodyさん:02/07/16 01:04 ID:???
str_replace() を利用して
$str から文字列 aaa と bbb を取り除きたい場合、
一行というか一回の str_replace() で
行うにはどのようにすれば良いでしょうか?

文が分かりにくかったらすみません。
386nobodyさん:02/07/16 01:20 ID:YSc0cfCK
$str = str_replace(array("aaa","bbb"), "", $str);

なんかのクイズ?
387385:02/07/16 01:28 ID:???
>>386さん
> なんかのクイズ?

えっ、いや、なんでもないです。
どうもありがとうございました。
388nobodyさん:02/07/16 10:18 ID:???
>>387
PHP 4.0.5 以降でしかパラメータに配列が使えないので念のため。
389nobodyさん:02/07/16 14:41 ID:???
質問です。
共用サーバーで検索システムを作る場合、

(1) 検索PHPファイル + 沢山の小さなデータファイルの組み合わせ
(2) データを含めた大きな1つの検索PHPファイル

この二つのどちらがサーバーに負担が少ないのですか?
メンテナンスのやりにくさは除外して考えてくださいませ。
390nobodyさん:02/07/16 14:50 ID:???
(3) 専用サーバを使う
391nobodyさん:02/07/16 17:07 ID:???
>389
(4)カテゴリごとに一覧を作成して、Ctrl+Fで ユーザに検索させる。
392nobodyさん:02/07/16 18:27 ID:OwvUkVFD
phpでカウントダウンさせたいのですが??

例えば「ワールドカップまで〇日」の〇の部分を日々カウントしてくような。。

ひょっとしてものすごいかんたんなのかなぁ。
393nobodyさん:02/07/16 18:37 ID:HSUjeezF
Warning: Undefined offset: 0 in ...
どうやったら警告消えるのでしょうか???
(PHP4.1.2)
394nobodyさん:02/07/16 19:04 ID:???
自分自身のパスを調べるにはどうしたらいいでしょう?
ttp://www.2ch.net/read.php?board=5&thread=11944823
みたいなURLで、引数も含めて調べたいのです。

$PHP_SELFだと read.php だけしか取得できないですよね?
395555:02/07/16 21:52 ID:???
>
396nobodyさん:02/07/16 22:14 ID:/jKGjeLf
$_SERVER['REQUEST_URI']
397nobodyさん:02/07/16 23:30 ID:???
>>392
小学校で算数習わなかったのか?
あれで逝け
398nobodyさん:02/07/17 00:03 ID:???
>>392
厨房なりに気の向くまま書いてみますた。
コピペでそのまま動くYO!

<html><head></head><body>
<? if(isset($year) && isset($month) && isset($day)){
if(checkdate($month,$day,$year)){
$nowy = date("Y",mktime(getdate()));
$futurey = date("Y",mktime(0,0,0,$month,$day,$year));
$nowm = date("m",mktime(getdate()));
$futurem = date("m",mktime(0,0,0,$month,$day,$year));
$nowd = date("d",mktime(getdate()));
$futured = date("d",mktime(0,0,0,$month,$day,$year));
$nowunix = date("U",mktime(getdate()));
$futureunix = date("U",mktime(0,0,0,$month,$day,$year));
$result = round(($futureunix / 86400),0) - round(($nowunix / 86400),0);
}}?>
<form action="day.php" method="POST">
<input name="year" type="text" value="<?=$year?>">年<br>
<input name="month" type="text" value="<?=$month?>">月<br>
<input name="day" type="text" value="<?=$day?>">日<br>
<input type="submit" value="調べる"><br>
<? if(isset($year) && isset($month) && isset($day)){
if(checkdate($month,$day,$year)){ ?>
今日<?=$nowy?>年<?=$nowm?>月<?=$nowd?>日から<br>
<?=$futurey?>年<?=$futurem?>月<?=$futured?>日まで<br>
あと<?=$result?>日だという罠。<br>
<? }} ?>
</form></body></html>
399398:02/07/17 00:19 ID:???
checkdate思いっきり
2038年問題にひっかかってますな。
逝きます。
400398:02/07/17 02:02 ID:???
やっぱり自分は厨房でした。。。
roundなんつうハンパなことしてすみません。
しかもUNIX時間って
日本時間だと時差で1970/1/1の00:00:00じゃなくて
1970/1/1の09:00:00からになってしまうとは知らなんだ。
対応版あげときます。

<html><head></head><body>
<? if(isset($year) && isset($month) && isset($day)){
if($year > 1969 && $year < 2038){
if(checkdate($month,$day,$year)){
$nowy = date("Y",mktime(getdate()));
$nowm = date("m",mktime(getdate()));
$nowd = date("d",mktime(getdate()));
$nowh = date("H",mktime(getdate()));
$nowmi = date("i",mktime(getdate()));
$nows = date("s",mktime(getdate()));
$nowunix = date("U",mktime(getdate()));
$futurey = date("Y",mktime(0,0,0,$month,$day,$year));
$futurem = date("m",mktime(0,0,0,$month,$day,$year));
$futured = date("d",mktime(0,0,0,$month,$day,$year));
$futureunix = date("U",mktime($nowh,$nowmi,$nows,$month,$day,$year));
$result = ($futureunix - $nowunix) / 86400;
// $result = floor(($futureunix / 86400)) - floor(($nowunix / 86400));
// $result = round(($futureunix / 86400),0) - round(($nowunix / 86400),0);
}}}?>
<form action="day.php" method="POST">
<input name="year" type="text" size="4" maxlength="4" value="<?=$year?>">年<br>
<input name="month" type="text" size="2" maxlength="2" value="<?=$month?>">月<br>
<input name="day" type="text" size="2" maxlength="2" value="<?=$day?>">日<br>
<input type="submit" value="調べる"><br>
<? if(isset($year) && isset($month) && isset($day)){
if($year > 1969 && $year < 2038){
if(checkdate($month,$day,$year)){ ?>
今日<?=$nowy?>年<?=$nowm?>月<?=$nowd?>日から<br>
<?=$futurey?>年<?=$futurem?>月<?=$futured?>日まで<br>
あと<?=$result?>日だという罠。<br>
<? }}} ?>
</form></body></html>
401osage:02/07/17 03:02 ID:???
>>392
<?
$diff = mktime ( 23/*時*/, 59/*分*/, 56/*秒*/, 8/*月*/, 16/*日*/, 2002/*年*/) - time();
$dday = intval($diff / ( 60 * 60 * 24 ));
echo "hoge まで あと $dday 日";
?>
で十分でし。

>>400
・・・(苦
402nobodyさん:02/07/17 06:33 ID:???
なんか、初心者と達人の違いを歴然と見せつけられたって感じ。
403nobodyさん:02/07/17 07:21 ID:???
なんでかしらんけど、phpの投票システムって有料のが多いですね。
xoopsのratelink部分をちらちらと見たけどそんなに複雑な処理はしてないぽいんだけど。
404nobodyさん:02/07/17 11:01 ID:???
>>403
ハァ?
405381:02/07/17 16:04 ID:dKPGShWR
while (list($key, $val) = each($HTTP_GET_VARS))
{
echo "$key => $val<br>";
}
/////////////////////
// test.php?aaa=bbb&ccc=ddd
全く表示されません。設定の問題は、
php.ini
bariables_order = "EGPCS"
track_vars = On
register_glovals = Off
/////////////////////
ちなみに、
echo $_SERVER["QUERY_STRING"];
は、出力されます。

echo $HTTP_GET_VARS['aaa'];
これは非表示。

わけがわかりません。
406nobodyさん:02/07/17 16:23 ID:44LYmfg4
HTTP_GET_VARS?ハァ?
わけわかるかよ、せめてforeach使え。
407394:02/07/17 17:25 ID:???
>>396
ありがd !
408381:02/07/17 18:07 ID:dKPGShWR
>>406
while (list($key, $val) = each($HTTP_GET_VARS))
…これは、phpのサイトのサンプル(関係ない)

bariables_order = "EGPCS"
track_vars = On
register_glovals = Off
の設定で、なぜ
echo $HTTP_GET_VARS['aaa'];
が出来ないのか?不思議
409nobodyさん:02/07/17 18:11 ID:???
>>408
php4.2.1じゃいかんのか。
$_GET{'aaa'}は?
410osage:02/07/17 20:58 ID:???
4.3.0って、まだアルファ版じゃなかった?
不思議なことはたくさん起こるかと。
411381:02/07/17 22:12 ID:dKPGShWR
echo $_GET{'aaa'};
ダメポ…(鬱

ちなみに、PHP Version 4.3.0-dev
ZENDバージョン(国際化)したい…。
412nobodyさん:02/07/18 12:53 ID:swBq6K+x
ヲイヲイ・・・
初歩的だな

echo $_GET{'aaa'};

じゃなくて

echo $_GET['aaa'];

だろうが。
$HTTP_GET_VARS['aaa'];とかの類の方法は旧式だから4.2.0以降ではデフォルトで使えなくなってることくらいわかってる?
POST、COOKIEとかも同じ。

これでも無理なのかな?
413nobodyさん:02/07/18 13:22 ID:???
>>412
php4.2.1使ってます。
常にTrack_vars=Onなので
$HTTP_*_VARS
使えます。
http://www.php.net/manual/ja/language.variables.external.php
414nobodyさん :02/07/18 18:20 ID:???
PHP4.1.2、postgreSQLを使用しています。
メールで投稿した日本語文字列をDBにinsertして、結果を出力させています。
(DBのコードはEUC)
DBに格納されている内容をコンソールで見ると、正確に出力されているのですが、
ブラウザで確認すると一部の文字だけが文字化けして出力されます。
なお、ブラウザからform投稿したものは、ブラウザで見ても正確に出力されます。
メールで投稿した内容を、一度mb_convert_encodingにかませて
EUCに変換しているのですが、mb_conbert_encodingに不具合があるのでしょうか?
ちなみに文字化けする文字は「詮」です。




415nobodyさん:02/07/18 18:23 ID:???

うああああ。ふたつめのmb_convert_encodingのつづりが違う・・・・。
416nobodyさん:02/07/18 22:39 ID:17eHgoJQ
過去ログで検索かけたのですがかからなかったのでお聞きします。
redhat7.2 php 4.2.1 でregister_globals=Offです。

a.phpで
<form metod="post" action="pope.php">
名前:<input type="text" name="hhh">
によって取得したデータを

b.phpの
<?php
echo (htmlspecialchars($_POST['hhh']));
?>
で画面に表示出来ないのです。しかし、アドレスの所にはデータを拾っている形跡があります。
register_globals=onにしてhtmlspecialchars($hhh)は動作します
register_globals=offでも
ほかのスクリプトで
urlencode($_POST['keywd']);
で動かしている所は反応してくれるのですが
なにか間違っているところがあったら指摘してください。お願いします。
417osage:02/07/18 23:41 ID:dRuvmx6a
>>416
つっこみどころ満載なのだが・・・

・ a.php の action が pope.php
・ metod ってなによ?「めとっど」って読むんですか?

pope.php → b.php
metod → method

まじめにやれ


>>414
PHP USERS の ML か PostgreSQL の ML に「詮」が
文字化けするって言うそのものズバリがあったと思った。

#念のため、両方とも日本の方の ML です。
418nobodyさん:02/07/18 23:52 ID:???
>>412
echo $_GET['aaa'];
を試したの?

こうなったら全部やれ
echo $_GET['aaa'];
echo $_GET["aaa"];
echo $_POST['aaa'];
echo $_POST["aaa"];
419nobodyさん:02/07/19 00:18 ID:???
みなさん、Cross Site Scripting(XSS)対策ってどうしてます?
漏れは仕様にもよるけど、とりあえずユーザーがインプットした
データをアウトプットする時は、htmlspecialcharsなんかで
クリーニングしてるけどこれだけで足りてるのかな?
(もちろんインプット時にクリーニングする時もある)

「漏れはこうしてるよ」とかアドバイス希望。
420412:02/07/19 01:04 ID:sCoO02TZ
409及びそれで「だめぽ」言ってる381に対して言ったんだけど・・・
なんで俺にいろいろとレスが付くんだ・・・

>>413
あなたは318ではなさそうなのでTrack_varsがOnだろうがOFFだろうが知りませぬ。
私が言ったのは4.2.0以降はTrack_varsがデフォルトでOFFですよって指摘。

>>418
試してませんけど明らかに「括弧」が

{ }

じゃなくて

[ ]

だろ、と思ったので指摘したんです。
ちなみに自分もシングルクォートよりダブルクォート派ですな。 ["aaa"]
421nobodyさん:02/07/19 02:43 ID:inSEDcSk
print_r($_POST);

[aaa]派だな。
422パイの魅学園:02/07/19 02:43 ID:Tb+P4mAu

  / ̄ ̄ ̄ ̄ ̄ ミ
  /   ,――――-ミ
 /  /  /   \ |
 |  /   ,(・) (・) |
  (6       つ  |
  |      ___  |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |       \_/ /  <  http://csx.jp/~madrix/
/|         /\   \__________
423osage:02/07/19 02:53 ID:aQSDFnic
>>419
漏れはインプット時にクリーニングは全くしない。
クリーニングが必要なのは出力時でしょ?

PHPのサンプルはなかったけど、
これを参考にしています。
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02.html
とりあえず、既知のXSSならこれで何とかなると思ってる。
424nobodyさん:02/07/19 05:56 ID:6KPWLgZH
アップロードされたファイルから拡張子を取得するには、
どんな感じにすればいいの?
教えてください。
425nobodyさん:02/07/19 06:32 ID:EQKcew3/
複数のファイルのダウンロードをする。HTTPヘッダはどう書けばよいのでしょうか?
426nobodyさん:02/07/19 07:12 ID:???
>>423
掲示板の場合閲覧の方が書き込みより多いから
書き込み時に処理してた方が良い
427nobodyさん:02/07/19 08:14 ID:???
>>425
一番最後の.から最後まで。

.httaccessとかは判別不能だがなー。
428nobodyさん:02/07/19 08:15 ID:???
>>424
>アップロードされたファイルから
つぅかファイルの内容しか飛んでこないんでは?
429nobodyさん:02/07/19 08:33 ID:???
そんなことはない。
430424じゃないが。:02/07/19 08:58 ID:???
>>428
マニュアル嫁。

>>427
.tar.gzとかはテーブル作って処理するしかないのかな?やっぱり。
431nobodyさん:02/07/19 10:51 ID:u7hqhJZW
PHP+Postgresで DBに全角のデータを作って
PHPファイルから検索したいのですが、どうもうまくいきません。
Select * from hoge where = 'モナー';
が、テラターム上では通っても、PHP上からでは
上手くいかないです。
ちなみに、半角では実行できています。

原因わかるようでしたらお願いします。
432413:02/07/19 11:32 ID:???
>>420
>4.2.0以降はTrack_varsがデフォルトでOFF
track_varsは常にOnです。Offにできません。
register_globalsがデフォでOffです。
433nobodyさん:02/07/19 12:23 ID:???
>423
レスありがとございます。
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02.html
を読んでみましたが大変参考になりました。

場合にもよりますが、htmlspecialcharsでこと足りそうですね。
434nobodyさん:02/07/19 12:53 ID:miP7fSIK
$lipton = str_replace("<img*>", "hoge", $lipton);

HTMLのイメージタグ<img*>を全てhogeに置き換えたいのですが
うまくいきません。
正規表現がまちがっているとおもうのですが
教えてもらえませんか?。
厨房ですみません。
435nobodyさん:02/07/19 13:01 ID:???
PHPはよくわからんけど、正規表現でやるなら、 .* じゃないの?
436nobodyさん:02/07/19 13:18 ID:miP7fSIK
>>435
それもしましたが、うまくいかないのですよ。
どうすればいいのやら。
437nobodyさん:02/07/19 13:28 ID:???
>>434
str_replace
じゃなくて、
ereg_replace,eregi_replace

438420:02/07/19 15:56 ID:fBLe97ty
>>433
うぐ、すまなかった
勘違い



でもどっちにしろ$HTTP_*_VARSは旧式で将来のバージョンでは廃止の方向にあるってアナウンスされてるから
これから覚える人もそうでない人もスーパーグローバルの$_*で覚えた方が吉。
まだ古い形式をサポートしてあげてますよってスタンスだね。
439438:02/07/19 15:57 ID:???
>>432
の間違えです。
440:02/07/19 16:01 ID:YbGh4YAD
441nobodyさん:02/07/19 23:49 ID:miP7fSIK
>>437
$lipton = eregi_replace("<img.*>", "hoge", $lipton);
でしてみたら イメージタグの後ろすべてがなくなってりまいました。
どうすればイメージタグだけとりだせるのでしょうか?。
厨房のすみませぬ。
442nobodyさん:02/07/20 00:04 ID:???
image tag の前後を改行汁!
443420:02/07/20 00:05 ID:fSI+96Dt
>>441

最短マッチというやつを使う。
$lipton = preg_replace("/<img(.*?)>/i", "hoge", $lipton);

>>412 の時と同様、試してないのと想像でものを書いているのとで
違ってるかもしれない。
ちなみにpregなのは単に私がpreg派だから。
444osage:02/07/20 00:57 ID:qMVNIFsj
前にも注意されたにもかかわらず、含遅レスです。

>>426
書込時にXSS対策してしまうと、
新しい XSS が見つかったときに対策できなくなったり、
ファイル → DB ができなくなったり(変換後の長さが不定)、
良いこと無いです。

>>433
HTML BODY の部分は htmlspecialchars でほとんど事足りますね。
リンクの場合だけ、面倒。

>>443
漏れも preg 派。
preg のほうが ereg より早いんじゃなかったっけ?
445nobodyさん:02/07/20 02:03 ID:mTlsfDxx
>>443
>>444
ありがとうございました。
解決できました。

<img hoge><a hoge>
こんなときでもOKかすこし不安です。
446420:02/07/20 07:12 ID:dxQFeTg1
>>444
そう、速いはず。
それと、pregで慣れてしまってeregに弱くなってしまった。ってのもある。
微妙に文法違うので。
447420:02/07/20 07:16 ID:???
>>445
試してみればよろしいかと。
色んなパターンで。

しかしこの2ch鯖はPHP/4.0.3pl1載せてるんだね、なんか微妙なバージョンだね。
あまり2chの詳しい部分には詳しくないので疑問だけど、
2chのどこかでPHP使われてるのかな。
ただ組み込まれてるだけか。
448nobodyさん:02/07/20 13:22 ID:???
PHP歴20分です。

PHPではフォームの要素やCookieが「$名前」って言う感じになるらしいですが
フォームの要素名とCookie名が重複した場合はアボーンですか?
449nobodyさん:02/07/20 14:12 ID:???
450nobodyさん:02/07/20 14:29 ID:???
>>449
安心しました。Perlでいちいちやってたことが自動化されるんですな。
月曜から本でも読んで本格的に勉強してみます。
451nobodyさん:02/07/20 21:16 ID:3Kq04NJB
apacheを再インストール(バージョンアップ)したら
PHPももう一回コンパイルしたほうがよろしいでしょうか?
apacheのapxsはバージョンアップで変わるのですか?
452nobodyさん:02/07/21 10:09 ID:???
>>451
apacheのインストールの仕方による。
前と同じ場所にインストールしたんなら必要ないし、
$apache_home/conf/httpd.conf も前のものが引き
継がれるので、PHPもそのまんま使える。
453nobodyさん:02/07/21 19:07 ID:???
古いスクリプトで次のような構文を見たことがあるかもしれません。
$foo[bar] = 'enemy';
echo $foo[bar];
// 等
これは間違っていますが、動作します。では、なぜ間違っているのでしょ う? その理由は、構文の節に記述したように、角括弧の間 ('['および']')に式がなけれ ばならないためです。これは、次のように書くことが可能であることを 意味します。
echo $arr[ foo(true) ];

$_GET[aaa(true)];
はどうよ。
454osage:02/07/21 21:39 ID:???
>>453
意味を取り違えていません?
当然OKですよ。

---ここから
<?
echo $_GET[aaa(true)];
echo $_GET[aaa(false)];
function aaa($r){
return ($r ?"mode":"pass");
}
?>
<a href="<?=$_SEREVR['SCRIPT_NAME']?>?mode=333&pass=20">TEST</a>
---ここまで

foo(true) → 式の必要があることの例示
ということだと思います。
455nobodyさん:02/07/22 03:01 ID:???
いや、、、ちょと、その↑で動かないと嘆いているひとに試してみてくれということだったんすよ。
ごめんさい。
456osage:02/07/22 22:49 ID:???
>>455
う、そっすか。
勘違いレス。スマソ
457nobodyさん:02/07/23 12:29 ID:???
PHP 4.2.2 released in response to vulnerability
458nobodyさん:02/07/24 07:39 ID:W+N1FBoG
そろそろ4.1.2から4.2.2にしようと入れ替えたところ、今まで正常に動いていた
掲示板やチャットがおかしな動きをする・・・。仕様変更?
知っている方がいたらどこが変わったのか教えていただきたいです。
459nobodyさん:02/07/24 08:17 ID:???
マジで氏ね。
460413:02/07/24 08:27 ID:???
>>458
おそらくregister_globalsがOn->Offになった
461nobodyさん:02/07/24 08:44 ID:???
こんな奴にレス付けんなよ
462名無しさん@Emacs:02/07/24 11:04 ID:???
最近はこのあたりの仕様変更やらセキュ穴やらであちこち修正が必要になって、
愛想が尽きかけてるなぁ。
463nobodyさん:02/07/24 11:36 ID:F0HR0XI/
【IT】PHP に新たな脆弱性 不具合修正の最新パッチを公開
http://news2.2ch.net/test/read.cgi/newsplus/1027420849/
464nobodyさん:02/07/24 12:00 ID:???
今実行してるPHPスクリプトのファイル名ってスクリプトからどうやれば取得できますか?
465nobodyさん:02/07/24 12:33 ID:???
>>464
phpinfo()でも眺めてろ。
466nobodyさん:02/07/24 12:40 ID:???
>>465
はーい♪
467nobodyさん:02/07/24 14:11 ID:???
>>465
_SERVER["SCRIPT_FILENAME"]   /home/local/public_html/info.php

_SERVER["PATH_TRANSLATED"]   /home/local/public_html/info.php

_SERVER["REQUEST_URI"]   /~local/info.php

_SERVER["SCRIPT_NAME"]   /~local/info.php

_SERVER["PHP_SELF"]   /~local/info.php
ではどれがいいのでしょうか。
どれでもいいような気がしますが。
468nobodyさん:02/07/24 14:22 ID:???
GETのパラメータが付くと変わるよ
469464:02/07/24 14:31 ID:NF1JUK7E
$HTTP_ENV_VARS["SCRIPT_FILENAME"]にしたよ。
470初期不良:02/07/24 16:10 ID:MpezxSYF
http://www.php.net/release_4_2_2.php
ここを読んだ限りでは...
multipart/form-data のパースに関する脆弱性って
4.2.0 と 4.2.1 だけ?それ以前のものとかは大丈夫って事?
471nobodyさん:02/07/24 17:00 ID:???
>>470
もっと穴だらけ。
基本的にヴァージョンアップは穴埋めですから。
472_:02/07/24 18:00 ID:HHbu9Xg4
>>470
だけです。
記事に
Software: PHP versions 4.2.0 and 4.2.1
とあるでしょう。

ZDだかどっかの日本語ニュースサイトでわかりやすい日本語の記事で書かれてるからそれ読めば。

あーしょうがねぇな、探してやったよ、これこれ

http://www.zdnet.co.jp/news/0207/23/ne00_php.html
473nobodyさん:02/07/24 19:07 ID:???
Windows + Apache の環境で
VirtualHost を利用していると
4.1.3 以降禿げしくバグっているので
当分入れ替えてませんが、何か?
474nobodyさん:02/07/24 19:09 ID:???
>>473
素直になろうよ
475nobodyさん:02/07/24 20:40 ID:???
PHPってポリモルフィズムできますか?

継承元が違っても同名のメソッドがあれば動きそうなんですが・・・。


class c
{
function hoge()
{
}
}

class d
{
function hoge()
{
}
}

$a = true;

$b = ($a?new c():new d());

$b->hoge();
476nobodyさん:02/07/24 22:13 ID:???
>>461

PHPのMLも
ApacheのMLも
バージョン変わるたびに
「入れ替えたら動かなくなりますた。」
というヤシが多すぎるやね。
477476:02/07/24 22:17 ID:???
最近このスレ閑散としてたんで、
更新前に書き込んでしまいました。
超遅レス・・・ウトゥダ
478osage:02/07/24 22:30 ID:???
>>475
で、どこら辺が継承しているんだ?
479nobodyさん:02/07/24 22:47 ID:???
レンタル鯖なんでphp.iniいじれないんですが、設定変えたいときどうしたらいいですか?
480__:02/07/24 22:48 ID:SFB7+LmW
Windows版PHP+IISで表示もソースもSJISでやりたいんですが、
テキストボックスに「表」を入れて$_POSTで受け取ると
「表\」と\が付いてきてしまいます。\を取る方法はありますでしょうか?
送信ページにはcharset=shift_jisを付けています。
481nobodyさん:02/07/24 23:05 ID:???
質問させてください。
現環境はRedhat7.3+PHP4.2.1(ソースからインストール)です。
ttp://www.php.net/downloads.php
の「PHP 4.2.1 to 4.2.2 patch」を充てたいのですが、実行の
仕方がわかりません。中を見るとbashでもCでもないようですが・・・
厨な質問だとは思いますが、識者の方よろしくお願いします。
482osage:02/07/24 23:19 ID:uiOwupG6
>>480
データベースにクエリ投げるためのエスケープが入ってるのでは?
設定見てみ。
magic_quotes_*

PHP + SJIS であまりよい思いたこと無いけどな。

>>479
例えば?
483479:02/07/24 23:34 ID:???
>>482
僕の借りてるとこは register_globals が on だったので、なんとか off にしたかったのです。

が、色々検索した結果↓のように ini_set(name, value) でできることがわかりました。
ttp://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/d_bbs/d_show_contents.php?print_number=779

その発言主さんのように、各PHP毎に ini_set 埋め込んでおけば php.ini いじらなくても
設定としては大丈夫なんでしょうか?
484479:02/07/24 23:36 ID:???
あ、おわかりいただいてるかと思いますが、借りてるレンタル鯖は共有鯖です。
専用鯖だったら好きなだけいじくれますから・・・
485nobodyさん:02/07/24 23:52 ID:sGd5+TPw
PHPのコードを書くときは秀丸エディタでもいいのでしょうか?
486osage:02/07/24 23:56 ID:uiOwupG6
>>483
ここを見るとできないとかいてある気が・・・
http://www.php.net/manual/ja/print/function.ini-set.php

できない仕様だけど、できる実装?
487nobodyさん:02/07/25 00:02 ID:???
>>486
うおっ、ありがとうございます。こんなマニュアル中のを見落としててすみません。

そこの表を見ると
register_globals PHP_INI_SYSTEM | PHP_INI_PREDIR
ってあるんで、管理者によっては .htaccess で設定可能にしてくれているかもしれない
ということですよね?
ちょっとテストしてみます。ありがとうございます。
488nobodyさん:02/07/25 00:02 ID:HI+0mZ5K
>>485
phpのコーディングは、Atudionで書くってのがイイ!。
489osage:02/07/25 00:14 ID:HWPrqYxJ
>>487
マニュアルよく見ると、「PHP 4.0.5-devにおける」って書いてある。
今ちょっとやってみたけど、挙動がおかしいような・・・

ini_set した後、 ini_get すると値が更新されている。
でも、POSTした値グローバル変数でとれていない・・・
( 環境:Apache 1.3.26, PHP 4.2.2, RedhatLinux7.2 )

ま、いっか本人解決したみたいだし。
490nobodyさん:02/07/25 03:20 ID:???
>>489
> ini_set した後、 ini_get すると値が更新されている。
> でも、POSTした値グローバル変数でとれていない・・・

変数に落ちる前に ini_set してやらなあかんやろ。
つまり無理。
491osage:02/07/25 06:12 ID:???
>>490

いや、そりゃそうなんだけど、
マニュアルには、ini_set 失敗したら false を返すと書いてあるのに、
変更前の値を返しているし、
ini_getで変更後の値返しているし、
動作がマニュアル通りじゃないなと。
492nobodyさん:02/07/25 12:41 ID:???
function a()
{
$data = new sample();

return $data;
}


$x = a();

$x->samplefunc();


こういうことがしたいんですが無理でしょうか?
493nobodyさん:02/07/25 17:46 ID:sqY3Q+5C
[PHP Version 4.1.2]
'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans'
mbstring.detect_order : auto
mbstring.http_input : auto
mbstring.http_output : EUC-JP
mbstring.internal_encoding : EUC-JP

phpはEUCコードを出力する設定となっています。
i-mode用にコンテンツを作成しようと思い、
jcode.php、mb_convert_encoding() を利用してSJISに変換して出力してみたのですが
文字化けしたままです。

http://www.php.net/manual/ja/ref.mbstring.php
を参考に mb_http_output('SJIS') 等を試してみましたが正しい結果は得られません。
レンタルサーバなので php.ini の設定変更は出来ないのですが、
この状態でもSJISに変換する方法はあるのでしょうか?
494nobodyさん:02/07/25 20:37 ID:???
Content-Type は 吐 い て る の か ?
495493:02/07/26 11:04 ID:5bPyLDTs
>>494
metaタグ及び、header関数でContent-typeを出力しています。
phpソースはEUCにて記述しております。
496nobodyさん:02/07/26 11:18 ID:gCODudNK
IDとパスワードを入力してログインし、参照、追加、更新・・・
を行うシステムをphpで作っているのですが、ログイン後のURLで
ショートカットを作られてしまうと、ログインしなくても、そのページに
行ってしまいます。これを防ぐために、hidden等で、IDだけをページ間
に持たせて、チェックを行おうと思ったのですが、文字でリンクされている
為、submitが発行できず、hiddenが使えません。何かいい方法な無いでしょうか?
497nobodyさん:02/07/26 12:04 ID:???
>>493
i-modeはEUCでも見れるんじゃ??
498493:02/07/26 12:28 ID:5bPyLDTs
>>497
http://www.nttdocomo.co.jp/p_s/imode/tag/index.html より転載。
・ HTML2.0、3.2、4.0のサブセットです。
・ 文字コードはS-JIS、画像はGIFのみ表示可能です。

P504i にて確認しましたが、EUCのままでは文字化けします。
499nobodyさん:02/07/26 12:38 ID:ChVpo9oc
jcode.phpsで文字コード変換。
ttp://www.spencernetwork.org/jcode/
500nobodyさん:02/07/26 12:43 ID:6EBIoW5e
安全でないタグを変換するサンプルはどこかにありませんか?
・<pre>タグの中は変換しない
・特定のタグでなければ <>を < > に変換する。
というものが欲しいのですが・・・。
501500:02/07/26 12:45 ID:6EBIoW5e
スマソ
・特定のタグでなければ <>を &lt; &gt;に変換する。
です。
502493:02/07/26 12:57 ID:5bPyLDTs
>>499
以下でテストしました。文字化け変わらずです。
ソースはEUCにて記述しています。。

<?php
require("./jcode-LE.php");
header("Content-type: text/html; charset=Shift_JIS");

$str = '<html><head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title></head>
<body>あいうえお<br>かきくけこ</body></html>';

echo JcodeConvert($str, 1, 2);
?>
503nobodyさん:02/07/26 13:52 ID:???
>>500
$string = strip_tags($string, '<a><b><i><u>');
これじゃだめかい
タグごとなくなるけど。
504493:02/07/26 14:35 ID:???
皆様の助言などもあり解決しました。ありがとうございました。

しかし、いくつか不明な点があります。PHPマニュアルのサンプルでは
mb_http_output('SJIS') と ob_start('mb_output_handler') の二つは
セットで使われていましたが、テストしたところ文字化けします。
>>5 にある問題かとも思い、header() を外してみても変わらずで
結局、ob_start('mb_output_handler') を外して上手くいきました。

現状では問題点はありませんが、mb_output_handler が無い場合の
弊害はあるのでしょうか。

<?php
mb_http_output('SJIS');
//ob_start('mb_output_handler');
header("Content-type: text/html; charset=Shift_JIS");

$str = '<html><head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title></head>
<body>あいうえお<br>かきくけこ</body></html>';

echo $str;
?>
505nobodyさん:02/07/27 02:04 ID:???
>>492
そんなの実験してみりゃすぐわかるだろ
聞く暇あったら実験しろ
506nobodyさん:02/07/27 05:04 ID:LNAsRVTZ
>>504
レスではないのですが、少し関係ありそうなので聞きたいのですが、
私もDebian(woody) + apache + php4の環境で同じ問題で悩んでいて
header("Content-type: text/html; charset=EUC-JP");
を吐き出して正常に表示できるようなりましたが、上記のheader関数を使わず
HTMLのメタタグでEUC-JPを吐き出しても、文字化けして正常に表示できませんでした。
echo "<html><head><meta http-equiv='Content-type' content='text/html;charset=EUC-JP'></head>";
echo "<body>";
echo "はろー";
echo "</body></html>";
この違いは何でしょうか?分かる方がいたら教えてください。
507nobodyさん:02/07/27 19:10 ID:???
>>506
記述ミスでは。
<meta http-equiv='Content-type' content='text/html; charset=EUC-JP'>
508nobodyさん:02/07/27 22:38 ID:q4+cqwKG
perl/cgiでcsvファイルのデータ検索するもの使ってたッスが、
データ大きくなってphpへ移行しようと考えているッス。
APACHEのモジュールとして組み込むべきなのか、コマンドライン版として組み込むべきなのか。
既出かもしれんスが 検索かけたッスけどAPACHEのモジュールとして入れた方が早いとかぐらいしか
ひっかからなかったので違いやそれぞれのメリット意見を聞きたいッス。
スピードとかセキュリティ等の点を特にッス。
一応PHPのマニュアル読んだけど、よくわからなかったッス。

個人的にはそれほどスピードが変わらないのであればcgi-bin中につっこめた方が
楽なんスが、スピードが極端に落ちる場合はそうもいかんスので

環境はredhot7.2ッス。mysqlはインストしたんスけど、この件に関しては使用しないと仮定ッス。
509nobodyさん:02/07/27 23:53 ID:???
>>508
両方入れて使用目的によって分けてますが。
何に使うかによるので一概には言えないかと。

redhotってナニ?ネタでスか?辛そうだね。
510nobodyさん:02/07/27 23:54 ID:???
>perl/cgiでcsvファイルのデータ検索するもの使ってたッスが、
書いてあったね使用目的。スマソ。
511nobodyさん:02/07/28 00:20 ID:UzcbNVGt
>>507
関係ありませんでした。
512nobodyさん:02/07/28 13:06 ID:???
>>508
共用鯖でなければCGIで動かすメリットはほとんどないと思う。
速度を考えるならZendOptimizerも入れておくと良し。結構高速化できる。

CGI使う場合の利点は
suexecでApache以外のユーザでスクリプトを実行できる
くらいしかないかと。

コマンドラインでphp使いたい場合は両方入れとけばいいだけだし。
513nobodyさん:02/07/28 20:08 ID:???
PHPをApacheのモジュールとして使う場合には、
別ユーザ権限として実行することはできませんか?
514nobodyさん:02/07/28 22:15 ID:???
できるわきゃねーべさ
515初期不良:02/07/29 00:40 ID:???
>>513
apache2 を perchild で動作させてユーザーごとに
バーチャルホスト作って動作させたら可能かも。
516nobodyさん:02/07/29 02:54 ID:BRQVQC4r
$dir=dirname($PHP_SELF);

で$dirからスラッシュ(/)をとりたいのですが、どういう風に書けばいいのでしょうか。
どなたかご教授下さい。
517nobodyさん:02/07/29 03:20 ID:4EAv/90j
すれ違いかもしれませんが教えてください。
namazuのインデックス対象にPHPも含めたいのですが、いくらやっても
HTMLとSHTMLの拡張子しか認識してもらえません。
「mknmzrc」を開いて

# $ALLOW_FILE =".*\\.(?:$HTML_SUFFIX)|.*\\.txt" . # HTML, plain text
# "|.*\\.gz|.*\\.Z|.*\\.bz2" . # Compressed files
# "|.*\\.pdf|.*\\.ps" . # PDF, PostScript
# "|.*\\.tex|.*\\.dvi" . # TeX, DVI
# "|.*\\.rpm|.*\\.deb" . # RPM, DEB
# "|.*\\.doc|.*\\.xls|.*\\.ppt" . # Word, Excel, PowerPoint
# "|.*\\.j[sabf]w|.*\\.jtd" . # Ichitaro 4, 5, 6, 7, 8
# "|\\d+|[-\\w]+\\.[1-9n]"; # Mail/News, man
"|.*\\.php" . #PHP

の最後の行にPHPの拡張子を加えてみたりしたのですが、やっぱりインデックス
の対象としてくれません。mknmzの「-a」オプションを加えれば勿論
全ての拡張子を検索対象としてもらえますが、関係のない拡張子まで
検索対象となってしまいます。そこで、HTMLファイルも含め、PHPファイルも検索対象とするため
にはどのように設定(もしくはコマンド)すればよいのか教えてください。

環境はWindows2000
Namazu 2.010

です。よろしくお願いします。
518nobodyさん:02/07/29 03:44 ID:???
>>517
# $ALLOW_FILE =〜〜〜〜
の行のコメントを外す。
"|.*\\.php" .

"|.*\\.php";
にしてみれ
519517:02/07/29 08:17 ID:4EAv/90j
>518
あ、あ、ありがとうございます!
説明していただいたとおりにしたらPHPファイルをちゃんと認識してもらえる
ようになりました。
520nobodyさん:02/07/29 09:12 ID:???
>>515
perchildって2.0.39で実装されてたっけ?
521nobodyさん:02/07/29 11:43 ID:t/nKwjTf
PHP4.0.6でセッションを使っています。
セッションは立ち上げるブラウザのウインドウごとに違うと
思っていたのですが、同一の場合がでてしまいます。

再現しないの困っているのですが、どなたか原因をご存知ないでしょうか?

IE5.5でファイルメニューから新規作成->ウインドウとやると
同じセッションになるようなのですが、今は普通にデスクトップの
IEのアイコンをたたいて立ち上げているのですが。
522初期不良:02/07/29 13:13 ID:???
>>520
不安定で推奨されてなかったはず
523nobodyさん:02/07/29 13:25 ID:???
>>521
タスクマネージャみてると、
新規作成→ウィンドウの場合は、IEXPLORER.exe は増えないけど
IEを起動すると増える。そゆことなんじゃないの?
524nobodyさん:02/07/29 22:49 ID:???
>>521
マルチやめれ
525osage:02/07/30 00:05 ID:???
>>521
IE6だったら、ファイル - 新規作成 - ウィンドウ
で、同一のプロセスでIEが立ち上がる。
(Cookieが共有されるから、Sessionも共有される)

デスクトップ上のアイコンをクリックして立ち上げた場合は、
別プロセスでIEが立ち上がる。
(Cookieは共有されないから、Sessionは共有されない)

ちなみに、Donutの場合は前者のようですた。
526nobodyさん:02/07/30 11:09 ID:/PNjMBMQ
>523,525

同一プロセスだと同一セッションなんですね。

問題はデスクトップから普通にアイコンクリックでIEを
立ち上げても、同一プロセス(=同一セッション)で
立ち上がることがたまーにあるようなのです。
なんでだろう。。。


>524
まちがって書いてしまいました。スマソ。
527コギャルとHな出会い:02/07/30 12:40 ID:fWQS7Eta
http://go.iclub.to/ddiooc/
     
     i/j/ez/対応です

お役立ちリンク集
必ず役立ちます

 サイト管理者お役立ち集
    1日4000HIT以上

http://kado7.ug.to/wowo/
      
     i/j/ez/対応
    
   コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

         ↓
   http://kado7.ug.to/wowo/-a.htm
    
       i/j/ez/対応
528nobodyさん:02/07/30 16:20 ID:BmWlgjLS
夏休みが暇なのでWEBプログラムの勉強でもしようかと思っています。
現在のスキルはHTMLが誤魔化し程度に書けるくらいです。
HTML,perl,CGI,SSI,JAVA,JAVAScriptなどが案としてあるのですが、
順番としてはどれから勉強した方がイイでしょうか?
529528:02/07/30 16:23 ID:???
一般質問スレが見あたらないのでここで質問させていただきました。
530nobodyさん:02/07/30 16:24 ID:???
HTML
531nobodyさん:02/07/30 16:25 ID:???
SSI、CGIは言語ではない。

HTML -> Perl でいいんじゃない?
532名無しさん@Emacs:02/07/30 16:30 ID:???
勉強のしかたを勉強すれ。
533nobodyさん:02/07/30 16:35 ID:???
案の中にPHPはナイのかよ…。
HTML -> CSS -> PHP+MySQL がいいと思う。
JavaScriptは随時。
534528:02/07/30 17:03 ID:???
>>530
ありがとうございます。

>>531
あうわ・・・
Perlですか。
まず、HTMLを完璧にしたいです。
ありがとうございます。

>>532
ごもっともです・・・

>>533
あわわPHPが入ってなかった。
参考にさせていただきます。
ありがとうございました。
535nobodyさん:02/07/30 20:00 ID:???
XML だよ、やっぱり。
536nobodyさん:02/07/30 20:26 ID:???
PHP+XMLだよ、やっぱり

現在のXML関数クソですが。
537nobodyさん:02/07/30 20:34 ID:???
HDMLだよ、やっぱり。
538nobodyさん:02/07/30 21:06 ID:???
プログラマの嗜みとしてCは必須。
539nobodyさん:02/07/30 23:54 ID:ILN5fhBD
PHPで機種依存文字のチェックってどうやったらいいんでしょうか?

Apache1.3.26
PHP4.2.2
540nobodyさん:02/08/01 19:16 ID:W9oFKOXJ
PHP4.2.2を入れたんですが、
POST、GETで送ったデータが取れません。

たとえば、
<input type="hidden" name="aaa" value="ttt">
といったやつで、
ソース内で、$aaa に、"ttt" が入ってません。

どうしてこうなるんでしょうか?
ちなみに、他のサーバのPHP4でこのスクリプトは普通に動きます。
541540:02/08/01 19:17 ID:W9oFKOXJ
ていうかごめん。
>>4にかいてあった。逝ってきます。
542nobodyさん:02/08/02 11:03 ID:???
>539
自分でテーブル書いて引く。

例えば配列に機種依存文字をキーにしてデータ入れて、

if(isset($array["@"]))


とか。
543nobodyさん:02/08/02 12:30 ID:???
Perl の <STDIN> は
PHP では何に当たるんでしょうか?
544nobodyさん:02/08/02 13:08 ID:???
>543
コマンドラインで使うことは想定してないからとりあえずドンピシャはないんじゃない?
POSTメッセージをつかみたいなら>>4を。
545nobodyさん:02/08/02 13:22 ID:???
んなアホな
546nobodyさん:02/08/02 13:24 ID:???
>545
で、答えを書かないと。
国会とかでも最近問題になってるぞ。

批判すれども代案無し。
547nobodyさん:02/08/02 13:29 ID:???
だって使わないんだもん >PHP
でもストリームとして標準入出力、エラーは絶対持ってる筈だよ
コマンドライン用のアドインみたいのも有るんでしょ?
対案無き反対には謝罪するけどw
548nobodyさん:02/08/02 13:34 ID:???
>547
http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=php+%95W%8F%80%93%FC%97%CD

検索したら見つかったよ。簡単に。
憶測だけで物言うなってことやね。スマソ。


俺も含めて検索しない子が増えてるんだなぁと痛感。
549nobodyさん:02/08/02 13:34 ID:???
550549:02/08/02 13:35 ID:???
被り負けた‥‥
551547:02/08/02 13:41 ID:???
だから俺はシラネっつの
へ?標準入力取れない? と思ったから
>>545
552nobodyさん:02/08/02 13:42 ID:???
結局誰も解らないんですね   プププウププップ
553nobodyさん:02/08/02 13:43 ID:???
>552
>>548-549
目、悪い?
554nobodyさん:02/08/02 16:13 ID:???
fopen

filenameが"php://stdin","php://stdout", "php://stderr"のどれかで始まっている場合、対応するstdioストリームが オープンされます。
(この機能はPHP 3.0.13で導入されました。これ以前のバージョンでは、 stdioストリームにアクセスするために "/dev/stdin"または"/dev/fd/0"のようなファイル名を使用する必要があります。)
555543:02/08/02 17:40 ID:???
> all

何か初歩的なことを質問してしまったようで。
どうもありがとうございました。

因みに私は、検索するキーワードが分からなかった厨です……。
556nobodyさん:02/08/02 19:09 ID:???
ブラウザの戻るボタンおしたときに
POSTデータが消えた状態にしたいんですが、
うまいやり方ないでしょうか。
557nobodyさん:02/08/02 20:17 ID:???
ブラウザの戻るボタンを押した時に
POSTデータが消えた状態になる
トロイを仕込んでおく
558osage:02/08/03 00:39 ID:OgHVg5ey
>>556
セッションに前のページのIDとかを持たせておいて、それ以外からのアクセスだったら
POSTデータを無視するようにしたら?
559539:02/08/03 01:02 ID:t/HgL1HI
>542
説明足らずでした。
ユーザーから入力された$_POST['string']等に格納された文字列に
機種依存文字が含まれているか確認したいんです。

mb_ereg('{機種依存文字}', $_POST['string']);
って感じでは何故かマッチさせられなかったので・・・
560osage:02/08/03 01:39 ID:???
>>559
機種依存文字?
Win以外にも機種依存文字ってあるんだけど・・・それも規制するの?
・・・無理じゃない?

# できたとしても、実用的じゃないと思うな
561539:02/08/03 02:16 ID:t/HgL1HI
自己解決

$str = mb_convart_encoding({機種依存文字列を含む文字列}、'EUC-JP');
ereg("\x8E[\xA0-\xDF]|[\xAD\xF9\xFA\xFB\xFC][\xA1-\xFE]", $str);
でいけたみたい。

13区,89区,90区,91区,92区の機種依存文字をチェック
562nobodyさん:02/08/03 03:18 ID:uQ0/1o1f
>>556
POST を受け取った action で直ぐにリダイレクトしてしまう。
具体的には、

: POST の処理
header("Redirect: hogehoge");
exit;
563nobodyさん:02/08/03 03:33 ID:???
>>562
それって、NNの2つ前に戻るや、IEのalt+←連打で戻れちゃうんじゃない?
564nobodyさん:02/08/03 03:54 ID:a7C5JFCX
>>556 header("Location: $URL"); で、そのまま飛ばしちゃえば問題ない。
565nobodyさん:02/08/03 11:56 ID:???
>>562
戻る押したときフォームに値が入ってない状態にって事じゃないの?
それじゃダメだと思われ。

>>556
no-cacheにしとけばIEでは消えたはず。
566nobodyさん:02/08/03 12:34 ID:NLXKrSe3
Javaみたいにグローバル変数を
直接初期化したりはできないのですか?
<?php
class globaltest{
  var $gtest = "OK";

  function globaltest(){}

  function display(){
    global $gtest;
    echo "gtest = ".$gtest;
  }
}
?>
結果:
gtest =

コンストラクタでやるかそれ用のメソッド作らないとダメ?
567nobodyさん:02/08/03 14:29 ID:Cg+prS4f
PHPだと
print $myobj->fetch->parse;
ってできますか?
print $myobj->parse( $myobj->fetch() );
はできたんですが…。

perlと違ってメンバ変数に{}付けないから
メンバ変数なのかメソッドなのか区別しにくい…。
568nobodyさん:02/08/03 14:34 ID:???
>>566
マニュアル嫁

>>567
できる。
こんな所に書く暇あったらやって見ろ
569nobodyさん:02/08/03 14:37 ID:???
PHPはよくしらないが、
$myobj->fetchが自分自身を返せばOKかと。
570566:02/08/03 16:46 ID:???
>>568
マニュアル読んだら
すべてコンストラクタで値代入してるけど、
ってことはどうやってもできないってことか。。。
571nobodyさん:02/08/03 17:13 ID:???

<select name="OS">
<option value=">>1"> >>1
<option value=">>2"> >>2
<option value=">>3"> >>3
<option value=">>4"> >>4
</select>

ってのを繰り返して吉野家コピペを造りたいのですが、挫折しますた。過去ログにものってないんでどなたか教えてください。
572nobodyさん:02/08/03 17:38 ID:???
意図が理解できん。
573nobodyさん:02/08/03 17:46 ID:DPfmHtFF
たぶん、

そんなことより聞いてくれよ <SELECT> >>1 </SELECT> よ
このまえ近所の<SELECT> 吉野家 </SELECT> にいったんです 

ってしたいのか小一時間問いつめたい。
574nobodyさん:02/08/03 17:46 ID:???
option は閉じませう。
575nobodyさん:02/08/03 17:48 ID:???
それくらいで挫折する>>571は明らかに努力が足りないだろう。
576nobodyさん:02/08/03 17:51 ID:d5v1Xjwl
577567:02/08/03 21:41 ID:Cg+prS4f
$c = new foobar;
print $c->abc->def;
print $c->def( $c->abc() );
class foobar
{
function abc() {
return "abc";
}
function def($str) {
return $str . "def";
}
}

できませんでした…こういうので良いのでしょうか?
578osage:02/08/04 00:19 ID:???
>>577
ええっ!?
それはできないよ・・・
コード見ててっきり fetch はクラスかと思ってますた。

スマソ。

ちなみに想像してたのはこんな感じだった・・・
$a = new A();
echo $a->fetch->parse();

class A{
 var $fetch;
 function A(){
  $this->a = new Fetch();
 }
}
class Fetch{
 function parse(){
  return "return";
 }
}
579nobodyさん:02/08/04 01:20 ID:???
$line = fgets($file,10);
lineには何が代入されてるんですか?
初歩でスマソ
580nobodyさん :02/08/04 01:42 ID:???
>>579
初歩過ぎるな
ファイルの1行が格納されてる
10バイトまでしかよみこまんよ
581nobodyさん:02/08/04 01:44 ID:???
line(1)[lain]
《名》
 《1》《C》線,すじ.〓用例
*《2》《C》(文章の)行.〓用例
 《3》《C》綱,ひも,糸,針金;電線,電話線.〓用例
  :
582nobodyさん:02/08/04 01:58 ID:???
なんか人に聞く前にやってみりゃいいだろって質問が多いな。
夏だからか・・・
ま、質問スレだからいいけどさ。
答えが返ってくるの待ってるより自分で試したほうが早いと思うんだけどなぁ・・・
583nobodyさん:02/08/04 02:38 ID:???
>>582
夏だからじゃないと思うぞ。
PHP USERS ML も
Apache Newbie & User ML も
日本PostgreSQLユーザ会のMLも
ここも
常にそんな感じだ。

最新版にアップデートできないんです
この関数の使い方が分かりません。
○○ってできますか?
インストールについて。
設定について

こんなんばっかり。もうアホかと・・・
まあでも、ここはこれで良いんじゃないかな?
584nobodyさん:02/08/04 02:46 ID:???
今PHP使える和鯖ってどのくらいあんの?
585nobodyさん:02/08/04 03:22 ID:???
勝手に調べろ。
586nobodyさん:02/08/04 03:54 ID:???
>>584
うちの鯖
587nobodyさん:02/08/04 16:22 ID:???
>>584
うちも使える。
588nobodyさん:02/08/04 22:32 ID:FmVTsZMs
吉野家コピペって、もうあるけどな
http://8931.com/yosinoya.php3
589nobodyさん:02/08/04 22:45 ID:WODrMcDL
クラス内の変数をクラス内で変更したり参照したりする場合って
setHoge とか getHoge みたいな関数を作るべきなのはなぜですか?
590nobodyさん:02/08/05 03:50 ID:6w73L64D
PHPDOC 1.0betaで吐き出されたHTMLファイルの内容が全部 "1"
になっちゃうんだけど、なんでだろ
591nobodyさん:02/08/05 15:02 ID:9ovglZmC
すみませんが、
ttp://tohoho.wakusei.ne.jp/cgi/wwwboard.cgi
ここみたいに極端にシンプルな掲示板スクリプトで
PHPのものが欲しいんですが、
どなたかご存知ありませんか?

今、
ttp://php.s3.to/
の一番シンプルなのを落としていじってるんですが、
なかなか上手くいきませんで(´Д`;)
592nobodyさん:02/08/05 16:04 ID:???
593nobodyさん:02/08/05 16:54 ID:9ovglZmC
>>592
うぅ。来ると思った。WebProg板だけに(´Д`;)
自分で組むとこまでいかないのです。すみません…
594nobodyさん:02/08/05 17:06 ID:MAH7KIMW
595nobodyさん:02/08/06 03:06 ID:???
require("/a/b/hoge.php");
include("/a/b/hoge.php");

みたいな参照の仕方は出来ないんでしょうか?
596nobodyさん:02/08/06 03:17 ID:???
普通に出来ると思うが?
597595:02/08/06 03:55 ID:???
何かしらエラーが出やがるんで。何でや、、
598nobodyさん:02/08/06 04:00 ID:???
なら、エラーの内容書けよ。
599nobodyさん:02/08/06 11:58 ID:???
実際のファイルパスじゃなくてURL上のパス書いてるに1票
600nobodyさん:02/08/06 17:32 ID:fA0rzekK
>>571
おそらく&lt;(半角で)と&gt;(半角で)と思ワレ
601595:02/08/06 22:20 ID:???
禿げしく自己解決させて頂きますた。

include(require)先のスクリプト"hoge.php"内で読み込ませたい筈の.datファイル、そのパスの記述に問題が有ったみたいです。

public_html以下のみの記述(PHP_SELF形式)では、include(require)元スクリプトに影響されてパスがズレてしまっていたみたい(この辺りの云々はマトモに勉強してないのでワケワカランです)なので、

DOCUMENT_ROOT/PHP_SELF形式(/home/w/x/usr/public_html/a/b/hogeback.dat)に記述し直す事で何とか収拾を付けれました。

とりあえず無難に動作してくれとります。
602nobodyさん:02/08/07 01:21 ID:VAylDQaU
超初心者なのですが。教えてください。
$a="1"というように格納しているのですが。
$aの内容を"01"に変換する関数ってありますか?
603substr + 文字列連結:02/08/07 01:39 ID:4PvRJ60g
それくらいつくれば?
604nobodyさん:02/08/07 01:41 ID:???
>>602
あります

>>603
プッ
605nobodyさん:02/08/07 01:44 ID:???
>>602
$a="01"
606nobodyさん:02/08/07 01:56 ID:???
>>604
ぐわーっ。そうかーっ。
やられました。
なんて初歩的なヤツを・・・
恥。
忘れてました。
ごめんなさい。
ということで、substr+文字列連結は取り消し
607602:02/08/07 02:02 ID:+JzxLnDq
謝罪して許される問題でもありませんので、
>>603 はsubstr+文字列連を使って同様の関数を作成、発表してください。

$a="1";
$a = sprintf("%02d", $a);
echo $a;
608606:02/08/07 02:29 ID:???
>>607
ASPでは、それくらいしかなかったんだもん・・・
分かったよ糞
$a = "1";
echo substr("00".$a, -2);

でも、直後に出力するなら printf で十分かと。
#あーはいはい、ささやかな抵抗だよ。見逃してくれ
609602(騙り):02/08/07 03:59 ID:+JzxLnDq
なるほどねぇ。
でもそれだと1桁と2桁の数字にしか対応できないので、
同じ泥臭いことをするのなら、

$a = "1";
if (strlen($a) == 1){
$a = "0" . $a;
}
echo $a;

としたほうがまだいいな。
(echoは単に確認のため)
610nobodyさん:02/08/07 04:28 ID:???
それだと10桁とかになったとき大変だYO!
611nobodyさん:02/08/07 07:17 ID:???
flushが機能しないんだけど、なんでだろう。
612nobodyさん:02/08/07 07:52 ID:???
ブラウザのせいみたい・・でもよくわからない(iCab, Mac OS X)
613nobodyさん:02/08/07 09:32 ID:VMPwCWen
PostgreSQL 7.2.1 + PHP 4.0.6で掲示板を作っているのですが、

$con = pg_Connect(....);
$rtn = pg_Exec($con, "SELECT date FROM bbs;");
$date = pg_Result($rtn, 0, "date");
echo strftime("%D %T", strtotime($date));

としたときに日付部分はいいのですが、時刻が正しく表示されません。
dateはtimestamp型で、psqlコマンドで試すと

SELECT date FROM bbs;
date
-------------------------------
2002-08-07 09:40:18.547459+09

こんな感じに表示されます。
614nobodyさん:02/08/07 10:41 ID:2M6Lr5Mc
602ですけど。結局関数は存在するんですね?
VBで書くとformat()関数みたいな感じのやつ。
615nobodyさん:02/08/07 10:43 ID:???
>>614
sprintf()

フォーマット関数はこっちの方が有名なので覚えておくように。
616nobodyさん:02/08/07 10:50 ID:2M6Lr5Mc
>>615
ありがとうございます。
617nobodyさん:02/08/07 12:52 ID:+A2h6L7O
>>613

Postgres の to_char() を使え。
SELECT to_char(date, \'YYYY-MM-DD HH24:MI:SS\') FROM table;
618nobodyさん:02/08/07 17:28 ID:LGNcXjr1
windowsのCOM関数についてなんですけど、Excelで開いたタブ区切りtxtファイルの
fileformatをxlNormal(通常のxls)として保存したいのですが、うまくできません。

$excel->ActiveWorkBook->SaveAs(ファイル名)
だとfileformatの指定はできず、ファイル名の後に引数を入れてみるもエラー。
何かいい手を知ってる方いませんか?
619名無しさん@Emacs:02/08/08 02:20 ID:k7ixfyCt
ローマ字をカナに変換したいのですが、どうすれば楽ですか。
逆ならkakasiを召喚するのですが。
620nobodyさん:02/08/08 02:51 ID:???
http://www.csl.sony.co.jp/person/masui/OpenPOBox/romakana/

を真似て自分で作り、完成後公開汁!
621nobodyさん:02/08/08 16:53 ID:vBVZKo6K
超初心者です。

Apache/1.3.26(win32)+PHP/4.2.2 で使っています。

<?
$a = 2;
$b = 3;
$c = $a + $b;
$d = $a * $b;
print ("a+b=$c a*b=$d");
?>

こういうのはちゃんと動いて「a+b=5 a*b=6」
と表示されるのですが、入力フォームを使うような
PHPだと表示されません。php.iniやhttpd.conf
の設定が間違っているのでしょうか?
622nobodyさん:02/08/08 17:09 ID:cSicnTXD
>>618
自己解決しました。
SaveAs(ファイル名,1)
でオッケーでした。
あーあ、丸一日かかっちゃった。どこにも載ってないんだもん。
623nobodyさん:02/08/08 17:18 ID:k7aUaTEg
初歩的な質問ですみません。
どなたか、数字をドル($)のフォーマットで
表示する方法をしてっる人いませんか?
たとえば$500を$500.00っていう感じに。
624nobodyさん:02/08/08 18:12 ID:???
>>621
いい加減氏ね。
625nobodyさん:02/08/08 20:30 ID:vemjog4K
>>621
ちゃんと$_GET["a"]とか$_POST["a"]とかで値とってる?
626nobodyさん:02/08/08 20:33 ID:vemjog4K
メンテ性とか速度とか考えると、

function hoge(){
 global a;
 global b;
 global c;
 global d;
 global e;
 global f;
 global g;
}
って書くのと
function hoge(){
 global a,b,c,d,e,f,g;
}
って書くのとどっちがいいっすかね?
627626:02/08/08 20:47 ID:vemjog4K
すんません。$をわすれました。

function hoge(){
 global $a;
 global $b;
 global $c;
 global $d;
 global $e;
 global $f;
 global $g;
}

function hoge(){
 global $a,$b,$c,$d,$e,$f,$g;
}
628nobodyさん:02/08/08 22:03 ID:???
(´-`).。oO(それ以前にそんなに大量にグローバル変数使うなよ‥‥)
629619:02/08/09 12:30 ID:???
>>620
どうも。結局これを使ってPerlで済ませてしまったです^^;
630nobodyさん:02/08/09 20:40 ID:???
>>623
sprintf
631nobodyさん:02/08/10 12:53 ID:???
おしえてー
<title> から </title> まで を正規表現ってどしたらいい?
632nobodyさん:02/08/10 14:01 ID:???
/<title>.*<\/title>/
633nobodyさん:02/08/10 18:20 ID:QBkji2dM
phpで<br>とかが<br />みたいな奴(XMLの空タグ)で出力されるんですが
これを普通の<br>で出すことはできないですか?
634633:02/08/10 20:00 ID:QBkji2dM
nl2brがこう出すみたいです
うーん、どうやればいいのだろう・・・
635633:02/08/10 20:34 ID:???
636nobodyさん:02/08/10 21:21 ID:aZc5BP3W
PHPのアクセス処理はどうなっているのでしょうか?
例えば同時に10人がアクセスした場合、待ち行列をつくって一つずつこ
なしていくのでしょうか?
それとも同時に並行処理してしまうのでしょうか?
アクセス処理がもし待ち行列を作る場合行列はディレクトリ毎でしょう
か?
それともファイル毎でしょうか?

どなたか分かる方がいらっしゃったら是非よろしくお願いします。m(_ _)m
637631:02/08/10 21:31 ID:???
>>632
ありがとう
638nobodyさん:02/08/11 14:51 ID:WDrSWwWG
質問させて下さい。
Webからadduserするにはどうしたら良いんでしょうか・・・
system()使ってadduserしても、ユーザー名の入力とかもできないようですし
権限も問題のようです。

もし、今までにやられたことのある方がおられましたら、助けて下さい。
639nobodyさん:02/08/11 23:35 ID:???
>638
環境がわからんが、useraddやpwというコマンドはないかね。
権限はsudo入れとけ。
640nobodyさん:02/08/12 17:02 ID:???
wgetのようなWebページ収集機能を持つプログラムで、
PHPで作成されたものをどなたかご存じありませんか?
Googleでキーワードをいろいろ変えて探してみたのですが、
見つからなくて、お聞きいたしました。よろしくお願いします。
641nobodyさん:02/08/13 00:10 ID:6exRBoqt
php4.2.2+apache2.0.40が動かないです
インストール時に
ttpd: module "sapi_apache2.c" is not compatible with this version of Apache. エラー

php_function.cの関数は修正済み。
今は仕方ないので2.0.39つかってる
642nobodyさん:02/08/13 05:53 ID:???
>>636
PHP は Apacheの中で動いている script ということはわかっている?
643nobodyさん:02/08/13 06:03 ID:???
>>635
うげ〜。マジで萎えますな。さっさと PHP 捨ててしまいたくなる…。
でも、他に PHP 並に DB まわりや日本語処理をあまり考えずに使える
server side の script 言語って何があるんだろう? mod_perl は PHP
ほどには簡単とはいえないし、mod_ruby は動作実績に問題あるし、
mod_python もちょっとなぁ…。
644nobodyさん:02/08/13 08:40 ID:SWrYGOaD
Perlではこんな感じで書いていたのですが、
PHPでgzip圧縮して転送するにはどうすればよいのでしょうか?

$|=1;
if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){
print "Content-type: text/html\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| /bin/gzip -1 -c");
}else{
print "Content-type: text/html\n\n";
}
645nobodyさん:02/08/13 10:37 ID:5QDKpsPs
>>644
$gz = popen("/bin/gzip -1 -c", "w");
かな
646644:02/08/13 12:07 ID:SWrYGOaD
>>645
ありがとうございます。
Content-encodingや$|は設定しなくて良く
PHPだとそれだけで大丈夫なのでしょうか?
647nobodyさん:02/08/13 15:07 ID:xrOsDf3v
>>642
すいません、まだ勉強不足なので。
ということはアパッチ側の設定の問題ということでしょうか?
648nobodyさん:02/08/13 21:53 ID:qx1oerUj
フォームのsubmit後のページが
session_start()を使ったページ
だと、ブラウザの戻るボタンを押すと
フォーム内容がクリアされてしまいます。
内容を消えないようにしたいのですが、
何か設定などありますでしょうか?
649nobodyさん:02/08/14 00:44 ID:SOfx286E
フォームのデフォルトをちゃんとセットしる
XSSに気を付けてな
650nobodyさん:02/08/14 00:46 ID:fx/tWW0S
プログラムの質問じゃないんですけど、いいでしょうか。

知り合いがアダルトサイトを作ろうとしているのですが、
ちまたのアダルトサイトはとてもゴチャゴチャしているデザインですが
あれはやはり意味があるのでしょうか?
ゴチャゴチャして客を惑わせる作戦なのでしょうか?
知り合いはあのゴチャゴチャが嫌いでシンプル系のサイトデザインを
考えているようなのですが、あのデザインに意味があるなら
教えてあげようかと思いまして。
651nobodyさん:02/08/14 00:50 ID:???
>>650
いちお、アダルトサイトの管理者。
ごちゃごちゃしてるのは、広告にクリックさせやすくする為。
最近のヤシは賢くなって来て、広告、なかなかクリックしなくなったからこーやってごちゃごちゃさせて
クリック率上げてんのよ。

うちのアダルトサイトではそーいう事はしてないが。
652nobodyさん:02/08/14 09:25 ID:???
「友達・知り合い = 自分」

これ常識
653nobodyさん:02/08/14 11:03 ID:cVpBwHDa
650に便乗質問だけど、アダルトサイトで、下の方にアイドルの名前を羅列してる
あのテキスト(隠してあるの)って何なの?
検索にひっかかるようにって作戦?
654nobodyさん:02/08/14 11:14 ID:???



他 所 で や れ


655nobodyさん:02/08/14 11:28 ID:???
              ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\ `Д´) < 2学期まだーーー? プンプン 
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        | . 味噌カツ .  |/
656nobodyさん:02/08/14 11:50 ID:qvfibJbs
nobodyさん :02/08/14 11:49 ID:qvfibJbs
PHPスクリプトでの
時間帯アクセス制限は可能なのでしょうか?
perlではソースがあるんですが
PHP言語に直して利用することは可能なのでしょうか?

@Ti = gmtime(time + 9 * 3600);
$TIME = $Ti[2];

if ($TIME >= 23 || $TIME <=1)

 {
  print "<P><font style=\"font-size : 22px;color : red;\">表\示制限中</font>";
 } else {

  通常の処理を記述

 }
657nobodyさん:02/08/14 11:59 ID:???
勿論
658nobodyさん:02/08/14 13:09 ID:???
>>656
結構簡単にできそうな気が・・・
659nobodyさん:02/08/14 18:23 ID:???
Zend Optimizer のインスコについて質問してもいいすかね?他に良いスレがみつからんので。
660nobodyさん:02/08/14 18:57 ID:???
【PHP】質問スレッド
661nobodyさん:02/08/15 01:34 ID:???
>>656
DQNでも出来ると思うが。

>>659
WinだったらDQNでも出来る。
662nobodyさん:02/08/15 16:30 ID:up7BrQGE
>>656
$Ti = getdate() ;
$TIME = $Ti['houres'] ;
以下略
663662:02/08/15 16:33 ID:up7BrQGE
×houres
○hours
です
664nobodyさん:02/08/17 01:24 ID:nYp5D1tn
7th Sample of PHP Documentation "New CHM Edition"
[15-Aug-2002]
665nobodyさん:02/08/17 03:06 ID:13EZV0DN
データファイルに書き込みようなスクリプトを作ったら
"を入力すると勝手に\"にされちゃいます。
これを回避するにはどうしたらいいでしょうか。mb_convert_encoding

一応、EUCでスクリプトを作って、
入力されたデータはmb_convert_encodingでEUCにしています。
666nobodyさん:02/08/17 03:21 ID:1t+9J4cm
>>665
magic_guotes_gpcを調べてみて
667nobodyさん:02/08/18 02:51 ID:???
Linux(RedHat 7.3) + Apache + php4 (cgi版)についてです。

Apacheモジュールとしてのphpの利用は余裕でわかるのですが、
当方これをcgiとして使用したいと思います。

rpmが、--enable-force-cgi-redirect付きでコンパイルされている
ため、直接指定すると、
sercurity Alert! PHP CGI can not be accessed directory
とのエラーが出ます。様々なphpのマニュアル等ではapacheの
httpd.confに
Action php-script /cgi-bin/php
AddHandler php-script .php
との行を加えればよいとのこと。
しかしそれをすると、
http://localhost/cgi-bin/test.php
The requested URL/cgi-bin/cgi-bin/test.php not found
と出てきます。error.logを確認した限りでも、どうやら
存在しない/var/www/cgi-bin/cgi-bin/test.php
宛にアクセスしているようです。
test.phpは/var/www/cgi-bin/test.phpにあります。
どなたかcgi版phpをapacheから用いるための設定方法について
存じている方はいないでしょうか?
668nobodyさん:02/08/18 04:14 ID:???
文章末尾の \n を削除したいのですが
どうしたら取り除けるでしょうか?
669nobodyさん:02/08/18 10:10 ID:???
>>667
>存在しない/var/www/cgi-bin/cgi-bin/test.php
>宛にアクセスしているようです。
>test.phpは/var/www/cgi-bin/test.phpにあります。

だったら単純に、
Action php-script /php
とするとどうなるよ。
670nobodyさん:02/08/18 10:23 ID:???
>>668
rtrim じゃぁダメなんか?
671667:02/08/18 12:16 ID:???
>>669
エラーがでますね。http://localhost/cgi-bin/test.phpへアクセス
すると、ログには
/var/www/html/php/cgi-bin/test.php does not exist
とのエラーが出ます。
じゃあ、/var/www/html/php/cgi-bin/test.php
ディレクトリを作るとどうなるか試してみたら、
/var/www/html/php/php/cgi-bin/test.php does not exist
だそうだ。
672nobodyさん:02/08/18 19:19 ID:???
>>671
なんか、Apacheを再起動せずにやってたりしない。667と671の状況が
えらく違うじゃんかよ。

で、ScriptAliasなんかも定義されていたりしないか?
673nobodyさん:02/08/18 20:38 ID:???
>>670
rtrimでばっちり取れました。
ありがとう
674nobodyさん:02/08/18 23:44 ID:???
675667:02/08/18 23:56 ID:???
>>672
一応、apacheの再起動はしてます。
でないと、反映されませんしね。
Mozillaも定期的に終了ー>再度起動しなおし、という
手順をとっていますし。
(これはキャッシュをクリアしたいからね)

状況が違うのは、ディレクトリ名を変えたりして
なぜディレクトリ階層を追加していくたびに
エラーログのディレクトリ階層が増えていくのか
原因追及のため。

で、現状:
AddType application/x-httpd-php .php
ScriptAlias /php/ "/var/www/php"
action application/x-httpd-php /php
とhttpd.confに追加することで
http://localhost/test.phpとブラウザから実行すると
/var/www/php/test.phpのファイルにcgiとして
アクセスするようになりました。
ところが、今度は別の問題が。
/home/test/public_htmlなどユーザーディレクトリに
おいてあるphpファイルへのアクセスができなく
なってしまった・・・。
他は http://localhost/~test/test.phpなどがエラーとなる
/var/www/php/~test/test.phpが無いと怒られる始末。
一難さって、また一難。はぁー。
(php.iniはまったく弄ってないからここかもね)

どこかに、Linux版php(cgi)モード+apacheについて実例こみで詳しく
解説したとこはないものかなあ。IBMのサイトもPHPのcgi版は
解説してなかったしなあ。
676nobodyさん:02/08/19 00:56 ID:???
>>675
>他は http://localhost/~test/test.phpなどがエラーとなる
>/var/www/php/~test/test.phpが無いと怒られる始末。

だろうな。もうAliasするのやめるとか?

ユーザ分はcgi直置きさせるってのは、
<Directory /home/*/public_html>
の中に、
ScriptAlias /php/ "/home/*/public_html/"
って感じになるのかな?
んなことやった事ないんだけど...って、httpではDSOでしか使わないしな。
677665:02/08/19 02:12 ID:???
>>666
ありがとう確認してみるね。
678nobodyさん:02/08/19 14:11 ID:R2c3O/O8
Linux(RedHat 7.3) + Apache + php4.1.2(RPM版)
だとさ、mb関係のエラーでるんですけどRPM版だとどうすればいいの?
679667:02/08/19 22:48 ID:???
>>676
<Directory>の中ではないけど、
ScriptAlias /php/ "/home/*/public_html/"
はやった。apacheの再起動したらエラーが出たけど。

ちなみに、redhatではOKだったんだが、Laser5 7.2では
駄目だった。(ったくどうなってんだか)

仕方がない。CGIモードは諦めるか。
680nobodyさん:02/08/19 23:08 ID:???
http://www.segarosso.com/cgi-bin/ranking/peruse.cgi
このサイトを携帯で閲覧できるようにするにはどうすれば良いのでしょうか?

http://www.segarosso.com/cgi-bin/ranking/record.cgi
上記サイトは以下のようにして正常に動作しています・・(私が作ったのではありません・・)
http://www.marubaku.gr.jp/mty/game/inid/irank.htm

ご教授よろしくお願い致します。
681680:02/08/19 23:33 ID:???
あ・・スレ違いでした・・すみません。
タイトルを良く見ずに投稿してしまいました・・
682nobodyさん:02/08/20 06:07 ID:???
phpだけど、例えば、$hoge内にある あああ http://xxxxx で、あああとhttp://xxxxxを分けて
$hoge_atama と $hoge_saigoに入れたいんだけど、どうやるんだい?
683nobodyさん:02/08/20 12:15 ID:bRp3Fbuo
global変数で連想配列を使うとエラーになるのですが、
これは仕様でしょうか?
684nobodyさん:02/08/20 18:32 ID:???
>>682
explode

>>683
$_POSTや$_GETはどうなるんだと小一時間...
685nobodyさん:02/08/20 21:17 ID:gx2oV0um
>>684
>>682の日本語よく理解できるな
686nobodyさん:02/08/20 21:29 ID:???
禿げ同
687nobodyさん:02/08/20 21:33 ID:???
>>685
そそ、せめて""で括ってほしいよな。
間のスペースを見つけたときは虫を発見した気分だった。(w
688nobodyさん:02/08/20 21:51 ID:???
>>684
ありがとう〜。>>682みたいな日本語理解してくれてありがと(w

>>687
スマソ、スペースで区切られてる奴を分けて取り込みたかったんで。
689nobodyさん:02/08/21 01:52 ID:???
<?php
class DQN{
 var $msg;
 function DQN(){
  $this->msg = "キタ━━━━━━(゜∀゜)━━━━━!";
 }
 function getMsg(){
  return $this->msg;
 }
}
?>
って書いても
<?php
class DQN{
// var $msg;
 function DQN(){
  $this->msg = "キタ━━━━━━(゜∀゜)━━━━━!";
 }
 function getMsg(){
  return $this->msg;
 }
}
?>
って書いても動くってことは
var $msg;
を定義する意味ってなんですか?
690nobodyさん:02/08/21 16:50 ID:???
初期化
691nobodyさん:02/08/21 21:01 ID:???
最近sagaってばっかだけど
PHP離れが進んでいるんかなー
692nobodyさん:02/08/21 21:07 ID:???
>>691
そりゃ、PHPはロック処理がPerlよりも甘いんだからなぁ。
日/2万のサイトで、アクセスカウンターをPHPにしたら、日に2回も飛んだもん。
しゃあないからPerlなカウンターに戻した。PHPは確実性、信頼性がない。
693nobodyさん:02/08/21 21:59 ID:???
>>692
へーそんなことがあるんだー。
夏厨ですまんのだけど
「飛ぶ」ってのはどうなっちゃうこと?
Webサーバがかたまっちゃうの?
694nobodyさん:02/08/21 22:35 ID:???
>>693
カウンタが0に戻る、またはおかしくなったんだろう。
>>692
Perlと比べんなよ。どっちもJSP+Servletと比べたら同じようなもんだ。
695nobodyさん:02/08/22 00:06 ID:???
カウンタ読み出して0だったらキャンセルすれば飛ばないよ。
ロックしても飛ぶときは飛ぶ。
696nobodyさん:02/08/22 00:54 ID:???
>>692
そんなん MySQL とか BerkleyDB とかをつかえば済むこと。PHP にファイルを
直接いじらせるなよ。
697nobodyさん:02/08/22 01:25 ID:???
アクセスカウンターごときでDBを使うのも分からんが、
日/2万のサイトで一つのファイルをロックして読み書きする処理を作るというのも分からんな。
698nobodyさん:02/08/22 01:34 ID:???
>>697
鳩山由紀夫っぽいぞ。
で、最善策は?
699nobodyさん:02/08/22 02:18 ID:???
最善策なんて個々のサイトによるだろう。
アクセスカウンターが本当にキッチリとカウントしなければいけないのか、
0に戻らなければ多少いいかげんでもいいのか等により違うものだろ。
バックアップファイル作ってもいいし、分散化させてもいいし、その組み合わせでもいい。
700nobodyさん:02/08/22 02:30 ID:CUxInLYA
700
701  :02/08/22 02:48 ID:cuMMUn2w
http://gatecity.gaiax.com/home/emiko1018/main
初めて先日婦人科検診に行きました。
クリトリスや膣口を念入りに消毒され、先生が指を入れてグニュグニュしてきました。
診察なので別にその時は変な感じはなかったのですが
少し時間が長いかなぁと思っていると、先生の指が微妙にゆっくりと
ピストン運動をしていたのです。
私は恥ずかしいのと気持ちいいのと腹立たしいのとが一緒になり
頭が混乱し、固定されていた足をバタバタ動かしました。
すると先生はすぐに指を抜き「ごめんねぇ、もう少しがまんしてねぇ」
と言いながら、ゼリーのようなものをクリトリスに塗り始めました。
もうその時点で膣口付近は濡れてベトベトだったと思います。
下半身がしびれてしまい、すぐにオナニーをしたいような状況でした。
先生は「ここ痒いでしょ、少しかぶれてるみたいだから薬塗っときますね。」
と言いクリトリスを念入りに指で摘みながら揉んできました。
たしかに最近クリが痒かったので納得したのですが
先生は皮まで剥いて激しく揉んでくるので、私は声を抑えるので必死でした。
かなり濡れているのが自分でもハッキリ分かって、お尻に液が垂れる感じがしたとき
「グボボボボ」と音がして掃除機のようなもので液を看護婦さんが吸い取りました。
自分の状況がとても恥ずかしいと思い「先生、も、もういいです」と言いました。
先生は「はいはい、もうすぐですよ」と淡々と言いながらクリトリスを揉みしだいています。
恥ずかしいので絶対逝ってはいけないとして我慢しました。
やっと診察が終わり、すぐにトイレに駆け込みオナニーをしました。
10秒ほどで逝ってしまいました。
翌日、会社の同僚にこのことを話すと「それ絶対変だよー、そんなことする医者いないよ」
と言われました。あの医者はやはり私で遊んでたのでしょうか、とても悔しいです。

702nobodyさん:02/08/22 06:24 ID:???
>>694
だから、PerlとPHPとでは、Perlの方がロック処理がしっかりしてるって事なんだよ。
俺はそれが言いたかっただけ。

>>697
日/2万のサイト程度で音を上げるPHPはダメですなぁ、って事。
PerlとPHPでやってるカウント処理は大体一緒なんだけど、PHPはへぼいですなぁ。

>>699
そこまでやらにゃならんのか。めんどいなぁ、PHPは。
Perlなら日/5万のサイトでも飛ぶ確立はPHPよりも格段に低いってのに。
PHPだったら日に10回は飛びそうだね。

アンケート処理でも、Perlの方が飛びにくいし。
DB処理させる程じゃないけどね。

703nobodyさん:02/08/22 07:04 ID:???
>>702

>>701にも何かコメントしてやってくれ。
704nobodyさん:02/08/22 12:07 ID:???
>>701
手マン程度で音を上げる女はダメですなぁ、って事。
Perl の方が貞操帯ロック処理がしっかりしてるって事なんだよ。
705nobodyさん:02/08/22 12:18 ID:???
>>704
わかってないなー もう♪ 手マンのほうが、って事。
つまりhotscripts.comもPHPのほうがいっちゃったって事なんだよ。
706nobodyさん:02/08/22 16:34 ID:???
いちゃってますた
707nobodyさん:02/08/22 17:34 ID:???
>>702
どんなロックの仕方してるのかソース見せてよ
708nobodyさん:02/08/22 21:51 ID:???
>>701
そんな医者いねえよ(゚д゚)
709名無しさん:02/08/22 22:57 ID:???
flockで十分なんじゃないの?
なんか変なロック方法してるとしか思えない。

flockが使えない環境なら別だけど。
710nobodyさん:02/08/22 23:15 ID:???
702大人気ですな(藁
711nobodyさん:02/08/22 23:20 ID:???
>>704
http://www.hotscripts.com みました
スクリプト数 PHPのほが多いですねえ
はー phpかー
perlまだわかってないし・・・ どうしよ
712nobodyさん:02/08/23 00:09 ID:???
>>702
>PerlとPHPでやってるカウント処理は大体一緒なんだけど、PHPはへぼいですなぁ。
って大体一緒じゃなくて全く一緒にして比べろよ(゚д゚)

702大人気ですな(藁
713TOPEAK ◆2002ISZo :02/08/23 08:14 ID:yUIATWhH
1000レス近くついてる2チャンネルのスレッドを
file(thread.at);
とかで読み込むのって
やっぱし負荷大きいですよね・・?
714TOPEAK ◆2002ISZo :02/08/23 08:34 ID:yUIATWhH
あ,2チャンネルは別ファイルにレス数保存してあるのか
なるほど・・・
715662:02/08/23 10:33 ID:4aUCdNU7
716nobodyさん:02/08/23 19:53 ID:yUIATWhH
いまだに>>713で悩みながら
スクリプトを書いてるのですが
また質問させてください

指定した行にファイルポインタを移動させようとおもってるのですが
下の関数よりもっと早く,負荷も少なく移動させる方法ってありますでしょうか.

それと下の関数を1つのページで50〜100回ぐらい呼び出すのですが
これってサーバーに対する負荷大きいですか?


//$line_numberで指定した行にファイルポインタを移動させる
function fseek_l($file_pointer,$line_number)
{
rewind($file_pointer);
for($i=0; $i<$line_number-1; $i++) fgets($file_pointer);
}
717nobodyさん:02/08/23 23:12 ID:???
>>716
file関数で配列に読み込んでしまえば、そんな関数はいらない。
(ファイルアクセスの)負荷もない。
718717:02/08/23 23:14 ID:???
と、書いた後にどっちにしようか迷ってるのを知った。
早とちり。スマソ。
719717:02/08/23 23:22 ID:???
罪滅ぼしに書いておく。
サイズが大きいファイルをfile関数で全て読み込むのが嫌ならば、
freadで自分の好きな単位ずつ読んで、改行検索すれば
716の関数よりはファイル関連の関数を呼ぶ回数は減らすことができる。
ただし、PHPのファイル関数の内部バッファリングがよく分からないので、
効果があるかどうかは別。気持ちだけの問題なのかもしれない。

720717:02/08/23 23:28 ID:???
で、合わせ技としては、最初にfreadである単位ずつファイルを読み込み、
配列に改行の位置と一行の長さを記憶しておく。
2回目からは、その配列を参照し、fseek→fread
(改行の位置だけ記憶しておき
2回目からは、その配列を参照し、fseek→fgetsでうまくいくかは分かんない)
721TOPEAK ◆2002ISZo :02/08/23 23:44 ID:yUIATWhH
fileがそんなに負荷をかけないならつかってまいたいきもするのですが
ううむ

722TOPEAK ◆2002ISZo :02/08/23 23:50 ID:yUIATWhH
とりあえずfileで完成させてみて
負荷が高いようなら別の方法でがんばってみよう・・
ありがとうございました.


723nobodyさん:02/08/24 10:01 ID:???
PHPで、別のサーバーにあるhtmlファイルの取り込む方法(fopenして変数に入れて書き込む)は分かっているんだが、次は
別のサーバーにあるjpg画像を取り込みたいんだが、これってどうやるんだい?
724nobodyさん:02/08/24 11:52 ID:???
>>723
fsockopen
725nobodyさん:02/08/24 14:22 ID:???
PHP4.2.2にしたとたん、動いてたスクリプトが急に動かなくなりました。
スクリプト内に、print " ";を入れてやるとちゃんとページが表示されるんですが、
それを取るとページが表示できません、となります。
flush();とかやっても意味なかったし、困っています・・・。
726nobodyさん:02/08/24 17:33 ID:???
>>725
1から順番に読むべし
727nobodyさん:02/08/24 20:01 ID:???
>>723
>>724
fopenでもできるじゃん。
728nobodyさん:02/08/24 20:07 ID:???
>>725
php.ini
register_globals = On
729725:02/08/24 20:19 ID:???
>>5で解決しました。最近phpから離れていたので
ぜんぜん知りませんでした。
php.iniの default_mimetype は text/html になってるんですが、
なんでこのような再定義で回避できちゃうんでしょうか?
730nobodyさん:02/08/25 00:16 ID:???
Win+Apache+PHPでやってるんだけど、処理の1つでDOSプログラムを実行しないとダメなんですわ。
これをPHPでやるにはどうすればいいんでしょうか?
実行したいコマンドは e:\utl\ish d:\tmp\hoge.txt /ss です。
731nobodyさん:02/08/25 00:31 ID:???
>>730
system関数じゃダメなの?
732nobodyさん:02/08/25 09:23 ID:KFiWaIrL
apacheのモジュールとしては組みこめたのですが、
コマンドラインバージョンも組みこもうとしてmakeしたところ、
/usr/local/src/php-4.2.2/main/main.c:966: undefined reference to `php_startup_sapi_content_types'
/usr/local/src/php-4.2.2/main/main.c:968: undefined reference to `zend_register_stringl_constant'
こういうエラーがズラズラーっと出てインストールできませんでした。
4.0.6と4.2.2の両方のバージョンで試しましたが同じ個所でエラーが出ました。
原因がわかる方いらっしゃいますでしょうか?
configureのオプションはこんな感じです。
--enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local/pgsql
--enable-track-vars --enable-trans-sid --enable-force-cgi-redirect
いろいろ付け足したり取ったりしてやってるんですが、、、
環境は、RedhatLinux7.1、gcc2.96.81、apache1.3.20 です。
733732の補足:02/08/25 09:27 ID:???
ソースには手は触れていません。
ソースレベルの間違いではないと思います。
734nobodyさん:02/08/25 10:20 ID:???
>>732
Apacheモジュールとしてインストールした後に
make distcleanはもちろんやってるよねぇ?
735nobodyさん:02/08/25 13:40 ID:xbmU3xww
$flag=1として、
if($flag) { ~~~ }
if(isset($flag)) { ~~~ }
のどっちが正しいの?どっちもちゃんと動くけど、
わざわざissetって書くのも面倒だし。
前者でいいかな?
736nobodyさん:02/08/25 14:38 ID:???
>>735
$flag=1
で、$flag!=0を知りたいだけなら前者で問題ない。
$flag=0
で、$flag=0を知りたいのなら後者でないと識別がつかない。
737nobodyさん:02/08/25 14:50 ID:???
PHP+MySqlで列の並び替えをするスクリプト使ってるんですが
一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
分散させてsort1.php(10KB)とかで並び替えをさせるか、どっちがいいんでしょうか。
体感的速度はどっちも変わらない(ような気がする)んですが…。
どなたかご教授下さい。
738nobodyさん:02/08/25 14:52 ID:???
訂正です。
>一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
一つのファイル、sort.php(86KB)にいろんなパターンに並び替えるスクリプトを詰め込むか
739nobodyさん:02/08/25 15:04 ID:???
>>735
どちらが正しいかは$flagの扱いによる。
$flagが0または1(0以外)の場合は前者。
$flag自体がある条件の時だけセット(null以外)される場合は後者。
740nobodyさん:02/08/25 15:12 ID:???
>>737
どのソートパターンかによって切り替えるのが面倒なので一つのファイルにする
に一票。
クラス化するに一票。
741nobodyさん:02/08/25 16:49 ID:XXk1kvRT
>>733
はい、make distcleanは行いました。
エラーメッセージに出てくる定義が入っているヘッダファイルは
ソースを見る限りちゃんとインクルードされてるし、
2つのバージョンで同じエラーが出るというのも解せません。
同じ症状に見舞われた方はいらっしゃらないのかな?
もしかして undefined reference 以前に何かエラーが出てるのかな?
makeのエラーってどこかのファイルにまとめて出力されてましたっけ?
linux(unix)はじめてなうえに、cもほとんど使ったこと無いので
そういう基本的な知識もないのが痛いです。
742nobodyさん:02/08/25 16:49 ID:???
掲示板を作っていますが、項目ごとにいちいちmb_convert_encodingするのが面倒です(multipart/form-dataなんです)。
一気にPOSTの内容をエンコーディングするようなことはできるでしょうか?

743nobodyさん:02/08/25 20:27 ID:???
>>742
バイナリとか混ざってると出来ないんじゃない?
744nobodyさん:02/08/25 23:35 ID:???
>>743
$_POST["title"]=mb_convert_encoding($_POST["title"], "EUC-JP")
とか沢山あるのは何となく嫌なんですよね。仕方がないかなー。
745nobodyさん:02/08/26 15:23 ID:???
セッションを使用してサイトを構築していますが
セッションがPHPSESSID経由なのか
クッキー経由なのか判定したいのですがどうすれば出来るでしょうか?
746nobodyさん:02/08/26 15:55 ID:???
>>744
key()とnext()を使ってループ処理。
一度作れば、キーが変わっても対応できる。
747nobodyさん:02/08/26 16:04 ID:???
>>745
$_POSTや$_GET $_COOKIEにキーPHPSESSIDがあるのかないのか調べれば?
748nobodyさん:02/08/26 18:56 ID:???
XOOPSについての質問はここでいいんでしょうか・・・・?
749nobodyさん:02/08/26 19:17 ID:ggUoz7FV
PHP+PostgreSQLでスレッド型掲示板を作成しているのですが、
スレッド毎にテーブルを作成してそこにログを入れることの問題点ってありますか?
スレッドは管理者しか立てられませんが、全部で1000以上あります。
750nobodyさん:02/08/26 19:29 ID:???
>>749
無駄。大問題。
751nobodyさん:02/08/26 20:14 ID:ggUoz7FV
>>750
どこら辺が問題なんですか?
752nobodyさん:02/08/26 20:49 ID:???
>>749
問題点は沢山あるけどそれはひとまずおいといて、
実際一つのテーブルに入れてみたら実用に耐えられないほどの
問題が発生したという事なのかな?
まずテーブルを分けようと思うに至った理由を書いてみたら?
753nobodyさん:02/08/26 21:10 ID:???
つか、PHPには関係ないな。
こっちで聞いたら?
PostgreSQL
http://pc.2ch.net/test/read.cgi/php/989375812/l50
754nobodyさん:02/08/26 21:36 ID:???
で、750は大問題点を答えられないんだな。
755nobodyさん:02/08/26 21:37 ID:ggUoz7FV
>>752
1つのカラムに全てログを入れると、ログの追加書き込みがめんどくさいという理由なんですが。
一度全て読み込まなければならないので。
756750:02/08/26 21:41 ID:???
失礼な。
テーブルは、できるだけ少ない方がイイに決まってる。
同じ構成のテーブルが千件あるだけで大問題だろう。

と言ってみるテスト
757nobodyさん:02/08/26 21:43 ID:???
750じゃないが、
そのバラバラのテーブルをどうやって管理すんのよ。
テーブル名を管理するテーブルを作るのか?
訳分からんな。
758nobodyさん:02/08/26 21:46 ID:???
>>755
別のレコードに入れて参照させりゃいいだろ。
759nobodyさん:02/08/26 21:58 ID:???
>>757
千件もあるスレッドを貴方はどのように管理するのでしょうか?
760nobodyさん:02/08/26 22:01 ID:3hDPVfbt
Javaでは
Process java.lang.Runtime.exec (String[] command, String[] envp, File dir)
のように、プログラムを実行する際にプロセスの環境変数を設定する関数があるけど、PHPではそういう関数はないの?
exec ()やproc_open ()を当たってみたけど、それらしい物はないし.
761757:02/08/26 22:26 ID:???
>>759
スレッド毎にテーブルを作らない方法で。
762nobodyさん:02/08/26 22:41 ID:???
>>761
スレッド毎にテーブルを作らない方法で、1000件以上のスレッドをどう管理するの?
763757:02/08/26 22:45 ID:???
>>762
スレッド毎にレコードを作る方式で。
面白いな(藁
764757:02/08/26 22:48 ID:???
その後>>758
765nobodyさん:02/08/26 22:52 ID:???
>>763
ってことは、スレッドを管理するテーブルは結局作るわけですね。
757を読むと、スレッドを管理するテーブルすら作らなくてもいいよにと
思えたのでした。作らなくてもいいとはどこにも書いてないけどね。

だから確認したの。煽ってスマソ。
766757:02/08/26 23:17 ID:???
>>765
スレッドを管理するテーブルを作るとは言ってないよ。
スレッド型掲示板っていっても色々あるから、
制限、表示方式等分からないと何とも言えんな。
767nobodyさん:02/08/26 23:31 ID:???
>>766
確かに言ってないな。
スレッド毎にテーブルを作るのは論外としても、スレッド管理テーブルと
ログテーブルは別けちゃうよ。
各スレッドのレス数が、多くても数十って程度なら、いっしょにしても
いいか...
768nobodyさん:02/08/26 23:36 ID:ggUoz7FV
>>758>>767
スレッド管理用テーブルとログだけのテーブルに分けるということですか?
分ける必要って何ですか?
769nobodyさん:02/08/26 23:47 ID:???
>>768
スレッド管理テーブルは、
スレ番号、スレタイ、スレ立て人、timestamp、...
ログテーブルは
スレ番号、本文、timestamp、....

766の言う通り形式によって違うだろうけど、
昔のhypernotes形式なら別でいいかと... ダメっすか?
770757:02/08/27 00:19 ID:???
>>768
2chのようにスレッド全体に1つのタイトルがあって、
最初に表示されるページがスレッドタイトルの一覧を出すような形式の場合、
>>769
のような形式が考えられるだろう。
しかし、
本文一つ一つにタイトルがあるような場合、
最初に表示されるページをなるべく高速に出したい場合は
工夫が必要になる。
771nobodyさん:02/08/27 00:36 ID:BywL+zC1
>>769-770
すごく基本的なことなんですが、1回の処理で複数のテーブルにアクセスすると遅くなったりしないんですか?
772nobodyさん:02/08/27 00:47 ID:???
>>771
設計次第。
773nobodyさん:02/08/27 09:40 ID:29/b2lpR
die()を強制終了じゃなく、最後の出力って意味で使ったらマズイですか?
774nobodyさん:02/08/27 10:52 ID:Pwc6QKdg
sleep(36000);
等はsleepしている間、かなりサーバに負荷がかかるんでしょうか?
また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
775nobodyさん:02/08/27 10:52 ID:Pwc6QKdg
あ、スマソ・・。
スレ間違えました。。
776nomony:02/08/27 10:57 ID:L02RF0Lh
win32環境でmb_eregxは使えないんですかねぇ〜
使おうとするとno functionエラー出るし...
777nobodyさん:02/08/27 11:43 ID:/KR5b3gy
>> 776
そんな関数ありません
使えなくて当たり前
778nobodyさん:02/08/27 13:24 ID:ZUROk4Fr
こんな関数作ってみました。
これって、法律的にどうなんでしょうね?
単なるリンク張りを自動的に行っている、と見るか
それとも、いわゆる「無断引用」に当たるのか。
//----------------------------------------------------------------
function NewsFromAsahi(){
$URL = "http://www.asahi.com/";
if( ($fp=fopen($URL,"r")) ){
for($phase=0;!feof($fp);){
$str = fgets($fp);
switch( $phase ){
case 0:
if( mb_eregi("<!--\ Start\ of\ Top\ 5\ -->",$str) ){
$HTML = $str; $phase = 1; }
break;
case 1:
$HTML .= $str;
if( mb_eregi("<!--\ End\ of\ Top\ 5\ -->",$str) ) $phase = 2;
case 2: break;
}
}
$HTML = mb_eregi_replace("<img[^>]+>","<li>",$HTML);
$HTML = mb_eregi_replace("<a[ ]+href=\"","<a href=\"".$URL,$HTML);
$HTML = "<dl>\n<dt> News from <a href=\"http://www.asahi.com/\">asahi.com</a>\n<dd>".$HTML."</dl>";
}
return( $HTML );
}
//----------------------------------------------------------------
詳しい人の意見が聞きたいです。
779778:02/08/27 13:25 ID:ZUROk4Fr
↑見にくくなってしまった....

上の関数は、asahi.comから最新ニュースへのリンクだけを抜き出すものです。
780nobodyさん:02/08/27 13:40 ID:???
確か、アメリカでそんな訴訟があったと思ったが。二ヶ月前くらいか。
781nobodyさん:02/08/27 14:54 ID:JlzB8Squ
>>778
これは動きますか?
782nomony:02/08/27 16:17 ID:L02RF0Lh
>>777

mb_eregxってmb_ereg()等の事なんですがね...
783nomony:02/08/27 16:20 ID:L02RF0Lh
>>778
>>780

リンク側が敗訴でしたねぇ〜
サムネイル(タイトルもか?)を表示してうるのが原因だったような
784nobodyさん:02/08/27 16:24 ID:/KR5b3gy
>> 782

だったら、そう書け ex. mb_ereg(), mb_eregi()等って
4.2.xだったら、php.iniに

extension_dir = (drive letter):\(php_install_dir)\extensions
extension=php_mbstring.dll

を書く
785nomony:02/08/27 16:29 ID:L02RF0Lh
>>784
それは書いてある。
mb_ereg()は動かない(未定義関数エラーが出る)が、mb_send_mail()は動く

PHPマニュアルに「実験的なステータス」とある関数がどうやら使えないようなんだよね
786784:02/08/27 16:48 ID:/KR5b3gy
>> 785
スマソ

print_r(get_defined_functions());
に含まれてないね。
--enable-mbregexを省いて作成されているようだ。4.2.2-win版
787784:02/08/27 16:54 ID:/KR5b3gy
788nobodyさん:02/08/28 00:01 ID:???
『コアラ>おれはやってないよ。』
と文字列の コアラ> を取りたいんだけど、どうすればいいの?
stripslashes では取れんのかな? 取り方おしえてください。
789nobodyさん:02/08/28 00:14 ID:???
>>788
君、何歳?
790nobodyさん:02/08/28 00:47 ID:???
>>789
僕は何歳? 例が幼稚って。解決しました。
791788:02/08/28 00:49 ID:???
>>790
792nobodyさん:02/08/28 01:32 ID:rTh+CXwx
>>788
質問の仕方がオコチャマだって…
793初心者:02/08/28 03:35 ID:ayLaxrUo
初心者です。環境:windows98+Apache+php4

<? phpinfo ?>

で表示される「Server API」が「CGI」なんですけど、これを
「Apache」と表示させるには(ApacheのモジュールとしてPHP4
を動かすためには)どうすればいいのでしょう?

くだらない質問かもしれませんがどうか教えてください。
よろしくお願いします。
794初心者:02/08/28 05:56 ID:???
>>793
自己レス
自己解決しました。単なる勘違いでした。
795nobodyさん:02/08/28 07:59 ID:???
『コアラ>おれはやってないよ。』
コアラをパンダに変えるにはどうしたらいいのでしょうか?
796757:02/08/28 09:19 ID:???
>>795
ereg_replace
797tekitou ◆NM99TIzo :02/08/28 09:20 ID:???
??
798nobodyさん:02/08/28 09:29 ID:???
$logs = str_replace("795>", "逝ってよし>", $logs);
799nobodyさん:02/08/28 10:12 ID:???
残念ながらstr_replaceは全体を置き換えてしまう
800nobodyさん:02/08/28 21:34 ID:???
PHP使いの偉い人に宿題でし。
Apacheを15分毎に監視し、応答がない等の正常ではない反応があった場合、
Apacheを再起動する。
そういうスクリプトを書くべし。

801 :02/08/28 23:50 ID:???
>>800
で、答えは?
802nobodyさん:02/08/29 01:42 ID:???
>>800
Apache落ちてたらphp使えないじゃん。
cron使うんだろうけどUNIX板できけば?
803nobodyさん:02/08/29 06:27 ID:???
>>802
いや、Win版で頼む。
UNIX版だとそーいうスクリプト(Perl)が多いな。
Win版Apacheでそういうのは見かけないのう。
804nobodyさん:02/08/29 06:30 ID:???
まず、fopenで、http://localhost/hoge.htmlを開く。(hoge.htmlの中にはunkoと埋め込んでおく。)
んで、予定されたタスクでこれを15分間隔で実行。

fopenした時、unkoと言う文字列があればなにもしない。
unkoと言う文字列が取得出来ない場合、execでアパッチを停止、起動させる。

これで解決じゃん。
805nobodyさん:02/08/29 14:49 ID:???
daemontoolsでも使え
806nobodyさん:02/08/29 17:39 ID:???
構造体の変わりにクラスに変数だけ入れて使ってるんだがヤバイかね。
こんな使い方は(;´Д`)
807 :02/08/29 23:05 ID:???
>>802
Apache 落ちてても PHP は使えるだろ。
モジュールとしては使えないが・・・
808nobodyさん:02/08/29 23:40 ID:???
>>806
別にヤバくはないが、うまみもない。
809 ◆tIyj783Q :02/08/30 01:25 ID:???
>>800
/sapi/cliをコンパイルして
cronで15分毎に実行。
$sock = fsockopen("localhost",80, $errno, $errstr);
でsockがfalseだったら/usr/local/apache/bin/apachectl restartを実行
もしもっと確実に監視したいならHEAD / HTTP/1.0でも送信すればよろし
810nobodyさん:02/08/30 06:14 ID:???
>>809
fsockopenならWin版PHPでも使えるね。

>もしもっと確実に監視したいならHEAD / HTTP/1.0でも送信すればよろし
それはどのようにして送信?

811 ◆tIyj783Q :02/08/30 12:14 ID:???
>>810
http://jp2.php.net/manual/ja/function.fputs.php

ちなみにWinなら再起動は
C:\Program Files\Apache Group\Apache\Apache.exe -w -n Apache -k restart
812nobodyさん:02/08/30 13:44 ID:IarIlbJG
PHPでmy.yahooのような個人用ポータルサイトをつくるのにはどうしたらよいのですか?
一旦認証して、色々なサービスに認証を引き継ぎたいです。
(シングルサインオンのようなイメージ)
よろしくお願いいたします。
813nobodyさん:02/08/30 16:03 ID:???
814nobodyさん:02/08/30 16:13 ID:okP1fGcQ
http://www.p0t.jp/phpinfo.php
の環境でGETは平気なんですがPOSTでデータが受け取れないです。
ようするに↓がちゃんと表示されないです。
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form name="form1" method="post" action="<?print $PHP_SELF;?>" enctype="multipart/form-data">
<input type="text" name="file1"><br>
<input type="submit" name="submit" value="送信"><br>
</form>
<?
if($submit){
print $file1;
}
?>
</body></html>

PHP Version 3.0.9のほかのサーバでは大丈夫だったんですが・・・。
どなたかわかる人がいればお願いします!!!
815 ◆tIyj783Q :02/08/30 17:53 ID:???
>>814
過去ログを読みましょう。
$submit=$_POST['submit'];
$file1=$_POST['file1'];
816nobodyさん:02/08/30 18:43 ID:okP1fGcQ
あ、すみません、
register_globalsはonで、$_POST["submit"]でやっても動かないって前提っす。
そもそもGETはうけとれます。
817 ◆tIyj783Q :02/08/30 19:13 ID:???
>>816
もしかしてファイルを受け取ろうとしてる?
818山師さん:02/08/30 21:20 ID:FsiYdmKt
最高齢の現役プログラマって何歳ですか?
819nobodyさん:02/08/30 22:08 ID:???
register_globalsはoffちゃうん?
820すれ違いだろ:02/08/30 23:17 ID:???
>>818
コンピュータの歴史を読み登場人物の中から生き残りを探せ。
821nobodyさん:02/08/30 23:47 ID:???
>>814
submitはボタンを押さないとpostされないんじゃないか。
テキストエリアでEnterキーを押して送信したら$submitにはなにも入りませんよ。

たしか...
822nobodyさん:02/08/31 09:50 ID:MUbldWgg
誰かFFADVENTUREのPHP版を作って配布してください。
した方は神と呼ばせていただきますので。
823nobodyさん:02/08/31 09:58 ID:???
神と呼ばれる以外に何かメリットは?
824814:02/08/31 11:09 ID:McY4kGnj
>816
File送信以前にPOSTがうけとれないんで
まずそれをどうにかしたくて・・・。

>819
ONです。

>821
submitボタン押して送信してます。
825744:02/08/31 12:30 ID:727MmemG
>>746
遅レスすまそ。一応作ってみたけど、こんな感じでいいかな?
こっちの方がいいとかあったら、アドバイスプリーズ。
while(current($_POST)) {
$key=key($_POST);
$_GET[$POST] = mb_convert_encoding($_POST[$key],"EUC-JP");
next($_POST);
}
826825:02/08/31 12:31 ID:???
あ、上の間違ってるね。
while(current($_POST)) {
$key=key($_POST);
$_POST[$key] = mb_convert_encoding($_POST[$key],"EUC-JP");
next($_POST);
}
827746:02/08/31 13:02 ID:???
>>826
ちゃんと処理されるんならそれでええやないの。

以下は未検証だけど、
foreach($_POST as $key => $value){
$_POST[$key] = mb_convert_encoding($_POST[$key],"EUC-JP");
}
で、どぉよ。
少しずつレパートリーを増やしていくしかないわなぁ。
828746:02/08/31 13:07 ID:???
あぁ、$valueにせっかく値を渡しているのだから、
$_POST[$key] = mb_convert_encoding($value,"EUC-JP");
の方がいいかも。
829nobodyさん:02/08/31 15:30 ID:???
これ(mb_convert_encofing)って入力が SJIS かつ、
「\」が2バイト目に来る文字列の時におかしくなんねー?

===== cut here =====
<FORM action="<?= $PHP_SELF ?>" method="POST" enctype="multipart/form-data">
<INPUT type="text" name="test" value="機能表示ソフトウェア">
<INPUT type="submit">
</FORM>
<HR>
<PRE>
<?= $_POST['test'] ?>

 mb_convert_encoding()

<?= mb_convert_encoding($_POST['test'], 'EUC', 'SJIS') ?>
<HR>
php_version: <?= phpversion() ?>
magic_quotes_gpc: <?= get_magic_quotes_gpc() ?>
</PRE>
===== cut here =====
830nobodyさん:02/08/31 15:55 ID:???
>>829
> magic_quotes_gpc: <?= get_magic_quotes_gpc() ?>

なんでおかしくなるのか、わかってんじゃねぁかよ。
831nobodyさん:02/08/31 16:27 ID:???
>>830
いや、漏れはわかってるんだけど、お前等わかってますか?
ってゆーのと、あわよくば

 magic_quotes_gpc = On

のままで回避できる方法が得られないかと(w
832nobodyさん:02/08/31 20:36 ID:???
>>831
あんさんこそわかっとるんけ?
magic_quotes_gpc = On
が何するものかと知ってれば、その解決方法も判るじゃないかよ。
833nobodyさん:02/08/31 22:08 ID:???
>>832
悪りぃ、確認不足やったわ。
化けた状態で stripSlashes() 効かないかと思ったら効いたわ。

よう考えたら、単に「\」が二倍になってんのを元に戻すだけやから
当然と言えば当然か。ちょっと勘違いしてたわ。

ってわけで、

 $var = stripSlashes($_POST['test']);
 $var = mb_convert_encoding($var, $internal_encoding, $input_encoding);
 $var = addSlashes($var);

みたいに、一旦消し去ってから再追加で(゚Д゚)ウマー
834nobodyさん:02/09/01 00:59 ID:???
>>814
これで問題の切り分けしてみろ。

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form name="form1" method="post" action="<?print $PHP_SELF;?>" enctype="multipart/form-data">
<input type="text" name="file1"><br>
<input type="submit" name="submit" value="送信"><br>
</form>
<?
echo "file1 = ".$file1."<br>";
echo "GLOBALS[file1] = ".$GLOBALS[file1]."<br>";
echo "_REQUEST[file1] = ".$_REQUEST[file1]."<br>";
echo "_GET[file1] = ".$_GET[file1]."<br>";
echo "_POST[file1] = ".$_POST[file1]."<br>";
echo "submit = ".$submit."<br>";
echo "GLOBALS[submit] = ".$GLOBALS[submit]."<br>";
echo "_REQUEST[submit] = ".$_REQUEST[submit]."<br>";
echo "_GET[submit] = ".$_GET[submit]."<br>";
echo "_POST[submit] = ".$_POST[submit]."<br>";
if($submit){
print $file1;
}
?>
</body></html>
835nobodyさん:02/09/01 09:59 ID:sTyltltt
ローマ字文字列から成る配列を
50音順に並び替えたいのですが、
どのような方法があるのでしょうか?
836nobodyさん:02/09/01 12:51 ID:???
>>835
asort
837nobodyさん:02/09/01 12:52 ID:???
>>836
あっ、スマソ
50音準だったね。
838814:02/09/02 15:35 ID:9QT5bee6
>834
ありがとうございます。
やってみましたが全滅で一個もでません・・・。
839nobodyさん:02/09/02 15:39 ID:???
GZIP による圧縮転送を行いたく以下のソースにてテストしてみました。
http://php.weblogs.com/http_compression

結果は何も表示されない状態で、
header("Content-Encoding: gzip")
の部分をコメントアウトすれば圧縮された状態のものが表示されました。

perl にて同じようなことを行った際には問題なく意図どおりの結果を得られましたが
PHP ではうまくいかず悩んでおります。

http://www.php.net/manual/ja/function.gzcompress.php
も参考にしましたが、上記と同じく Content-Encoding: gzip を出力させると空白になります。
他に確認すべきことなどございますでしょうか。

PHP 4.1.2
Apache 1.3.23
zlib が使用可能なことは確認しました。
クライアントは Win2KSP3、IE6.0 です。
840nobodyさん:02/09/02 17:48 ID:???
>>839
ログは見た?
841nobodyさん:02/09/02 19:15 ID:???
>>839
>GZIP による圧縮転送を行いたく
鯖側でgzipで圧縮するが、ブラウザ側では何も意識することなく表示する事を言っているなら、
スクリプトの頭(headerの前)で、ob_start ("ob_gzhandler"); と書けばよい。
これは、ココのユーザーノーツの中に(php、ブラウザのバージョンについても)書いてある。
http://www.php.net/manual/ja/function.ob-start.php
842nobodyさん:02/09/03 01:33 ID:???
>>838
"file1 = "
とか
"GLOBALS[file1] = "
とかの文字列は出てるの?
あと環境は一般的なの?
OS,Webサーバ,PHPのバージョン,ブラウザの種類は?
843839:02/09/03 13:39 ID:???
アドバイスありがとうございます。

>>840
自前でサーバ管理をしておりませんので、ログの閲覧が出来ません。

>>841
>鯖側でgzipで圧縮するが、ブラウザ側では何も意識することなく表示する事
説明不測で申し訳ありません。行いたいことはおっしゃるとおりです。
ob_gzhandler にはメモリリークの問題があると以前に知り
現在は解決されているかどうかまで調べずじまいでした。

http://www.php.net/manual/ja/function.ob-gzhandler.php
上記の例1のコードでテストを行いましたが、状況は同じです。

phpMyAdmin でも ob_gzhandler を使用していたので、試してみたところ
同じように何も表示されないので、PHP等の設定に問題があるのかもしれません。
phpinfo() で見る限りデフォルト設定のままのようです。

もう少し検索してみる必要がありそうです。
お気づきの点がございましたらお教えいただけると幸いです。
844841:02/09/03 15:09 ID:???
>>843
>ob_gzhandler にはメモリリークの問題があると以前に知り
知らなかった。でも、メモリリークが報告されているのは Ver4.0.4pl1なので
(http://www.geocrawler.com/archives/3/5/2001/1/0/5063854/)
もう解決されているんじゃないだろうか(推測)。
http://www.php.net/ChangeLog-4.php では、4.2.0で、ob_startに第3パラメータが
追加されているのが該当するかもしれない(これも推測)。
いずれにしても、解決したら詳細きぼ〜
845814:02/09/04 10:17 ID:khCnGqdv
>>838
"GLOBALS[file1] = "などの文字列はでてました。
そして他のサーバからのうちのサーバのページへPOSTすると表示されるんですが
自分のサーバからPOSTすると何もうけとらない状態でした。
しかし、次の日またやってみたら何故かいけました・・・。
846nobodyさん:02/09/04 11:00 ID:LeJnVSk1
\の表示で困ってます。
フォーム入力の料金表示で直接入力の\を使うと、
hidden fieldで次のページにパスしたときに、
\\と表示されてしまいます。
$priceA = "\\" . $priceB といったように関数を
割り当てているのですが。
多分、バックスラッシュとの関係だと思うのですが。
分かる方いますか?
847nobodyさん:02/09/04 11:18 ID:???
848nobodyさん:02/09/04 13:15 ID:qzuYRAZQ
FORMで$aaaをPOSTで送って、次のページでecho $aaa;とやっても
表示されまくなりました。
PHPのバージョンが上がって仕様が変わったのでしょうか?
849nobodyさん:02/09/04 13:21 ID:???

ネタですか?
850nobodyさん:02/09/04 14:14 ID:???
>>848
>>4
おながいします。
851nobodyさん:02/09/05 17:06 ID:NDL2LKCG
<?php
echo "<tag>";
echo "</tag>";
?>

のようにして、ブラウザにタグを表示させたいのですが
表示できません。ソースを見ると「<tag></tag>」となって
いるだけです。タグをそのまま表示させるためにはどうすりゃ
いいのでしょうか?
852名無しさん:02/09/05 17:11 ID:???
>>851
HTMLの基本から出直せ
853nobodyさん:02/09/05 17:24 ID:???
>>852
禿同
さいきんこんなんばっかやな
PHP-usersもregister_globalsネタがつきないし
854nobodyさん:02/09/05 17:35 ID:???
>>851の意図が解らないんだが...。
855nobodyさん:02/09/05 17:42 ID:???
>>854
'<' や '>' をどうやって表示させるかってことよ。
856nobodyさん:02/09/05 17:45 ID:???
もうバカだとか<tag>だとか。
>>851
単に変換すればいいのでは?
857nobodyさん:02/09/05 19:36 ID:???
わかってんなら教えてやれよ。
誘導するとか。
<
<
&lt;
858名無しさん@Emacs:02/09/05 19:49 ID:52nAvFqL
PHPの関数呼出し関係を一覧にしてくれるようなツールない?
CだとGLOBALとかあるよね。
etagsでもいいんだけど、ちょっと物足りない。
っていうか使い道が違うか。たのむー。
859nobodyさん:02/09/05 20:16 ID:???
ソースから吸い出したら?
860nobodyさん:02/09/05 21:14 ID:???
echo htmlspecialchars("<tag</tag>>");
861名無しさん@Emacs:02/09/05 21:34 ID:???
>>859
スクリプトでも書いて最終的にはそうしようと思ってる。
でも、存在しているものなら作りたくないなぁ。と。
862nobodyさん:02/09/05 22:29 ID:???
SSLのクライアント認証ってできます?やりたいことは提示された証明書の
シリアル番号なんですが
863nobodyさん:02/09/06 09:50 ID:IQ396KrO
すいません、質問させてください。
環境はphp3です。

で、配列に数字が入っていて、その中から最大と最小を取り出したい
のですが、ソートして最初と最後の数字を取り出せばいいのかなと
試したところ、ASCII順で並んでしまい、思った通りの結果が出ませんでした。
php4では数の大小でソートが出来る様なのですが、php3にはそういった関数が
無いみたいですね。
何かいい方法はありませんでしょうか。
864nobodyさん:02/09/06 12:17 ID:xN+/a93x
class TEST {
 var $name;
 var $age;
 function TEST($inName, $inAge) {
  $this->$name = $inName;
  $this->$age = $inAge;
 }
 function VIEW() {
  echo "NAME : " . $this->$name . "<br>\n";
  echo "AGE : " . $this->$age . "<br>\n";
 }
}
$dat = new TEST('NoName', '99');
$dat->VIEW();
exit;

-----Result-----
NAME : 99
AGE : 99

$nameに意図したものと違うものが代入されるのですが、
私が根本的に勘違いしているのでしょうか?
愚か者にお教えいただければ助かります。
PHP4.1.2です。

>>863
max() や min() では駄目ですか?
865864:02/09/06 12:27 ID:???
恥さらしました。
× $this->$name
○ $this->name

一から勉強しなおします。
お目汚しすみませんでした。
866863:02/09/06 14:27 ID:???
>>863
早速のレスありがとうございます。
ですが、残念ながらmax()もASCCIでよんでいるようです。
データには1〜40000程度の数字が入っているのですが、
9000など、頭に9の来るものが最大として認識されています。
本来なら、40000が出力されるはずなのですが…。
確認のため、配列をforで一つずつ出力すると、ちゃんと40000という数字
が入っていたので、取得自体は問題なく出来ていると思います。

他に原因があるのでしょうか?
867863:02/09/06 14:28 ID:???
やってしまいました…
>>863 → >>864
です。失礼しました。
868nobodyさん:02/09/06 14:53 ID:???
>>863
$ary1 = array("2,000", "9,000", "40,000", "500", "8,000");
$ary2 = array("2000", "9000", "40000", "500", "8000");
echo "Max1 = " . max($ary1) . " : Min1 = " . min($ary1) . "<br>\n";
echo "Max2 = " . max($ary2) . " : Min2 = " . min($ary2) . "<br>\n";

-----Result-----
Max1 = 9,000 : Min1 = 2,000
Max2 = 40000 : Min2 = 500

的外れかも。
869863:02/09/06 15:05 ID:???
>>868
どうもです。
カンマが入っているかいないか、という事だと思いますが、
すいませんがこれも違うようです。
形式としては
$ary2 = array("2000", "9000", "40000", "500", "8000");
ちょうどこんな感じの数値のみです。
(まれにマイナスがあったりもしますが)

データの取得の仕方が、ファイルを読み込んでforで回して
一行ずつ$data[]に押し込んでますが、その辺なにかマズイ事って
無いですよ…ね?

あちこち見ても乗って無いんですよね…。
一体ほんとになんなんでしょう(泣
870nobodyさん:02/09/06 15:34 ID:???
php3環境は無いので試していないが、(int)$hoge とキャストしてみたらどうだろう?
871863:02/09/06 16:42 ID:???
>>870
どもです。
試しましたが、同じ結果でした…。

もしかしてマイナスがマズイのかな…?
$ary2 = array("-2000", "9000", "40000", "500", "8000");
これも>>868の方が言っていた例のように、文字列として認識されてしまうのかなぁ…
自分でも適当な元データ作って試してみますが、
実はこれは見当違いで正しい方法があるよって人はまたご教授ください。

初仕事でこんな詰まるなんて先が思いやられる…鬱。
872nobodyさん:02/09/06 16:54 ID:???
>>871
つーか思いっきり "9000" とかって文字列指定してるじゃん。

 array(-2000, 9000, 40000, 500, 8000)

ならまだわかるが。。。
873nobodyさん:02/09/06 16:55 ID:???
users-jp でテンプレートが云々言うてますけど、
そもそも XML で出してやりゃいいんじゃないの?
と思う漏れは変ですか?
874863:02/09/06 17:09 ID:???
>>872
あ〜、失礼しました。
例のつもりで書いたのですが、間違っていては意味無いですね(苦笑

元データ(txt形式)は各行が「a b c d e」
というように5つのデータがタブ区切りになっていて、欲しいのはそのd。
なのでタブでsplitして、dだけ拾う(仮に$data[3]として)。
で、dは x,y というカンマ区切りの二つの情報を持っているので、「,」でまた
split。

$hoge = split(",",$data[3]);
それぞれを
$x[] = $hoge1;
$y[] = $hoge2;
として放りこんでるんです。
最終的に$xの最大値と$yの最小値が欲しい、という事です。
なので直接的に
$ary2 = array("2000", "9000", "40000", "500", "8000");
と指定してあるわけでは無いのですが、上記の様なやり方でも文字列として
代入されてしまうのでしょうか?
875nobodyさん:02/09/06 18:08 ID:???
>>874
つまり君はアレだな、

 "ABC 123 XYZ 789"

なんて文字列を split() したら型としては

 文字列 数値 文字列 数値

って自動的になってほすぃ、ってことだな?
8768月のクリスマス ◆zzfy/JR2 :02/09/06 18:12 ID:zUklKDWI
PostgreSQLに接続し
$result=pg_exec("select * from nwpersonal ");
を実行すると下記のエラーが発生するのですが
どうしたらよいのでしょうか?
分かる方よろしくお願いします☆

Warning: PostgreSQL query failed: ERROR: nwpersonal: Permission denied.
877nobodyさん:02/09/06 19:14 ID:yYJqZr2N
今、PHPの実行環境を構築していますが、
問題がわからないところがあります。
どなたか助けてもらえないでしょうか?

「環境」
Windows98+PWS+PHP4.0

「設定」
1)PWS
@仮想ディレクトリの追加
Aプロパティの設定「読み込み:OK、実行:OK、スクリプト:OK」

2)PHP
@配置場所「php-4.2.2-Win32.zip」を解凍して「C:\PHP」に配置。

3)レジストリーに以下を追加
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="C:\\PHP\\sapi\\php4isapi.dll"

よろしくお願いします。
878877:02/09/06 19:16 ID:yYJqZr2N
トラブルの状況は、PHPの拡張子のファイルにアクセスすると
ファイルのダウンロードが始まってしまいます。
879877:02/09/06 19:20 ID:yYJqZr2N
877です。

PWSのバージョンは、4.0です。
ちなみに環境構築は以下のサイトを参考にしました。
ttp://php3.de/manual/ja/install.iis.php
よろしくお願いします。
880nobodyさん:02/09/06 19:30 ID:yYJqZr2N
877です。何度も申し訳ありません。

php.iniファイルは、c:\windows配下に配置しています。

よろしくお願いします。
881nobodyさん:02/09/06 19:37 ID:yYJqZr2N
またまた、877です。

c:\php\php4ts.dll は c:\Windows\System
にコピーしています。

助けてください。

882nobodyさん:02/09/06 21:41 ID:???
>>877
>「ttp://php3.de/manual/ja/install.iis.php

>PWS マネージャで、PHPサポートを追加したいディレクトリで右クリッ クす、
>プロパティを選択します。「実行」チェックボックスをチェッ クし、確認を押します。
これやってみた?

Apacheのほうが楽しいような。
883login:Penguin:02/09/06 21:59 ID:???
mg_regex使って漢字チェックってできないかな?
カタカナは mb_regex("[ァ-ヶー]",$str);だとおもうんだが、
やっぱ感じはむりだよな。
ってことで全角チェック(ひらがな、漢字、カタカナ)ってできる?
884883:02/09/06 22:01 ID:???
ごめん、感じ=漢字ね。
885nobodyさん:02/09/07 02:56 ID:???
>>883
mg_regex ?
mb_ereg
mb_regex_encoding
886nobodyさん:02/09/07 03:37 ID:???
4.2.3が出てる…。ヽ(`Д´)ノウワーン
4.2.2,今インスト終わったばかりなのに…。欝だ,詩嚢。
887nobodyさん:02/09/07 04:49 ID:SuwDGNVx
4.2.3 何がちがうん?
888nobodyさん:02/09/07 08:28 ID:???
cgiのスクリプトをPHPに改造するスレッド、沈んじゃった?
ここで改造して欲しいってお願いしたらダメかな?
889883:02/09/07 08:47 ID:???
ちぇっくなのでmb_ereg
890nobodyさん:02/09/07 09:39 ID:???
>>888
PHPをCGIとして動作させればいいんじゃネーノ?
891nobodyさん:02/09/07 10:30 ID:???
PHPってワイルドカード使えないのですか?

if($host=="*.hoge.ne.jp"){echo "あぼーん";}else{echo "イイ(・∀・)!";}
こんな妄想してるのですが…。
正規表現わからなさ過ぎです(´д`)
892nobodyさん:02/09/07 10:45 ID:???
>>887
メンテナンスリリース。
バックフィックスのみ。
893nobodyさん:02/09/07 11:19 ID:k50oNcQ5
>>891
正規表現しかないね。
googleで適当に検索して覚えよう。
894891:02/09/07 12:11 ID:???
>>893
くそう!がんばりましたよありがとう!
あぼーんの対象が一人なのでマニュアルのサンプルを弄って出来ました。
…だめすぎ(つД`)
895X:02/09/07 16:42 ID:???
>>894
どう書いたのよ?
\w+とか、.+?とか、正規表現でワイルドカードすりゃいいじゃん
896nobodyさん:02/09/07 16:43 ID:???
>>891
Cのstrstrみたいな関数ってない?
もっとも.ne.jpのあとに何かきてもひっかかっちゃうけど。
897名無しさん@XEmacs:02/09/07 17:05 ID:???
898883:02/09/07 18:03 ID:???
>>888
お金くれるの?
899nobodyさん:02/09/08 00:21 ID:4CQEIo/H
php5のweb上での情報ってどこにありますか?
900891:02/09/08 06:48 ID:???
>>895 >>896
$host=getenv("REMOTE_HOST");
preg_match("/^[[:alnum:]]?([^\/]+)/i",$host,$matches);
$dom=$matches[0];
preg_match("/[^\.\/]+\.[^\.\/]+\.[^\.\/]+\.[^\.\/]+\.[^\.\/]+$/",$dom,$matches);

こんなのですがちゃんと意図した動きをしてくれますた。
2行目の ?([^\/]+) の意味する動きがさっぱりわからんのですが…
ちなみにhttp://jp.php.net/manual/ja/function.preg-match.phpの例3を参考にしました
901nobodyさん:02/09/08 12:25 ID:uUaPL6MQ
PHP 4.2.3 には、mbstring 周りにバグがあり、
POST / GET された変数を取得できない場合があるようです。
http://ns1.php.gr.jp/pipermail/php-users/2002-September/009886.html

パッチが CVS にコミットされたようです。
詳しくは、PHP-users ML の上記のスレッドを参照してください。
902nobodyさん:02/09/08 14:03 ID:+VKmhwX3
設定項目はdefine(hoge,"????")を使うのが普通?
俺は$GLOBALS["hoge"]を使っていたんだが、今まで我流で組んでいたんで
どのように項目設定をしたらよいのかよくわからない。
仕事でphpを組んでいる人はどうやっている?
903nobodyさん:02/09/08 21:08 ID:JZE+WdFR
すごい基本的な質問なんですが、
javascriptでいうところのlocation.searchにあたる構文はなんですか?
904nobodyさん:02/09/08 21:17 ID:???
メソドがGETなら$_GETに連想配列で入ってるよ。
グローバルになるかどうかは試してくれ。
905nobodyさん:02/09/08 21:24 ID:w5Lvhxg8
>>902
> 仕事でphpを組んでいる人はどうやっている?
我流だろ。
906nobodyさん:02/09/08 22:19 ID:???
>>902
CGIからやってきた人はそのままCGI風に書いたりしてるね。
<?〜?>の枠でHTMLの出力まで全部やっちゃう。
オイラはASPからやってきたのでHTMLに埋め込む形で書いてるけど。
907nobodyさん:02/09/08 22:24 ID:???
>>903
<?
echo getenv('QUERY_STRING');
?>
908nobodyさん:02/09/09 04:45 ID:G9rUU7zO
>>907
うーん、ということは
http://hoge.com/fuga?a=10&b=20
というアドレスを指定した場合、
$data = getenv("QUERY_STRING");
$tmp = explode("&",$data);
とすると
$tmp[0]にはa=10
$tmp[1]にはb=20
が格納される、という認識でよろしいですか?
909908:02/09/09 04:46 ID:???
ちょっと修正

http://hoge.com/fuga.php?a=10&b=20

$data = getenv("QUERY_STRING");
$tmp = explode("&",$data);

$tmp[0]にはa=10
$tmp[1]にはb=20
910nobodyさん:02/09/09 04:57 ID:???
そう。
また、

$_GET[a] には 10
$_GET[b] には 20

が入る。
911908:02/09/09 05:21 ID:???
>>910
ということは$_GETという環境変数があるってこと?
この辺を詳しく解説しているサイトとかあれば教えて欲しいのですが、、、。
912名無しさん:02/09/09 06:29 ID:???
最近PHP触ってないんだけど、
変数の宣言の強制ってできたっけ?
913nobodyさん:02/09/09 11:48 ID:???
914nobodyさん:02/09/09 12:01 ID:???
>>913
つーか、
>>1
でええやろ。
>>912 も同じく
915nobodyさん:02/09/09 16:18 ID:???
教えてください。
<form><textarea rows=8 cols=30 name=come></textarea>
<input type=submit value="投稿"></form>
<?//$dat = rtrim($come);
$dat = ereg_replace("\n","<br>",$come);
$fp = fopen("log.txt","w");
fputs($fp,$dat);
fclose($fp);
print "$come";
?>
================================================
『あいうえお
かきくけこ
さしすせそ』 のように改行を含んだ文書を投稿した時、
表示は『あいうえおかきくけこさしすせそ』のように改行せず表示され、
log.txtファイルに保存された内容は
『あいうえお
<br>かきくけこ
<br>さしすせそ』こんな感じで改行された状態で保存されます。
『あいうえお<br>かきくけこ<br>さしすせそ』のようになります。
改行されて表示して、1行で保存させるにはどうしたらいいでしょうか?
916nobodyさん:02/09/09 16:26 ID:???
$dat = ereg_replace("\n","\n<br>",$come);
917915:02/09/09 16:50 ID:???
>>916 レスありがとうございます。
$dat = ereg_replace("\n","\n<br>",$come);

『あいうえお

<br>かきくけこ

<br>さしすせそ』

保存が\nで更に改行されました。(T.T)
表示は『あいうえおかきくけこさしすせそ』でそのままでした。

環境はwin php4.2.2 apach です。
おねがいします。
918nobodyさん:02/09/09 16:55 ID:???
$dat = preg_replace ("/\r\n|\r|\n/", "<br>", $com);
919916:02/09/09 17:00 ID:???
すまん、何か勘違いしてしまった……。
920915:02/09/09 17:05 ID:???
>>916 
バッチリ!!です。意味もわかりました。
ありがとうございました。感謝します!!。
921I hate php:02/09/09 19:05 ID:lptiOWqr
INSERTがうまくいきません。
どなたか助けてください。
環境
DB→Access2000
PHP→Version 4.2.2
PEAR→DB(?)
922921:02/09/09 19:05 ID:lptiOWqr
コード
/**
* インサートテスト3。
*
* @accesspublic
* @paramProductState $ps製品状態情報
*/
function insert3($ps)
{
// DB接続
$this->connect(); // $this->db = DB::connect( $dsn )にて取得。
// SQL文発行
$sql = "INSERT INTO user (id,name,date) ";
$sql .= "VALUES (?,?,?)";

// PrepareStatment取得
print "date=" . date("Y-m-d H:i:s",time()) . "\n";
$stmt = $this->db->prepare( $sql );
// ResultSet取得
$this->db->execute($stmt, array($ps->id,$ps->name,date("Y-m-d H:i:s",time()) ));
// finally
// DB切断
$this->db->disconnect();
}
※日付は現在時刻を挿入する。
※Access2000のデータ型→日付/時刻型
※日付型以外(文字列、数値型)はうまくいきます。

エラー内容
SQLエラー → ステートは37000
923nobodyさん:02/09/09 19:15 ID:???
https://members.ud.com/services/home.htm
PHPでここへログインしてリザルトを取得したいんだけど、なんかいい方法ないですか?

https://hoge:[email protected]/s...../h....htm
で接続しようとしてもダメでした。
じゃ、GETでどうだろう、と試してもダメ・・・・
924nobodyさん:02/09/09 19:50 ID:???
PHPでGD使ってGIF・JPEG・PNGを出力したいと思うんですけど、それって無理なんでしょうか?
何か特殊なツールを使えばできるとかあったら教えていただければと思います。

ちなみに今はGD1.5が入ってます。
925nobodyさん:02/09/09 20:33 ID:MPi3nP/F
http://hoge.com/fuga?a=10&b=20

だったら$aと$bから値を取れるだろ
926nobodyさん:02/09/09 20:51 ID:???
>>925
404 Not Foundでした。
927921:02/09/09 22:02 ID:HwIKAZPZ
こんばんは、921でQを投げたものです。
自分で解決しました。
以下の様にするとうまくいきました。

// ResultSet取得
$this->db->execute($stmt, array($ps->id,$ps->name,date("Y-m-d H:i:s",time()) ));



// ResultSet取得
$this->db->execute($stmt, array($ps->id,$ps->name,time() ));

これは、Statementの中で、整数型の現在時刻を 日付型フォーマット
(Y-m-d H:i:s)に自動で変換しているということですね。

ご迷惑おかけしました。

ども。。


928nobodyさん:02/09/10 00:20 ID:???
$a = 10/3;
$a の整数部分が欲しいのですが小数点以下を削除する関数を教えてください
929928:02/09/10 00:29 ID:???
>>928
number_format でした。
930nobodyさん:02/09/10 00:31 ID:???
(int)$a
じゃダメだっけ? 四捨五入してた?
931 :02/09/10 00:31 ID:???
>>929
それはちょっと違うだろ
ていうか関数なんかいらないだろ
$a = (int)(10/3-0.5);
932931:02/09/10 00:33 ID:???
>>930 でいいかも
933928:02/09/10 01:06 ID:???
ありがとうございます。
(int)うまくいきました。こちらを使います。
934nobodyさん:02/09/10 11:36 ID:???
正規表現の置換なんですが
文章内を複数の条件で置換する方法はありませんか?
下のように書くと一番最後の構文以外無視されてるんです。

$print_data = eregi_replace("バカ","**",$array_data[0]);
$print_data = eregi_replace("死 ","*",",$array_data[0]);
$print_data = eregi_replace("アホ","**",$array_data[0]);
935名無しさん@Emacs:02/09/10 11:44 ID:ATB55ZPk
>>934
PHPどうこうよりも、プログラムの基礎の基礎からやりなおした方がよい
936934:02/09/10 11:47 ID:???
>>935
え・・・?
937nobodyさん:02/09/10 11:51 ID:HFFQaulX
$array_data[0] = eregi_replace("バカ","**",$array_data[0]);
$array_data[0] = eregi_replace("死 ","*",",$array_data[0]);
$array_data[0] = eregi_replace("アホ","**",$array_data[0]);
938934:02/09/10 11:55 ID:???
>>937
$array_dataを$print_dataに変える必要無かったのですね
例文がそうなってたので・・・

ありがとうございました!!
939935:02/09/10 12:38 ID:ATB55ZPk
>>937
多分、その例題は例として3パターンあげているだけなんですよ

それに気付かないようだから、基礎からやりなおした方がいいと書いたのですが。
変数 代入 関数 戻り値
この辺すら理解していてないような気がします。

今回は解決しても、またおなじようなところで、
はまる気がする。
940nobodyさん:02/09/10 14:44 ID:20uIzqy9
教えてくダサい。
下記のコードで、実行すると何も出力されません。
配列の中身を動的にテーブルに表示させたいのです。
<?php
$list = array();
$inv1="値@";
$inv2="値A";
$inv3="値B";
array_push ($list, $inv1);
array_push ($list, $inv2);
array_push ($list, $inv3);
?>
<table border="1">
<?php
foreach ($list as $outv) {
?>
 <tr>
 <td><?php $outv ?></td>
 </tr>
<?php
}
?>
</table>
よろしく。
?>


941nobodyさん:02/09/10 14:48 ID:???
>>940
 <td><?php echo $outv ?></td>


#丸数字はやめれ...
942nobodyさん:02/09/10 14:51 ID:???
又は
<td><?= $outv ?></td>
機種依存文字はやめよう。
943nobodyさん:02/09/10 14:57 ID:20uIzqy9
>>941,942
ありがとうござました。
うまくいきました。
丸数字やめます。
944nobodyさん:02/09/10 15:05 ID:???
次スレの季節ですね。
最近書き込み多いような気がする。
945921:02/09/10 15:06 ID:20uIzqy9
>>921
>>922
で質問して
>>927
でうまくいった書きましたが、実際はうまくいっていませんでした。
どなたか、わかる方がいらっしゃたら教えてもらいますか?

PEAR DBを用いた 日付/時刻 型の項目にINSERTする方法です。

よろしくお願いします。

946nobodyさん:02/09/10 16:07 ID:MtX1bRLJ
超初心者ですみません。4.2.2をインストールして勉強してるんですが、文法等問題があるプログラムを実行してもエラーメッセージが出ません。考えられる原因を教えてください。
947nobodyさん:02/09/10 16:15 ID:uXHCanxz
以下のPerl構文で書かれたgzip転送をPHP化したいのですが
分かる方おられませんか?

if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){
  print "Content-type: text/html\n";
  print "Content-encoding: gzip\n\n";
  open (STDOUT, "| /usr/bin/gzip -1 -c");
    }else{
  print "Content-type: text/html\n\n";
}
948nobodyさん:02/09/10 16:39 ID:???
>>946
php.ini の設定 or 実は正しい文法
949nobodyさん:02/09/10 17:41 ID:JRIkgJI/
>>948
レスありがとうございます。
ですが、php.ini の設定もマニュアルどおりだし、×なプログラムは実行結果が返ってこず、
かつエラーメッセージもでないという、“まったく音沙汰無し”の状態で、どんなエラーだっ
たのか確かめることもできないのです。無償のデバッガを欲しがるのは図々しいでしょうか?

950nobodyさん:02/09/10 18:12 ID:U6fAaaR2
>>949
要所要所に、printやechoを埋めてトレースすれば良いのでは?
951nobodyさん:02/09/10 18:45 ID:JRIkgJI/
>>950
それが、場合によってはエラー個所の手前までの実行結果も返ってこないのです。
(ブラウザでソースを見るとHTMLのヘッダしか入っていない)だからエラー個所の
特定もできません。
952nobodyさん:02/09/10 18:53 ID:ATB55ZPk
>>951
ある程度以降をコメントにして、実行してみれば?
953nobodyさん:02/09/10 18:58 ID:???
>>946,949
php.iniにエラーメッセージを返すか返さないかの設定があったはず…
そこが返さないになってないかい?
954nobodyさん:02/09/10 18:59 ID:???
あのう、すいません。

$dat_arr=file("http://pc.2ch.net/test/read.cgi/php/1022999539/");
$dat=NULL;
foreach($dat_arr as $line)$dat .= $line;

ereg ("([0-9]{2,4})/([0-9]{2})/([0-9]{2})([^[:digit:]]{1,6})([0-9]{2}):([0-9]{2})", $dat, $regs[]);
print_r($regs);

こうするとこのスレの>>1の投稿時間が
Array ( [0] => Array ( [0] => 02/06/02 15:32 [1] => 02 [2] => 06 [3] => 02 [4] => [5] => 15 [6] => 32 ) )
みたいに配列にはいるんですけど、
このスレ全体のを入れるにはどうすればいいですか?

[0]=>Array([0]=>全体 [1]=>年 [2]=>月・・・・
[1]=>Array ( [0] => 02/06/02 15:32 [1] => 02 [2] => 06
[2]=>Array・・・・
のようにしたいんです。
955nobodyさん:02/09/10 19:11 ID:JRIkgJI/
>>952, 953
アドバイスありがとうございます。iniの再チェックとコメント、試してみます。
お手数おかけしました。
956あa:02/09/10 19:33 ID:cwrwGkEI
お願いします。
さっきDLしたプログラムがどこに保存されたかがわかりません。
そのプログラムの名前がわからないのです。
だから、探しようがないです。
どうかよろしくお願いします。
957nobodyさん:02/09/10 19:56 ID:???
>>956
逝ってよし
958親切さん:02/09/10 20:04 ID:???
>>956
Windowsユーザーさんですか?
スタート→検索→ファイルやフォルダ
ファイルまたはフォルダの名前に、
*.*
(アスタリスク ドット アスタリスク)
こうするとそのプログラムが検索に引っかかりますよ。
もし見つからないようでしたら、検索する場所を変えてみましょう。

それでも見つからないようでしたらあなたのパソコンは
ウィルスに犯されているかクラッカーに弄られているかのどちらかの可能性があります。
この場合、今から私が言うことをしなければ、
あなたは社会から抹殺されるかもしれません。ちゃんとメモを取っておいてくださいね。

まず、お風呂で湯をたっぷりとわかしてください。湯加減は好みで。
そのなかに、思い切ってパソコンを漬け込んでください。
ひたひたになりましたら、あげ、湯を切り、天火で乾かしてください。
完全に乾くまで待ちましょう。何日かかるかはわかりません。
こうして水ッ気がなくなりましたら、パソコンを起動してみましょう。
・・・動きますか?動けばあなたは幸せです。
・・・動きませんか?動かなければあなたは不幸せです。
しかしどちらにせよ、あなたの身の危険は以前より去った気がするかもしれません。

じゃ、頑張ってくださいね。
959nobodyさん:02/09/10 20:37 ID:???
>>958
あんまりおもしろくないコピペだね
960親切さん:02/09/10 21:34 ID:???
>>959
Copyright © 2002 親切さん all rights reserved
961nobodyさん:02/09/10 22:40 ID:iC31d9Rs
すいません。初歩的な質問なんですが
<Html>
<Head>
<Meta Http-equiv="content-type" Content="text/html; charset=euc-jp">
<Title>printの例</Title>
</Head>
<Body>
<?php
$year = 2001;
print("今年は $year 年です");
?>
</Body>
</Html>

これをブラウザでみたところ、なぜか

Parse error: parse error in c:\apache group\apache\htdocs\5.php on line 3

というエラーが出てしまいます。
本の通りにやってるのですが・・・教えてください。
962nobodyさん:02/09/10 22:56 ID:myx3NRlN
>>961
3行目じゃないけど
print("今年は $year 年です");
のセミコロンが全角だよ。
3行目は問題ないはず(PHPは関係ない)。

# タグ名一文字目だけ大文字ってきもちわるいな。
963961:02/09/10 23:14 ID:iC31d9Rs
>>962
ありがとうございました。
テキストエディタで見ると分からないのに、ここの書き込み見ると
確かに全角ですね・・・
それで早速直したんですが、今度は9行目にエラーがでていると
表示されてしまいました。それで
print("今年は $year 年です");
この行の$yearの前後のスペースを半角にしたところ、今度は真っ白
な画面が表示されてしまいました。
そこでeuc-jp→shift-jisに直したところ、ようやく「今年は 2001 年です 」
と表示されました。
文字コードがeuc-jpだとローカルのブラウザでは表示されないのだろうか・・・
うpの時はecu-jpなんですよね?うーん・・・


964nobodyさん:02/09/10 23:29 ID:???
Shift_JIS で保存したんなら Shift_JIS でしょう
965nobodyさん:02/09/10 23:54 ID:myx3NRlN
>>963
windows上のテキストエディタで
「今年は」って書いたらShift_JISだよ。
Shift_JISの空白をEUCで表示させようとしたから
パースできなくて全部空白になったのかも。
print("今年は".$year."年です");
ってすれば「きちんと」文字化けしてくれるはず。
966nobodyさん:02/09/11 00:00 ID:???
入力も出力も内部もShift_JISに限る。
全角文字に色がつくように設定したら?
967961:02/09/11 00:39 ID:iho/d0vP
>>964-966
そうですか・・・うーん・・・
本を見てみてもある程度の知識を前提に書かれているみたいで、
初めてCGIに触れる人間にとって説明が端折られてる感じなんで
すよね・・・
perlとかだと超初心者向けに書いてある本も結構あるみたいですが・・・
最初はperlから手を付けるのが定石なのかな
phpの方が合理的というか、トータルではいいみたいなんですけどね・・・

968nobodyさん:02/09/11 00:48 ID:XDYKEpRH
すいません、質問させて下さい。
mb_send_mail()で、携帯に向けてメールを送信しているのですが、
どうも、ドコモの504iシリーズにメールが届かないようなのです。
その他は、キャリア、機種を問わず(テストした範囲ですが)大丈夫なのですが

環境は、RedhatLinux+sendmail+Apache+PHP4.2.2です。

ヘッダは、
Return-Path: [email protected]
Reply-To: [email protected]
From: [email protected]

を付けています。
もし思い当たるところがあれば、教えて下さい。
よろしくお願いします。
969nobodyさん:02/09/11 00:49 ID:???
>>967
いややっぱPHPってラク。JavaとかPerlとかに比べて。
でも後発の言語だから本とかってHTMLとか文字コードとかを
ある程度知ってる人向けに書かれているのが多い気がする。
会社とかに属してないですべて独学するのであれば
HTMLをきちんと理解するところからはじめたほうが近道かも。
970nobodyさん:02/09/11 00:57 ID:???
971nobody:02/09/11 01:12 ID:Zh9eBVFz
Perlで暗号化する
crypt関数で
例えば

print "文字列を暗号化します。適当に文字をいれて下さい\n";
$get = <STDIN>
$key ="sp";
$pass = crypt($get,$key);
print "暗号化された文字列は$passです\n";

この$keyの部分は任意の二文字を入れるらしいんですが
それってどういう意味があるんでしょうか?
これによって暗号化される結果などが違ってくるのでしょうか??。
特に意識することではないんでしょうか?
972nobodyさん:02/09/11 01:22 ID:???
>>971
ttp://search.net-newbie.com/php/function.crypt.html

>これによって暗号化される結果などが違ってくるのでしょうか??。
>特に意識することではないんでしょうか?

試してみたんですか?

PHPを普通に使って、パソコンが壊れることはないですよ。
聞く前に、安心して試したほうがいいですよ。
973nobodyさん:02/09/11 01:25 ID:???
>>971
激しくスレ違いだが俺が想像で答えてやろう。
$key は key と言うくらいだから、その key をもとに暗号化するんだろう。
ということは $key が違えば結果も違ってくるということだろう。

俺は perl は知らんが、一般的にはそうだからな。
974一般的な話:02/09/11 01:32 ID:???
正直、文字コードがどうこうとか、機種依存文字とか、全角半角の違いとかって、
PHP あるいは CGI 全般以前の問題だと思うな。

PHP を使うのに PHP だけを知っていればいいなんて思ってると
へんな落とし穴に引っかかると思うよ。

PHP が吐き出すのは HTML だから、
HTML について知らなければいけないのは当然だし、
日本語の文字コードには何種類かあって、
とくに Shift_JIS と EUC-JP がよく使われるってのも知らない人多いんじゃないかな。
975nobodyさん:02/09/11 01:42 ID:ThdzdPnb
>>947
>日本語の文字コードには何種類かあって、
>とくに Shift_JIS と EUC-JP がよく使われるってのも知らない人多いんじゃないかな。

そんな奴おらへんで〜〜〜〜
976nobody:02/09/11 02:14 ID:Zh9eBVFz
>>973
スマソw。禿げしくスレ違いだった(藁
急いでたんであんまし見ないで投稿しちまった。
977nobodyさん:02/09/11 08:37 ID:RnNejc+y
>>947の質問に誰か答えて!
978nobodyさん:02/09/11 09:47 ID:???
979nobodyさん:02/09/11 13:01 ID:???
>>977
ttp://www.php.net/manual/ja/function.ob-gzhandler.php
作る必要は無い。
mod_gzip使った方が透過的だと思うが。
980 :02/09/11 13:25 ID:VZSxmRkZ
PHPでSELECT文を発行すると下記のエラーが発生するのですが
解決方法がわかる方いたらよろしくお願いします。
SELECT文は下記の通りです。
SELECT * FROM 表 WHERE NAME = 'ABC'

Warning: Supplied argument is not a valid PostgreSQL link resource in
981http://fushianasan.2ch.net/:02/09/11 13:31 ID:???
burakusearch
982http://fushianasan.2ch.net/:02/09/11 13:32 ID:???
burakusearch
983977:02/09/11 13:50 ID:RnNejc+y
>>979
どうもです!
984nobodyさん:02/09/11 13:55 ID:qm6tkzy9
1つ目のファイル
<?php
$s=2;
?>

2つ目のファイル
<?php
print $s;
?>

みたいな2つのPHPファイルがあったとして、
1つめの$sの値を、2つめの$sの値と共有する
ことって可能ですか?
985nobodyさん:02/09/11 14:06 ID:???
>>984
include
986nobodyさん:02/09/11 14:17 ID:???
次スレ立てておきました。

【PHP】質問スレッド Part5
http://pc.2ch.net/test/read.cgi/php/1031721334/l50
987978:02/09/11 17:41 ID:???
>>978は無視か・・・。
988nobodyさん:02/09/11 17:42 ID:???
988
989airh128001104.mobile.ppp.infoweb.ne.jp:02/09/11 17:43 ID:???
989
990ドラ:02/09/11 17:43 ID:???
990
991991:02/09/11 17:44 ID:???
991GET
992992:02/09/11 17:45 ID:???
992ッ!
993993:02/09/11 17:45 ID:???
993はにゃーん☆
994994:02/09/11 17:46 ID:???
誰も邪魔しやがらねぇな
995995:02/09/11 17:46 ID:???
人居ないのか?
996nobodyさん:02/09/11 17:47 ID:???
相手してやろうか
997nobodyさん:02/09/11 17:48 ID:???
997
998997:02/09/11 17:48 ID:???
相手してちょ
9991000:02/09/11 17:49 ID:???
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /    つ 終 了  |
  〜′ /´ └─┬┬─┘
   ∪ ∪     ││ _ε3
           ゛゛'゛'゛
10001000:02/09/11 17:50 ID:???
失敗した・゚・(ノД`)・゚・。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。