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

【PHP】質問スレッド Part8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/04/14 00:52ID:???
■本家
 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-4
0074 ◆Kiss.FX29M 03/04/22 15:54ID:???
>>73
.forwardなどからなら当然勝手に走るよ。普通ならcli版を使うことになると思うけどね。

imap,pop受信ならcronで定期的にまわしてやるしかないかな。タイムラグが生じるけど。
00757003/04/22 15:57ID:qcHE+gS2
>>74
cli版?
ググってきます。ほんと、ありが�d
0076 ◆Kiss.FX29M 03/04/22 16:21ID:???
>>75
あぁ、余計なこと書いたかな。別にcgi版でもいいよ。
いざとなりゃ、モジュール版でも... って、やったことないけどなぁ。
0077nobodyさん03/04/24 21:05ID:???
携帯用のサイトでユーザー認証するのに
どうしてますか?
SSLはほとんど対応してないみたいだし
クッキーも対応してない場合が多いみ
たいだし、apacheの認証モジュールも
然りです。
今のところはPHPで認証して、URLに
セッションIDを埋め込むのが無難ですか?
パスワードを平文で流すのはかなり
不安なんですが。。
第一線で働いてるあなたに聞いてみました。
0078nobodyさん03/04/26 01:46ID:cOpB+yiK
>77
第一線でもなんでもないけど、無難にセッションIDのhidden埋め込みかな。
>パスワードを平文で流す
まあ、セッション最初の一度だけだし。

ケータイで端末固有IDが使える機種・キャリアがもうちっとあっても良いと思うんだが。
ケータイで喜んで"インターネットする"輩に、プライバシーとかどうでもいいじゃん(暴論)
#流石に昔みたいに電話番号そのままはマズイけど。
0079nobodyさん03/04/26 02:01ID:94JUYZ66
Win32版 Sablot(0.98-Full版) で UTF-8 な XSLT 扱えてる人いますか?
0080 03/04/26 04:13ID:???
自分が紹介した人が広告メールもらうたびに1円だってよ。
紹介した人が紹介した人、つまり孫だな。
そいつが広告メールもらっても1円。 メールは大体毎日一通くらい。
つまりな、自分が10人に紹介する(登録させる)
         ↓
そいつらが10人ずつ紹介する(登録させる)
         ↓
つまり、自分の子供と孫が110人になる。 んで広告メールが送られるたびに110円。
しかも子供と孫は半永久的に増え続ける。
一つわかってほしい。それは…怪しくない!
孫以下は収入にならない→つまりネズミ講じゃない。
メールもらって現金返還。このシステム知ってるだろ?
それのおいしい話だよ。
んじゃ、ここから登録してくれ。がんがれ。
http://www.we-love.to/paid/index.pl?id=kura0613
0081nobodyさん03/04/26 04:40ID:XP2ZIx8i
あのー
ceil(-2/3)
ってやると、普通0を返してくると思うんですが、なぜかあるサーバーが
-0って返してきやがるんです。
設定とかでなんとかなるものなんでしょうか?
0082nobodyさん03/04/26 22:33ID:???
質問なのですがpg_pconnect関数で生成したLinkを切る方法ってないのでしょうか?
pg_close関数は当然効きませんし。
どなたかご教授願えますと幸いです。

なお、環境は
OS:RedHat8.0
PHP:4.3.2
Postgres:7.3.1
です。
0083 ◆AngelH/kMI 03/04/26 23:32ID:???
>>78
>ケータイで端末固有IDが使える機種・キャリアがもうちっとあっても良いと思うんだが。
使えないのってJ-PHONEだけじゃ?

AU/TUKAはサブスクライバID拾えるし、
DoCoMoもutn(製造番号のようなもの)拾える。
ただし、こちらは相手に確認メッセージがでて、
そこで送信OKにしないと流れてこない。

FOMAの場合は移動機本体、FOMAカードそれぞれの
utnがとれるので、認証に使っても問題なさそう。

// 端末情報拾うクラス作ったけど、会社に行かないとない(苦笑

>>81
PHPのバージョンは?
バージョンが違うなら同じ動作するとは限らない。

