トップページphp
1001コメント324KB

【PHP】質問スレッド Part4

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん02/06/02 15:32ID:f3afNVBG
レスは気長に待つのが良い感じかも。


<<参考>>

■本家
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を見よう。
0002nobodyさん02/06/02 15:33ID:???
■【PHP】質問スレッド Part1
http://ebi.2ch.net/php/kako/982/982687820.html

■【PHP】質問スレッド Part2
http://pc.2ch.net/php/kako/1003/10032/1003283567.html

■【PHP】質問スレッド Part3
http://pc.2ch.net/test/read.cgi/php/1013919792/l50

■PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/l50
0003追加02/06/02 15:47ID:???
■PHP 関連の書籍 (但し PHP 出版系お断り)
http://pc.2ch.net/test/read.cgi/php/985315574/l50

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

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

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

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

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

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

こっちは相変わらずわからん。アドバイスプリーズ。
0007halc02/06/03 08:06ID:???
>>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;
0008halc02/06/03 08:11ID:???
>>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
0009nobodyさん02/06/03 11:07ID:???
少々お聞きしたいのですが。
sessionを使っていて既にsession_registerしてある $hoge=3 というデータ
があるとしてあとから $hoge の内容を変えることってできるんですか?
いろいろやってるんですがどうもうまくいかないのでなにかヒントでも結構
ですのでご指導ください。

PHP4.1.12です。
0010nobodyさん02/06/03 11:21ID:21jPjT5l
sessionで保存するクッキーの名前って変えられるんでしょうか?
0011名無しさん@Emacs02/06/03 12:48ID:3U+9Jvdz
test
0012RASCAL02/06/03 23:18ID: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>");
}
?>
どうしたらいいのでしょうか、よろしくお願いします。
0013nobodyさん02/06/04 00:14ID:???
>>12
jcode.phpsは入ってるんだよね?念のため。
「何それ?わからない」ということなら、恐らく入ってないです。
検索してください。
0014nobodyさん02/06/04 00:15ID: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ではダメっぽいね。
0015nobodyさん02/06/04 00:18ID:???
>>8 >>6
そっか単純ソートすればいいのか。
スマソ。他も怪しいかも。
0016nobodyさん02/06/04 10:59ID:???
PHPにCのfprintfのような関数はありますか?
なさそうなので、fwrite($fp,sprintf($format,...))とやっているのですが。
0017nobodyさん02/06/04 14:58ID:???
求人が全然ないんですが、皆さんは何の仕事してるの?
0018nobodyさん02/06/04 16:30ID:???
>>17
どこに住んでるのかにもよるけど、
http://www.find-job.net/ 逝って探したら?
0019nobodyさん02/06/05 00:22ID:u1mPAxGZ
共用なんで4.1.2のままです。
セキュリティが気になってregister_globalsをoffにしたいのですが、勝手にすることもできないので、
とりあえずスクリプト内の記述で対応することできますか?

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

$hoge = $_GET("hoge");

とか最初にやっちゃうの。
00211902/06/05 00:35ID:u1mPAxGZ
>>20
ありがとうございます。
ってことは例えばファイルを読み込んで、if (~略~) $admin = 'yes';とかする場合には、
必ずelse $admin = '';とか書かなきゃいけないんですね。なんか面倒だし抜けありそうだし。。。
んー、自分のとこだけ実行時はデフォルトでoffとかできればいいのに。
0022nobodyさん02/06/05 15:21ID: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)に戻ってしまいます。
(ユーザを追加する画面にはならないです)
どうすれば、ユーザ追加のページにいけるのでしょうか?
0023名無しさん02/06/05 15:21ID:???
.htaccess
00242202/06/05 15:35ID:q2nPzAuV
>>23さん
resありがとうございます。
.htaccessにどの様な内容を書けばいいんでしょうか?
以下のように書いたんですが・・・
00252202/06/05 15:37ID:q2nPzAuV
以下のようには書けてませんです。すいません。
00262302/06/05 15:46ID:???
>>24
ごめん。
>>23>>19宛てに書いた。
00272202/06/05 15:58ID:???
>>23さん
了解です(苦笑)
0028キム02/06/05 19:03ID:sjTX0T+w
PHPでfopen("test.txt","w" );
でファイルを作成し書き込みを行ないたいのですが
パーミッションが無く書き込みエラーになるようです。
test.txtをあらかじめ作成しchmodコマンドを実行すれば
書き込みは出来るのですが
PHPから作成し書き込みを行ないたい場合、どのようにすればよいのでしょうか?
教えてください。
よろしくお願いします。
00291902/06/05 21:16ID:JGd9rG/R
>>23
すいません、調べてみましたが全く見当もつきません。
ヒントになるページだけでも教えていただけないでしょうか。
0030htaccessについて02/06/05 21:27ID:???
本当に調べたのか、小一時間問い詰めたい。
http://www.google.co.jp/search?hl=ja&q=.htaccess&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0031nobodyさん02/06/05 21:47ID:???
>>29
マニュアル嫁
http://www.php.net/manual/ja/configuration.php
00321902/06/05 22:02ID:JGd9rG/R
いや確かに本家のマニュアル読めば一発でした。。
ただうちの共用サーバーはhtaccessじゃ設定できなくしてあるっぽいです。
うーん。。
0033nobodyさん02/06/05 22:39ID:Bl/EL1d3
>>19
じゃあ
>>20さんのおっしゃるように、まずは自分で気をつけては?
初期化しない変数を使わなきゃいいだけな気が。

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

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

とするとPHPでのflockの信頼性は、Parlのより高いと勝手に想像してるのですが
実際のところはどうなんでしょうか?
抽象的な質問で申し訳ないですが、私見でも構いませんので
どなたかレスお願いします。
0036nobodyさん02/06/06 01:28ID:???
ぁぅぁぅぉー

http://pc.2ch.net/test/read.cgi/php/997199513/l50
0037nobodyさん02/06/06 01:42ID:???
>35
まず、Parlとは何かを小一時間ほど問い詰めたい。
その後、flockとは何かを小一時間ほど調べてみることをおすすめする。
00383502/06/06 02:53ID:???
>>36
ざっと目を通しました
色々参考になりました
ありがとうございます

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

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

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

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

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

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

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

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

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

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

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


//というか、php4なんて名前で入るのか・・・。
//php4.1.2の時にCGI版入れた時
//バイナリファイルの名前phpだったけど変わったのかな。
0053nobodyさん02/06/06 23:44ID: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まではうまく動作しました。
0054nobodyさん02/06/07 00:30ID:???
タケシーーー
0055nobodyさん02/06/07 00:36ID:???
呼んだ?
0056nobodyさん02/06/07 00:55ID:???
echo "$yonde-naiyo!";
0057nobodyさん02/06/07 01:53ID:kC35ouJd
$month = (isset($month)) ? $month : date("n",time());

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

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

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

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

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

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

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

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

それと、差し支えなければ接続IDというのも教えて頂きたいのですが・・・。
00827902/06/09 01:31ID:???
マニュアル読みましょ…。
普通にファイルを開くのと同じようにできますよ。
キーワード:ファイルハンドル fopen fread(fgets)
などなど。
fgetsやfreadの例を見た方がわかりやすいかもです。
http://www.php.net/manual/ja/ref.filesystem.php
00837602/06/09 01:34ID: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
00847802/06/09 01:41ID:QolOb+V5
>>82
すいません、よく読んでおいたつもりなんですが・・・出直してきます

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

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

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

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

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

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

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

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

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

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

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

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

嘘つけ。証拠みせろ。

0116nobodyさん02/06/12 21:44ID:rqNQKIVd
ttp://www.zend.com/store/products/zend-studio-personal.php
これですか?
0117 ◆AngelBlk 02/06/12 22:32ID:???
>115
何が嘘なのかな?

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

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

