トップページ⇒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
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上の変数に保持されてる場合もファイルに書き出すなりして確認。
んじゃないと本人が「筈」なんて言ってる事を、赤の他人なら尚更判らんでしょ。
0175nobodyさん03/05/15 03:42ID:???
>>158
chasenとかに形態素分析やらせれば?
0176nobodyさん03/05/15 10:32ID:NoDDJZGz
$aが奇数の時及びチェックボックスがチェックが入っている場合

if($a !%2 and $check == "on"){
print "ok";
}

エラーが出ました。
奇数は!%2じゃダメなんでしょうか?
0177nobodyさん03/05/15 11:52ID:???
まず言語。
つぎにPHPマニュアルを勉強する。

if ( isset($check) && ($a%2) ) echo 'ok' ;

!は値を評価して trueならばfalseを返し、falseならばtrueを返す。
%x は値をxで割って、そのあまりを返す。
2で割って余りが0(=false)ならば、偶数。 1以上(=true)ならば整数だよ。

!%2は割ってもいない数を否定しようとしているから埒外。
($a%2)は、2で割った余りが0のとき、つまり $a が偶数の時、if文がfalse(=0)判定で作動しない。
一方、!($a%2)は、2で割った余りが0のとき、つまり $a が奇数のとき!でtrueに反転しif文が実行される。
IF文は0のとき動作しない。
2で割った余りが0である偶数をはじくには、そのまま評価させればいいわけ。
もちろん0を割ってもfalseになる。

「および」は分かりにくいから、「かつ」を使ったほうがいいのでは。
「$aが奇数、および、チェックがオン」なら分かるけど、
「$aが奇数の場合、および、チェックがオンの場合」となると、少々あいまいになるような気がするよ。。
017817703/05/15 11:55ID:???
>一方、!($a%2)は、2で割った余りが0のとき、つまり $a が奇数のとき!でtrueに反転しif文が実行される。

なに言ってんだ俺は、、。
当然だけど、2で割って余りが0の数は、普通は偶数ね。
-> 一方、!($a%2)は、2で割った余りが0のとき、つまり $a が偶数のとき!でtrueに反転しif文が実行される。
0179nobodyさん03/05/15 11:59ID:NoDDJZGz
>>177-178
すいません、訳が分かりません・・
ただ私は奇数を表したいだけなんですが

#奇数でチェックありの場合
if($a !%2 and $check == "on"){
print "ok";
}
#偶数でチェックありの場合
elseif ($a %2 and $check == "on"){
print "NG";
}
#奇数でチェック無しの場合
if($a !%2 and $check == null){
print "ok";
}
         ・
         ・
018017703/05/15 12:00ID:???
>179
「奇数だったら、実行。
偶数だったら、実行しない」

にしたいんじゃないの?
逆?

018117703/05/15 12:03ID:???
!%2 は動かないよ。
%は「何か」を割ってその余りを返すんだから。!%2は一体ナニを割ってるのさ。
この2点が修正箇所だと思うんだけど。
018217903/05/15 12:05ID:NoDDJZGz
間違えた、、
#偶数かつチェックあり
if($a %2 and $check == "on") {
print "ng"
}
#奇数かつチェックあり
elseif ($check == "on"){
print "ok"
}
#チェックなし
else
{
pring "not"
}

これで動かないんですよ
なんべんやっても偶数かつチェックありになってしまう
018317903/05/15 12:06ID:NoDDJZGz
>>182
あprintの後セミコロン抜けた
入っていると仮定して・・
0184パピポ03/05/15 12:09ID:2CaDwk4R
なるほどみなさんのご意見参考になります。漏れがやろうとしてる事は、BBSに限らず、
HPの構造をツリー的なものから、ランダムでしかも整合性が取れている構造が作れない
もんかと考えたわけっす(うまく言えないなぁ)。

つまり、専門的な内容を専門知識のない閲覧者に見せる事を目的とした時、専門用語を
いちいち解説しなければならなくて、文章が長く難解になるというネックがあります。
専門用語の辞書的なページを大量に作って、コンテンツの内容の専門用語にその辞書ペ
ージのリンクを張ってもいいんだけどかなりメンドウな作業なのでそれが自動化できな
いもんかと・・・。また、それをBBSにも適用できないもんかと。