というか、-0と返るのがバグで修正された可能性が。
0084nobodyさん03/04/27 01:07ID:???
>83
よく調べてみたら今の端末だと勝手サイトでも固有ID結構拾えるんだね。
ケータイ持ってないくせにiアプリは作ってるという香具師なんで
余りにも古い知識で喋っててスマン。(言葉の意味どおりの"香具師"だな)

因みにJ-PHONEもパケット対応機は拾えるみたいです。
http://www.dp.j-phone.com/jsky/user.html
私の常用しているH"は「pdxfrom」で拾えます。
0085 ◆AngelH/kMI 03/04/27 11:27ID:???
>84
J-PHONEもあるのかー。
情報サンクス。
また一つ賢くなったよ。
0086nobodyさん03/04/27 17:56ID:???
http://www.atmarkit.co.jp/flinux/special/php5/php5b.html
もうひとふんばり♪
0087nobodyさん03/04/28 19:31ID:???
質問(`Д´)ノ

1バイトと2バイトの文字が混ざった動的な文字列$unkoから、
substr()を使って$unkoの頭をヘッドラインみたいに切り取りたいのですが、

$unko = "abcdあいうえお";
$unko = substr($unko, 0, 7);

みたいに2バイトのところで1バイトでカットしちゃうと文字化けみたいな感じになってしまうのですよね。
これを上手く文字数ごとでカットしたいんですが、何とかならないですかね?
マルチバイトの宿命なのかな(´・ω・`)
0088nobodyさん03/04/28 19:47ID:???
マルチバイト対応の関数使えばいいだけ
0089nobodyさん03/04/28 19:55ID:???
>>88
( ゚д゚)ポポカーン
mb_hogehoge()ってマルチバイト関数だったんですな(´・ω・`)
mb_strsub()でいとも簡単に解決しますた(´・ω・`)