「 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/
0120nobodyさん02/06/12 22:52ID:???
>>118
マニュアル嫁
0121nobodyさん02/06/12 22:54ID:tyywLjto
>>120
?
0122nobodyさん02/06/12 22:59ID:???
>>117
Javaですか?妙に重い。
0123nobodyさん02/06/12 23:03ID:tyywLjto
>>118
はリア厨なので英語が読めません
0124nobodyさん02/06/13 00:26ID:???
>>123
PHPのマニュアルは日本語化されてるが‥‥↓
http://jp.php.net/manual/ja/
0125nobodyさん02/06/13 08:17ID:???
>>113
PHPごときで統合開発環境を必要とするとは・・・
0126anonymous02/06/13 16:45ID:???
初心者です。
PHPの"include()"関数をつかって、クライアントのブラウザに
HTMLファイルを表示させてやろうと思うのですが、意図したのとは違う
フレームに表示されてしまって困っています。
TARGETのフレームを指定するいい方法はないでしょうか?

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

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

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

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

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

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

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

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

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

該当部分のソース出さないと答えようがないと思うよ。
0139nobodyさん02/06/14 19:49ID:???
>>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;
}
}

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

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

「 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/
0142nobodyさん02/06/15 12:47ID:???
>>134
おう。シーザー暗号って言うんだよ・・・・・・って、肝心のPHPでのやり方を教えて。
0143nobodyさん02/06/16 00:45ID: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で聞いたほうが良いと思いますが。
0144nobodyさん02/06/16 01:20ID:8EBDLVWp
「トップ > どこそこ > あそこ > ここ」という表示をするスクリプトを
全てのページの最上部にincludeしたいのですが、
こういう場合どうするのが定石なんでしょうか?
//php.ini にはすでにデフォルトで、auto_prepend_file =prepend.phpとあり、
//prepend.php にはcvsのバージョン番号があるので、
//やはり、これを書き換えるのはさけるべき・・・ですよね?
0145nobodyさん02/06/16 02:19ID: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/
*/
0146nobodyさん02/06/16 09:40ID:rHOpgHxS
umask(0)とした後に0777でディレクトリを作成するようmkdirしても、
0777で作成できません。
0777で作成するにはどうしたらいいですか?
0147nobodyさん02/06/16 10:12ID:7Bh3fOrx
>>146
http://www.php.net/manual/ja/function.chmod.php
0148nobodyさん02/06/17 02:52ID:sgUmh/XP
正規表現ではなくて、メールアドレスが本当に正しいかどうか確かめるにはどうすればいいですか?
0149nobodyさん02/06/17 03:18ID:???
一般的には実際に送ってみるしかない。
SMTPのvrfyは禁止されてたりするしね。
特定のドメインが対象なら、やりようはあるかも。
相手の振る舞いに依存するのはよくないけど。
0150nobodyさん02/06/17 03:24ID:???
>>148
WebベースのMLの登録の様に、メール送信して返信してもらう。
0151nobodyさん02/06/17 14:09ID:aQhyjpeP
PHPではないのですが、
javascriptでformのタイプを変更できるんでしょうか?
<input type="text" ←の部分。
0152new...02/06/17 16:03ID:/PRHCvov

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

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

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

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

$content = addslashes($content);

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

0160nobodyさん02/06/18 14:12ID:0criPbYz
ttp://tohoho.wakusei.ne.jp/wwwsoft.htm
こちらのgifcat.plをPHPで書き換えてみました。
print(gifcat());
としたところ、失敗してしまいました。
Windowsを使用しているので、バイナリモードで書き出すように
したいのですが、Perlでいう
binmode(STDOUT);
のような処理はどのようになるのでしょうか?
0161nobodyさん02/06/18 14:31ID:JmpSL9X1
>>160
passthru()じゃなかったかな
016216002/06/18 14:45ID: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にする時になにかミスをしていると考えた方が良いのでしょうか?
0163nobodyさん02/06/18 17:51ID:???
>>162
ttp://www.spencernetwork.org/
こーゆーのあるけど
016416202/06/18 21:26ID:0criPbYz
>>163
ありがとうございます。そちらのスクリプトと見比べて修正したところ
うまく画像が連結して表示されました。

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

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

./
017016702/06/19 10:43ID:???
>>169
ありがとうございます。
そちらの方も試してみたのですが、同じエラーがでてしまいました。
カレントティレクトリがないということはありえないので、何かおかしな
ところがあると思うのですが、コードは下のようになっています。
$retry = 5;
while (!symlink("./", "lock.lock")) {
     if (--$retry <= 0) { error(); }
     sleep(1);
}
0171nobodyさん02/06/19 11:56ID: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

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

では昼休みも終わりそうなんでまたです。
0174nobodyさん02/06/19 18:18ID:???
138,139 です。
皆様から返答が得られないのは
尋ね方が悪いんでしょうか。
情報が足りないんでしょか。
よろしくお願いします。
0175nobodyさん02/06/19 18:46ID:???
解答が欲しければ煽ってみろゴルァ!
0176nobodyさん02/06/19 18:49ID:???
>>174
極度の人員不足です。
0177nobodyさん02/06/19 19:32ID:???
すみません。ある意味クレクレ厨ですな…
0178nobodyさん02/06/20 06:25ID:3HmCYevV
>>139
IFのなかのcopyが失敗しているようですが・・・
$writefileには何が入っていますか?
017913902/06/20 11:14ID:???
エラーの文が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>
0180 02/06/20 11:34ID:???
>>179
ファイルのパーミッション確認すれ
018117102/06/20 19:45ID:???
うまく行きました。
原因はex3.phpの設定を引きずってしまった為の記述ミスでした…。
(ex3.phpの34行目 $sel = new myPgSelect 消し忘れ)
ソースを見直してこれが不要なのではと気づいた点は、
救いようがあると思いますが、やはりまだまだ理解不足ですね。

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

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

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

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

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

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

パーミッションの方は
$fp = fopen("test.txt", "w");
fputs($fp, "test");
fclose($fp);
とでもしてファイルを作成できるかチェックしてみてはいかがでしょうか?
0193nobodyさん02/06/22 09:55ID: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
でインストールしました。
なにがいけないんでしょうか?
0194nobodyさん02/06/22 18:00ID:???
>193
正規表現が間違ってるんだYO!
019519302/06/22 23:54ID:???

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

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

WindowsXP,IE系に逝ってください
0198nobodyさん02/06/23 00:47ID:???
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;
となっています。

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

--enable-mbregex
だと思われ。
0200nobodyさん02/06/23 09:28ID:???
>>199
いや、--enable--mbregexだと無視されます。
マニュアル見ると、いつのまにか--with-mbregexオプションは無くなってたみたいなので
(後方互換のためいちおう有効にされてはいた?)
つけずにやってみてもやはり Undefined functionと言われます。
0201nobodyさん02/06/23 09:35ID:???
>>200自己レス
どうもmb無しのereg_*で日本語もあつかえるらしい…
別に
mbstring.func_overload=1
とかしてないんですがね…
#デフォでonになってる??
ともかくなんとかなりそうです。THX>>199
0202 ◆AngelBlk 02/06/23 09:37ID:???
>200
・・・ほんとに?
configure見ると思いっきり
--enable-mbregex
Enable multibyte regex support
って書いてあるんだけど・・・>PHP4.2.0/PHP4.2.1
0203 ◆AngelBlk 02/06/23 09:38ID:???
って、解決したのか(苦笑
0204nobodyさん02/06/23 18:38ID: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って必要なの?それともロックとかかけるときのみ必要なの?
0205縞栗鼠(シマリス)の親方02/06/23 18:45ID:ZSSdFO5T
中央高等学院の従業員「西部」が女子トイレに闖入し
汚物入れを物色して女子生徒の使用済みタンポン・ナプキン等を
個人的に収集しているというのは事実。

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

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

どうすりゃいいの?

昔はできたのに・・・・

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

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

$str = "&#f975;";

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

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

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

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

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

でも

$str = '&#63861;'

だけの時はいいんだけど

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

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

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

もう少しだけヒント。

いっぺんにやろうとせずに順序立てて考えれ。つーかコーディング汁。
0216nobodyさん02/06/24 22:59ID:???
つーか、数字部分だけ分離してsprintf関数通せば済む問題じゃあ‥‥‥
0217sage02/06/24 23:45ID: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;
0218nobodyさん02/06/25 00:10ID:P4v4WPT0
2番目の引数、出来そうで出来ないな。


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

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

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

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

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

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

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

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

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

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

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になっちゃう
0239nobodyさん02/06/28 21:43ID: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だと最後のチェックしか見えないのだが。
0240nobodyさん02/06/28 22:37ID:???
連配
0241nobodyさん02/06/28 23:03ID:???
>>239
変数ダンプしる。
024223902/06/28 23:21ID:???
すまん。nameとvalue入れ替えたらなんとなく動いた。
0243nobodyさん02/06/28 23:49ID:???
故あって、CGI版で動かしたいのですが、

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

とかってやると、先頭に

#!/usr/local/bin/php

と出力されてしまいます。なで?
0244nobodyさん02/06/29 01:33ID:???
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 がありません.
ホスト名に不正な文字が使われています: アンダースコアは使えません.

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


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

ここにスクイドって書いてありますけど、
なんなんでしょうか、これ。
0247nobodyさん02/06/29 07:58ID:???
http://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&newwindow=1&safe=off&q=squid&btnG=Google+%8C%9F%8D%F5&lr=
0248nobodyさん02/06/29 11:29ID: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

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

       か?
0256PEAR太郎02/06/30 00:47ID:???
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);
0257 ◆AngelBlk 02/06/30 00:54ID:???
>256
いや・・・なんていうか。
$resの中に何が入っているか勘違いしてるような。

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

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

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

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

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

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

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

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

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

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

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

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

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

