トップページ⇒php
853コメント275KB

【PHP】初心者コーナー 3 Released【スローモード】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/11 06:24ID:???
PHPに関するアホな質問はここで、マターリやろな。
ファイル MySQL PostgreSQL 正規表現でも なんでもいってみ
でもな、アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。

前スレ http://pc2.2ch.net/test/read.cgi/php/1048442813/l50

■PHPの普通の質問はあっちな、【PHP】質問スレッド Part8
 http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
■PHPへ移行したいPerl信者はあっちな、【待望】PerlユーザのためのPHP入門
 http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■マニュアル嫁ってうるさいのがいるからちょっとは嫁な、
 http://www.php.net/manual/ja/
■おまえ初心者なら入門本くらいかっとけな、PHP関連の書籍(但しPHP出版系お断り)
 http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■これはなズープスと読むらしいがあっちな、XOOPS
 http://pc2.2ch.net/test/read.cgi/php/1031736248/l50

でもな、ここで書きたかったらここで書き。 あとは関連な、>>2 
061160803/08/05 11:53ID:V6DdtSg7
>>609
<table>使わないと全体的に左に寄ってしまいますよね。
バランスが悪いので何か対処法はありませんでしょうか?
0612nobodyさん03/08/05 12:27ID:???
>>608
HTMLの書き方が無茶苦茶。
PHPの勉強もいいですが、まずHTMLから始められてはどうでしょうか?
0613nobodyさん03/08/05 12:38ID:???
確かに。
よく見りゃつっこみどころ満載の「HTML」だ。
0614あぼーんNGNG
あぼーん
0615あぼーんNGNG
あぼーん
0616nobodyさん03/08/05 13:16ID:???
>>610
function convert_code (&$val,&$key,$opts){
  $val = mb_convert_encoding($val,$opts[0], $opts[1]);
}
array_walk ($array, 'convert_code', array('EUC-JP', 'SJIS'));

可変引数は渡せないから第3引数にmixed型を渡すように
なっている。
だから配列もしくはオブジェクトなら渡せる。
0617nobodyさん03/08/05 16:11ID:???
>608
CSSを使用すれば余白の制御など細かく出来る。
CSSが大変そうなら <blockquote> タグあたりでどうかね?
0618nobodyさん03/08/05 17:37ID:woPpy0rJ
php+MySQLでデータベースの入力フォームを作っております。

 前略
 mysql_query(insert into T1(f1,f2,...) values('$1','$2'...));
mysql_query(insert into T2(fA,fB,...) values('$A','$B'...));
mysql_query(insert into T3(fa,fb,...) values('$a','$b'...));

といったように、一つのphpファイルに連続して複数のテーブルに入力
しようとしても、最初のクエリのみしか受け入れてもらえません。
フォームからの変数は問題なく受け取っており、エラーになるわけでも
ありません。
どなたか、原因と対処を御教示下さい。 m(_ _)m
061961803/08/05 17:42ID:woPpy0rJ
ちなみにphpのバージョンは4.0.6です。(プロバイダがアップデートしてくれない (-_-;))
0620nobodyさん03/08/05 18:21ID:???
>>618
mysql_query("insert into ・・・");
にしないとエラーになるんですが。
062161803/08/05 20:07ID:HahDoJ1D
>>620さま

$result1 = mysql_query("insert into T1(f1,f2,...) values('$1','$2'...)");
$result2 = mysql_query("insert into T2(fA,fB,...) values('$A','$B'...)");
$result3 = mysql_query("insert into T3(fa,fb,...) values('$a','$b'...)");