ありがとうございました、、精進しまつ(´・ω・`)ノ
0090>>88>>8903/04/28 20:02ID:???
すまん、ちょとテンパってた
mb_substr()
だ
0091nobodyさん03/04/30 13:17ID:???
保守

■本家
 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-4
0092nobodyさん03/04/30 16:54ID:hVWaacez
               _.........._
               .、:'':::::::::::::::::``:...、
           /::::::::::::::::::::::::::::::::::::::\
          i::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
            !::::::::::::::::::::::;‐、:::::::::_::::::_::::';
         |::::::::::::::::::::::|  :: ̄      ``!
         r''ヾ'::::::::::/  ::          |
         l r‐、\::/  _..、ii_;;_、    _...l、
         ヽヾ〈    ::= -r:;;j_;、`/ :;'ィ;7
          !:!_.、    :: ` ー  : |: `´/
         ../ヽ |  、_  ::  .: 'r' :i |:  /
       .../ `ヽ;_  i | ''、_:::__`:'‐'. /
        / ``'ー 、_\  ! `::` ̄''`チ`シ
    /ー 、_    `\:、_ :: ` ̄/   なんかもう必死でしょ
   /     ``ヽ、   ヽ`'7‐--'゛    
  /          `ヽ、 `/
0093103/05/01 23:32ID:???
Javaにはフレームワークがたくさん存在するけど、PHPにもフレームワークってあるの?
0094nobodyさん03/05/02 01:23ID:???
>>93
俺、自分用SOAPフレームワークとか掲示板フレームワークとか書いて遊んでるけど。
0095nobodyさん03/05/02 03:18ID:???
Javaでも「フレームワーク」という言葉の指すモノ意味が違うからなんとも。
でもどちらにしてもフレームワークと呼ぶようなものは無いような気がするな。
ライブラリとかはあるけど、型に填め込むようなのはね。
大体PHPで「パターン」というのも余り聞かないでしょ。
0096nobodyさん03/05/02 09:17ID:???
>大体PHPで「パターン」というのも余り聞かないでしょ。
PHPではデザパタが適用できないと。そう言いたい?

この考え方はこの言語の中だけ。みたいな狭いこと考えてると設計能力のびないぞ。
0097nobodyさん03/05/02 13:05ID:NXr20aw7
まあ、PHPでデザインパターンのメリットを
享受できるのかと言えば微妙なところではあるが。
0098nobodyさん03/05/03 14:12ID:???
スレちがいだと思うけど、いいスレ見付からなかったから
質問させてくんさい。
ezweb用のコンテンツをphpで出力したいんですが、
日本語上手く表示できません。

header("content-type: text/x-hdml;charser=shift_jis");
print <<<EOF
<hdml version="3.0" public="true" markable="true">
<display name="main" markable="true" title="テスト" bookmark="./index.php">
テスト
</display>
</hdml>
EOF;
0099nobodyさん03/05/03 14:12ID:???
>>98の続き
httpd.confには
AddType text/x-hdml;charset=Shift_JIS .hdml
AddType text/x-hdml .hdml
AddType text/vnd.wap.wml;charset=Shift_JIS .wml
AddType application/x-pmd .pmd
AddType audio/vnd.qcelp .qcp
AddType application/x-smaf .mmf

を追加。SDK3.3.1ってやつでテストしてます。
http://developer.openwave.com/ja/download/331doc.html

文字化けはしてるものの、一応表示は出来てます。
あとテストとして http://ezseek.infoseek.co.jp/index.hdml
なんかは問題なく日本語表示出来ました。

長文失礼。
0100nobodyさん03/05/03 21:56ID:???
>98
header("content-type: text/x-hdml;charser=shift_jis");
の「charser」はここへコピペする時のtypo?
0101nobodyさん03/05/04 13:42ID:???
質問です。
PHPでゲーム作ろうかなって思っているものですが、
更新処理が多発するケースだと、MySQLとPostgreSQLとどっちがいいのでしょうか?
MySQLだと早いけど、更新時にテーブルロックをかけなければならず、結局速度が低下する可能性がありで、
PostgreSQLだと重いけど、更新時にレコードロックで済むので速度が一定に保てそうな予感です。
もしかして、DB系の話をしているスレに書くべきことかもしれませんが、だれか連続更新処理に適したものを教えてください。
0102nobodyさん03/05/04 14:44ID:???
2ch並みに強力なプロキシ判定ルーチンが欲しいな〜。
自分で作る前にもしPHPでお勧めなモノがあれば教えて下さい。
0103nobodyさん03/05/04 14:59ID:???
2chのやりかたをパクればいいじゃん
0104nobodyさん03/05/04 16:24ID:???
>>100
typo
です。
本当は charset=shift_jis
になてます。
0105nobodyさん03/05/09 01:36ID:???
まぁ、保守ですわ
0106nobodyさん03/05/10 09:35ID:C7lpqUaM
エラーレベルってどのくらいまで無くしてる?
借りてる鯖、NOTICEレベルまでログにはき出すから(要は怪しいのも全部)
エラーログがたまって仕方ない。だからNOTICEレベルまでデバッグしてる。
未定義変数がどうとかでごちゃごちゃ怒られるのは面倒きわまりないんだが。
エラーハンドリングするといちいち無駄な処理が増えるしやりたくない。
みなさんはどのくらいまでデバッグしてる?
0107nobodyさん03/05/10 10:05ID:???
>>106
error_reporting(E_ALL ^ E_NOTICE);
書いとけ。
0108nobodyさん03/05/10 10:10ID:???
>未定義変数がどうとかでごちゃごちゃ怒られる

そんなん仕様上あたりまえのことやと思うで。
0109nobodyさん03/05/10 13:31ID:???
phpについての質問なのですが良いでしょうか?
http://fitness.s7.xrea.com/2ch/
このスクリプトで、自動リンクを他の板みたいなhttp://ime.nu/〜〜〜
にしたいのですがどこを改変すればいいか分かりません。
phpリファレンスを見たけどさっぱりです
どうか教えてください。
0110nobodyさん03/05/10 13:41ID:???
>>109
あ、あんたんとこのPHPInfo、役に立ってるよ。
0111nobodyさん03/05/10 16:45ID:???
E_ALLでデバッグして、最終的にはE_ALL^E_NOTICE。
勿論ログの話であって、ユーザ側にはエラー表示はしない。
関数にもデバッグ後には@つけちゃってるし。

自分で作って使うもんはE_ALLのまんまだよ。一部の他人のスクリプトを
流用してる場合でそっちを変えるのが面倒なときはそれなりにレベルを下げるけど。

>>107
Apacheならhttpd.confとか.htaccessで
php_value error_reporting 2039
とかする手もあるな。
E_ALLとかが未定義なのでリテラルで書くしかないけど
(PHP4なら2039がE_ALL^E_NOTICEと同値)
01129503/05/11 04:10ID:???
>>93
うーん、勉強不足だった。今月のphp|architectに記事があったのだが、
MVCフレームワークだけでも
Ambivalence - based on Maverick (http://amb.sourceforge.net/)
Eocene (http://eocene.net/)
php.MVC (http://www.phpmvc.net/)
Phrame - based on Struts (http://phrame.itsd.ttu.edu/)

後はもっとアプリケーションレベルのフレームワークでは
CMF(Content Management Framework)のMidgardなどもある。
http://www.midgard-project.org/
こっちはチョロチョロと触ってるけど、基底モジュールをCで書く必要が
あるので、PHPだけでやるフレームワークではないです。

>>96
いや、そゆこと言ってる訳ではないのだけど。ならばGoFのデザパタは
Javaにも適用できない(だってあれはC++)…なんてことは無いのは明らか。
無論PHPにもGoFは適用できるしメリットはある。ただGoFのパターンは
プログラミングデザインのパターン寄りなので言語制約は大きいけどね。

言いたいのは「PHPの文化圏ってパターン、パターンって(余り)言わないでしょ」ってこと。
これは歴史的な言語制約によるもの"だけ"とは思えないんだよね。
Perlなんかも似たような気がするけど。
#うん?やっぱ単純に歴史的経緯か
0113nobodyさん03/05/11 23:51ID:LWSkYdbj
>>112
単純に「パターンって何よ、ウワーン」となった奴がPHPに
逃げ込むような図式が多い、ということでは。
0114?*?03/05/12 17:37ID:???
PHPって、、
ピラピラしててエティイなパンティー
の略??
0115nobodyさん03/05/12 17:44ID:???
     ∧∧   ミ ._ サクッ
     (   ,,)┌─┴┴─┐
     /   つ.キチガイ警報|
  〜′ /´ └─┬┬─┘
    ∪ ∪     ││ _ε3
゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
0116nobodyさん03/05/13 01:18ID:Adz4yPCg
掲示板作ってるんですけども質問です。
ログが次のような1行1書き込みだったとして、

aaaa,あ,1
bbbb,い,3
cccc,う,2

3列目(1,3,2の列)でデータをソートするには
どうしたら良いんでしょうか。
0117_03/05/13 01:35ID:???
  (●´ー`●)/ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/moe/jaz08.html