送る側
return($list);

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

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

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

SESSIONって便利だねえ!

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

上位は流石にマズいと思われるのでどうでもいいですけど、
一つのphpファイルだけで下位に作れちゃう方法はありますか?
0304nobodyさん02/07/05 23:46ID: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);
}
?>
0305nobodyさん02/07/06 12:11ID:g7/vswyq
ヽ(´▽`)ノ ユカイダナ-
0306nobodyさん02/07/07 00:37ID:???
うふふ。
0307nobodyさん02/07/08 19:13ID: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);
}
}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

意味不明。


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

だろうな。


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

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


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

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

PHP4 + Oracle8i + Windows2000Pro + Apache 3
です。
0339nobodyさん02/07/11 00:56ID:???
>>337
だから、お前がなにやっているのかすらも意味不明なんだよ…。
0340nobodyさん02/07/11 01:10ID:???
>>327
いや、あんたはまずPerlをお勉強するべきです。
ちゃんとCGIを動かせるようになってからもう一度きて欲しい。
0341nobodyさん02/07/11 01:34ID: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");?>を呼び出してもうまくいきません。
034234002/07/11 01:41ID:???
いい加減うぜーつーの
fopen調べろ
0343nobodyさん02/07/11 02:09ID:???
俺も答えられないんだけど、ここにはまともな奴はいないのか?
『知識は自慢するものではなく人に伝えるもの』っていい言葉
があるよ。
0344nobodyさん02/07/11 02:14ID:???
>>343
またこの手のバカが出てきたかよ…。ったくバカが口出すな。
0345nobodyさん02/07/11 02:56ID:???
馬鹿がバカに向かって「バカ」と言えるスレはここですか?
0346高卒童貞無職02/07/11 09:57ID:???
--- 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>"

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

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

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

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

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


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

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

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

Namazu れ。


> 肉

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

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

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

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

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

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

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


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

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

#終わった話だったのは、みとめるけどさ。
0364nobodyさん02/07/12 14:16ID:???
キタイ(・∀・)age.
036535002/07/12 15:23ID:???
>>364
あがっていませんよage
0366nobodyさん02/07/12 20:50ID: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ファイルでも変数を引き渡せる方法があるのでしょうか…。

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

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

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

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

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

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

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

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

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

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

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


perlなスレには真珠がどうのって言うヤシは来ないのになぁ。。。
0381nobodyさん02/07/15 18:28ID: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
0382nobodyさん02/07/15 20:34ID:???
>>381
その環境なら余裕で表示されるが。
038338102/07/15 23:17ID:BTTlxQyy
php-4.3.0-dev-zend2-alpha2.tar.gz
これ入れてからダメみたい…。
とりあえず、alpha1
でためしてみるぽ…
0384nobodyさん02/07/16 00:08ID:0ekhabd+
FreeBSD 4-stable です。
ZendOptimizerをインストールしようと、FreeBSD 4用のアーカイブを
落としてきて、install.shを実行したのですが、httpd.confを検出するところで
正しくパスを入力してるにもかかわらず、not foundといわれてしまいます。

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

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

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

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

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

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

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

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

$PHP_SELFだと read.php だけしか取得できないですよね?
039555502/07/16 21:52ID:???
>
0396nobodyさん02/07/16 22:14ID:/jKGjeLf
$_SERVER['REQUEST_URI']
0397nobodyさん02/07/16 23:30ID:???
>>392
小学校で算数習わなかったのか?
あれで逝け
0398nobodyさん02/07/17 00:03ID:???
>>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>
039939802/07/17 00:19ID:???
checkdate思いっきり
2038年問題にひっかかってますな。
逝きます。
040039802/07/17 02:02ID:???
やっぱり自分は厨房でした。。。
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>
0401osage02/07/17 03:02ID:???
>>392
<?
$diff = mktime ( 23/*時*/, 59/*分*/, 56/*秒*/, 8/*月*/, 16/*日*/, 2002/*年*/) - time();
$dday = intval($diff / ( 60 * 60 * 24 ));
echo "hoge まで あと $dday 日";
?>
で十分でし。

>>400
・・・(苦
0402nobodyさん02/07/17 06:33ID:???
なんか、初心者と達人の違いを歴然と見せつけられたって感じ。
0403nobodyさん02/07/17 07:21ID:???
なんでかしらんけど、phpの投票システムって有料のが多いですね。
xoopsのratelink部分をちらちらと見たけどそんなに複雑な処理はしてないぽいんだけど。
0404nobodyさん02/07/17 11:01ID:???
>>403
ハァ?
040538102/07/17 16:04ID: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'];
これは非表示。

わけがわかりません。
0406nobodyさん02/07/17 16:23ID:44LYmfg4
HTTP_GET_VARS?ハァ?
わけわかるかよ、せめてforeach使え。
040739402/07/17 17:25ID:???
>>396
ありがd !
040838102/07/17 18:07ID: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'];
が出来ないのか?不思議
0409nobodyさん02/07/17 18:11ID:???
>>408
php4.2.1じゃいかんのか。
$_GET{'aaa'}は?
0410osage02/07/17 20:58ID:???
4.3.0って、まだアルファ版じゃなかった?
不思議なことはたくさん起こるかと。
041138102/07/17 22:12ID:dKPGShWR
echo $_GET{'aaa'};
ダメポ…(鬱

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

echo $_GET{'aaa'};

じゃなくて

echo $_GET['aaa'];

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

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




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

うああああ。ふたつめのmb_convert_encodingのつづりが違う・・・・。
0416nobodyさん02/07/18 22:39ID: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']);
で動かしている所は反応してくれるのですが
なにか間違っているところがあったら指摘してください。お願いします。
0417osage02/07/18 23:41ID:dRuvmx6a
>>416
つっこみどころ満載なのだが・・・

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

pope.php → b.php
metod → method

まじめにやれ


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

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

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

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

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

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

{ }

じゃなくて

[ ]

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

$_GET[aaa(true)];
はどうよ。
0454osage02/07/21 21:39ID:???
>>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) → 式の必要があることの例示
ということだと思います。
0455nobodyさん02/07/22 03:01ID:???
いや、、、ちょと、その↑で動かないと嘆いているひとに試してみてくれということだったんすよ。
ごめんさい。
0456osage02/07/22 22:49ID:???
>>455
う、そっすか。
勘違いレス。スマソ
0457nobodyさん02/07/23 12:29ID:???
PHP 4.2.2 released in response to vulnerability
0458nobodyさん02/07/24 07:39ID:W+N1FBoG
そろそろ4.1.2から4.2.2にしようと入れ替えたところ、今まで正常に動いていた
掲示板やチャットがおかしな動きをする・・・。仕様変更?
知っている方がいたらどこが変わったのか教えていただきたいです。
0459nobodyさん02/07/24 08:17ID:???
マジで氏ね。
046041302/07/24 08:27ID:???
>>458
おそらくregister_globalsがOn->Offになった
0461nobodyさん02/07/24 08:44ID:???
こんな奴にレス付けんなよ
0462名無しさん@Emacs02/07/24 11:04ID:???
最近はこのあたりの仕様変更やらセキュ穴やらであちこち修正が必要になって、
愛想が尽きかけてるなぁ。
0463nobodyさん02/07/24 11:36ID:F0HR0XI/
【IT】PHP に新たな脆弱性 不具合修正の最新パッチを公開
http://news2.2ch.net/test/read.cgi/newsplus/1027420849/
0464nobodyさん02/07/24 12:00ID:???
今実行してるPHPスクリプトのファイル名ってスクリプトからどうやれば取得できますか?
0465nobodyさん02/07/24 12:33ID:???
>>464
phpinfo()でも眺めてろ。
0466nobodyさん02/07/24 12:40ID:???
>>465
はーい♪
0467nobodyさん02/07/24 14:11ID:???
>>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
ではどれがいいのでしょうか。
どれでもいいような気がしますが。
0468nobodyさん02/07/24 14:22ID:???
GETのパラメータが付くと変わるよ
046946402/07/24 14:31ID:NF1JUK7E
$HTTP_ENV_VARS["SCRIPT_FILENAME"]にしたよ。
0470初期不良02/07/24 16:10ID:MpezxSYF
http://www.php.net/release_4_2_2.php
ここを読んだ限りでは...
multipart/form-data のパースに関する脆弱性って
4.2.0 と 4.2.1 だけ?それ以前のものとかは大丈夫って事?
0471nobodyさん02/07/24 17:00ID:???
>>470
もっと穴だらけ。
基本的にヴァージョンアップは穴埋めですから。
0472_02/07/24 18:00ID:HHbu9Xg4
>>470
だけです。
記事に
Software: PHP versions 4.2.0 and 4.2.1
とあるでしょう。

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

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

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

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


class c
{
function hoge()
{
}
}

class d
{
function hoge()
{
}
}

$a = true;

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

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

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

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

>>479
例えば?
048347902/07/24 23:34ID:???
>>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 いじらなくても
設定としては大丈夫なんでしょうか?
048447902/07/24 23:36ID:???
あ、おわかりいただいてるかと思いますが、借りてるレンタル鯖は共有鯖です。
専用鯖だったら好きなだけいじくれますから・・・
0485nobodyさん02/07/24 23:52ID:sGd5+TPw
PHPのコードを書くときは秀丸エディタでもいいのでしょうか?
0486osage02/07/24 23:56ID:uiOwupG6
>>483
ここを見るとできないとかいてある気が・・・
http://www.php.net/manual/ja/print/function.ini-set.php

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

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

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

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

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

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

return $data;
}


$x = a();

$x->samplefunc();


こういうことがしたいんですが無理でしょうか?
0493nobodyさん02/07/25 17:46ID: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に変換する方法はあるのでしょうか?
0494nobodyさん02/07/25 20:37ID:???
Content-Type は 吐 い て る の か ?
049549302/07/26 11:04ID:5bPyLDTs
>>494
metaタグ及び、header関数でContent-typeを出力しています。
phpソースはEUCにて記述しております。
0496nobodyさん02/07/26 11:18ID:gCODudNK
IDとパスワードを入力してログインし、参照、追加、更新・・・
を行うシステムをphpで作っているのですが、ログイン後のURLで
ショートカットを作られてしまうと、ログインしなくても、そのページに
行ってしまいます。これを防ぐために、hidden等で、IDだけをページ間
に持たせて、チェックを行おうと思ったのですが、文字でリンクされている
為、submitが発行できず、hiddenが使えません。何かいい方法な無いでしょうか?
0497nobodyさん02/07/26 12:04ID:???
>>493
i-modeはEUCでも見れるんじゃ??
049849302/07/26 12:28ID:5bPyLDTs
>>497
http://www.nttdocomo.co.jp/p_s/imode/tag/index.html より転載。
・ HTML2.0、3.2、4.0のサブセットです。
・ 文字コードはS-JIS、画像はGIFのみ表示可能です。

P504i にて確認しましたが、EUCのままでは文字化けします。
0499nobodyさん02/07/26 12:38ID:ChVpo9oc
jcode.phpsで文字コード変換。
ttp://www.spencernetwork.org/jcode/
0500nobodyさん02/07/26 12:43ID:6EBIoW5e
安全でないタグを変換するサンプルはどこかにありませんか?
・<pre>タグの中は変換しない
・特定のタグでなければ <>を < > に変換する。
というものが欲しいのですが・・・。
050150002/07/26 12:45ID:6EBIoW5e
スマソ
・特定のタグでなければ <>を &lt; &gt;に変換する。
です。
050249302/07/26 12:57ID: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);
?>
0503nobodyさん02/07/26 13:52ID:???
>>500
$string = strip_tags($string, '<a><b><i><u>');
これじゃだめかい
タグごとなくなるけど。
050449302/07/26 14:35ID:???
皆様の助言などもあり解決しました。ありがとうございました。

しかし、いくつか不明な点があります。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;
?>
0505nobodyさん02/07/27 02:04ID:???
>>492
そんなの実験してみりゃすぐわかるだろ
聞く暇あったら実験しろ
0506nobodyさん02/07/27 05:04ID: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>";
この違いは何でしょうか?分かる方がいたら教えてください。
0507nobodyさん02/07/27 19:10ID:???
>>506
記述ミスでは。
<meta http-equiv='Content-type' content='text/html; charset=EUC-JP'>
0508nobodyさん02/07/27 22:38ID:q4+cqwKG
perl/cgiでcsvファイルのデータ検索するもの使ってたッスが、
データ大きくなってphpへ移行しようと考えているッス。
APACHEのモジュールとして組み込むべきなのか、コマンドライン版として組み込むべきなのか。
既出かもしれんスが 検索かけたッスけどAPACHEのモジュールとして入れた方が早いとかぐらいしか
ひっかからなかったので違いやそれぞれのメリット意見を聞きたいッス。
スピードとかセキュリティ等の点を特にッス。
一応PHPのマニュアル読んだけど、よくわからなかったッス。

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

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

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

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

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

で$dirからスラッシュ(/)をとりたいのですが、どういう風に書けばいいのでしょうか。
どなたかご教授下さい。
0517nobodyさん02/07/29 03:20ID: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

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

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

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

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

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

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

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

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


>524
まちがって書いてしまいました。スマソ。
0527コギャルとHな出会い02/07/30 12:40ID: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/対応
0528nobodyさん02/07/30 16:20ID:BmWlgjLS
夏休みが暇なのでWEBプログラムの勉強でもしようかと思っています。
現在のスキルはHTMLが誤魔化し程度に書けるくらいです。
HTML,perl,CGI,SSI,JAVA,JAVAScriptなどが案としてあるのですが、
順番としてはどれから勉強した方がイイでしょうか?
052952802/07/30 16:23ID:???
一般質問スレが見あたらないのでここで質問させていただきました。
0530nobodyさん02/07/30 16:24ID:???
HTML
0531nobodyさん02/07/30 16:25ID:???
SSI、CGIは言語ではない。

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

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

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

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

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

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

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

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

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

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


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

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

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


俺も含めて検索しない子が増えてるんだなぁと痛感。
0549nobodyさん02/08/02 13:34ID:???
>>543
ぐぐれ。
ttp://www.spencernetwork.org/memo/tips-6.php
055054902/08/02 13:35ID:???
被り負けた‥‥
055154702/08/02 13:41ID:???
だから俺はシラネっつの
へ?標準入力取れない? と思ったから
>>545
0552nobodyさん02/08/02 13:42ID:???
結局誰も解らないんですね   プププウププップ
0553nobodyさん02/08/02 13:43ID:???
>552
>>548-549
目、悪い?
0554nobodyさん02/08/02 16:13ID:???
fopen

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

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

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

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

# できたとしても、実用的じゃないと思うな
056153902/08/03 02:16ID: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区の機種依存文字をチェック
0562nobodyさん02/08/03 03:18ID:uQ0/1o1f
>>556
POST を受け取った action で直ぐにリダイレクトしてしまう。
具体的には、

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

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

  function globaltest(){}

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

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

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

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

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

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

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

ってしたいのか小一時間問いつめたい。
0574nobodyさん02/08/03 17:46ID:???
option は閉じませう。
0575nobodyさん02/08/03 17:48ID:???
それくらいで挫折する>>571は明らかに努力が足りないだろう。
0576nobodyさん02/08/03 17:51ID:d5v1Xjwl
http://js-web.cside.com/index.html
057756702/08/03 21:41ID: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";
}
}

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

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

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

今、
ttp://php.s3.to/
の一番シンプルなのを落としていじってるんですが、
なかなか上手くいきませんで(´Д`;)
0592nobodyさん02/08/05 16:04ID:???
>>591
http://jp2.php.net/manual/ja/読んで自分で書け。
0593nobodyさん02/08/05 16:54ID:9ovglZmC
>>592
うぅ。来ると思った。WebProg板だけに(´Д`;)
自分で組むとこまでいかないのです。すみません…
0594nobodyさん02/08/05 17:06ID:MAH7KIMW
http://pc.2ch.net/test/read.cgi/php/1012902013/l50
>>593
これ読め
0595nobodyさん02/08/06 03:06ID:???
require("/a/b/hoge.php");
include("/a/b/hoge.php");

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

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)に記述し直す事で何とか収拾を付けれました。

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

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

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

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

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

としたほうがまだいいな。
(echoは単に確認のため)
0610nobodyさん02/08/07 04:28ID:???
それだと10桁とかになったとき大変だYO!
0611nobodyさん02/08/07 07:17ID:???
flushが機能しないんだけど、なんでだろう。
0612nobodyさん02/08/07 07:52ID:???
ブラウザのせいみたい・・でもよくわからない(iCab, Mac OS X)
0613nobodyさん02/08/07 09:32ID: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

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

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

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

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

を真似て自分で作り、完成後公開汁!
0621nobodyさん02/08/08 16:53ID: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
の設定が間違っているのでしょうか?
0622nobodyさん02/08/08 17:09ID:cSicnTXD
>>618
自己解決しました。
SaveAs(ファイル名,1)
でオッケーでした。
あーあ、丸一日かかっちゃった。どこにも載ってないんだもん。
0623nobodyさん02/08/08 17:18ID:k7aUaTEg
初歩的な質問ですみません。
どなたか、数字をドル($)のフォーマットで
表示する方法をしてっる人いませんか?
たとえば$500を$500.00っていう感じに。
0624nobodyさん02/08/08 18:12ID:???
>>621
いい加減氏ね。
0625nobodyさん02/08/08 20:30ID:vemjog4K
>>621
ちゃんと$_GET["a"]とか$_POST["a"]とかで値とってる?
0626nobodyさん02/08/08 20:33ID: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;
}
って書くのとどっちがいいっすかね?
062762602/08/08 20:47ID: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;
}
0628nobodyさん02/08/08 22:03ID:???
(´-`).。oO(それ以前にそんなに大量にグローバル変数使うなよ‥‥)
062961902/08/09 12:30ID:???
>>620
どうも。結局これを使ってPerlで済ませてしまったです^^;
0630nobodyさん02/08/09 20:40ID:???
>>623
sprintf
0631nobodyさん02/08/10 12:53ID:???
おしえてー
<title> から </title> まで を正規表現ってどしたらいい?
0632nobodyさん02/08/10 14:01ID:???
/<title>.*<\/title>/
0633nobodyさん02/08/10 18:20ID:QBkji2dM
phpで<br>とかが<br />みたいな奴(XMLの空タグ)で出力されるんですが
これを普通の<br>で出すことはできないですか?
063463302/08/10 20:00ID:QBkji2dM
nl2brがこう出すみたいです
うーん、どうやればいいのだろう・・・
063563302/08/10 20:34ID:???
http://php.s3.to/tt/tt5.php
とやるしかなさそう…