こんな感じで記述してあります。618は筆足らずでした。。
0622あぼーんNGNG
あぼーん
0623あぼーんNGNG
あぼーん
0624あぼーんNGNG
あぼーん
0625nobodyさん03/08/05 21:38ID:???
>>618
mysql_query()を呼んだ後は、返り値がTRUE(非ゼロ)またはFALSEのどちらかを確認して、
もし返り値がFALSEならmysql_errno()とmysql_error()を確認しよう。
さもなくば「エラーが出てない」とは言えない。
062661803/08/05 22:25ID:HahDoJ1D
>>625
感謝!!
早速確認してみます。  ・・・でも、localhostで動作確認したときは
問題なく全入力出来たのに、、、
どういう可能性が考えられるのでしょう?
0627nobodyさん03/08/05 23:04ID:???
>616
ありがとうございました。マニュアル眺めてるだけでは、なかなかわからんもんです。
0628nobodyさん03/08/06 09:32ID:TaNZWYB4
$_POSTなどでフォームのデータ受け取ると、"や'とか\が勝手にエスケープされてるのはなぜ?
仕様?
0629nobodyさん03/08/06 10:06ID:???
>>628
magic_quotes_gpc
で検索
0630あぼーんNGNG
あぼーん
0631あぼーんNGNG
あぼーん
0632nobodyさん03/08/06 12:52ID:9CpMMik0
ブラウザ上からquota見たいんですがのう。
popenでquota呼んだら
>Disk quotas for user xxxx (uid xxxx): none
しか来ないんだけど。
telnetだとusageとかgraceとか出るのにー

何か手ないすか?
0633あぼーんNGNG
あぼーん
0634nobodyさん03/08/06 13:31ID:???
> xxxx (uid xxxx):
伏字にしているのはエスパー募集だからですか?
0635nobodyさん03/08/06 15:15ID:???
>632
とりあえずシェルから quota 呼ぶのと PHP(HTTPデーモン経由)から quota 呼ぶのとで
ユーザーが違ってると言ってみる
0636nobodyさん03/08/06 15:24ID:???
>>632
xxxxを見ればわかりそうなものだ
wwwとかnobodyとか
0637nobodyさん03/08/06 18:46ID:wRB10Bh6
文字列をある程度の長さで省略したいんですけど、
日本語と英数が混じってると最後が・になったりして
おかしくなる場合があります。どうすれば上手くできるんでしょうか。
使ってるサーバーがmb関数使えないサーバーなんですけどできますかね。
0638nobodyさん03/08/06 20:10ID:+64gfyUC
te
0639nobodyさん03/08/06 20:21ID:???
>>637
漢字コード変換
http://www.spencernetwork.org/
0640nobodyさん03/08/06 20:52ID:???
>>637
文字コードが一定なら正規表現で1字ずつ数えれば良かろう。
([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})
とかね。似たような関数をperlから移植する手もある↓
ttp://www2u.biglobe.ne.jp/~MAS/perl/waza/strcut.html
0641nobodyさん03/08/07 15:46ID:oxPy+Rmw
PHP+MySQL環境でディレクトリー式メニューを実現しようとしていて、
「ID:ジャンル名:所属ID」
という再帰テーブルを作りました。
この場合、直下にあるデータ一覧は所属IDをIDで検索すればすぐ出ますが、
トップからのパスはジャンル>所属しているジャンルID>さらに上のID…>
トップと検索して配列にセット、それを反転してトップ>ジャンル>その下の
ジャンルと整形しています。
この場合何度もSELECT文を出さなければなりませんが、もう少し効率的に
やる方法はないですか?
0642nobodyさん03/08/07 21:33ID:???
>>641
ツリーにIDを1つ追加するときに、そのIDのフルパスを別のテーブルに登録しておけばよい。
0643404.HDML ◆StMXML.EXE 03/08/08 01:59ID:???
fsockopen関数から開いた、リモートファイルのポインタからファイルサイズを
取得する方法は有りますか?

それとも、リモートファイルの内容を一時ファイルとして保存したものをfilesize
関数で読み出すべきでしょうか?
0644nobodyさん03/08/08 02:17ID:???
>>643
相手がHTTPで、且つそのヘッダでContent-Lengthが出力されてれば、
そこから取得することは可能。他のプロトコルは、やはり一度ナメるしかないんじゃないかな。
0645404.HDML ◆StMXML.EXE 03/08/08 02:30ID:???
>>644
リモートからContent-Lengthが返って来ない場合は取得不可なのですね。
有難うございます。

後、うっかり「HTTPでオープン」って書くの忘れてました。すみません。
0646404.HDML ◆StMXML.EXE 03/08/08 03:15ID:???
んと。fsockopen関数からHTTPとして開いたポインタから、予め上限を決めて
fread関数からデータを読みこみ、それをstrlen関数を使ってサイズを測る、、