http://yoshiwara.susukino.com/moe/jaz10.html
http://www.yoshiwara.susukino.com/moe/jaz03.html
http://yoshiwara.susukino.com/moe/jaz09.html
http://www.yoshiwara.susukino.com/moe/jaz06.html
http://yoshiwara.susukino.com/moe/jaz05.html
http://www.yoshiwara.susukino.com/moe/jaz01.html
http://yoshiwara.susukino.com/moe/jaz02.html
http://www.yoshiwara.susukino.com/moe/jaz07.html
http://yoshiwara.susukino.com/moe/jaz04.html
0118nobodyさん03/05/13 05:57ID:???
>116
そういう時はusort関数を使うらしい。
http://php.s3.to/man/function.usort.html
配列中の要素を2個づつ比べて、大きいか小さいか等しいかに合わせて数値を
返せばソートしてくれる。数値を返すのもstrcmp()がやってくれるので、こちらは
比較する要素だけ指定すれば勝手にやってくれるようだ。
下のサンプルでは、$lien[]を丸ごと渡して、関数内で$line[]を分割し、
3つ目の要素だけを、strmpc()に渡す因数に指定してみた。
これが常道かはわからないけど。

 function Sort_by_ThirdValue ( $a, $b ) {
   $a2 = explode ( ",", $a ) ;
   $b2 = explode ( ",", $b ) ;
   return strcmp ( $a2[2], $b2[2] ) ;
 }

 $line = array ( "bbb,いいい,2", "aaa,あああ,1", "ddd,えええ,4", "ccc,ううう,3" ) ;
 foreach ( $line as $presortVal ) {
   echo $presortVal . "<br>" ;
 }
 print "<br><-presort<br>   sorted-><br><br>";
 usort ( $line, "Sort_by_ThirdValue" ) ;
 foreach ( $line as $value ) {
   echo $value . "<br>" ;
 }