http://ns1.php.gr.jp/pipermail/php-users/2002-March/006064.html
読むと萎えます
0636nobodyさん02/08/10 21:21ID:aZc5BP3W
PHPのアクセス処理はどうなっているのでしょうか?
例えば同時に10人がアクセスした場合、待ち行列をつくって一つずつこ
なしていくのでしょうか?
それとも同時に並行処理してしまうのでしょうか?
アクセス処理がもし待ち行列を作る場合行列はディレクトリ毎でしょう
か?
それともファイル毎でしょうか?

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

もし、今までにやられたことのある方がおられましたら、助けて下さい。
0639nobodyさん02/08/11 23:35ID:???
>638
環境がわからんが、useraddやpwというコマンドはないかね。
権限はsudo入れとけ。
0640nobodyさん02/08/12 17:02ID:???
wgetのようなWebページ収集機能を持つプログラムで、
PHPで作成されたものをどなたかご存じありませんか?
Googleでキーワードをいろいろ変えて探してみたのですが、
見つからなくて、お聞きいたしました。よろしくお願いします。
0641nobodyさん02/08/13 00:10ID: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つかってる
0642nobodyさん02/08/13 05:53ID:???
>>636
PHP は Apacheの中で動いている script ということはわかっている?
0643nobodyさん02/08/13 06:03ID:???
>>635
うげ〜。マジで萎えますな。さっさと PHP 捨ててしまいたくなる…。
でも、他に PHP 並に DB まわりや日本語処理をあまり考えずに使える
server side の script 言語って何があるんだろう? mod_perl は PHP
ほどには簡単とはいえないし、mod_ruby は動作実績に問題あるし、
mod_python もちょっとなぁ…。
0644nobodyさん02/08/13 08:40ID: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";
}
0645nobodyさん02/08/13 10:37ID:5QDKpsPs
>>644
$gz = popen("/bin/gzip -1 -c", "w");
かな
064664402/08/13 12:07ID:SWrYGOaD
>>645
ありがとうございます。
Content-encodingや$|は設定しなくて良く
PHPだとそれだけで大丈夫なのでしょうか?
0647nobodyさん02/08/13 15:07ID:xrOsDf3v
>>642
すいません、まだ勉強不足なので。
ということはアパッチ側の設定の問題ということでしょうか?
0648nobodyさん02/08/13 21:53ID:qx1oerUj
フォームのsubmit後のページが
session_start()を使ったページ
だと、ブラウザの戻るボタンを押すと
フォーム内容がクリアされてしまいます。
内容を消えないようにしたいのですが、
何か設定などありますでしょうか?
0649nobodyさん02/08/14 00:44ID:SOfx286E
フォームのデフォルトをちゃんとセットしる
XSSに気を付けてな
0650nobodyさん02/08/14 00:46ID:fx/tWW0S
プログラムの質問じゃないんですけど、いいでしょうか。

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

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

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