という方法を試したら、何故か8192バイト以上が読みこめなかったので、
fgets関数をEOFを検出するまで回し、その過程で取得したデータを一本に
繋げてstrlen関数で読むという方法で何とかなりました。
0647 03/08/08 03:27ID:0z0bK8pF
freadって4.3.2から仕様変わった?
0648nobodyさん03/08/08 03:33ID:???
リモートファイルをincludeで呼び出しています・・・
サーバーが停止している場合はローカル上のファイルを
includeするようにしたいのですが、
どうすればいいのでしょうか?
0649 03/08/08 03:38ID:???
>>648
fopenか何かでリモートに繋ぎ、ダメだったらローカルを読む、と。
0650nobodyさん03/08/08 07:01ID:???
>>645
HEADメソッドでContent-Lengthだけ貰えば本体は貰わなくて済むよ。
ただしfopen()は使えないけど。
0651nobodyさん03/08/08 09:56ID:LraV0Dku
>642
ありがとうございました。

別の質問です。
MYSQLでAutoIncrementのフィールドがあるとき、INSERTしたあと
現在のその数を取得するには再びSELECTするしかないのでしょうか?

登録IDを作りたいと思っていて、PHP側でキーを生成してPrimary設定の
フィールドにINSERTするよりは綺麗な連番になるかと思ったんですが、
保存後にIDが何番になったか再取得しないと表示できないのです、、、
0652nobodyさん03/08/08 11:16ID:???
>>651
selectで再取得した方が確実。
さもないとチャットのように同時に10人とか発言されたら目も当てられない。
0653nobodyさん03/08/08 12:28ID:???
>>637
substr()/mb_substr()でなくてmb_strcut()というのがある。
便利です。
0654nobodyさん03/08/08 13:18ID:LraV0Dku
>652
ではどうやって再取得したらよいでしょうか。
今回の場合はそこまでクリティカルではないので問題ではないですが。

mysql_affected_rowsを利用するか、mysql_insert_idでしょうか。
前者の場合は再取得前に次の値がセットされればダメですし、
後者はいまいち使い方が分からない。。。
0655nobodyさん03/08/08 13:28ID:LraV0Dku
ちなみに、
$info = mysql_fetch_array(mysql_query("show table status from DB_USER like 'TABLE_NAME'",$MyLink));
$inserted_id=$info[Auto_increment] - 1;
という方法もありますが、これでもチャットレベルではダメかも。
0656nobodyさん03/08/08 14:17ID:???
>652

http://www.php.net/manual/ja/function.mysql-insert-id.php
マニュアルのとおり、単純に mysql_query した次の行で $foo = mysql_insert_id;
と書けば $foo にIDが取れる寸法のはず。

link識別子を使い分ける場合は明示的に指定する必要がある
065765603/08/08 14:17ID:???
>652 じゃなくて >654 だねゴメン
0658nobodyさん03/08/08 18:42ID:???
いやー magic_quotes_gpc on にはまいりましたよ。

コードがSJISになってるファイルアップロードページで処理したら
ファイル名に上に出てきたみたいに「ソ」とか「構」とか入ってる時
$_FILES に格納されるファイル名がその文字以降になっちまったよ。

とりあえずアップロードページのコードをEUCに強制的に変換して
逃げたけどSJIS逝ってよしだな。
0659nobodyさん03/08/08 19:01ID:???
>656
別のマニュアルでは分かりにくかったですけど、これで何となく分かりました。

>AUTO_INCREMENTEDカラム用に生成されたIDを返します。

これを見ると、モロに求めていた機能のようですね。よかった。
0660404.HDML ◆StMXML.EXE 03/08/08 19:05ID:???
>>650
目的は、リモートファイルの内容&サイズを取得する事なので、
本体も一緒に貰わないとイカンのです。
0661nobodyさん03/08/09 10:16ID:i34+tz6Y
あるフォームの送信ボタンを押して別のページに飛ばしたときに
その飛んできた送信ボタンの名前を取得することって可能なんでしょうか?
またどのようにするのでしょうか?