011911803/05/13 06:28ID:???
因数 -> 引数 (ひきすう) の間違いね。
脳内読みが文字に出てしまった・・。
0120nobodyさん03/05/13 12:54ID:dKtUOSWv
文字列「88a4」っていうのを文字コードとして認識して
漢字の「愛」に変換する事ってできますか?
chrだとマルチバイトに対応してないんで困っています。
012112003/05/13 13:03ID:???
自己レス。

$code="88a4";
$a1 = substr($code,0,2);
$a2 = substr($code,2,2);
eval("\$a1=0x$a1;");
eval("\$a2=0x$a2;");
$a = chr($a1).chr($a2);

なんかスマートじゃないですよね。
もっといい方法あったら是非教えてください。
012212003/05/13 13:41ID:???
すいません、pack()っていう関数がありました。
$ai = pack("H*","88a4");
0123nobodyさん03/05/13 17:01ID:???
PHP3+gd1.8.4で開発してるモンなんですけど。
ImageTTFText関数で画像を吐きたいんですけど、
日本語を吐かせようとすると、かならず化けます。縦棒イパーイな感じで。
どなたかヒントだけでもお教え願えないでしょうか。
0124nobodyさん03/05/13 19:26ID:1AS9m43x
0.00003524を
3.524E-06
と変換するような関数ってありますか?
0125nobodyさん03/05/13 19:28ID:1AS9m43x
自分でその関数作ろうと思っているのですがなかなかうまくいかなくて・・・・
0126nobodyさん03/05/13 19:28ID:???
sprintf
0127nobodyさん03/05/13 19:33ID:1AS9m43x
sprintfだと無理そうな感じが・・
0128nobodyさん03/05/13 19:40ID:???
print
0129nobodyさん03/05/13 19:45ID:1AS9m43x
printは無理ポ・・
0130nobodyさん03/05/13 19:45ID:wSvG+vhm
--------●○●別れさせ屋●復讐代行業務●○●----------

●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★

●  http://www.blacklist.jp/i

別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□

●  http://www.blacklist.jp/i  ●別れさせ屋・特殊工作・調査全般
●  http://www.blacklist.jp/   ●復讐代行・人生相談・駆け込み寺
--------------------------
リンク⇒ http://315.teacup.com/asocokit/bbs 凄い・必見!!!
0131nobodyさん03/05/13 19:51ID:1AS9m43x
なんかできそう・・・
eregeregeregeregereg


eregなんてきらいだぁぁぁぁ
0132nobodyさん03/05/13 19:53ID:???

var_dump();
0133nobodyさん03/05/13 19:55ID:???
ageんなカス
0134nobodyさん03/05/13 19:56ID:1AS9m43x
>>132
phpinfoみたけどさっぱりでしたよそれ・・・

ていうかeregつかってできましたよ。
力技ですが・・
0135nobodyさん03/05/13 19:58ID:???
ニントスホッキョッキョ
0136nobodyさん03/05/13 20:00ID:???
>>124
$a="0.00003524";
$b=(string)(0+$a);
echo $b;
これじゃだめか?
0137nobodyさん03/05/13 20:05ID:1AS9m43x
$a=0.00003524だといいのですが、
$a=0.03524とかになると
うまくいかないんです。

ていうか、できたと思ったら
うまくいってなかったー。
0138nobodyさん03/05/13 20:38ID:???
echo e(0.000003524)."<br>";
echo e(0.00003524)."<br>";
echo e(0.0003524)."<br>";
echo e(0.003524)."<br>";
echo e(0.03524)."<br>";
echo e(0.3524)."<br>";
echo e(3.524)."<br>";
echo e(35.24)."<br>";
echo e(352.4)."<br>";
echo e(3524)."<br>";