やっぱ、chasenで「分かち書き」の線で考えるのが無難そうですね。しかし、実はあん
まり知識が無い。。。。namazu構築するときに入れたなぁ。勉強すます。
018517703/05/15 12:13ID:???
もっぺん書くよ、

 if ( $a%2 ) print "NG";

は $a が偶数だと0    -> 動かない
  $a が奇数だと1以上 -> 動作
結果的に、$a が奇数の場合、NGが表示される。
偶数の場合 elseif に進行。
018617903/05/15 12:18ID:NoDDJZGz
>>185
>>182の通りだと思うのですが・・
elseが全く効かないんですよ
018717903/05/15 12:26ID:NoDDJZGz
>>177-185
分かりました!!
%2 とした時、 null でも%2の条件に行ってしまうみたいなんです!
018817703/05/15 12:27ID:???
>182だと、

$a が偶数かつノーチェックの場合 -> not
$a が偶数かつチェック付きの場合 -> ok

$a が奇数かつノーチェックの場合 -> not
$a が奇数かつチェックつきの場合 -> ng

else -> 不在

でしょ。これは望む結果じゃないの?
018917903/05/15 12:32ID:NoDDJZGz
>>188
if($a %2 and $check == "on") {
この最初の一行が働いてないんです。
$check == "off" でも、偶数であれば問題無用でこの結果にたどり着く
019017703/05/15 12:37ID:???
>この結果にたどり着く
どの結果だよ。。
さっきから「%2の条件」とか「elseが効かない」とか理解不可能な
言葉が増えてきてるんだけど、、。

if ($a %2 and $check=="on") ←これが動くのは$aが奇数の時
 ng;
elseif ($check=="on")  ←これが動くのは$aが偶数のとき
 ok;
else           ←これが動くのは$aに無関係にチェックが入っていないとき。
 not;

$a がNULL値の場合は、$a が偶数のときと同じ挙動になるんじゃないかな。
区別しようとおもったら、isset();を使う。issetは、0だとtrue、NULLだとfalseを返すよ。
019117903/05/15 12:43ID:NoDDJZGz
>>190
不勉強で本当すいません!
isset使えば完璧直りました!!
どうもありがとうございました!
0192ー03/05/15 12:45ID:olAGPkiP
PHP4.2.2をrpmで入れたらmbstringを設定できなくなってしまったのでつが、
モジュール等で回避する方法はありませんでしょうか?
019317703/05/15 12:48ID:???
そうなの?
まあ先に進めたならそれでいいけど、、。

if ( $a %2 )  -> $a は奇数
if ( !( $a %2 ) ) -> $a は偶数

てことで。
0194_03/05/15 13:01ID:???
  ∧_∧
 ( ・∀・)/< こんなのみつけたっち♪ 
http://www.hiroyuki.zansu.com/hankaku/jaz03.html
http://hiroyuki.zansu.com/hankaku/jaz10.html
http://www.hiroyuki.zansu.com/hankaku/jaz08.html
http://hiroyuki.zansu.com/hankaku/jaz09.html
http://www.hiroyuki.zansu.com/hankaku/jaz06.html
http://hiroyuki.zansu.com/hankaku/jaz05.html
http://www.hiroyuki.zansu.com/hankaku/jaz01.html
http://hiroyuki.zansu.com/hankaku/jaz02.html
http://www.hiroyuki.zansu.com/hankaku/jaz07.html
http://hiroyuki.zansu.com/hankaku/jaz04.html
019517703/05/15 13:13ID:???
>184
それってwebのこと? >自動整合システム
辞書リンクの自動生成は分かったけど、ランダムかつ整合性のあるってのが、、。
それぞれのページは順序だった関連をもたず、
しかし各ページは辞書リンクによって自動で秩序付けられ、
相互に依存しあうようにして(整合性を持って)構造化されている。
まさにWWWではないかと、、。
濃ゆいミニウェブを自前でこさえようというように受け取れるけるけど。

>192
redhatにくっついてくるやつかな。
googleとかMLで何度か読んだ記憶があるようなないような、、。
0196nobodyさん03/05/15 14:11ID:gNOX6dir
>>179
奇数、偶数の判定はこれでいいんでないの

$value = 2;

if ($value % 2) {
print "奇数\n";
} else {
print "偶数\n";
}
0197nobodyさん03/05/15 14:52ID:???
それにしてもレベル低いね。
PHPやってる奴ってみんなこの程度なのかね。
0198nobodyさん03/05/15 14:59ID:???
http://pc2.2ch.net/test/read.cgi/php/1048442813/

>197
スレ間違えてるよ(笑
0199nobodyさん03/05/15 15:06ID:???
http://pc2.2ch.net/test/read.cgi/php/1048442813/l50
0200nobodyさん03/05/15 15:25ID:???
>>196
やっぱsmall & simple is best だね
0201パピポ03/05/15 15:41ID:2CaDwk4R
>>195
>濃ゆいミニウェブ
いいっすねぇ、まさにそれです。いただきです。

辞書に単語と意味を蓄積していく。
コンテンツは平文で作成する。それをコンバートすると登録済み単語はリン
クになり、フォーマットに則してHTML化される。
コンバート済みのものをサーバにアップロードして公開なんて流れになる
のかなぁと考えている。

こうすれば辞書とコンテンツを構築する作業を分断でき、また専門的な詳細
は辞書、概略というか全体の流れはコンテンツという風に分けられ、かつ、
コンテンツには専門的な詳細を記述する必要が無いので感覚的に文章を綴る
事ができる。

ので、あまりツリーの事を気にせず、思いついた事からページにして公開で
きるのではないかと思ったわけです。最初は詳細リンクが少ないページでも
後からどんどん辞書を増やしていけば、コンテンツとしての情報量が増えて
いく訳です。まぁ、辞書を増やしたらその度コンバート→アップロードとい
う手順が必要なんだけど、その辺はPHP先生のがんばってもらってローカル
環境でFTPになっていただく。

あっ、辞書の「意味」の内容の中に登録済みの単語もあるわけだから、辞書
自体もコンバートしてHTMLページ化してやんなきゃか。でもそうする事によ
って表面上は辞書とコンテンツの境界が接近してくる。
と言う事になればかなり複雑な構造を持ったページにもなる。複雑すぎちゃ
ってやっぱナビが必要という噂も・・・。
0202パピポ03/05/15 15:42ID:2CaDwk4R
HTMLの読みにくいソースも嫌いで、できれば編集作業をするソースは完全に
平文にしておきたいんです。

でも、HTMLって元々そんな事をしたいが為の言語じゃなかったけか?今のWEB
ってンクの意味はほとんどナビゲーションとしての機能が主で特定の単語に
リンクを張ってあるページって少ないように思う。

長々とスマン。
0203_03/05/15 16:09ID:???
  ∧_∧
 ( ・∀・)/< こんなのみつけたっち♪ 
http://www.hiroyuki.zansu.com/hankaku/jaz03.html
http://hiroyuki.zansu.com/hankaku/jaz10.html
http://www.hiroyuki.zansu.com/hankaku/jaz08.html
http://hiroyuki.zansu.com/hankaku/jaz09.html
http://www.hiroyuki.zansu.com/hankaku/jaz06.html
http://hiroyuki.zansu.com/hankaku/jaz05.html
http://www.hiroyuki.zansu.com/hankaku/jaz01.html
http://hiroyuki.zansu.com/hankaku/jaz02.html
http://www.hiroyuki.zansu.com/hankaku/jaz07.html
http://hiroyuki.zansu.com/hankaku/jaz04.html
0204nobodyさん03/05/15 18:30ID:???
>>パピポ氏
なんか似たようなこと考えてるなぁ。
とりあえず、Wikiは触ったことある?

自分がPukiWikiを使ってみた感想は、
ページを生み出す課程には適したシステムだけど、
生み出したページを階層化・整理して(デザインを含めて)サイトとして
仕立て上げるには向いてないと思った。
コミュニティでわいわいやる向き。

なもんで一人の管理者による個人サイト向きのモノを今作ってます。
コンテンツの記述は平文ではなくHTML+αを考えてます。

WikiNameが自動リンクされてバラバラのページが結びつくのは斬新だったから
一度見てみてはいかが?

#既に触ってたら無視ってくらはい。
0205nobodyさん03/05/15 21:24ID:???
windows環境じゃないとmail関数で使用する
SMTPサーバのホスト指定できないんですか?
localhost以外に指定したいんですけど。
0206nobodyさん03/05/15 21:27ID:fsORg2mz
配列の一つのキーに格納できる容量には制限があるのでしょうか?
長めのデータ入れたら勝手に分割されちゃったんですが…
0207nobodyさん03/05/15 21:45ID:???
>>206
何倍とのデータを入れたら、どのように勝手に分割されたの?
0208nobodyさん03/05/15 21:49ID:???
>205
んな事はない。普通にSMTPの指定をすればよい。
ちゃんと先方のサーバを、繋げてくれるように設定するのを忘れるな。
#SMTPの使い方に関しては、むしろWindows版PHPの方が特殊。
0209nobodyさん03/05/15 22:07ID:fsORg2mz
>>207
あぁ、消しちゃった…確か10KB以上はありました。
そしたら勝手に改行されてたみたい…
0210nobodyさん03/05/15 22:37ID:VJqeIr87

おすすめサイト一覧です☆
http://accessplus.jp/staff/in.cgi?id=10645
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=neat
http://www.emzshop.com/goodstyle/
http://neturl.nu/okane
0211nobodyさん03/05/15 22:39ID:???
>>209
「改行が入れられる」≠「配列のデータやキーが分割される」
0212nobodyさん03/05/15 22:48ID:fsORg2mz
>>211
あぁ、えと、ようは掲示板のようなものなんですが、フォームから送信されたデータを「,」で区切って結合→ログファイルの一番上の行に追加してるんですね
ところがそれが一行にならずに分割されてしまう、と…
0213nobodyさん03/05/15 22:55ID:???
フォームデータの処理が甘いのでは?としか言い様がないのだが。
元の質問が変数に格納できるサイズのことだったことを考えると、
ファイルへの書き込み部に問題がある可能性も。
0214nobodyさん03/05/15 22:58ID:???
phpが使える無料サーバーおしえれ
ボケェ
0215nobodyさん03/05/15 23:08ID:???
>205
php.ini で
; for win32 only.
SMTP = localhost
となってるからwinでしか設定出来ないのかと思ったんですが。
とりあえず localhostでpostfix動かしてるんですが、PHPの
MAIL関数経由だと送信出来ません。mewとか普通のMUAを使うと
送れます。
<?php
mail("[email protected]","php mail test","success!!");
?>
mailqで確認すると

EDF561DEEA 400 Thu May 15 22:17:24 [email protected]
(host smtp.provider.ne.jp[xxx.xxx.xxx.xxx] said: 450 <[email protected]>:
Sender address rejected: Domain not found (in reply to RCPT TO command))
[email protected]

phpを動かしてるマシンのドメインが my.domainで apacheは
nobodyユーザーで動かしてます。そんで /etc/postfix/main.cf で
relayhost = [smtp.provider.ne.jp]
と設定してメールを中継してもらってます。スレ違いかとは思う
んですが原因分かりますか?
0216nobodyさん03/05/15 23:24ID:???
>>214
ここ行け、包茎
http://tadamono.to/homepage.html
0217nobodyさん03/05/15 23:28ID:???
>>215
DDNS取得してMXレコードも登録したらPHPから
送れるようになりますた。やっぱ送信するだけ
でもMXレコード登録しないと色々不便なことが
起きるんですかね。。
0218 ◆Kiss.FX29M 03/05/16 00:07ID:???
>>217
多分、-fオプションでISPから貰っているメールアドレスをSenderにすれば
MXレコードを登録していなくてもいけると思う。

#最近知ったのだが、docomoってEnvelopeSenderをFrom欄(?)に晒すようですね。
0219nobodyさん03/05/16 00:16ID:???
たびたび申し訳ないんですが、本文が "Invalid Message"
となって届いてしまいます。本文に"hoge"でも"ほげ"でも
同じ結果になります。
あとmb_send_mail()関数でオーバーロードしてます
0220nobodyさん03/05/16 00:17ID:???
>>216
ズルムケサンキュウ
0221nobodyさん03/05/16 00:17ID:???
>>216
どこも登録不可だったぞ包茎
0222 ◆Kiss.FX29M 03/05/16 00:51ID:???
>>219
mb_language("ja");
が必要なんじゃない。
0223nobodyさん03/05/16 01:08ID:???
>>218
サンクス。IPアドレスが変わってしまった直後のために
いちおうそれ指定しておきます。
>>222
上手くいきますた。ありがとん!

あとはSMTPサーバのホスト名なんですが
SMTP = localhost
ってのはwin用の設定ですよね?unix系のOSでの設定方法が
どこにも書いてないです。。誰か教えて下さい。
022420803/05/16 02:33ID:???
>>223
SMTPという語をそのまま使ったので混乱させてしまったです。
SMTP=sendmailで。んで、やっぱりディレクティブの設定で
別サーバのsendmailを直接叩くのは無理でした。
#実際には別サーバなのだがNFSでマウントしてるので自分に等しい状態。

スクリプトからは、外部のSMTP叩いたらちゃんと出て行いくのが確認できたんで
PEAR::Mail/smtp(要PEAR::Net_SMTP)なんぞ使ってみてくらはい。
http://pear.php.net/packages.php
自前でsocket関数使って投げても良いですけど。
#これすると多分Windowsと同じことやってるんだろうな
0225 ◆Kiss.FX29M 03/05/16 02:48ID:???
>>223
>>224で答えが出ているけど、unix系はsendmail(もしくは同等の)コマンドしか
指定できなかったと思うよ。

で、PEARを使うのが一番の解だと俺も思うけど、mail()でとりあえず乗り切りたいと
言う場合は、postfix側の設定で、httpdが投げたメールは全てISPの鯖へ送りつける
ような設定をしておくかたちになる。別にsmtpdが立ち上がっていなくても送信は
可能なはずですよ。
0226nobodyさん03/05/16 07:31ID:???
>>221
http://php.s3.to/php/
ほれ
0227nobodyさん03/05/16 08:00ID:???
>221
方形だからじゃない?
0228nobodyさん03/05/16 09:31ID:???
>>226
そこぐらいしってるよ包茎
そこで登録できねえから聞いてるんだ
0229nobodyさん03/05/16 09:56ID:???
>228
www.tripod.co.uk でええやん。
0230nobodyさん03/05/16 10:23ID:???
>>224>>225
やっぱりローカルホストのsendmailしか利用出来ないですか。
PEARのライブラリ使ってみますね。
オブジェクト指向な言語を使ったことがなくてクラスとかよく
分からないんで今までは放置してましたが。PHP5の時代に向け
て自分もちと修行してみます。
0231nobodyさん03/05/16 10:45ID:???
>>229
それくらいすでにもってるんだよ包茎
ftp串つかうのがだるいんじゃ
0232nobodyさん03/05/16 11:24ID:???
>231
そんで?
0233nobodyさん03/05/16 11:26ID:???
んで
別のところをさがしてるんだよ包茎
0234nobodyさん03/05/16 11:27ID:???
んで、見つからないと。
0235nobodyさん03/05/16 11:37ID:???
そのとおりだ包茎
0236nobodyさん03/05/16 11:40ID:???
残念だねえ。
0237パピポ03/05/16 11:52ID:J/IF4YAV
PHPでSMTPメールの件、洩れも一時期ハゲそうなぐらい悩んで
いますた。

結果やっぱPEARを使って実現しました。でも漏れはPHPの4.3.1
でやろうとしてたんだけど、必要なPEARのライブラリが標準では
インスコされてないんですよね。

うろ覚えですが、外部SMTPでのメール送信はMail_MineとNet_Socketが
必要で、PEARのパッケージマネージャを使ってインスコしたんだけど、
インスコする為にはコンフィガ時に--with-zlib-dirのオプを付けてmakeする
必要があります。あと、lynxも入れてね。
詳しい方法はPEARのサイトに書いてあります。

そんで、メールの日本語処理を実現するために「PHP4徹底攻略/実戦編」に
載ってるmbmime.phpを使用すますた。

つぎはぎだらけでどうにか実現。
023823103/05/16 11:54ID:???
どっかにCでPHPの関数が使えるような
ライブラリおちてないかな
0239パピポ03/05/16 12:04ID:J/IF4YAV
>>204
噂には聞いてますがPukiWikiは使った事ないっす。なんかどうも
他人が作ったアプリっていうのは使いズラいというか、ドキュメント読む
のメンドウというかぁ。。でもちょっとやってみよ。

>なもんで一人の管理者による個人サイト向きのモノを今作ってます。
>コンテンツの記述は平文ではなくHTML+αを考えてます。

期待しております。洩れもまだ妄想の範囲を出ていませんが、イロイロ
試行錯誤していくつもりです。

>ページを階層化・整理して(デザインを含めて)サイトとして
>仕立て上げる

漏れが目指しているのは、この事をいちいち最初に考えないでも
徐々に出来てくるというか、後からいくらでも変更が可能なモノ
でしね。主に研究機関だとか、スペシャルターム満載のマニアックなサイト向け
の。
024023103/05/16 12:12ID:???
denimはどうよ?
0241nobodyさん03/05/16 12:33ID:???
>>237
情報サンクス。とりあえず
# pear install http://pear.php.net/get/Net_SMTP
でインスコ成功したみたいです。あとは自分のプログラムで

require "Net/SMTP.php";
$mymail = new Net_SMTP;
$mymail->host = "192.168.0.2"; として
あとはこのクラスのメール送信メソッドを使えばいいの?
かなり自信ないですが。。あとこのNet_SMTPのドキュメント
が見当たらず、肝心のメール送信メソッドのようなものが
どれなのか分からず。こういう場合はソースを解読するし
かないのでしょうか。
0242nobodyさん03/05/16 12:46ID:???
>>241
いや、メール送信はPEARのMailを使います

require_once("Mail.php");
$to = "[email protected]";
$subject = "test mail";
$headers = array("Subject" => $subject,
"From" => "foo <[email protected]>");
$body = "this is test mail";
$smtpparams = array("host" => "foo.com",
"port" => 25);
$mailer = Mail::factory("smtp", $smtpparams);
$status = $mailer->send($to, $headers, $body);

こんな感じでいけるはず。日本語化は
subjectはmb_encoding_mimeheader、本文はmb_convert_encodingで
それぞれ文字コード変換してやればOKだと思う
0243パピポ03/05/16 13:18ID:J/IF4YAV
>>242
>日本語化はsubjectはmb_encoding_mimeheader、本文はmb_convert_encodingで
なんか漏れがやった時はコレがうまく逝かなくて心底悩んだです。
漏れのやり方がわるかったのかもしらんけど。
参考までに漏れはこんな自分関数作ってやった。mbmime.phpが無いとあかんけど、
元はなんかの本のソース。
↓

0244パピポ03/05/16 13:18ID:J/IF4YAV
function sendMailSmtp($host,$port,$to,$from,$cc,$bcc,$subject,$body){

ini_set("include_path",ini_get("include_path"));
require_once('Mail.php');
require_once('Mail/mbmime.php');
mb_internal_encoding('EUC-JP');

// SMTP
$smtp["host"] = $host;$smtp["port"] = $port;

// HEADER
$hdrs = array(
'To' => $to,
'From' => $from,
'Cc' => $cc,
'Bcc' => $bcc,
'Subject' => $subject
);

$mime = new Mail_mbmime();
$mime->setTXTBody($body);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail =& Mail::factory('smtp',$smtp);
if (PEAR::isError($mail)) exit("SMTPサーバにアクセスできません。");
$mail->send($to,$hdrs,$body);
}
0245パピポ03/05/16 13:24ID:J/IF4YAV
>>240
denimは・・・・。あれってなんかどういう使い道があるのか
いまいちワカラン?
024623103/05/16 13:34ID:???
ていうかphpがつかえる無料鯖おしえれ
0247パピポ03/05/16 13:41ID:J/IF4YAV
>>246
氏らん。個人の自宅サバ系レンタルサバのところに根気良く当たるか、
自分でサバ立てるかがいんじゃないか?広告ウザイ氏。

PHP.iniでsession.use_cookieが『1』に設定されている環境で
センション時に明示的にセッションはクッキーつかわねーよとソースで宣言する
事って出来るのだろうか?ましかしたらすんごく簡単に出来る
んではないかと勘ぐってるんですけど。

なんかEZwebのクッキーが悪さするらしくうまく動かないんんです。
ttp://wap.ssi-n.com/pc/cgi_faq.html

同サーバ上にあるPC版はクッキー使いたいし。。。。
024823103/05/16 13:51ID:???
自分で鯖たてるくらいなら
有料鯖かりたほうがやすあがりだろうが包茎
0249 ◆Kiss.FX29M 03/05/16 13:56ID:???
>>247
ini_set()
025023103/05/16 13:57ID:???
phpエディタ何使ってる?
おれはメモ帳か
winsyntaxだが、
eclipseにも興味があるというかんじだズルムケ
0251パピポ03/05/16 14:04ID:J/IF4YAV
>>231
ソコソコのマシンがあってADSLに加入してれば、あとは全部タダでできるゾ!ホケー!
ドメインは無理か。。。エディタはsakuraだポムチ!

>>249
ini_set()で変えた設定ってその時限りだけ有効なのか?
025223103/05/16 14:05ID:???
>>251
電気代が月2000ぐらいかかるんだよ包茎
0253_03/05/16 14:05ID:???
  ∧_∧   
 ( ・∀・)/< こんなのみつけたっち♪ 
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
025423103/05/16 14:12ID:???
sakuraなかなかいいぞズルムケ
025523103/05/16 14:14ID:???
これマジでいいぞズルズル
いやー感動した!
0256パピポ03/05/16 14:25ID:J/IF4YAV
>>231
タダだしな火星包茎。
0257situmon03/05/16 14:34ID:X9ormN/S
掲示板に書き込みがあったら
サイトトップのindex.htmlを丸ごと書き換えるようなのを作ってるんですけど、
index.htmlを直接書き換えてしまうのと、
書き込む内容をいったん別のファイル(index.dat)を作ってから
index.htmlを削除してindex.datをindex.htmlにリネームするのと考えたんですけど、違いありますか。
トップページは結構アクセスがあってサイズが重いページだとした場合、
後者の方が間違いなさそうな気がするんですけど。
0258℃ロート03/05/16 15:25ID:Bb/zBgfH
RedHat8.0 php4.2.2-8.0.7.src.rpm のリビルドの際に以下のようなエラーが出るのですが
解決策がわかりません。
おわかりになる方いらっしゃいましたらお願いします。
(specファイルやその他の設定はデフォルトで、必要なモジュールはup2dateでインストールしています)

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/php-root
エラー: Installed (but unpackaged) file(s) found:
/usr/bin/pearize
/usr/bin/phptar
/usr/lib/php4/imap.a
/usr/lib/php4/ldap.a
/usr/lib/php4/mysql.a
/usr/lib/php4/odbc.a
/usr/lib/php4/pgsql.a
/usr/lib/php4/snmp.a


RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/bin/pearize
/usr/bin/phptar
/usr/lib/php4/imap.a
/usr/lib/php4/ldap.a
/usr/lib/php4/mysql.a
/usr/lib/php4/odbc.a
/usr/lib/php4/pgsql.a
/usr/lib/php4/snmp.a
■ このスレッドは過去ログ倉庫に格納されています