他 所 で や れ


0655nobodyさん02/08/14 11:28ID:???
              ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\ `Д´) < 2学期まだーーー? プンプン 
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        | . 味噌カツ .  |/
0656nobodyさん02/08/14 11:50ID: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 {

  通常の処理を記述

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

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

一応、EUCでスクリプトを作って、
入力されたデータはmb_convert_encodingでEUCにしています。
0666nobodyさん02/08/17 03:21ID:1t+9J4cm
>>665
magic_guotes_gpcを調べてみて
0667nobodyさん02/08/18 02:51ID:???
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から用いるための設定方法について
存じている方はいないでしょうか?
0668nobodyさん02/08/18 04:14ID:???
文章末尾の \n を削除したいのですが
どうしたら取り除けるでしょうか?
0669nobodyさん02/08/18 10:10ID:???
>>667
>存在しない/var/www/cgi-bin/cgi-bin/test.php
>宛にアクセスしているようです。
>test.phpは/var/www/cgi-bin/test.phpにあります。

だったら単純に、
Action php-script /php
とするとどうなるよ。
0670nobodyさん02/08/18 10:23ID:???
>>668
rtrim じゃぁダメなんか?
067166702/08/18 12:16ID:???
>>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
だそうだ。
0672nobodyさん02/08/18 19:19ID:???
>>671
なんか、Apacheを再起動せずにやってたりしない。667と671の状況が
えらく違うじゃんかよ。

で、ScriptAliasなんかも定義されていたりしないか?
0673nobodyさん02/08/18 20:38ID:???
>>670
rtrimでばっちり取れました。
ありがとう
0674nobodyさん02/08/18 23:44ID:???
http://www.zend.com/zend/future.php
067566702/08/18 23:56ID:???
>>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版は
解説してなかったしなあ。
0676nobodyさん02/08/19 00:56ID:???
>>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でしか使わないしな。
067766502/08/19 02:12ID:???
>>666
ありがとう確認してみるね。
0678nobodyさん02/08/19 14:11ID:R2c3O/O8
Linux(RedHat 7.3) + Apache + php4.1.2(RPM版)
だとさ、mb関係のエラーでるんですけどRPM版だとどうすればいいの?
067966702/08/19 22:48ID:???
>>676
<Directory>の中ではないけど、
ScriptAlias /php/ "/home/*/public_html/"
はやった。apacheの再起動したらエラーが出たけど。

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

仕方がない。CGIモードは諦めるか。
0680nobodyさん02/08/19 23:08ID:???
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

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

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

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

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

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

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

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

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

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

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

702大人気ですな(藁
0713TOPEAK ◆2002ISZo 02/08/23 08:14ID:yUIATWhH
1000レス近くついてる2チャンネルのスレッドを
file(thread.at);
とかで読み込むのって
やっぱし負荷大きいですよね・・?
0714TOPEAK ◆2002ISZo 02/08/23 08:34ID:yUIATWhH
あ,2チャンネルは別ファイルにレス数保存してあるのか
なるほど・・・
071566202/08/23 10:33ID:4aUCdNU7
>>714
http://pc.2ch.net/php/subject.txt
別ファイル
0716nobodyさん02/08/23 19:53ID: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);
}
0717nobodyさん02/08/23 23:12ID:???
>>716
file関数で配列に読み込んでしまえば、そんな関数はいらない。
(ファイルアクセスの)負荷もない。
071871702/08/23 23:14ID:???
と、書いた後にどっちにしようか迷ってるのを知った。
早とちり。スマソ。
071971702/08/23 23:22ID:???
罪滅ぼしに書いておく。
サイズが大きいファイルをfile関数で全て読み込むのが嫌ならば、
freadで自分の好きな単位ずつ読んで、改行検索すれば
716の関数よりはファイル関連の関数を呼ぶ回数は減らすことができる。
ただし、PHPのファイル関数の内部バッファリングがよく分からないので、
効果があるかどうかは別。気持ちだけの問題なのかもしれない。

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

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


0723nobodyさん02/08/24 10:01ID:???
PHPで、別のサーバーにあるhtmlファイルの取り込む方法(fopenして変数に入れて書き込む)は分かっているんだが、次は
別のサーバーにあるjpg画像を取り込みたいんだが、これってどうやるんだい?
0724nobodyさん02/08/24 11:52ID:???
>>723
fsockopen
0725nobodyさん02/08/24 14:22ID:???
PHP4.2.2にしたとたん、動いてたスクリプトが急に動かなくなりました。
スクリプト内に、print " ";を入れてやるとちゃんとページが表示されるんですが、
それを取るとページが表示できません、となります。
flush();とかやっても意味なかったし、困っています・・・。
0726nobodyさん02/08/24 17:33ID:???
>>725
1から順番に読むべし
0727nobodyさん02/08/24 20:01ID:???
>>723
>>724
fopenでもできるじゃん。
0728nobodyさん02/08/24 20:07ID:???
>>725
php.ini
register_globals = On
072972502/08/24 20:19ID:???
>>5で解決しました。最近phpから離れていたので
ぜんぜん知りませんでした。
php.iniの default_mimetype は text/html になってるんですが、
なんでこのような再定義で回避できちゃうんでしょうか?
0730nobodyさん02/08/25 00:16ID:???
Win+Apache+PHPでやってるんだけど、処理の1つでDOSプログラムを実行しないとダメなんですわ。
これをPHPでやるにはどうすればいいんでしょうか?
実行したいコマンドは e:\utl\ish d:\tmp\hoge.txt /ss です。
0731nobodyさん02/08/25 00:31ID:???
>>730
system関数じゃダメなの?
0732nobodyさん02/08/25 09:23ID: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 です。
0733732の補足02/08/25 09:27ID:???
ソースには手は触れていません。
ソースレベルの間違いではないと思います。
0734nobodyさん02/08/25 10:20ID:???
>>732
Apacheモジュールとしてインストールした後に
make distcleanはもちろんやってるよねぇ?
0735nobodyさん02/08/25 13:40ID:xbmU3xww
$flag=1として、
if($flag) { ~~~ }
if(isset($flag)) { ~~~ }
のどっちが正しいの?どっちもちゃんと動くけど、
わざわざissetって書くのも面倒だし。
前者でいいかな?
0736nobodyさん02/08/25 14:38ID:???
>>735
$flag=1
で、$flag!=0を知りたいだけなら前者で問題ない。
$flag=0
で、$flag=0を知りたいのなら後者でないと識別がつかない。
0737nobodyさん02/08/25 14:50ID:???
PHP+MySqlで列の並び替えをするスクリプト使ってるんですが
一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
分散させてsort1.php(10KB)とかで並び替えをさせるか、どっちがいいんでしょうか。
体感的速度はどっちも変わらない(ような気がする)んですが…。
どなたかご教授下さい。
0738nobodyさん02/08/25 14:52ID:???
訂正です。
>一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
一つのファイル、sort.php(86KB)にいろんなパターンに並び替えるスクリプトを詰め込むか
0739nobodyさん02/08/25 15:04ID:???
>>735
どちらが正しいかは$flagの扱いによる。
$flagが0または1(0以外)の場合は前者。
$flag自体がある条件の時だけセット(null以外)される場合は後者。
0740nobodyさん02/08/25 15:12ID:???
>>737
どのソートパターンかによって切り替えるのが面倒なので一つのファイルにする
に一票。
クラス化するに一票。
0741nobodyさん02/08/25 16:49ID:XXk1kvRT
>>733
はい、make distcleanは行いました。
エラーメッセージに出てくる定義が入っているヘッダファイルは
ソースを見る限りちゃんとインクルードされてるし、
2つのバージョンで同じエラーが出るというのも解せません。
同じ症状に見舞われた方はいらっしゃらないのかな?
もしかして undefined reference 以前に何かエラーが出てるのかな?
makeのエラーってどこかのファイルにまとめて出力されてましたっけ?
linux(unix)はじめてなうえに、cもほとんど使ったこと無いので
そういう基本的な知識もないのが痛いです。
0742nobodyさん02/08/25 16:49ID:???
掲示板を作っていますが、項目ごとにいちいちmb_convert_encodingするのが面倒です(multipart/form-dataなんです)。
一気にPOSTの内容をエンコーディングするようなことはできるでしょうか?

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

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

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

766の言う通り形式によって違うだろうけど、
昔のhypernotes形式なら別でいいかと... ダメっすか?
077075702/08/27 00:19ID:???
>>768
2chのようにスレッド全体に1つのタイトルがあって、
最初に表示されるページがスレッドタイトルの一覧を出すような形式の場合、
>>769
のような形式が考えられるだろう。
しかし、
本文一つ一つにタイトルがあるような場合、
最初に表示されるページをなるべく高速に出したい場合は
工夫が必要になる。
0771nobodyさん02/08/27 00:36ID:BywL+zC1
>>769-770
すごく基本的なことなんですが、1回の処理で複数のテーブルにアクセスすると遅くなったりしないんですか?
0772nobodyさん02/08/27 00:47ID:???
>>771
設計次第。
0773nobodyさん02/08/27 09:40ID:29/b2lpR
die()を強制終了じゃなく、最後の出力って意味で使ったらマズイですか?
0774nobodyさん02/08/27 10:52ID:Pwc6QKdg
sleep(36000);
等はsleepしている間、かなりサーバに負荷がかかるんでしょうか?
また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
0775nobodyさん02/08/27 10:52ID:Pwc6QKdg
あ、スマソ・・。
スレ間違えました。。
0776nomony02/08/27 10:57ID:L02RF0Lh
win32環境でmb_eregxは使えないんですかねぇ〜
使おうとするとno functionエラー出るし...
0777nobodyさん02/08/27 11:43ID:/KR5b3gy
>> 776
そんな関数ありません
使えなくて当たり前
0778nobodyさん02/08/27 13:24ID: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 );
}
//----------------------------------------------------------------
詳しい人の意見が聞きたいです。
077977802/08/27 13:25ID:ZUROk4Fr
↑見にくくなってしまった....

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

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

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

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

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

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

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

print_r(get_defined_functions());
に含まれてないね。
--enable-mbregexを省いて作成されているようだ。4.2.2-win版
078778402/08/27 16:54ID:/KR5b3gy
>> 785

こっちなら、よさそう
http://www.geocities.jp/rui_hirokawa/php/win/php-4.2.2-Win32-mb-1.0.lzh
0788nobodyさん02/08/28 00:01ID:???
『コアラ>おれはやってないよ。』
と文字列の コアラ> を取りたいんだけど、どうすればいいの?
stripslashes では取れんのかな? 取り方おしえてください。
0789nobodyさん02/08/28 00:14ID:???
>>788
君、何歳?
0790nobodyさん02/08/28 00:47ID:???
>>789
僕は何歳? 例が幼稚って。解決しました。
079178802/08/28 00:49ID:???
>>790
0792nobodyさん02/08/28 01:32ID:rTh+CXwx
>>788
質問の仕方がオコチャマだって…
0793初心者02/08/28 03:35ID:ayLaxrUo
初心者です。環境:windows98+Apache+php4

<? phpinfo ?>

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

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

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

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

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

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

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

ちなみにWinなら再起動は
C:\Program Files\Apache Group\Apache\Apache.exe -w -n Apache -k restart
0812nobodyさん02/08/30 13:44ID:IarIlbJG
PHPでmy.yahooのような個人用ポータルサイトをつくるのにはどうしたらよいのですか?
一旦認証して、色々なサービスに認証を引き継ぎたいです。
(シングルサインオンのようなイメージ)
よろしくお願いいたします。
0813nobodyさん02/08/30 16:03ID:???
>>812
http://pc.2ch.net/test/read.cgi/php/1030630239/l50
は削除依頼しましたか?
http://qb.2ch.net/saku/index2.html
0814nobodyさん02/08/30 16:13ID: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のほかのサーバでは大丈夫だったんですが・・・。
どなたかわかる人がいればお願いします!!!
0815 ◆tIyj783Q 02/08/30 17:53ID:???
>>814
過去ログを読みましょう。
$submit=$_POST['submit'];
$file1=$_POST['file1'];
0816nobodyさん02/08/30 18:43ID:okP1fGcQ
あ、すみません、
register_globalsはonで、$_POST["submit"]でやっても動かないって前提っす。
そもそもGETはうけとれます。
0817 ◆tIyj783Q 02/08/30 19:13ID:???
>>816
もしかしてファイルを受け取ろうとしてる?
0818山師さん02/08/30 21:20ID:FsiYdmKt
最高齢の現役プログラマって何歳ですか?
0819nobodyさん02/08/30 22:08ID:???
register_globalsはoffちゃうん?
0820すれ違いだろ02/08/30 23:17ID:???
>>818
コンピュータの歴史を読み登場人物の中から生き残りを探せ。
0821nobodyさん02/08/30 23:47ID:???
>>814
submitはボタンを押さないとpostされないんじゃないか。
テキストエリアでEnterキーを押して送信したら$submitにはなにも入りませんよ。

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

>819
ONです。

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

以下は未検証だけど、
foreach($_POST as $key => $value){
$_POST[$key] = mb_convert_encoding($_POST[$key],"EUC-JP");
}
で、どぉよ。
少しずつレパートリーを増やしていくしかないわなぁ。
082874602/08/31 13:07ID:???
あぁ、$valueにせっかく値を渡しているのだから、
$_POST[$key] = mb_convert_encoding($value,"EUC-JP");
の方がいいかも。
0829nobodyさん02/08/31 15:30ID:???
これ(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 =====
0830nobodyさん02/08/31 15:55ID:???
>>829
> magic_quotes_gpc: <?= get_magic_quotes_gpc() ?>

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

 magic_quotes_gpc = On

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

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

ってわけで、

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

みたいに、一旦消し去ってから再追加で(゚Д゚)ウマー
0834nobodyさん02/09/01 00:59ID:???
>>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>
0835nobodyさん02/09/01 09:59ID:sTyltltt
ローマ字文字列から成る配列を
50音順に並び替えたいのですが、
どのような方法があるのでしょうか?
0836nobodyさん02/09/01 12:51ID:???
>>835
asort
0837nobodyさん02/09/01 12:52ID:???
>>836
あっ、スマソ
50音準だったね。
083881402/09/02 15:35ID:9QT5bee6
>834
ありがとうございます。
やってみましたが全滅で一個もでません・・・。
0839nobodyさん02/09/02 15:39ID:???
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 です。
0840nobodyさん02/09/02 17:48ID:???
>>839
ログは見た?
0841nobodyさん02/09/02 19:15ID:???
>>839
>GZIP による圧縮転送を行いたく
鯖側でgzipで圧縮するが、ブラウザ側では何も意識することなく表示する事を言っているなら、
スクリプトの頭(headerの前)で、ob_start ("ob_gzhandler"); と書けばよい。
これは、ココのユーザーノーツの中に(php、ブラウザのバージョンについても)書いてある。
http://www.php.net/manual/ja/function.ob-start.php
0842nobodyさん02/09/03 01:33ID:???
>>838
"file1 = "
とか
"GLOBALS[file1] = "
とかの文字列は出てるの?
あと環境は一般的なの?
OS,Webサーバ,PHPのバージョン,ブラウザの種類は?
084383902/09/03 13:39ID:???
アドバイスありがとうございます。

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

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

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

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

もう少し検索してみる必要がありそうです。
お気づきの点がございましたらお教えいただけると幸いです。
084484102/09/03 15:09ID:???
>>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パラメータが
追加されているのが該当するかもしれない(これも推測)。
いずれにしても、解決したら詳細きぼ〜
084581402/09/04 10:17ID:khCnGqdv
>>838
"GLOBALS[file1] = "などの文字列はでてました。
そして他のサーバからのうちのサーバのページへPOSTすると表示されるんですが
自分のサーバからPOSTすると何もうけとらない状態でした。
しかし、次の日またやってみたら何故かいけました・・・。
0846nobodyさん02/09/04 11:00ID:LeJnVSk1
\の表示で困ってます。
フォーム入力の料金表示で直接入力の\を使うと、
hidden fieldで次のページにパスしたときに、
\\と表示されてしまいます。
$priceA = "\\" . $priceB といったように関数を
割り当てているのですが。
多分、バックスラッシュとの関係だと思うのですが。
分かる方いますか?
0847nobodyさん02/09/04 11:18ID:???
>>846
>>829-833
0848nobodyさん02/09/04 13:15ID:qzuYRAZQ
FORMで$aaaをPOSTで送って、次のページでecho $aaa;とやっても
表示されまくなりました。
PHPのバージョンが上がって仕様が変わったのでしょうか?
0849nobodyさん02/09/04 13:21ID:???

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

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

で、配列に数字が入っていて、その中から最大と最小を取り出したい
のですが、ソートして最初と最後の数字を取り出せばいいのかなと
試したところ、ASCII順で並んでしまい、思った通りの結果が出ませんでした。
php4では数の大小でソートが出来る様なのですが、php3にはそういった関数が
無いみたいですね。
何かいい方法はありませんでしょうか。
0864nobodyさん02/09/06 12:17ID: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() では駄目ですか?
086586402/09/06 12:27ID:???
恥さらしました。
× $this->$name
○ $this->name

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

他に原因があるのでしょうか?
086786302/09/06 14:28ID:???
やってしまいました…
>>863 → >>864
です。失礼しました。
0868nobodyさん02/09/06 14:53ID:???
>>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

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

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

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

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

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

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

ならまだわかるが。。。
0873nobodyさん02/09/06 16:55ID:???
users-jp でテンプレートが云々言うてますけど、
そもそも XML で出してやりゃいいんじゃないの?
と思う漏れは変ですか?
087486302/09/06 17:09ID:???
>>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");
と指定してあるわけでは無いのですが、上記の様なやり方でも文字列として
代入されてしまうのでしょうか?
0875nobodyさん02/09/06 18:08ID:???
>>874
つまり君はアレだな、

 "ABC 123 XYZ 789"

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

 文字列 数値 文字列 数値

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

Warning: PostgreSQL query failed: ERROR: nwpersonal: Permission denied.
0877nobodyさん02/09/06 19:14ID: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"

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

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

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

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

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

助けてください。

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

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

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

if($host=="*.hoge.ne.jp"){echo "あぼーん";}else{echo "イイ(・∀・)!";}
こんな妄想してるのですが…。
正規表現わからなさ過ぎです(´д`)
0892nobodyさん02/09/07 10:45ID:???
>>887
メンテナンスリリース。
バックフィックスのみ。
0893nobodyさん02/09/07 11:19ID:k50oNcQ5
>>891
正規表現しかないね。
googleで適当に検索して覚えよう。
089489102/09/07 12:11ID:???
>>893
くそう!がんばりましたよありがとう!
あぼーんの対象が一人なのでマニュアルのサンプルを弄って出来ました。
…だめすぎ(つД`)
0895X02/09/07 16:42ID:???
>>894
どう書いたのよ?
\w+とか、.+?とか、正規表現でワイルドカードすりゃいいじゃん
0896nobodyさん02/09/07 16:43ID:???
>>891
Cのstrstrみたいな関数ってない?
もっとも.ne.jpのあとに何かきてもひっかかっちゃうけど。
0897名無しさん@XEmacs02/09/07 17:05ID:???
<<896
http://jp.php.net/manual/ja/function.strstr.php

089888302/09/07 18:03ID:???
>>888
お金くれるの?
0899nobodyさん02/09/08 00:21ID:4CQEIo/H
php5のweb上での情報ってどこにありますか?
090089102/09/08 06:48ID:???
>>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を参考にしました。
0901nobodyさん02/09/08 12:25ID:uUaPL6MQ
PHP 4.2.3 には、mbstring 周りにバグがあり、
POST / GET された変数を取得できない場合があるようです。
http://ns1.php.gr.jp/pipermail/php-users/2002-September/009886.html

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

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

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

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

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

が入る。
091190802/09/09 05:21ID:???
>>910
ということは$_GETという環境変数があるってこと?
この辺を詳しく解説しているサイトとかあれば教えて欲しいのですが、、、。
0912名無しさん02/09/09 06:29ID:???
最近PHP触ってないんだけど、
変数の宣言の強制ってできたっけ?
0913nobodyさん02/09/09 11:48ID:???
>>911
http://www.php.net/manual/ja/
0914nobodyさん02/09/09 12:01ID:???
>>913
つーか、
>>1
でええやろ。
>>912 も同じく
0915nobodyさん02/09/09 16:18ID:???
教えてください。
<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行で保存させるにはどうしたらいいでしょうか?
0916nobodyさん02/09/09 16:26ID:???
$dat = ereg_replace("\n","\n<br>",$come);
091791502/09/09 16:50ID:???
>>916 レスありがとうございます。
$dat = ereg_replace("\n","\n<br>",$come);

『あいうえお

<br>かきくけこ

<br>さしすせそ』

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

環境はwin php4.2.2 apach です。
おねがいします。
0918nobodyさん02/09/09 16:55ID:???
$dat = preg_replace ("/\r\n|\r|\n/", "<br>", $com);
091991602/09/09 17:00ID:???
すまん、何か勘違いしてしまった……。
092091502/09/09 17:05ID:???
>>916 
バッチリ!!です。意味もわかりました。
ありがとうございました。感謝します!!。
0921I hate php02/09/09 19:05ID:lptiOWqr
INSERTがうまくいきません。
どなたか助けてください。
環境
DB→Access2000
PHP→Version 4.2.2
PEAR→DB(?)
092292102/09/09 19:05ID: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
0923nobodyさん02/09/09 19:15ID:???
https://members.ud.com/services/home.htm
PHPでここへログインしてリザルトを取得したいんだけど、なんかいい方法ないですか?

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

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

だったら$aと$bから値を取れるだろ
0926nobodyさん02/09/09 20:51ID:???
>>925
404 Not Foundでした。
092792102/09/09 22:02ID: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)に自動で変換しているということですね。

ご迷惑おかけしました。

ども。。


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

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

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

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

今回は解決しても、またおなじようなところで、
はまる気がする。
0940nobodyさん02/09/10 14:44ID: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>
よろしく。
?>


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


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

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

よろしくお願いします。

0946nobodyさん02/09/10 16:07ID:MtX1bRLJ
超初心者ですみません。4.2.2をインストールして勉強してるんですが、文法等問題があるプログラムを実行してもエラーメッセージが出ません。考えられる原因を教えてください。
0947nobodyさん02/09/10 16:15ID: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";
}
0948nobodyさん02/09/10 16:39ID:???
>>946
php.ini の設定 or 実は正しい文法
0949nobodyさん02/09/10 17:41ID:JRIkgJI/
>>948
レスありがとうございます。
ですが、php.ini の設定もマニュアルどおりだし、×なプログラムは実行結果が返ってこず、
かつエラーメッセージもでないという、“まったく音沙汰無し”の状態で、どんなエラーだっ
たのか確かめることもできないのです。無償のデバッガを欲しがるのは図々しいでしょうか?

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

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

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

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

じゃ、頑張ってくださいね。
0959nobodyさん02/09/10 20:37ID:???
>>958
あんまりおもしろくないコピペだね
0960親切さん02/09/10 21:34ID:???
>>959
Copyright © 2002 親切さん all rights reserved
0961nobodyさん02/09/10 22:40ID: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

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

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


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

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

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

ヘッダは、
Return-Path: hoge@hoge.com
Reply-To: hoge@hoge.com
From: hoge@hoge.com

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

>>968
ttp://ns1.php.gr.jp/pipermail/php-users/2002-March/006444.html
で、どう?
0971nobody02/09/11 01:12ID:Zh9eBVFz
Perlで暗号化する
crypt関数で
例えば

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

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

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

試してみたんですか?

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

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

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

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

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

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

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

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

【PHP】質問スレッド Part5
http://pc.2ch.net/test/read.cgi/php/1031721334/l50
098797802/09/11 17:41ID:???
>>978は無視か・・・。
0988nobodyさん02/09/11 17:42ID:???
988
0989airh128001104.mobile.ppp.infoweb.ne.jp02/09/11 17:43ID:???
989
0990ドラ02/09/11 17:43ID:???
990
099199102/09/11 17:44ID:???
991GET
099299202/09/11 17:45ID:???
992ッ!
099399302/09/11 17:45ID:???
993はにゃーん☆
099499402/09/11 17:46ID:???
誰も邪魔しやがらねぇな
099599502/09/11 17:46ID:???
人居ないのか?
0996nobodyさん02/09/11 17:47ID:???
相手してやろうか
0997nobodyさん02/09/11 17:48ID:???
997
099899702/09/11 17:48ID:???
相手してちょ
0999100002/09/11 17:49ID:???
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /    つ 終 了  |
  〜′ /´ └─┬┬─┘
   ∪ ∪     ││ _ε3
           ゛゛'゛'゛
1000100002/09/11 17:50ID:???
失敗した・゚・(ノД`)・゚・。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。