function e($in){
$a=0;
while($in>=10||$in<1){
if($in>=10){$in/=10;$a++;}
if($in<1){$in*=10;$a--;}
}
return $in."E".$a;
}
やみくもに計算してみるというのはどうか?
0139私大文系03/05/13 21:06ID:???
おそらく力技とはこういうものだ。
しかし、せっかく見やすい 0.03524 をE-表記にするのは無駄だな。

 function intstr( $i ) {
   $k = $m = 0 ;
   $n = 0 ;
   while ( $k < strlen($i) ) {
      $l = substr ($i, $m, 1 ) ;
      if ( preg_match("/0/",$l) || $l == "." || $l == "," ) {
         $n += 1 ;
      }
      $k = $m += 1 ;
   }
 $i *= pow( 10, ($n-1)) ;
 $i .= "E-" . ($n-1) ;
 settype( $i, "string" ) ;
 return $i ;
 }
0140私大文系03/05/13 21:14ID:???
もろバグじゃないか。
0以外の数字にぶつかったら while を抜けるように書き換えてくれ。
0141nobodyさん03/05/13 21:17ID:1AS9m43x
できた〜
とおもったら>>139が・・
139よりよっぽど力技ですわ。
0142nobodyさん03/05/13 21:19ID:1AS9m43x
if($time[$i]<1){
if(ereg("E",$time[$i])){ //1E-4未満の数は勝手にEがつくので回避
print("$time[$i]<BR>");
}else{
ereg("[1-9]",$time[$i],$atime); //小数点以下のはじめの数字GET
ereg("[1-9]{1}[0-9]+",$time[$i],$btime);
$ctime=substr($btime[0],1);
if($ctime=="") $ctime="0";
print("$ctime ctime<BR><BR><BR>");
ereg("0.0+",$time[$i],$dtime); //小数点以下
$keta=strlen($dtime[0])-1;
print("$keta keta<BR><BR>");
printf("%d.",$atime[0]);
print("$ctime");
printf("E-%03d",$keta);
}

}else {
print("変。");
exit;
}
0143nobodyさん03/05/13 21:24ID:1AS9m43x
 if($time[$i]<1){                       //$time[$i]がその数
   if(ereg("E",$time[$i])){                //1E-4未満の数は勝手にEがつくので回避
      print("$time[$i]<BR>");
   }else{
      ereg("[1-9]",$time[$i],$atime);        //小数点以下のはじめの数字GET
      ereg("[1-9]{1}[0-9]+",$time[$i],$btime);
      $ctime=substr($btime[0],1);
      if($ctime=="") $ctime="0";
      print("$ctime ctime<BR><BR><BR>");
      ereg("0.0+",$time[$i],$dtime);          //小数点以下
      $keta=strlen($dtime[0])-1;
      print("$keta keta<BR><BR>");
      printf("%d.",$atime[0]);
      print("$ctime");
      printf("E-%03d",$keta);
   }

 }else {
   print("変。");
   exit;
 }
0144文03/05/13 21:57ID:???
あわくってやるもんじゃないな。バグだらけだ。
つか、こういうのって何に使うの?
0145nobodyさん03/05/13 22:00ID:1AS9m43x
数値計算の条件ファイルを作るときに使うんですよ。
0146nobodyさん03/05/13 22:00ID:1AS9m43x
たったこれだけのことに
3時間もかけてしまった・・・・
0147nobodyさん03/05/13 23:36ID:1AS9m43x
<HTML>
<?
 print <<< HERE
 abc
 HERE;

?>
</HTML>

これでエラーがでるのはなぜなんでしょう・・