0662nobodyさん03/08/09 10:24ID:???
>>661
他スレで回答もらってるだろボケ
0663nobodyさん03/08/09 10:40ID:???
>>661
<form method=post>
<input type=submit name=hogehoge value=booboo>
<input type=submit name=aaaaaaaa value=booboo>
<input type=submit name=bbbbbbbb value=booboo>
</form>
<?phpinfo(32);?>
0664nobodyさん03/08/09 10:54ID:i34+tz6Y
>>662
その通りなんですが
回答の意味が分からなかったのでこっちで教えていただこうと
思ったんです。すみませんでした。

>>663
ありがとうございます。
しかし質問が悪かったみたいで知りたいことはちょっと違いまして
例えば商品が複数ならんであるページで
それぞれ商品のカゴに入れるというボタンを押したとき
そのボタンの名前を取得してそのボタン名+price みたいな名前の
パラメータの値と個数をかけた値を足していく というような感じに
したいのです。
長くなって申し訳有りません。
0665nobodyさん03/08/09 12:44ID:???
フォームに日付がたくさんあるのでfunctionで関数化したいんですけど、
$_POST['xx']の表記がいまいちわかりません。
やりたいのはこんな感じです↓

function check($yyyy,$mm,$dd){
$yyyy=trim(mb_convert_kana($_POST['$yyyy']),"sn");
$mm =trim(mb_convert_kana($_POST['$mm']),"sn");
$dd =trim(mb_convert_kana($_POST['$dd']),"sn");
if (!checkdate($mm,$dd,$yyyy)){
(以下略)
0666nobodyさん03/08/09 12:49ID:???
>>644
あなたの脳内では、ボタン名というのはnameの事?それともvalueの事?
「ボタン名+price」というのはどこに表示したいの?それともhiddenにしてfromに忍ばせたいの?
どうしてボタンの名前の取得が必要なの?
fromを商品毎に用意してそれぞれにsubmitとhiddenで値を定めれば良いんじゃないの?
どうしても全体を1つのfromにまとめたいの?
0667nobodyさん03/08/09 12:53ID:???
>>665
$_POST["$yyyy"]
0668nobodyさん03/08/09 17:42ID:???
PHPでCSVが表示できると聞いたんですがどうやればいいんですか?

test.csv
a,b,123
c,d,456

を

<table><tbody><tr>
<td>a</td><td>b</td><td>123</tr>
<td>c</td><td>d</td><td>456</tr>
</tr></tbody></table>

のように表示することは可能でしょうか?
よろしくお願いします。
0669nobodyさん03/08/09 17:55ID:???
>>668
可能です。
ごくごく基本的なテキスト処理の問題で
どんな参考書にも必ず載っています。
0670nobodyさん03/08/09 18:57ID:???
668です。
買った本に載ってなかったんで(正直ショックだった

何か参考になるサイト等がありましたらお願いします。
0671nobodyさん03/08/09 19:22ID:???
>>670
$a=file("test.csv");
echo "<table><tbody>\n";
foreach($a as $b){
$b=rtrim($b);
echo "<tr>";
$c=explode(",",$b);
foreach($c as $d){
echo "<td>$d</td>";
}
echo "</tr>\n";
}
echo "</tbody></table>";
0672nobodyさん03/08/09 19:39ID:???
関数に fgetcsv() てのもある
0673nobodyさん03/08/09 20:31ID:i34+tz6Y
$HTTP_SESSION_VARS["a"][1]
なんてある配列の数を1つ減らしたりしたいのですが
どのようにしたらよいのでしょうか?
0674nobodyさん03/08/09 20:42ID:stysPTCZ
ブルマ姿の可愛らしいロリ少女が体育倉庫でなにやら怪しい動き!
物凄くでかいオッパイをぷるんぷるんに揺らしながらハゲオヤジにバックから突かれます。
最後のオナシーンではなんととうもろこし挿入!
ブツブツで気持ちいいんでしょうね。
無料ムービー観てね。
http://www.pinkfriend.com/
0675nobodyさん03/08/09 21:09ID:???
>>673
$HTTP_SESSION_VARS["a"][1]--;
0676nobodyさん03/08/09 21:10ID:4ZC+Pkma
★おまんこナビ登場!!★日本の美しきオマンコ検索はココ!!
http://endou.kir.jp/marimo/link.html
0677直リン03/08/09 21:13ID:V17SBkWV
http://homepage.mac.com/maki170001/
0678nobodyさん03/08/10 00:16ID:9fsvpXwn
もし変数$xに値が入ってなかった場合っていう条件を作るときに
if(isset($x)) と if(!$x) はどっちがいいんでしょうか?何か違いがあるんですか?
0679nobodyさん03/08/10 00:18ID:???
>>678
$x=0; if(!$x)
0680の03/08/10 00:19ID:iKMsAznc
>>678
error_reporting(E_ALL);
とかして動かしてみな。
068167003/08/10 02:42ID:???
>>671
>>672
ありがとうございました。
0682nobodyさん03/08/10 07:14ID:fzrQOeyO
MySQLに格納されているデータを元に作るページを
何度も行き来させる場合、
セッション変数にデータを入れて持たせるのと、
ページごとにMySQLから読ませるのと、
どっちが負荷が軽いですか?
0683nobodyさん03/08/10 08:11ID:???
セッション変数に200KBぐらいのデータを持たせるのって
あんまりイクナイですか?
ページごとにあるwebサイトからそのぐらいのデータをダウンロード
するのをさけたいのです
0684nobodyさん03/08/10 23:48ID:???
PHPでパスワード付きzipファイルの解凍って出来ないのでしょうか?
パスワード有無の判別だけでも出来れば解凍時にパスワード入力を
施すようにして、あとはunzipを呼び出すなんて事も出来そうなんですが。
さーぱーりわかりません。
0685nobodyさん03/08/11 00:23ID:???
システム時間を人間が見てわかる時間に変更する方法を教えてください。
1060417366 -> yyyy/mm/dd hh:mm:ss
みたいな。
0686nobodyさん03/08/11 00:38ID:???
>>684
菅さんとこのあぷろだが暗号zipを判別した筈。perlだけどロジックをぱくればよろしい。
http://sugachan.dip.jp/download/uploader.php

>>685
http://jp.php.net/manual/ja/function.date.php
0687nobodyさん03/08/11 00:52ID:???
>>685
マニュアルの日付の項をちょっとでも読んだのならいくらでも出てくるのだが?
http://jp.php.net/manual/ja/ref.datetime.php
0688nobodyさん03/08/11 02:56ID:MrZa7J+S
しょぼい質問でスマソ。
正規表現に関することで悩みが…。

<?php
if (preg_match ("/[ぁ-ん]{5}/", "あいうえお")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>

っていうソースのファイルを開いたんですわ。
そしたら
Warning: Compilation failed: range out of order in character class at offset 4 in d:\public\root\c.php on line 2
A match was not found.
って表示が出てくるんですよ。

これなら 大丈夫なんですけどね…。
<?php
if (preg_match ("/[a-z]{5}/", "abcde")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>

日本語だとうまくいかないようなんですが、なんでなんでしょうか?
0689 03/08/11 04:19ID:???
>>688
pregは非対応だから。mb_eregでやれ。
069068403/08/11 06:29ID:???
>>686
ありがと。できますた。
0691nobodyさん03/08/11 06:45ID:ugZ5Rko0
☆Hな女の子はおスキですか?☆(※入場無料)
http://endou.kir.jp/yuminet/link.html
http://endou.kir.jp/marimo/link.html
0692nobodyさん03/08/11 07:45ID:vd5Ibrol
以下のスクリプトが動きません。なんでですか?
#!/usr/bin/perl

# CGIヘッダの出力
print "Content-type: text/html\n\n";

while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}

# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;

# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;

# Player1
$kougeki1 = srand;

# Player2
$kougeki2 = srand2;
0693nobodyさん03/08/11 07:46ID:vd5Ibrol
srand;
if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0694nobodyさん03/08/11 07:46ID:vd5Ibrol
srand2;
if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}

($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;

($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0695nobodyさん03/08/11 07:47ID:vd5Ibrol
# HTMLの出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kougeki1</big>のダメージを受けて混乱した。
<p>Player1は<big>$kougeki1</big>のダメージで野原でクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$kougeki2</big>のダメージで光浦なみの女にレイプし始めた。</p></p></body>\n";
print "</html>";
0696nobodyさん03/08/11 07:50ID:vd5Ibrol
プレイヤー1とプレイヤー2の対戦ゲーム
パンチとキックが出る

パンチは5分の3で命中
5分の2はミス
命中すると5分の1のは攻撃力が半減
さらに相手がキックをすると、パンチ力が半減

キックはふつうに当たる

HP0になった方が死亡
0697_03/08/11 08:08ID:???
http://homepage.mac.com/hiroyuki45/hankaku05.html
0698_03/08/11 08:16ID:???
http://homepage.mac.com/hiroyuki45/
0699nobodyさん03/08/11 09:40ID:???
>>692
perlはスレ違いです
0700nobodyさん03/08/11 11:58ID:vd5Ibrol
PHPとPerlは別なんですか!早とちりしてしもうた。
070167303/08/11 12:26ID:UQrY/a3d
>>675
ありがとうございます。
しかし、$HTTP_SESSION_VARS["a"]--としても
count($HTTP_SESSION_VARS["a"])の数は減っていないみたいなんですが
何かおかしいのでしょうか?
0702nobodyさん03/08/11 13:11ID:???
>673

>675 のは配列の要素が持っている数値を減らす方法。
>673 は配列の要素を削りたいんだろ?なら↓の関数でどう?

http://www.php.net/manual/ja/function.array-splice.php
0703あぼーん03/08/11 13:12ID:???
http://homepage.mac.com/hiroyuki45/jaz01.html
0704あぼーん03/08/11 13:13ID:???
http://homepage.mac.com/hiroyuki45/
070568803/08/11 15:31ID:bEOLhIPG
指摘の通り、mb_eregにかえたんですが・・・

<?php
if (mb_ereg("/[ぁ-ん]{5}/", "あいうえお")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>

結果が A match was not found.
なんですけど、まだ何かおかしいところあるんでしょうか?
0706nobodyさん03/08/11 16:38ID:???
>>705
前後のスラッシュは不要。
if (mb_ereg("[ぁ-ん]{5}", "あいうえお")) {
0707nobodyさん03/08/11 17:48ID:+bwnIYmo
ど素人ですいません。
一応サーバーはKTplanを使っています。
Linuxサーバーのようです。PHP Version 4.2.2
サンプルの本を使いながらメールフォームを試してるのですが、
「PHPでWebアプリケーションを作ろう」という1年ほど前に買った本では
文字コードEUC、改行LFで保存しています。
これは、formmail.html,formmail.php,formmail_lib.php
という、入力ページ、プログラム本体、ライブラリの3つのファイルと
jcode.php,jcode_mini.php
という、日本語処理のファイルをあげています。
これは問題なく動作しましたし、届いたメールも文字化けはしていませんでした。
ただ、メールの内容を確認するというページが無いので違うのを試しました。

「PHPによるWebアプリケーションサンプル」という本で
サンプルを試したところ、サンプルCDには、
Winユーザー向けの script_sjis用と
Linuxユーザー向けの script_eucという
2つがありました。
で、KTplanのサーバーはLinuxだし、上に書いたメールフォームは
EUCで保存して問題なかったので、Linux用のを使いました。
すると、届いたメールの内容が文字化けしていました。

試してみようと思い、Win用のsjis保存のを使ってみたら
問題なく文字化けしていませんでした。

この違いはどう考えればいいのでしょうか?

先に試した本のやつは、日本語変換用のファイルを使うので
そうなのかなと思いますが、次の本のやつは
メールを受け取る環境に合わせてsjisとEUC保存を使い分けるのでしょうか?
0708nobodyさん03/08/11 17:53ID:0RwRz5Km
★オナニー共和国です★ ★貴方の見たい娘がイッパイ(^0^)★無修正★
http://endou.kir.jp/akira/linkvp.html
0709_03/08/11 18:09ID:???
http://homepage.mac.com/hiroyuki45/hankaku09.html
0710_03/08/11 18:21ID:???
http://homepage.mac.com/hiroyuki45/
■ このスレッドは過去ログ倉庫に格納されています