Parse error: parse error, unexpected $end in test.php on line 9
0148nobodyさん03/05/13 23:42ID:???
HERE;の前にスペースが入ってるから。
0149nobodyさん03/05/13 23:50ID:1AS9m43x
ありがとうございました。
0150文03/05/14 00:25ID:???
>145
なるほど。
説明してもらってもさっぱり分からねえ(笑
漏れも結局正規表現で拾うことにしたよ。
しかし正常に動作しているのか自分では確認できない体たらく。

 function EStyle ( $i ) {
   if( !preg_match ("/^0\.(0*).+/", $i, $n) || ereg ("E", $i) ) {
     return preg_replace ("/-0*/", "-", $i) ;
   }
   $n[0] *= pow( 10, strlen($n[1])+1 ) ;
   $n[0] .= "E-" . ( strlen($n[1])+1 ) ;
   return $n[0] ;
 }
 $floa = 0.00453 ;
 echo EStyle($floa) ;
0151nobodyさん03/05/14 00:44ID:???
>>150
> ereg("E",$i)
^があるから不要だ
0152nobodyさん03/05/14 12:06ID:OQIpVsQ0
なんじょうかして
1越えたらOKという考え方おもしろいですね。
自分には思いつかなかったですよ。。
0153nobodyさん03/05/14 13:39ID:MJNSMXYH
PHPを使用してメールを送信する場合
送るメールに送った人の名前、返信先アドレス、などを
付加することは可能ですか?
0154mind03/05/14 16:01ID:jMW3weXw
ファイルの書き込み処理の質問です。
フォームから「あいうえお」と書いておくると
書き込んだtxtファイルの中身が
、、、ヲ、ィ、ェ
となります。
どうすれば
あいうえお
と書き込むようになるのでしょうか?
ご指導ご鞭撻下さい
/*html*/
<form method="POST"action="write.php">
<textarea name='memo' cols='80' rows='20'></textarea><br>
<input type="submit" value="write">
</form>
/*php*/
<?php
$filename = "write.txt";
$handle = fopen($filename, 'w');
fwrite($handle, $memo);
fclose($handle);
?>

ちなみに
/*php*/
<?php
$filename = "write.txt";
$dat = "あいうえお";
$handle = fopen($filename, 'w');
fwrite($handle, $dat);
fclose($handle);
?>
とするとちゃんとTXTファイルに書き込まれます。
0155nobodyさん03/05/14 16:25ID:dQbZoEQe
http://endou.kir.jp/2/index2.html
0156 ◆Kiss.FX29M 03/05/14 16:37ID:???
>>153-154
お前ら二人ともマニュアルのマルチバイト文字列関数をよく嫁。
0157nobodyさん03/05/14 16:41ID:???
いい店みつけました!

http://www.dvd-yuis.com/
0158パピポ03/05/14 19:20ID:gInQ8eeu
投稿文の内容に辞書に登録してある単語が含まれている場合、その単語が
リンクになる掲示板というのを作りたい。

つまり「単語:2ch/意味:巨大けいじばん」という単語が辞書に登録さ
れていたとして

投稿文が『2chって面白いよね。』の場合。
『<a href="dic.php?word=2ch">2ch</a>って面白いよね。』となる。
dic.phpはwordの単語を検索して意味を含めてページとして吐き出す。
辞書はDB使ってやるのでdic.php自体は問題んないんだが、

投稿文の登録単語をリアルタイムに調べてリンクに変換するのに
辞書が増え出すと恐ろしく時間がかかりそうな気がする。

なんかイイ方法はないだろうか?
0159パピポ03/05/14 19:29ID:gInQ8eeu
方法として考えているのは、投稿する側に若干の『コツ』を
しいる方法。

つまり変換してほしい単語が辞書に登録してある事を事前に
知っているならば、その単語の前後に規定の文字列で挟んで
もらう。

例)2ch → %_2ch_%

この方法だと%__%で囲まれている文字列を抜き出して検索す
ればいいので、処理時間の問題は解決されるが、投稿者は
辞書に登録されている単語を事前に知っていなければならない。
ので、この方法はできれば回避したい。
0160nobodyさん03/05/14 20:10ID:kYMeLGsC
DVDSHOP YUIS 新装オープン!!
http://www.dvd-yuis.com/
豊富な品揃え!新品アダルトDVDが税込み900円〜!
http://www.dvd-yuis.com/
最速発送!!すぐ届く!!
http://www.dvd-yuis.com/
よろしくね!!!
0161nobodyさん03/05/14 20:20ID:QtBrZTEg
>>158
辞書を配列にすることができれば、preg_replaceの/e修飾子を
使ってどうにかなりそうだけど。
016216103/05/14 20:21ID:QtBrZTEg
すんません、>>161の方法では駄目ですね。
Wikiみたいに「半角英数字からなる単語」のみを対象とする、
くらいしか方法なさそう。
0163nobodyさん03/05/14 21:02ID:???
識別子をつけないならどのみち全文渡して置換させることになると思うが、、。
しかも変なとこでリンクを張らないように(たとえば前後文で「昨日12chでさぁ〜」を排除)配慮
するわけだし、DB使うといえども大変そうだね。

ひとつは特定のカテゴリーに特化したBBSにして、マニアックな単語にだけ辞書リンクを
つけるとか、辞書なしで google に投げちゃうとか、、本末転倒か。
運用面で支障がでるくらい書き込みが多いなら、そっちを制限して処理に余裕をもたせる
ようなことも考えないと。あるいはリアルタイム変換を捨てるか。

「辞書が増えだすと」ってことはユーザーに辞書を作らせることを考えてるんだと思うけど、
たとえば運用に現実的ではないロスがでる登録数にいたらないように、長い間使われて
いない用語やgoogleでの検索結果が一定値以下の用語を削除していく保守スクリプトを
動かすようなことも必要になるのかな、と。

実際どんなスクリプトで検索とリンク張りをやろうとしてるのかとても興味アル。
0164nobodyさん03/05/14 21:14ID:???
>158
日本語だと「分かち書き」が無いから難しいね。
漢字や仮名や半角文字の間に単語の繋ぎ目を仮定して辞書にあるかどうか調べるとか。
品詞の特徴で分けるなら人口無脳が参考になると思う。
もっと凝るならWnnやCannaに文節を探させて、文節の先頭から辞書を検索するとか(手間かかりそうだが)。
0165nobodyさん03/05/14 21:37ID:???
具体的にはどうするわけ?
<言語>として扱おうとすればするほど処理はかさむし例外対応にリソースもってかれると
思うんだが、、。
よほど大きな辞書を作るなら、簡単なクラスタ化くらいは必要かも知れないけど根。
0166 ◆Kiss.FX29M 03/05/14 21:49ID:???
辞書の大きさがどの程度を想定しているのかわからんけど、やっぱりいったん分かち書き
して辞書検索し、ヒットした文字列だけreplaceするしかないかもな。
0167nobodyさん03/05/14 22:00ID:???
単語が1000くらいなら辞書の最初から順に比較しても悪くない気もするが。
検索速度が気になるならインデックスを実装してみたら?
0168nobodyさん03/05/14 22:21ID:???
PHPも使用しているので、ここで質問します。
textエリアで書き込んだ内容がECUの文字コードで保存しているはずが
Shift_JISにかってに変わってしまい、困っています。
また、改行コードも反映されません。
今は値をgetで返しているのですが、postだとその現象はおきませんでした。
何か原因のわかる方がいましたら、お願いします。
0169nobodyさん03/05/14 22:23ID:???
>ECUの文字コードで保存しているはずが
そうなの?
0170nobodyさん03/05/14 22:51ID:???
EUCだろw
ECUだからダメなのかなw
0171nobodyさん03/05/14 22:55ID:???
>>168
原因は値をgetで返しているからです。
0172nobodyさん03/05/14 22:56ID:???
ここ二十数レス、面白いことになってるね(笑
0173nobodyさん03/05/14 22:59ID:???
>ECUの文字コードで保存しているはず
根拠を示せ
>Shift_JISにかってに変わってしまい
ほんとにShift_JISになってるのか?
>改行コードも反映されません
どうやって確認した?
>今は値をgetで返しているのですが、postだとその現象はおきませんでした
それ以外に違いはないのか?

0174nobodyさん03/05/15 01:31ID:???
>>168
171が言ってるようにGETなのにURLエンコードしないで渡してるから、
マルチバイトが"規定どおりに"扱われて、望むように扱われないだけ
じゃないのかい。
>改行コードも反映されません
ともあるし

>EUCの文字コードで保存しているはず
ってどこに?ブラウザで入力してる時に保存されてるものは
OSやブラウザの実装に依存するんじゃないの。

それかPOSTなりGETなりでサーバのPHPのプログラムを介して
サーバ上のファイルとして保存してるなら、そのファイルの
エンコードをちゃんと自分で確認してください。
またPHP上の変数に保持されてる場合もファイルに書き出すなりして確認。
んじゃないと本人が「筈」なんて言ってる事を、赤の他人なら尚更判らんでしょ。
■ このスレッドは過去ログ倉庫に格納されています