※注意1 4.2.0以降はデフォルトでregister_globalsがoffになっています。 POST, GET等で渡される値には グローバル連想配列 $HTTP_ENV_VARS $HTTP_GET_VARS $HTTP_POST_VARS $HTTP_COOKIE_VARS $HTTP_SERVER_VARS でアクセスしてください。 ※注意2 header()でContent-Typeを出力すると、mb_output_handlerが無効になります。 ini_set('default_mimetype', 'text/html'); とすることで回避できます。 つーか、マニュアルとか読んでください。おながいします。
スレ立て終わり。 Part6を参照しますタ。
7 :
nobodyさん :03/04/14 20:35 ID:ncj+nVRD
初心者です。よろしくおながいします。 PHPで文中日本語を含むテキストファイルを出力しようとしているのですが、 出力ファイルをEUCにするには、どうすればいいでしょうか? $fp = fopen("mona.txt", "w"); $text = mb_convert_encoding("オマエモナー", "EUC"); fwrite($fp, $text); fclose($fp); こんなふうにしてるんですけど、ダメぽです。
>>7 fwriteって書き込むサイズもいるんじゃなかったっけか?
>>7 phpinfo>mbstring>チェックしてミソ
>>7 それでmona.txtには何が書き込まれてるの。
EUC-JPじゃないの
13 :
7 :03/04/14 21:46 ID:ncj+nVRD
みなさん、レスありがdです。 >8 fwriteは、書き込みバイト数は、省略できるよ。ね? >10 「 I } G i [」 こんな感じでバケてます。(括弧は除く) >11 すんません。EUC-JPでしたね。でも結果は同じです。 >12 これから熟読しますけど、mbstringってphp.iniの設定じゃなかったでしたっけ? いや、よく読んでないのにレスしちゃって悪いんですけど、出来れば現在の環境の ままプログラムで出力のファイル形式を変更したいんです。 とりあえず、熟読してみます。ありがとー。
もしやなんだけど、mona.txtってなんのアプリで開いて確認してるの?
15 :
7 :03/04/14 22:06 ID:ncj+nVRD
>14 秀丸ですけど、問題ありですか?? ちなみに、EUS, SJISどちらで開いても上記のように化けます。
mb_convert_encoding("オマエモナー", "EUC", "auto");
17 :
7 :03/04/15 01:13 ID:bH92p3xS
>16 サンクスコです!! ばっちりうまくいきました! 変換前のフォーマットをちゃんと指定しないと不定になるということでしょうかね。 指定なしで、デフォルトのフォーマットを変換してくれると思ってました。 解決はしましたが、詳しいことをご存知でしたら、ぜひ教えてください。 ありがとうございました。
19 :
nobodyさん :03/04/15 10:12 ID:qTByL+rd
今、PHPのバージョンが 4.0.6 なんですけど、 バージョンアップはしなくても平気でしょうか? なんか最新バージョンにするのが怖いそうで、 サーバー管理者がバージョンアップしてくれません。
>>19 管理者に言えば?
>マニュアルをちゃんと嫁!
21 :
19 :03/04/15 12:30 ID:???
>20 セキュリティーが保障できないからパッチを当てる事はできないと いわれてしまいました。 とりあえずマニュアル読んでくださいと伝えるだけ伝えておきましたけど、 どうなることやら。
>>21 借りの雑居鯖なら、ユーザからクレームが出そうだけど、
社内鯖なら管理者の怠慢じゃんそれ。
23 :
19 :03/04/15 16:11 ID:???
某サーバレンタル会社から社用のを借りてるもんで、 一応管理者にクレームっぽく伝えたんですよ、 「古いバージョンだからセキュリティホールやバグがあると聞いたので、 新しいパッチをあててくれませんか?」 んで、返答が 「新しいバージョンはセキュリティーが不十分のため、 保障の対象外になってしまいますので、導入はできません」 と言われますた。 正直、俺も深くPHPのバージョンに詳しいわけではないので、 それ以上突っ込みは入れられませんでした。 4.0.6以降のパッチを当てる事で、なにか不具合があるのでしょうか… それとも、ただ向こうのサーバ管理会社の怠慢でしょうか…
>>23 つーかお前もマニュアル読め(w
すくなくともバージョンアップして欲しい理由を明確にしてから要請するべきだ。
まー管理者の怠慢だとは思うけどな。
25 :
19 :03/04/15 16:20 ID:???
すいません、勉強してきます バージョンあげて欲しい理由が、 「拾ったスクリプトが使えないから」 だけなんです…
>>25 借り鯖なら面倒だろうな。セキュリティ云々よりregister_globalsがonを前提に
書いているやつが、他のユーザに居るだろうから。
あっ、register_globalsがonでも$_POSTとか使えたっけかなぁ。
で、その拾ったスクリプトもregister_globalsの関係ぽいので、そこを
弄れば動くんじゃないかい。
27 :
19 :03/04/15 16:58 ID:???
なんとかそのスクリプトは、 4.1以前のバージョンでも使えるように改造はできたですよ。 けど今後のことを考えたら、最新とは言いませんが、 パッチは当ててって欲しいなと思って… なんか質問してる話がずれてっているので戻してみます。 4.0.6以降のバージョンにする(パッチを当てる)ことによって、 不具合が生じてしまうことがあるのかどうか、 バージョンアップしないことによって、セキュリティーに不安があれば、 管理会社の言ってることに矛盾が出てくるので、そこを突いてみようかなと。 マニュアルには細かいバージョンアップの事が日本語で載ってなかったので、 教えていただけると助かります。 英文ではあったんですが、翻訳ソフトかけてもうまく訳してくれなくて…
>>27 4.0.6でセキュリティパッチ当てただけならそれは4.0.6の機能しかないわけで、
それ以降のバージョンは基本的にそれまでのセキュリティパッチ+新機能追加と
考えると、未知のセキュリティホールは新しいバージョンの方が多いと考えられる。(とわ言いけれないが)
じゃぁ、4.0.6の時点でどれだけ穴が発見されていたのかちゅうのはもう忘れた。
register_globalsがonの場合、それだけで穴になる可能性はあるが、それは
スクリプトしだいだからなぁ。
4.1.0以降のfix内容調べて、それに対して対処しているかどうか質問するしかないわな。
各update時の主だった変更点はphp-jpのML(過去ログ)を見れば藤本マスターが投稿してくれていると思うよ。
29 :
山崎渉 :03/04/17 12:01 ID:???
(^^)
30 :
nobodyさん :03/04/17 13:15 ID:DfRAvUl8
Apache 1.3.20 php 4.2.2 windows 2000
mail送信関数 mailについて教示願います。
サーバーのメールアドレスが
[email protected] 送信先のメールアドレスに
[email protected] を指定すれば正常に送信できます。
しかし、
[email protected] などのように外部のメールアドレスをしていると
送信エラーになります。
php.ini や http.conf などの設定を何か変更しなければいけないのでしょうか?
因みにサーバーは自社ですが、メールサーバーは外部レンタルです。
おわかりの方宜しくお願い致します。
31 :
nobodyさん :03/04/17 19:06 ID:h+ALPoyz
$aa=10; print $aa; で結果は 10 が表示されますが、 これを 010 のように、桁数指定でゼロ詰で表示させるには?
32 :
nobodyさん :03/04/17 21:09 ID:4RbcuH3X
>>30 @toshiba.co.jp に聞いてみれば?
httpしか壁を越えられない、というオチもある。
>30 PHP-user MLのコピペ? PHPのmail関数を使う前に、普通にmailが出て行くのか先に確認すべし。 大抵はMTAの設定がおかしいと思うよ。
配列を定義?する時、要素の数を指定するにはどうしたらいいでしょうか とりあえず$a = array("","","");などと書いているのですが出来れば要素の数を変数で与えたいのです
$b = "char"; $c = " exclusive use"; $a[] = $b; $a[] = $c; とか? 固定にする必要もないと思うけど
38 :
35 :03/04/18 02:16 ID:???
もっといい方法がありそうなので一応大雑把に書いておきます。
$a=array("","","");
$b=split(",",$input);
$result=mysql_query("select * from table where field in ('$b[0]','$b[1]','$b[2]')");
while($buf=mysql_fetch_array($result)){
$a[array_search($buf[field],$b)]="〜〜〜";
}
print join("<br>",$a);
上の様にin ('','','') という形式でSelectした上で、
$bの要素の順番で結果を出力する為の処理です。
$bの要素数は固定ではない為
>>35 の様な質問が生まれました。
でもとりあえず
>>37 のarray_fill()で目的は達することが出来そう。
どうもでした。
>>38 array_fill() 使うとレコード増えたときに負担になるのでは?
$a=array();
$keys=array();
$result=mysql_query("select * from table where field in ('$b[0]','$b[1]','$b[2]')");
while($buf=mysql_fetch_array($result)){
$key = array_search($buf[field],$b);
$a[$key]="〜〜〜";
array_push($keys, $key);
}
sort($keys);
foreach($keys AS $key) {
print $a[$key];
}
キーを別の配列に突っ込んで、その配列をソート。
ソートされたキーの順番(= $bの要素順)に出力ってのはどう?
40 :
35 :03/04/18 17:36 ID:???
>>39 なるほど、こっちの方が正攻法っぽいですね
まぁarray_fillについてはarray_fill(0,count($b),"");といった使い方で、
$bの要素数は最大でも10程度なのでこのまま行こうかと思います。
何はともあれレスしてくれた方々に感謝。
41 :
nobodyさん :03/04/20 02:37 ID:HEporOFA
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/***/public_html/***.php on line 80 今まで見たことが無かったのですが、これって何の設定が悪くて表示される エラーなのでしょうか? 実際、fopen関数でのhttp接続やgethostbyaddr関数が機能してくれてない 様なのですが・・
42 :
動画直リン :03/04/20 03:41 ID:dAQHn3gv
43 :
山崎渉 :03/04/20 05:57 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
>41 dnsかresolveが動いてないんだろ。
45 :
41 :03/04/20 15:53 ID:WLqti8CJ
>>44 具体的には、何処をどう修正すればよろしいのでしょうか?
OSは"Red Hat Linux 8.0 Publisher's Edition"です。
>45 そのまえにdnsが使えるかどうか確かめれ。nslookupなり何なり。
47 :
41=45 :03/04/20 17:33 ID:hcwjywd7
>>46 >nslookupなり何なり。
これ(以下)の表示がされれば良いという亊ですか?
[root@localhost root]# nslookup 64.62.146.66
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server: ***.***.***.***
Address: ***.***.***.***#53
Non-authoritative answer:
66.146.62.64.in-addr.arpa name = binbo8.he.net.
Authoritative answers can be found from:
146.62.64.in-addr.arpa nameserver = NS1.he.net.
146.62.64.in-addr.arpa nameserver = NS2.he.net.
146.62.64.in-addr.arpa nameserver = NS3.he.net.
NS1.he.net internet address = 216.218.130.2
NS2.he.net internet address = 216.218.131.2
NS3.he.net internet address = 216.218.132.2
48 :
nobodyさん :03/04/20 17:36 ID:vG1w+uT1
正規表現スレの386にあったのと似てる質問ですけど、 自分の場合、PHPで全く同じことでつまづいてます・・・(泣 (abcという文字列)+(「def」じゃない文字列)+(ghiという文字列) を探したいんですけど、eregで正規表現の部分を abc[^def]ghi とすると [^def]の部分がd、e、fを含まない文字列に解釈されてしまい、 defというひとかたまりの単語としてみてくれません これをPHPの正規表現で書く場合は、どう書けばいいのでしょうか?
[^(def)]
PHPでリモホの取得(環境変数取得)は、できるのでしょうか? よろしければ教えてくださいm(__)m
>>50 LXXIX. PHP Options&Information
マニュアル読んだ ?
getenv -- Gets the value of an environment variable
phpinfo -- Outputs lots of PHP information
53 :
nobodyさん :03/04/20 18:24 ID:vG1w+uT1
>>49 [^(def)]でも、うまくいきません
[^ ]内で、ひとかたまりの単語を認識させるのは
不可能なのでしょうか?
abc[^d][^e][^f]ghi
55 :
nobodyさん :03/04/20 20:38 ID:jImYkKLT
どうもNetscape(7)でsetcookie()によるCookie保存が出来ないのですが、 何かブラウザ特有の問題があるのでしょうか。 IEでは勿論問題なく保存されます。 ヘッダを見てみるとcontent-typeの前にset-cookieのレスポンスが来ているのですが、 これが原因でしょうか…?。
>>54 abc[^d][^e][^f]ghi
一応つっこんでおくと、
abcsexghiはマッチしないぞ。
>>55 ブラウザがクッキーを受け付けないように設定されているだけかと。
うーん 設定では「全てのCookieを有効にする」になってますね…。 因みにmetaタグやJavascriptでは問題無く保存されました。 なんでだろ…。
>>58 ほぼ当たりです。
有効期限を日単位にしてました…。
今までよく動いていたもんです。
鬱と喜び半々。ありがとうございました。
61 :
60 :03/04/20 21:27 ID:???
62 :
nobodyさん :03/04/21 16:36 ID:AYv3e7ja
phpinfo()をプログラム上でファイルに保存することはできませんか?
phpinfo()を置いた.phpを読み込んで 一行づつ回して変数に入れてそれを保存は?
64 :
nobodyさん :03/04/21 16:53 ID:AYv3e7ja
>>63 すみません具体的なんですがプログラム的には・・・
$fd = fopen("
http://127.0.0.1/phpinfo.php ", "r");
$msg = fread($fd, 32000);
fclose($fd);
$msg を保存。でどうよ
シェルの出力を保存するなら
$msg = shell_exec("echo '<? phpinfo();?>'|php");
66 :
nobodyさん :03/04/21 22:43 ID:hrj80n8W
はこにわしょとうPHP版で、観光者通信の書き込み者のIPを表示することはできませんか。 後、登録者のIPも ご教授願います
>65 ローカルなら、マニュアルのphpinfo()の説明にあるように、 ob_start〜ob_end_cleanで挟んで、ob_get_contentsで バッファに溜まってるのを取る方法もあるな。
69 :
bloom :03/04/21 23:08 ID:ukRLYPuy
70 :
nobodyさん :03/04/22 02:47 ID:qcHE+gS2
厨房以下の質問ですが PHPってメールを受信したりできるんですか? .forwardでphpに転送してphpで動的なメール文作って 自動返信とか可能?
71 :
動画直リン :03/04/22 03:38 ID:+bjLBjB/
>>70 可能。
他に、imap関数を組み込んでimap,pop受信も出来るし、pearにも確かあったな。
73 :
70 :03/04/22 15:34 ID:qcHE+gS2
>>72 おお、できるのか。ありがd
それって、メールきた時に勝手にphpが走ってくれるんで?
ずーっとphp走ってたら負荷になると思うし。
>>73 .forwardなどからなら当然勝手に走るよ。普通ならcli版を使うことになると思うけどね。
imap,pop受信ならcronで定期的にまわしてやるしかないかな。タイムラグが生じるけど。
75 :
70 :03/04/22 15:57 ID:qcHE+gS2
>>74 cli版?
ググってきます。ほんと、ありがd
>>75 あぁ、余計なこと書いたかな。別にcgi版でもいいよ。
いざとなりゃ、モジュール版でも... って、やったことないけどなぁ。
携帯用のサイトでユーザー認証するのに どうしてますか? SSLはほとんど対応してないみたいだし クッキーも対応してない場合が多いみ たいだし、apacheの認証モジュールも 然りです。 今のところはPHPで認証して、URLに セッションIDを埋め込むのが無難ですか? パスワードを平文で流すのはかなり 不安なんですが。。 第一線で働いてるあなたに聞いてみました。
78 :
nobodyさん :03/04/26 01:46 ID:cOpB+yiK
>77 第一線でもなんでもないけど、無難にセッションIDのhidden埋め込みかな。 >パスワードを平文で流す まあ、セッション最初の一度だけだし。 ケータイで端末固有IDが使える機種・キャリアがもうちっとあっても良いと思うんだが。 ケータイで喜んで"インターネットする"輩に、プライバシーとかどうでもいいじゃん(暴論) #流石に昔みたいに電話番号そのままはマズイけど。
79 :
nobodyさん :03/04/26 02:01 ID:94JUYZ66
Win32版 Sablot(0.98-Full版) で UTF-8 な XSLT 扱えてる人いますか?
80 :
:03/04/26 04:13 ID:???
自分が紹介した人が広告メールもらうたびに1円だってよ。
紹介した人が紹介した人、つまり孫だな。
そいつが広告メールもらっても1円。 メールは大体毎日一通くらい。
つまりな、自分が10人に紹介する(登録させる)
↓
そいつらが10人ずつ紹介する(登録させる)
↓
つまり、自分の子供と孫が110人になる。 んで広告メールが送られるたびに110円。
しかも子供と孫は半永久的に増え続ける。
一つわかってほしい。それは…怪しくない!
孫以下は収入にならない→つまりネズミ講じゃない。
メールもらって現金返還。このシステム知ってるだろ?
それのおいしい話だよ。
んじゃ、ここから登録してくれ。がんがれ。
http://www.we-love.to/paid/index.pl?id=kura0613
81 :
nobodyさん :03/04/26 04:40 ID:XP2ZIx8i
あのー ceil(-2/3) ってやると、普通0を返してくると思うんですが、なぜかあるサーバーが -0って返してきやがるんです。 設定とかでなんとかなるものなんでしょうか?
質問なのですがpg_pconnect関数で生成したLinkを切る方法ってないのでしょうか? pg_close関数は当然効きませんし。 どなたかご教授願えますと幸いです。 なお、環境は OS:RedHat8.0 PHP:4.3.2 Postgres:7.3.1 です。
>>78 >ケータイで端末固有IDが使える機種・キャリアがもうちっとあっても良いと思うんだが。
使えないのってJ-PHONEだけじゃ?
AU/TUKAはサブスクライバID拾えるし、
DoCoMoもutn(製造番号のようなもの)拾える。
ただし、こちらは相手に確認メッセージがでて、
そこで送信OKにしないと流れてこない。
FOMAの場合は移動機本体、FOMAカードそれぞれの
utnがとれるので、認証に使っても問題なさそう。
// 端末情報拾うクラス作ったけど、会社に行かないとない(苦笑
>>81 PHPのバージョンは?
バージョンが違うなら同じ動作するとは限らない。
というか、-0と返るのがバグで修正された可能性が。
>83
よく調べてみたら今の端末だと勝手サイトでも固有ID結構拾えるんだね。
ケータイ持ってないくせにiアプリは作ってるという香具師なんで
余りにも古い知識で喋っててスマン。(言葉の意味どおりの"香具師"だな)
因みにJ-PHONEもパケット対応機は拾えるみたいです。
http://www.dp.j-phone.com/jsky/user.html 私の常用しているH"は「pdxfrom」で拾えます。
>84 J-PHONEもあるのかー。 情報サンクス。 また一つ賢くなったよ。
質問(`Д´)ノ 1バイトと2バイトの文字が混ざった動的な文字列$unkoから、 substr()を使って$unkoの頭をヘッドラインみたいに切り取りたいのですが、 $unko = "abcdあいうえお"; $unko = substr($unko, 0, 7); みたいに2バイトのところで1バイトでカットしちゃうと文字化けみたいな感じになってしまうのですよね。 これを上手く文字数ごとでカットしたいんですが、何とかならないですかね? マルチバイトの宿命なのかな(´・ω・`)
マルチバイト対応の関数使えばいいだけ
>>88 ( ゚д゚)ポポカーン
mb_hogehoge()ってマルチバイト関数だったんですな(´・ω・`)
mb_strsub()でいとも簡単に解決しますた(´・ω・`)
ありがとうございました、、精進しまつ(´・ω・`)ノ
すまん、ちょとテンパってた mb_substr() だ
92 :
nobodyさん :03/04/30 16:54 ID:hVWaacez
_.........._ .、:'':::::::::::::::::``:...、 /::::::::::::::::::::::::::::::::::::::\ i::::::::::::::::::::::::::::::::::::::::::::::::::ヽ !::::::::::::::::::::::;‐、:::::::::_::::::_::::'; |::::::::::::::::::::::| :: ̄ ``! r''ヾ'::::::::::/ :: | l r‐、\::/ _..、ii_;;_、 _...l、 ヽヾ〈 ::= -r:;;j_;、`/ :;'ィ;7 !:!_.、 :: ` ー : |: `´/ ../ヽ | 、_ :: .: 'r' :i |: / .../ `ヽ;_ i | ''、_:::__`:'‐'. / / ``'ー 、_\ ! `::` ̄''`チ`シ /ー 、_ `\:、_ :: ` ̄/ なんかもう必死でしょ / ``ヽ、 ヽ`'7‐--'゛ / `ヽ、 `/
93 :
1 :03/05/01 23:32 ID:???
Javaにはフレームワークがたくさん存在するけど、PHPにもフレームワークってあるの?
>>93 俺、自分用SOAPフレームワークとか掲示板フレームワークとか書いて遊んでるけど。
Javaでも「フレームワーク」という言葉の指すモノ意味が違うからなんとも。 でもどちらにしてもフレームワークと呼ぶようなものは無いような気がするな。 ライブラリとかはあるけど、型に填め込むようなのはね。 大体PHPで「パターン」というのも余り聞かないでしょ。
>大体PHPで「パターン」というのも余り聞かないでしょ。 PHPではデザパタが適用できないと。そう言いたい? この考え方はこの言語の中だけ。みたいな狭いこと考えてると設計能力のびないぞ。
97 :
nobodyさん :03/05/02 13:05 ID:NXr20aw7
まあ、PHPでデザインパターンのメリットを 享受できるのかと言えば微妙なところではあるが。
スレちがいだと思うけど、いいスレ見付からなかったから 質問させてくんさい。 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;
>98 header("content-type: text/x-hdml;charser=shift_jis"); の「charser」はここへコピペする時のtypo?
質問です。 PHPでゲーム作ろうかなって思っているものですが、 更新処理が多発するケースだと、MySQLとPostgreSQLとどっちがいいのでしょうか? MySQLだと早いけど、更新時にテーブルロックをかけなければならず、結局速度が低下する可能性がありで、 PostgreSQLだと重いけど、更新時にレコードロックで済むので速度が一定に保てそうな予感です。 もしかして、DB系の話をしているスレに書くべきことかもしれませんが、だれか連続更新処理に適したものを教えてください。
2ch並みに強力なプロキシ判定ルーチンが欲しいな〜。 自分で作る前にもしPHPでお勧めなモノがあれば教えて下さい。
2chのやりかたをパクればいいじゃん
>>100 typo
です。
本当は charset=shift_jis
になてます。
まぁ、保守ですわ
106 :
nobodyさん :03/05/10 09:35 ID:C7lpqUaM
エラーレベルってどのくらいまで無くしてる? 借りてる鯖、NOTICEレベルまでログにはき出すから(要は怪しいのも全部) エラーログがたまって仕方ない。だからNOTICEレベルまでデバッグしてる。 未定義変数がどうとかでごちゃごちゃ怒られるのは面倒きわまりないんだが。 エラーハンドリングするといちいち無駄な処理が増えるしやりたくない。 みなさんはどのくらいまでデバッグしてる?
>>106 error_reporting(E_ALL ^ E_NOTICE);
書いとけ。
>未定義変数がどうとかでごちゃごちゃ怒られる そんなん仕様上あたりまえのことやと思うで。
>>109 あ、あんたんとこのPHPInfo、役に立ってるよ。
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と同値)
112 :
95 :03/05/11 04:10 ID:???
>>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なんかも似たような気がするけど。
#うん?やっぱ単純に歴史的経緯か
113 :
nobodyさん :03/05/11 23:51 ID:LWSkYdbj
>>112 単純に「パターンって何よ、ウワーン」となった奴がPHPに
逃げ込むような図式が多い、ということでは。
114 :
?*? :03/05/12 17:37 ID:???
PHPって、、 ピラピラしててエティイなパンティー の略??
∧∧ ミ ._ サクッ ( ,,)┌─┴┴─┐ / つ.キチガイ警報| 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
116 :
nobodyさん :03/05/13 01:18 ID:Adz4yPCg
掲示板作ってるんですけども質問です。 ログが次のような1行1書き込みだったとして、 aaaa,あ,1 bbbb,い,3 cccc,う,2 3列目(1,3,2の列)でデータをソートするには どうしたら良いんでしょうか。
117 :
_ :03/05/13 01:35 ID:???
>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>" ;
}
119 :
118 :03/05/13 06:28 ID:???
因数 -> 引数 (ひきすう) の間違いね。 脳内読みが文字に出てしまった・・。
120 :
nobodyさん :03/05/13 12:54 ID:dKtUOSWv
文字列「88a4」っていうのを文字コードとして認識して 漢字の「愛」に変換する事ってできますか? chrだとマルチバイトに対応してないんで困っています。
121 :
120 :03/05/13 13:03 ID:???
自己レス。 $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); なんかスマートじゃないですよね。 もっといい方法あったら是非教えてください。
122 :
120 :03/05/13 13:41 ID:???
すいません、pack()っていう関数がありました。 $ai = pack("H*","88a4");
PHP3+gd1.8.4で開発してるモンなんですけど。 ImageTTFText関数で画像を吐きたいんですけど、 日本語を吐かせようとすると、かならず化けます。縦棒イパーイな感じで。 どなたかヒントだけでもお教え願えないでしょうか。
124 :
nobodyさん :03/05/13 19:26 ID:1AS9m43x
0.00003524を 3.524E-06 と変換するような関数ってありますか?
125 :
nobodyさん :03/05/13 19:28 ID:1AS9m43x
自分でその関数作ろうと思っているのですがなかなかうまくいかなくて・・・・
sprintf
127 :
nobodyさん :03/05/13 19:33 ID:1AS9m43x
sprintfだと無理そうな感じが・・
print
129 :
nobodyさん :03/05/13 19:45 ID:1AS9m43x
printは無理ポ・・
130 :
nobodyさん :03/05/13 19:45 ID:wSvG+vhm
131 :
nobodyさん :03/05/13 19:51 ID:1AS9m43x
なんかできそう・・・ eregeregeregeregereg eregなんてきらいだぁぁぁぁ
var_dump();
ageんなカス
134 :
nobodyさん :03/05/13 19:56 ID:1AS9m43x
>>132 phpinfoみたけどさっぱりでしたよそれ・・・
ていうかeregつかってできましたよ。
力技ですが・・
ニントスホッキョッキョ
>>124 $a="0.00003524";
$b=(string)(0+$a);
echo $b;
これじゃだめか?
137 :
nobodyさん :03/05/13 20:05 ID:1AS9m43x
$a=0.00003524だといいのですが、 $a=0.03524とかになると うまくいかないんです。 ていうか、できたと思ったら うまくいってなかったー。
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; } やみくもに計算してみるというのはどうか?
おそらく力技とはこういうものだ。 しかし、せっかく見やすい 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 ; }
もろバグじゃないか。 0以外の数字にぶつかったら while を抜けるように書き換えてくれ。
141 :
nobodyさん :03/05/13 21:17 ID:1AS9m43x
できた〜
とおもったら
>>139 が・・
139よりよっぽど力技ですわ。
142 :
nobodyさん :03/05/13 21:19 ID: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; }
143 :
nobodyさん :03/05/13 21:24 ID: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; }
144 :
文 :03/05/13 21:57 ID:???
あわくってやるもんじゃないな。バグだらけだ。 つか、こういうのって何に使うの?
145 :
nobodyさん :03/05/13 22:00 ID:1AS9m43x
数値計算の条件ファイルを作るときに使うんですよ。
146 :
nobodyさん :03/05/13 22:00 ID:1AS9m43x
たったこれだけのことに 3時間もかけてしまった・・・・
147 :
nobodyさん :03/05/13 23:36 ID:1AS9m43x
<HTML> <? print <<< HERE abc HERE; ?> </HTML> これでエラーがでるのはなぜなんでしょう・・ Parse error: parse error, unexpected $end in test.php on line 9
HERE;の前にスペースが入ってるから。
149 :
nobodyさん :03/05/13 23:50 ID:1AS9m43x
ありがとうございました。
150 :
文 :03/05/14 00:25 ID:???
>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) ;
>>150 > ereg("E",$i)
^があるから不要だ
152 :
nobodyさん :03/05/14 12:06 ID:OQIpVsQ0
なんじょうかして 1越えたらOKという考え方おもしろいですね。 自分には思いつかなかったですよ。。
153 :
nobodyさん :03/05/14 13:39 ID:MJNSMXYH
PHPを使用してメールを送信する場合 送るメールに送った人の名前、返信先アドレス、などを 付加することは可能ですか?
154 :
mind :03/05/14 16:01 ID: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ファイルに書き込まれます。
155 :
nobodyさん :03/05/14 16:25 ID:dQbZoEQe
158 :
パピポ :03/05/14 19:20 ID:gInQ8eeu
投稿文の内容に辞書に登録してある単語が含まれている場合、その単語が リンクになる掲示板というのを作りたい。 つまり「単語:2ch/意味:巨大けいじばん」という単語が辞書に登録さ れていたとして 投稿文が『2chって面白いよね。』の場合。 『<a href="dic.php?word=2ch">2ch</a>って面白いよね。』となる。 dic.phpはwordの単語を検索して意味を含めてページとして吐き出す。 辞書はDB使ってやるのでdic.php自体は問題んないんだが、 投稿文の登録単語をリアルタイムに調べてリンクに変換するのに 辞書が増え出すと恐ろしく時間がかかりそうな気がする。 なんかイイ方法はないだろうか?
159 :
パピポ :03/05/14 19:29 ID:gInQ8eeu
方法として考えているのは、投稿する側に若干の『コツ』を しいる方法。 つまり変換してほしい単語が辞書に登録してある事を事前に 知っているならば、その単語の前後に規定の文字列で挟んで もらう。 例)2ch → %_2ch_% この方法だと%__%で囲まれている文字列を抜き出して検索す ればいいので、処理時間の問題は解決されるが、投稿者は 辞書に登録されている単語を事前に知っていなければならない。 ので、この方法はできれば回避したい。
160 :
nobodyさん :03/05/14 20:10 ID:kYMeLGsC
161 :
nobodyさん :03/05/14 20:20 ID:QtBrZTEg
>>158 辞書を配列にすることができれば、preg_replaceの/e修飾子を
使ってどうにかなりそうだけど。
162 :
161 :03/05/14 20:21 ID:QtBrZTEg
すんません、
>>161 の方法では駄目ですね。
Wikiみたいに「半角英数字からなる単語」のみを対象とする、
くらいしか方法なさそう。
識別子をつけないならどのみち全文渡して置換させることになると思うが、、。 しかも変なとこでリンクを張らないように(たとえば前後文で「昨日12chでさぁ〜」を排除)配慮 するわけだし、DB使うといえども大変そうだね。 ひとつは特定のカテゴリーに特化したBBSにして、マニアックな単語にだけ辞書リンクを つけるとか、辞書なしで google に投げちゃうとか、、本末転倒か。 運用面で支障がでるくらい書き込みが多いなら、そっちを制限して処理に余裕をもたせる ようなことも考えないと。あるいはリアルタイム変換を捨てるか。 「辞書が増えだすと」ってことはユーザーに辞書を作らせることを考えてるんだと思うけど、 たとえば運用に現実的ではないロスがでる登録数にいたらないように、長い間使われて いない用語やgoogleでの検索結果が一定値以下の用語を削除していく保守スクリプトを 動かすようなことも必要になるのかな、と。 実際どんなスクリプトで検索とリンク張りをやろうとしてるのかとても興味アル。
>158 日本語だと「分かち書き」が無いから難しいね。 漢字や仮名や半角文字の間に単語の繋ぎ目を仮定して辞書にあるかどうか調べるとか。 品詞の特徴で分けるなら人口無脳が参考になると思う。 もっと凝るならWnnやCannaに文節を探させて、文節の先頭から辞書を検索するとか(手間かかりそうだが)。
具体的にはどうするわけ? <言語>として扱おうとすればするほど処理はかさむし例外対応にリソースもってかれると 思うんだが、、。 よほど大きな辞書を作るなら、簡単なクラスタ化くらいは必要かも知れないけど根。
辞書の大きさがどの程度を想定しているのかわからんけど、やっぱりいったん分かち書き して辞書検索し、ヒットした文字列だけreplaceするしかないかもな。
単語が1000くらいなら辞書の最初から順に比較しても悪くない気もするが。 検索速度が気になるならインデックスを実装してみたら?
PHPも使用しているので、ここで質問します。 textエリアで書き込んだ内容がECUの文字コードで保存しているはずが Shift_JISにかってに変わってしまい、困っています。 また、改行コードも反映されません。 今は値をgetで返しているのですが、postだとその現象はおきませんでした。 何か原因のわかる方がいましたら、お願いします。
>ECUの文字コードで保存しているはずが そうなの?
EUCだろw ECUだからダメなのかなw
>>168 原因は値をgetで返しているからです。
ここ二十数レス、面白いことになってるね(笑
>ECUの文字コードで保存しているはず 根拠を示せ >Shift_JISにかってに変わってしまい ほんとにShift_JISになってるのか? >改行コードも反映されません どうやって確認した? >今は値をgetで返しているのですが、postだとその現象はおきませんでした それ以外に違いはないのか?
>>168 171が言ってるようにGETなのにURLエンコードしないで渡してるから、
マルチバイトが"規定どおりに"扱われて、望むように扱われないだけ
じゃないのかい。
>改行コードも反映されません
ともあるし
>EUCの文字コードで保存しているはず
ってどこに?ブラウザで入力してる時に保存されてるものは
OSやブラウザの実装に依存するんじゃないの。
それかPOSTなりGETなりでサーバのPHPのプログラムを介して
サーバ上のファイルとして保存してるなら、そのファイルの
エンコードをちゃんと自分で確認してください。
またPHP上の変数に保持されてる場合もファイルに書き出すなりして確認。
んじゃないと本人が「筈」なんて言ってる事を、赤の他人なら尚更判らんでしょ。
>>158 chasenとかに形態素分析やらせれば?
176 :
nobodyさん :03/05/15 10:32 ID:NoDDJZGz
$aが奇数の時及びチェックボックスがチェックが入っている場合 if($a !%2 and $check == "on"){ print "ok"; } エラーが出ました。 奇数は!%2じゃダメなんでしょうか?
まず言語。 つぎに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が奇数の場合、および、チェックがオンの場合」となると、少々あいまいになるような気がするよ。。
178 :
177 :03/05/15 11:55 ID:???
>一方、!($a%2)は、2で割った余りが0のとき、つまり $a が奇数のとき!でtrueに反転しif文が実行される。 なに言ってんだ俺は、、。 当然だけど、2で割って余りが0の数は、普通は偶数ね。 -> 一方、!($a%2)は、2で割った余りが0のとき、つまり $a が偶数のとき!でtrueに反転しif文が実行される。
179 :
nobodyさん :03/05/15 11:59 ID: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";
}
・
・
180 :
177 :03/05/15 12:00 ID:???
>179 「奇数だったら、実行。 偶数だったら、実行しない」 にしたいんじゃないの? 逆?
181 :
177 :03/05/15 12:03 ID:???
!%2 は動かないよ。 %は「何か」を割ってその余りを返すんだから。!%2は一体ナニを割ってるのさ。 この2点が修正箇所だと思うんだけど。
182 :
179 :03/05/15 12:05 ID:NoDDJZGz
間違えた、、 #偶数かつチェックあり if($a %2 and $check == "on") { print "ng" } #奇数かつチェックあり elseif ($check == "on"){ print "ok" } #チェックなし else { pring "not" } これで動かないんですよ なんべんやっても偶数かつチェックありになってしまう
183 :
179 :03/05/15 12:06 ID:NoDDJZGz
>>182 あprintの後セミコロン抜けた
入っていると仮定して・・
184 :
パピポ :03/05/15 12:09 ID:2CaDwk4R
なるほどみなさんのご意見参考になります。漏れがやろうとしてる事は、BBSに限らず、 HPの構造をツリー的なものから、ランダムでしかも整合性が取れている構造が作れない もんかと考えたわけっす(うまく言えないなぁ)。 つまり、専門的な内容を専門知識のない閲覧者に見せる事を目的とした時、専門用語を いちいち解説しなければならなくて、文章が長く難解になるというネックがあります。 専門用語の辞書的なページを大量に作って、コンテンツの内容の専門用語にその辞書ペ ージのリンクを張ってもいいんだけどかなりメンドウな作業なのでそれが自動化できな いもんかと・・・。また、それをBBSにも適用できないもんかと。 やっぱ、chasenで「分かち書き」の線で考えるのが無難そうですね。しかし、実はあん まり知識が無い。。。。namazu構築するときに入れたなぁ。勉強すます。
185 :
177 :03/05/15 12:13 ID:???
もっぺん書くよ、 if ( $a%2 ) print "NG"; は $a が偶数だと0 -> 動かない $a が奇数だと1以上 -> 動作 結果的に、$a が奇数の場合、NGが表示される。 偶数の場合 elseif に進行。
186 :
179 :03/05/15 12:18 ID:NoDDJZGz
187 :
179 :03/05/15 12:26 ID:NoDDJZGz
>>177-185 分かりました!!
%2 とした時、 null でも%2の条件に行ってしまうみたいなんです!
188 :
177 :03/05/15 12:27 ID:???
>182だと、 $a が偶数かつノーチェックの場合 -> not $a が偶数かつチェック付きの場合 -> ok $a が奇数かつノーチェックの場合 -> not $a が奇数かつチェックつきの場合 -> ng else -> 不在 でしょ。これは望む結果じゃないの?
189 :
179 :03/05/15 12:32 ID:NoDDJZGz
>>188 if($a %2 and $check == "on") {
この最初の一行が働いてないんです。
$check == "off" でも、偶数であれば問題無用でこの結果にたどり着く
190 :
177 :03/05/15 12:37 ID:???
>この結果にたどり着く どの結果だよ。。 さっきから「%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を返すよ。
191 :
179 :03/05/15 12:43 ID:NoDDJZGz
>>190 不勉強で本当すいません!
isset使えば完璧直りました!!
どうもありがとうございました!
192 :
ー :03/05/15 12:45 ID:olAGPkiP
PHP4.2.2をrpmで入れたらmbstringを設定できなくなってしまったのでつが、 モジュール等で回避する方法はありませんでしょうか?
193 :
177 :03/05/15 12:48 ID:???
そうなの? まあ先に進めたならそれでいいけど、、。 if ( $a %2 ) -> $a は奇数 if ( !( $a %2 ) ) -> $a は偶数 てことで。
194 :
_ :03/05/15 13:01 ID:???
195 :
177 :03/05/15 13:13 ID:???
>184 それってwebのこと? >自動整合システム 辞書リンクの自動生成は分かったけど、ランダムかつ整合性のあるってのが、、。 それぞれのページは順序だった関連をもたず、 しかし各ページは辞書リンクによって自動で秩序付けられ、 相互に依存しあうようにして(整合性を持って)構造化されている。 まさにWWWではないかと、、。 濃ゆいミニウェブを自前でこさえようというように受け取れるけるけど。 >192 redhatにくっついてくるやつかな。 googleとかMLで何度か読んだ記憶があるようなないような、、。
196 :
nobodyさん :03/05/15 14:11 ID:gNOX6dir
>>179 奇数、偶数の判定はこれでいいんでないの
$value = 2;
if ($value % 2) {
print "奇数\n";
} else {
print "偶数\n";
}
それにしてもレベル低いね。 PHPやってる奴ってみんなこの程度なのかね。
>>196 やっぱsmall & simple is best だね
201 :
パピポ :03/05/15 15:41 ID:2CaDwk4R
>>195 >濃ゆいミニウェブ
いいっすねぇ、まさにそれです。いただきです。
辞書に単語と意味を蓄積していく。
コンテンツは平文で作成する。それをコンバートすると登録済み単語はリン
クになり、フォーマットに則してHTML化される。
コンバート済みのものをサーバにアップロードして公開なんて流れになる
のかなぁと考えている。
こうすれば辞書とコンテンツを構築する作業を分断でき、また専門的な詳細
は辞書、概略というか全体の流れはコンテンツという風に分けられ、かつ、
コンテンツには専門的な詳細を記述する必要が無いので感覚的に文章を綴る
事ができる。
ので、あまりツリーの事を気にせず、思いついた事からページにして公開で
きるのではないかと思ったわけです。最初は詳細リンクが少ないページでも
後からどんどん辞書を増やしていけば、コンテンツとしての情報量が増えて
いく訳です。まぁ、辞書を増やしたらその度コンバート→アップロードとい
う手順が必要なんだけど、その辺はPHP先生のがんばってもらってローカル
環境でFTPになっていただく。
あっ、辞書の「意味」の内容の中に登録済みの単語もあるわけだから、辞書
自体もコンバートしてHTMLページ化してやんなきゃか。でもそうする事によ
って表面上は辞書とコンテンツの境界が接近してくる。
と言う事になればかなり複雑な構造を持ったページにもなる。複雑すぎちゃ
ってやっぱナビが必要という噂も・・・。
202 :
パピポ :03/05/15 15:42 ID:2CaDwk4R
HTMLの読みにくいソースも嫌いで、できれば編集作業をするソースは完全に 平文にしておきたいんです。 でも、HTMLって元々そんな事をしたいが為の言語じゃなかったけか?今のWEB ってンクの意味はほとんどナビゲーションとしての機能が主で特定の単語に リンクを張ってあるページって少ないように思う。 長々とスマン。
203 :
_ :03/05/15 16:09 ID:???
>>パピポ氏 なんか似たようなこと考えてるなぁ。 とりあえず、Wikiは触ったことある? 自分がPukiWikiを使ってみた感想は、 ページを生み出す課程には適したシステムだけど、 生み出したページを階層化・整理して(デザインを含めて)サイトとして 仕立て上げるには向いてないと思った。 コミュニティでわいわいやる向き。 なもんで一人の管理者による個人サイト向きのモノを今作ってます。 コンテンツの記述は平文ではなくHTML+αを考えてます。 WikiNameが自動リンクされてバラバラのページが結びつくのは斬新だったから 一度見てみてはいかが? #既に触ってたら無視ってくらはい。
windows環境じゃないとmail関数で使用する SMTPサーバのホスト指定できないんですか? localhost以外に指定したいんですけど。
206 :
nobodyさん :03/05/15 21:27 ID:fsORg2mz
配列の一つのキーに格納できる容量には制限があるのでしょうか? 長めのデータ入れたら勝手に分割されちゃったんですが…
>>206 何倍とのデータを入れたら、どのように勝手に分割されたの?
>205 んな事はない。普通にSMTPの指定をすればよい。 ちゃんと先方のサーバを、繋げてくれるように設定するのを忘れるな。 #SMTPの使い方に関しては、むしろWindows版PHPの方が特殊。
209 :
nobodyさん :03/05/15 22:07 ID:fsORg2mz
>>207 あぁ、消しちゃった…確か10KB以上はありました。
そしたら勝手に改行されてたみたい…
210 :
nobodyさん :03/05/15 22:37 ID:VJqeIr87
>>209 「改行が入れられる」≠「配列のデータやキーが分割される」
212 :
nobodyさん :03/05/15 22:48 ID:fsORg2mz
>>211 あぁ、えと、ようは掲示板のようなものなんですが、フォームから送信されたデータを「,」で区切って結合→ログファイルの一番上の行に追加してるんですね
ところがそれが一行にならずに分割されてしまう、と…
フォームデータの処理が甘いのでは?としか言い様がないのだが。 元の質問が変数に格納できるサイズのことだったことを考えると、 ファイルへの書き込み部に問題がある可能性も。
phpが使える無料サーバーおしえれ ボケェ
>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]
と設定してメールを中継してもらってます。スレ違いかとは思う
んですが原因分かりますか?
>>215 DDNS取得してMXレコードも登録したらPHPから
送れるようになりますた。やっぱ送信するだけ
でもMXレコード登録しないと色々不便なことが
起きるんですかね。。
>>217 多分、-fオプションでISPから貰っているメールアドレスをSenderにすれば
MXレコードを登録していなくてもいけると思う。
#最近知ったのだが、docomoってEnvelopeSenderをFrom欄(?)に晒すようですね。
たびたび申し訳ないんですが、本文が "Invalid Message" となって届いてしまいます。本文に"hoge"でも"ほげ"でも 同じ結果になります。 あとmb_send_mail()関数でオーバーロードしてます
>>219 mb_language("ja");
が必要なんじゃない。
>>218 サンクス。IPアドレスが変わってしまった直後のために
いちおうそれ指定しておきます。
>>222 上手くいきますた。ありがとん!
あとはSMTPサーバのホスト名なんですが
SMTP = localhost
ってのはwin用の設定ですよね?unix系のOSでの設定方法が
どこにも書いてないです。。誰か教えて下さい。
224 :
208 :03/05/16 02:33 ID:???
>>223 SMTPという語をそのまま使ったので混乱させてしまったです。
SMTP=sendmailで。んで、やっぱりディレクティブの設定で
別サーバのsendmailを直接叩くのは無理でした。
#実際には別サーバなのだがNFSでマウントしてるので自分に等しい状態。
スクリプトからは、外部のSMTP叩いたらちゃんと出て行いくのが確認できたんで
PEAR::Mail/smtp(要PEAR::Net_SMTP)なんぞ使ってみてくらはい。
http://pear.php.net/packages.php 自前でsocket関数使って投げても良いですけど。
#これすると多分Windowsと同じことやってるんだろうな
>>223 >>224 で答えが出ているけど、unix系はsendmail(もしくは同等の)コマンドしか
指定できなかったと思うよ。
で、PEARを使うのが一番の解だと俺も思うけど、mail()でとりあえず乗り切りたいと
言う場合は、postfix側の設定で、httpdが投げたメールは全てISPの鯖へ送りつける
ような設定をしておくかたちになる。別にsmtpdが立ち上がっていなくても送信は
可能なはずですよ。
>221 方形だからじゃない?
>>226 そこぐらいしってるよ包茎
そこで登録できねえから聞いてるんだ
>228 www.tripod.co.uk でええやん。
>>224 >>225 やっぱりローカルホストのsendmailしか利用出来ないですか。
PEARのライブラリ使ってみますね。
オブジェクト指向な言語を使ったことがなくてクラスとかよく
分からないんで今までは放置してましたが。PHP5の時代に向け
て自分もちと修行してみます。
>>229 それくらいすでにもってるんだよ包茎
ftp串つかうのがだるいんじゃ
>231 そんで?
んで 別のところをさがしてるんだよ包茎
んで、見つからないと。
そのとおりだ包茎
残念だねえ。
237 :
パピポ :03/05/16 11:52 ID: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を使用すますた。 つぎはぎだらけでどうにか実現。
238 :
231 :03/05/16 11:54 ID:???
どっかにCでPHPの関数が使えるような ライブラリおちてないかな
239 :
パピポ :03/05/16 12:04 ID:J/IF4YAV
>>204 噂には聞いてますがPukiWikiは使った事ないっす。なんかどうも
他人が作ったアプリっていうのは使いズラいというか、ドキュメント読む
のメンドウというかぁ。。でもちょっとやってみよ。
>なもんで一人の管理者による個人サイト向きのモノを今作ってます。
>コンテンツの記述は平文ではなくHTML+αを考えてます。
期待しております。洩れもまだ妄想の範囲を出ていませんが、イロイロ
試行錯誤していくつもりです。
>ページを階層化・整理して(デザインを含めて)サイトとして
>仕立て上げる
漏れが目指しているのは、この事をいちいち最初に考えないでも
徐々に出来てくるというか、後からいくらでも変更が可能なモノ
でしね。主に研究機関だとか、スペシャルターム満載のマニアックなサイト向け
の。
240 :
231 :03/05/16 12:12 ID:???
denimはどうよ?
>>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のドキュメント
が見当たらず、肝心のメール送信メソッドのようなものが
どれなのか分からず。こういう場合はソースを解読するし
かないのでしょうか。
>>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だと思う
243 :
パピポ :03/05/16 13:18 ID:J/IF4YAV
>>242 >日本語化はsubjectはmb_encoding_mimeheader、本文はmb_convert_encodingで
なんか漏れがやった時はコレがうまく逝かなくて心底悩んだです。
漏れのやり方がわるかったのかもしらんけど。
参考までに漏れはこんな自分関数作ってやった。mbmime.phpが無いとあかんけど、
元はなんかの本のソース。
↓
244 :
パピポ :03/05/16 13:18 ID: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); }
245 :
パピポ :03/05/16 13:24 ID:J/IF4YAV
>>240 denimは・・・・。あれってなんかどういう使い道があるのか
いまいちワカラン?
246 :
231 :03/05/16 13:34 ID:???
ていうかphpがつかえる無料鯖おしえれ
247 :
パピポ :03/05/16 13:41 ID:J/IF4YAV
>>246 氏らん。個人の自宅サバ系レンタルサバのところに根気良く当たるか、
自分でサバ立てるかがいんじゃないか?広告ウザイ氏。
PHP.iniでsession.use_cookieが『1』に設定されている環境で
センション時に明示的にセッションはクッキーつかわねーよとソースで宣言する
事って出来るのだろうか?ましかしたらすんごく簡単に出来る
んではないかと勘ぐってるんですけど。
なんかEZwebのクッキーが悪さするらしくうまく動かないんんです。
ttp://wap.ssi-n.com/pc/cgi_faq.html 同サーバ上にあるPC版はクッキー使いたいし。。。。
248 :
231 :03/05/16 13:51 ID:???
自分で鯖たてるくらいなら 有料鯖かりたほうがやすあがりだろうが包茎
250 :
231 :03/05/16 13:57 ID:???
phpエディタ何使ってる? おれはメモ帳か winsyntaxだが、 eclipseにも興味があるというかんじだズルムケ
251 :
パピポ :03/05/16 14:04 ID:J/IF4YAV
>>231 ソコソコのマシンがあってADSLに加入してれば、あとは全部タダでできるゾ!ホケー!
ドメインは無理か。。。エディタはsakuraだポムチ!
>>249 ini_set()で変えた設定ってその時限りだけ有効なのか?
252 :
231 :03/05/16 14:05 ID:???
>>251 電気代が月2000ぐらいかかるんだよ包茎
253 :
_ :03/05/16 14:05 ID:???
254 :
231 :03/05/16 14:12 ID:???
sakuraなかなかいいぞズルムケ
255 :
231 :03/05/16 14:14 ID:???
これマジでいいぞズルズル いやー感動した!
256 :
パピポ :03/05/16 14:25 ID:J/IF4YAV
257 :
situmon :03/05/16 14:34 ID:X9ormN/S
掲示板に書き込みがあったら サイトトップのindex.htmlを丸ごと書き換えるようなのを作ってるんですけど、 index.htmlを直接書き換えてしまうのと、 書き込む内容をいったん別のファイル(index.dat)を作ってから index.htmlを削除してindex.datをindex.htmlにリネームするのと考えたんですけど、違いありますか。 トップページは結構アクセスがあってサイズが重いページだとした場合、 後者の方が間違いなさそうな気がするんですけど。
258 :
℃ロート :03/05/16 15:25 ID: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
259 :
パピポ :03/05/16 15:38 ID:J/IF4YAV
>>257 その前にナゼindex.htmlを丸ごと書き換えなきゃならないのかが
聞きたい。
書き換えた内容をindex.datに吐き出して、index.phpから
includeすれば?.htmlでPHP走るようにしておけばindex.html
でも逝けるし。SSIでも似たような事できるし。。。
260 :
_ :03/05/16 15:39 ID:???
261 :
nobodyさん :03/05/16 16:08 ID:iYGtaCnK
231の言ってることがよくわからんな レン鯖だって月500円程度からそこらへんにあるのに‥‥‥
263 :
situmon :03/05/16 16:26 ID:X9ormN/S
>>259 大して意味は無いですけど何となく。
トップをノーマルのindex.htmlにしたいがためです。
264 :
231 :03/05/16 16:29 ID:???
>>262 どこわからないんだよ包茎
無料がいいんだ
265 :
242 :03/05/16 16:32 ID:qSqYGb92
>>243-244 漏れの環境は、赤帽8.0+Apache1.3.27+PHP4.3.1で
$subject = mb_encode_mimeheader($subject);
でsubjectをISO-2022-JPに変換し
$body = mb_convert_encoding($body , "JIS");
で本文をJISに変換させただけ。
とりあえずこれで文字化け無しで日本語送信できてるから
使っているのだが、何か問題あったらご指摘よろしく。
266 :
パピポ :03/05/16 17:22 ID:J/IF4YAV
>>263 じゃぁ、どっちでもいいんじゃない?
安全なのはincludeする方法だよ。万が一index.datが物故割れても
それ以外は表示されるしね。
>>265 できるのかぁ。なんで漏れの環境だとダメだったんだろう。
>>231 タダより高いものなど・・・チンカス。
ああ、EZwebのセッションがうまくいかない(苦
>>242 詳しい解説どうもです。とりあえず英語のメールでテストしてる
んですが
Warning: fsockopen() [function.fsockopen]: php_hostconnect: connect failed in
/usr/local/lib/php/Net/Socket.php on line 108
Warning: fsockopen() [function.fsockopen]: unable to connect to 192.168.0.2:25 in
/usr/local/lib/php/Net/Socket.php on line 108
こんなエラーが出ます。PHPを動かしてるのは 192.168.0.3 で、
SMTPサーバが動いてるのは 192.168.0.2 です。pingも通るし
NMAPでポートスキャンしてみてもSMTPサーバは稼働してるように
見えます。パケットフィルタリングが邪魔してるのでもなさそう
です。
ちなみに SMTPサーバ上でPHPを動かしてみました。この時は
$param['host'] = 'localhost';
としたんですが、これは成功しました。
>>244 とりあえず英語でメール出来るようになったらその方法試して
みますね。ありがとうございます。
268 :
242 :03/05/16 18:13 ID:???
>>267 ホントに25番空いてる?
# netstat -na | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
↑こんな風にでてきたら空いてない。
sendmailは確かデフォルトだとlocalhostからしか無理だったような…
sendmail.cfに
DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
こんな感じで「Addr=127.0.0.1」って書いてあったら無理だよ
269 :
situmon=257 :03/05/16 18:17 ID:X9ormN/S
>>266 そうですか。
2CHはどうやってるんでしょ。
>>268 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
こうなります。
sendmailじゃなくてPostfixに付属のラッパー使ってるんです。
って今気づいたんですけどSMTPサーバのアドレスは
192.168.0.3 でした。。修正したらとりあえずエラー
は出なかったのでメールが届くのをしばし待ってみま
す。お騒がせしてごめんなさい。
271 :
パピポ :03/05/16 18:44 ID:J/IF4YAV
>>269 そもそも2chはPHP使ってないのではないかと、
書き換える部分ってのは全体のウチの少し
であるならば、その部分だけインクルードさせる
方が効率的。
>>267 ガムバって下さい。
普通のデスクトップPCからメールの送信を試してみれば早いんじゃない。
漏れは使うSMTPサーバがセキュリティをかけててそれで手間取った
記憶がある。POPtoSMTPとかやってたら絶望的かな。
272 :
_ :03/05/16 18:45 ID:???
273 :
situmon=257 :03/05/16 19:06 ID:X9ormN/S
>>271 perlでもphpでもなんでもいいんですけど、
こういう時は処理をどうやるのが良いのかと思いまして。
インクルード方が安全てのはわかりますけど
効率的かどうかはcasebycaseですねおそらく。
何をもって効率とするか、って話も含めて。
274 :
bloom :03/05/16 19:08 ID:n/FznajZ
>>271 とりあえず英語は成功しました!次は日本語メールに
挑戦してみます。
276 :
242 :03/05/16 22:59 ID:???
当方 Apache/1.3.27 (Win32) PHP/4.3.1 Win 2000 なのですが、 mb_convert_kana() 文のところで、 Call to undefined function: mb_convert_kana() のエラーになってしまいます。 マニュアルを見ると mb_convert_kana() は (PHP 4 >= 4.0.6) となっているので使えるはずなのですが・・・ ダウンロードした PHP は PHP 4.3.1 zip package [5,853Kb] - 17 February 2003 (CGI binary plus server API versions for Apache, Apache2 (experimental), ISAPI, NSAPI, Servlet and Pi3Web. MySQL support built-in, many extensions included, packaged as zip) です。 どうしてなんでしょうか。詳しい方、教えてください。
278 :
nobodyさん :03/05/17 00:09 ID:1W7PV21t
278に補足するとphp.iniでmbstringのDLLを ダイナミックロードするように設定したのかということ。 あと、その辺が抜けてるとするとphp.iniのmbstring に関する設定もしてないと思われ。
外部のSMTPサーバを使って日本語でメールを送信する
方法についてまとめてみました。PHPではEUC-JPを使う
と仮定してます。
require_once("Mail.php"); // Mail/mail.php ではない
mb_internal_encoding('EUC-JP'); // PHPで使ってる文字コードを指定
//送り先の設定
$recipients = "
[email protected] "; // エンベローブの設定
//ヘッダーの設定
$headers['From'] = '
[email protected] ';
$headers['To'] = '
[email protected] ';
$subject = 'サブジェクト';
$headers['Content-Type'] = "Text/Plain; charset=iso-2022-jp"; // これはなくてもいいのかも
//サブジェクトののエンコード
$headers['Subject'] = Mb_Encode_Mimeheader($subject,"ISO-2022-JP",B);
//本文
$body = "日本語だよママン";
//本文のエンコード
$body = Mb_Convert_Encoding($body,"ISO-2022-JP","EUC-JP"); // PHPで使ってる文字コードを指定
//SMTPサーバーの設定
$param['host'] = '192.168.0.2';
$param['port'] = 25;
//オブジェクトを生成して送信
$mailer =& Mail::factory("smtp", $param);
$status = $mailer->send($recipients, $headers, $body);
281 :
277 :03/05/17 12:13 ID:???
>>278 ,279
レスありがとうございます。
php.ini は何もいじってませんでした。(とりあえず使えてしまったので)
これから確認してみます。
後でまた報告します。
282 :
231 :03/05/17 13:59 ID:???
sakuraでphp関数の色の換え方おしえろ包茎
283 :
277 :03/05/17 14:36 ID:???
使えるようになりました! ありがとうズルズルさんたち。
286 :
nobodyさん :03/05/18 15:40 ID:UKxQ/8fh
a.php → b.phpというふうにPOSTでデータを渡しているんですが、 aからbの所で、a以外から送られたデータをbで弾く方法ってありますか? 誰かがイタズラ目的で作った、偽aフォームを使えないようにするというか。 ごめんなさい。php始めたばかりで分からないこと多いんです。 質問も上手く説明できていませんが・・・よろしくお願いします。
a.php -get-> client -post-> b.php このとだと解釈していいのかな。 そうなら
ああ途中で送信しちゃった。
290 :
nobodyさん :03/05/18 22:21 ID:dHdqUSTR
CGIで、ファイルに書き込みしたいのに、どうしてもこのopen行が原因でエラーになります。 本とかで調べてもあってるはずなのになんでおかしいのでしょうか。 open(INIFILE,"+<$fileini"); close(INIFILE); ローカルでこの行が入ってるファイルをテストしてみたら、 Unterminated <> operator というエラーがでてとまってしまうんです。 この行を含まなかったらぜんぜん問題なしなんですけど、この行で全部とまってしまってるんです。 このエラーはいったいどう対処したらいいのか、そしてどう改善すればいいのか教えていただけないでしょうか?
PHPにopen関数なんてあったっけ? perl なら open INFILE,"+<$fileini"; にしてみ。
>291 ないっす。open()もclose()も。パラメータからみてPHPとは別の言語 (Perlだと思うが)の本を見てるとしか思えない PHPで書くなら $inifile = fopen($fileini,"r+"); fclose($inifile); かな >本とかで調べてもあってるはず 他に色々と根本的な勘違いがありそうだから、 ひとつひとつ確認していきなはれ。
293 :
286 :03/05/19 17:59 ID:???
>>287 たぶんその解釈でいいです。続きが気になります・・・
294 :
nobodyさん :03/05/20 02:06 ID:44CvXXuY
表とか予とかの文字に勝手に\がつくんですけど、 これを取り除くにはどうしたらよいんでしょうか。
295 :
nobodyさん :03/05/20 02:09 ID:44CvXXuY
stripslashesをやっても取り除けないんですけど
297 :
nobodyさん :03/05/20 02:22 ID:44CvXXuY
すんません。出来ました。
298 :
nobodyさん :03/05/20 06:12 ID:ixAq+2ud
PHPのスクリプトを利用してフォルダ内のファイルごと別のフォルダに移動させるっていうのは可能でしょうか? フォルダの中のファイルを一つ一つ移動させて、元のファイルを削除というのは出来たんですが どうも、フォルダごと移動させると方法が見つかりません 知っている人いたら教えてください。お願いします
>>298 おなじファイルシステム上ならフォルダをリネーム
300 :
299 :03/05/20 06:28 ID:???
移動元と移動先が同じファイルシステム上にということね。 違うならあなたの「フォルダの中のファイルを・・・」でできるはずだよ。
301 :
bloom :03/05/20 07:08 ID:vZIU7+LM
302 :
動画直リン :03/05/20 09:08 ID:vZIU7+LM
303 :
298 :03/05/20 12:41 ID:ixAq+2ud
出来ました ありがとうございます ・・・・頭堅いな自分…(鬱
304 :
nobodyさん :03/05/20 12:42 ID:+iHEtWpo
PNG画像の連結ってどうやるんですか?
>>297 すまんどうやって解決したか教えてくれ。
漏れも同じところで悩んでる・・・
ローカルでやるとうまくいくのにサーバーだと\ついちまうYo!
306 :
nobodyさん :03/05/20 15:18 ID:3F9ntp1Y
$xxに代入する変数を、$x1、無ければ$x2、無ければ$x3… と言う感じにやりたいんですけど、簡潔な方法ありませんか? if($x1){ } elseif($x2){ }... と言う風にやって行くしかないんでしょうか。 これが気になって先に進まないつд`)
>>306 多項演算子か可変変数だな。
ま、可変変数でループさせればいんでない。
PHPってOracleとの相性はいいですか?
>>308 ネイティブでOracleに繋ぐことはできない。
PHPが動いてるPCにOracleクライアントのライブラリが必要。
そこをクリアすればOracle関数が使えるはず。
JavaはOracleにネイティブで繋げられるから、Oracleに関してはJavaがいいかもね。
311 :
nobodyさん :03/05/20 21:48 ID:tYb8o1Ne
ユーザ権限についてかなりの初心者です。 mkdir でディレクトリを作成したいのですが、 「許可されてねーよ」のエラーが出てしまい、 絶対ディレクトリを作ることができません。 もちろん、作る場所のディレクトリのパーミッションを777に すれば、作ることはできるのですが、 これ以外方法はないのでしょうか?? だれかお返事お願いします〜〜
>>311 ユーザーとグループがapacheになってねーか?
313 :
nobodyさん :03/05/20 22:14 ID:tYb8o1Ne
なっていると思うんですが、 それはどうやって修正すればいいんでしょうか? httpd.confかなんかでしょうか? 今色々調べたけど、そんなような内容が出てきてました。 共有サーバなんだけど、いけるでしょうか・・・
>>313 FTPで直せや。
多分root権限が必要だから無理だろうが。
315 :
311 :03/05/20 22:49 ID:tYb8o1Ne
結局無理ってことでつか・・・。 みんなどうしてるんでつか??
CGI ?
OUT !
すかさずsafe! 今日も阪神勝ったで〜
ぎょっ
AAA-CAFEじゃないの?
セッション管理について質問なんですが、セッションIDが上手く渡せません。
test.phpの内容:
session_start();
print "<a href=\"./test2.php\">link</a>";
test.php2の内容:
session_start();
print session_id();
php.ini
session.use_cookies = 0
session.use_only_cookies = 1
session.use_trans_sid = 1
test.phpにアクセスすると、リンク先は
http://example.jp/test2.php?PHPSESSID=f3458775053c469066b813846df651f7 になっていて、そこからtest2.phpに移動しても違うsidが表示されます。
何かやりかた間違ってますでしょうか?
>>322 設定に矛盾がある。
session.use_cookies = 0
sessionにcookieは使わない設定(url埋め込みのみ)
session.use_only_cookies = 1
sessionにcookieのみ使用する(urlでは渡せない)
324 :
nobodyさん :03/05/21 15:22 ID:L27UStsi
>>311 bash などのスクリプトファイルを直接叩くとか
「2chは5,6人以上逮捕された犯罪者が居るので
2chは全員、犯罪者だと思っていいと思います。
私の友達と私が被害を受けたのは本当の事実なので。」
(ウェブサイトより抜粋)
http://members.tripod.co.jp/nichkirai/index.htm この2ちゃんねるを一方的に罵倒しているサイトである
他のスレッド・板にコピペしてくれ。
これは我々2chねらーに対する挑戦であり
善良な2chねらーを巻き込ませようとしている悪の芽を摘むことを決定した
間引きをすることにより、2chの秩序を保つのだ
>>323 ありがとうございます。見事成功しますた!
330 :
305 :03/05/21 20:59 ID:???
しつこくて申し訳ない。 表とか予とかの文字に勝手に\がつくのはどうやって除くんでしょうか? 多分これ 「いくつかの文字エンコーディングでは、マルチバイト文字列を開始/ 終了するためのシフト(エスケープ)シーケンスが定義されています。 」 が原因で付くんだろうけど、除く関数が見つからない・・・ ヒントだけでも下さいませ。
説明しよう!stripslashesだ! 思いっきり載ってるよ、ちゃんと読んでよ頼むからさぁ!
>>331 がぁん。
あっさりうまくいきました。
ありがとうございました。
>>295 につられてテストしなかった自分が悪かった・・・
>>331 >>295 によるとstripslashesでも取り除けなかったらしい。
サーバの設定を弄れるなら、magic_quotes_gpcをoffにして試してみたら?
マニュアルを見ているうちに本人からレスが・・・(w とりあえず、よかったね。
335 :
山崎渉 :03/05/22 01:57 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
$name,$address,$tel,$mail,$loginという変数と、 Check_Valueという関数があります。この関数は チェックする変数の種類と、文字列を受け取って 、TRUEかFALSEを返します。 たとえば携帯の番号は11桁なので Check_Value('tel','00011112222') はTRUEを返すという感じです。そこで $check_list = array("name","address","tel","mail"); $check_flag = 0; foreach ($check_list as $check){ if (!(CheckValue($check,$$check))){ $check_flag++; } } if ($check_flag){ exit(1); } こんな感じで変数をまとめてチェックしてるんですが、これだと どの変数でエラーが起きたか分からず、フォームでデータを全て 再入力するはめになります。どこでエラーが起きたか分かるよう にするにはどうしたらいいですか?
337 :
nobodyさん :03/05/22 07:59 ID:8zCo6E1S
>>336 $check_flag[$check]
>>337 配列使えばよかったんですね。
目から鱗が落ちました。さんくす。
339 :
311 :03/05/22 12:22 ID:I2u83FEj
safe modeについて誰かおしえてくれまつぇんか? ぐぐったが、全然みつからない
340 :
nobodyさん :03/05/22 13:09 ID:8zCo6E1S
341 :
nobodyさん :03/05/22 13:12 ID:8zCo6E1S
342 :
nobodyさん :03/05/22 14:52 ID:XmLHZx3u
PHPモジュール版でなんとかSuEXECできない? 標準生成ファイル所有者がApacheの権限になってしまうのだけ修正できればいいんだけど。
343 :
311 :03/05/22 17:32 ID:I2u83FEj
>>341 そのマニュアルで理解できる奴がいるのかと小一時間・・・
>>342 suEXECは無理っす。サーバ管理人にはっきり言われました。
>>306 $hoge = array($x1,$x2,$x3);
foreach ($hoge as $key=>$val) {
if ($val) {
$xx = $val;
break;
}
}
>>343 >そのマニュアルで理解できる奴がいるのかと小一時間・・・
できるかできないかはその人のレベル次第だな。
>>342 >PHPモジュール版でなんとかSuEXECできない?
suEXEC の原理を考えたら無理だろ。
copyでスクリプトをコピーし、その中でmkdir?
347 :
nobodyさん :03/05/23 15:30 ID:i2hLkx1h
俺もセーフモードについて教えてほすぃ
348 :
nobodyさん :03/05/23 16:37 ID:4/fSbD9I
リダイレクトさせたいんですが Warningになってしまいます <?php header("Location: index.php"); ?> test.php にはコレしか書いていないんですが どうしてダメなんでしょう?
349 :
348 :03/05/23 17:09 ID:???
解決しますた。 引数に FALSE を入れたらうまくいきました。
(゚Д゚)ハァ?
351 :
nobodyさん :03/05/25 02:35 ID:qJrO97CH
教えてください 手動で動かすとファイルを作成するのに、クーロンを利用して動かすとファイルを作成しないっていうのは PHPの仕様ですか?
エラー処理をしていないあなたのせいでは無いでしょうか?
353 :
_ :03/05/25 02:45 ID:???
>>351 そんなわけない。
Pathを見直せ。
全部フルパスで書いてみれ。
htmlファイルを渡すと i-mode用のhtmlやhdmlに 変換してくれるpearライブラリ誰か作ってくれ ないかな。。かなり需要ありそうな気がしない?
356 :
nobodyさん :03/05/25 10:33 ID:JeioPFWc
Smartyのテンプレートをつかっているんですが、例えばテンプレートファイルを php/templates/test.tpl の中にいれて php/test.php からテンプレートを表示すると、テンプレートは php/で表示されることになるので 相対パスで入っている画像のパスとかがうまくいかなくなってしまいます。 パス部分を動的に置換したりして対処したりしてみたのですが、もっといい方法はないのでしょうか? 例えば、HTMLファイルに、自分のディレクトリを錯覚させる方法とかあります?
357 :
php初心者 :03/05/25 15:49 ID:Dfig9MwF
( ´_ゝ`)馬鹿が一人迷い込んできたな。
( ´_ゝ`)放置してるとスレを立ち上げそうだな。
360 :
nobodyさん :03/05/25 19:21 ID:Dfig9MwF
あれ
( ´_ゝ`)ageやがったよこの野郎
だからPHP房は馬鹿にされるんだよ。 買い物籠程度しか作れないとか。
( ´_ゝ`)また変なのが来たよ・・・
( ´_ゝ`)また糞スレで2ゲットしなきゃいけないのかよ・・・
>>357 PHP「初心者」なら少なからず開発能力はあるだろが。
なぜ他人に頼むのだ?
脱初心者のチャンスじゃないか。
ま、初心者脱してもPHPに出来る事はたかが知れてるけどな。 初心者脱すれば誰でも分かる事だが。
HTMLのフォームからPOSTでデータを渡すと 半角の数字でも string型になっちゃうけど そういう仕様なの?セッション変数だとそ んなことにはならないみたいだけど。
POST、GETは、いったんクライアントを介すから、すべて文字列型。 セッションは、サーバ側だけで処理するから型変換が起こらない。
369 :
357 :03/05/26 02:06 ID:jPJicect
よろしくお願いします!!
スレ立ての予想。 1 名前:nobodyさん 投稿日:03/05/26 12:08 ??? 見たところ、phpBBの日本語のスレがないので立ててみました。 コミュニティツールとしてこれから広く使われるのは間違いありません! モジュールの充実が目下の課題。一緒に盛り上げていきましょう! 2 名前:nobodyさん sage 投稿日:03/05/26 12:08 ??? アップロード機能があれば使いたい! 誰か作りませんか?
>>366 そんな事を平気で書くとバカかと思われるよ。
>>373 じゃあ、perlに出来てPHPに出来ない事を挙げよ
>>374 お前PHP初心者だろ。
お前のその質問でPHP房のレベルが十分過ぎるほど分かったよ。
>>368 なるほど。勉強になりました。
型変換が起きてることに気づかず小一時間はまってしまいました。
>>375 このスレの住人を煽ったところで誰もアフォな依頼なんて受けんぞ。
質問スレなんだからスレ違いもいいとこだ。
自分で何にもやろうとしない香具師が来るところじゃないぞ。
378 :
357 :03/05/26 21:19 ID:jPJicect
よろしくお願いします!!
ねただろ
>>366 >>373 >>375 PHPはWEBプログラミングに特化してるんで、
たかが知れてるといえば知れてるね。
で、あんたPHPで何を壮大な事を考えてんの?
372曰く、そんな事を平気で書くとバカかと思われるよ。
382 :
nobodyさん :03/05/27 02:48 ID:wZffpieO
>>381 >PHPはWEBプログラミングに特化してるんで、
たかが知れてるといえば知れてるね。
だからPHPは使えないと言ってるPerl信者が多いのか。
なるほど納得。
384 :
bloom :03/05/27 03:10 ID:77ADrmTJ
>>382 おまえバカだな。PHPでゲームでも作るのか?
ごめん、ごめん、おもろかったんでツッコミ入れたよ。
>たかが知れてるといえば知れてるね。 日本語の用法が変です。
387 :
nobodyさん :03/05/27 06:58 ID:nUQ8b5w3
どこが?
やたらめったら開くウインドウを必死で閉じるゲームをphpgtkで作ってくれ。
389 :
bloom :03/05/27 07:10 ID:77ADrmTJ
gtkとbcompilerでスタンド亜ローンなphpのexeが作れるんだっけ?
妖しげな情報ばら撒くなよ(w
393 :
:03/05/27 17:03 ID:???
XOOPSのオンライン状況のようなことをしたくて、 sessionファイルの中身を解析して誰がログインしているかを 一覧表示したいんですが、読み込んだsessionファイルの中身を 解析するのってどうやればいいんでしょう? session_decode() とか unseriarize() を試してみたのですが駄目でした。
394 :
動画直リン :03/05/27 17:10 ID:77ADrmTJ
395 :
393 :03/05/27 17:16 ID:???
データファイルの文字コードがShiftJISなのですが、 読み込むPHPがEUCで出力しているので文字化けしてしまいます。 fopen等で読み込んだファイルの中身をEUCに変換できる方法を 教えていただけないでしょうか?
>>396 mbstring使えないレン鯖だったらjcode.phpsでぐぐってみ
>>393 $_SESSION['user'] とかに手動で格納して、自分で
取り出すってんじゃ駄目?
>>400 これはセッション変数をデータベースに格納してないと
駄目かもしれないけど。
>>400 は永久ループにはまってますのでいますぐ
プロセスの終了を!
∧∧ ミ ._ サクッ ( ,,)┌─┴┴─┐ / つ.キチガイ警報| 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
403 :
山崎渉 :03/05/28 17:04 ID:???
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
404 :
nobodyさん :03/05/28 20:35 ID:R2iiJlF6
VBScriptで得た数値をPHPに受け渡す方法はないでしょうか?
URLの?のあとにくっつければいいんじゃないでしょうか。
マジで?
4.3.2 の変更かしょは?
410 :
_ :03/05/30 04:20 ID:???
411 :
直リン :03/05/30 07:10 ID:KvuUHxNV
414 :
_ :03/05/30 09:07 ID:???
415 :
動画直リン :03/05/30 09:10 ID:KvuUHxNV
質問です 文字列を、一文字ずつ分割し配列に格納するにはどうすればいいでしょうか $array1 = explode(",",chunk_split("abcde",1,",")); とかやっているのですが…
>>416 $arr = "asdf";
for ($i = 0;@$arr[$i];$i++) print $arr[$i]."\n";
まずは試してみ?
>>417 ありがとうございます!
asdfが分割されて表示されました
一行目では $arr が配列として定義されていないようですが、
なぜ $arr[$i] で認識されているのでしょう…?
419 :
nobodyさん :03/05/31 00:25 ID:2jzuOJKv
perlでパスワードを保存してたのだけど phpで作り直すことになりました。 どう書き直せばよいのでしょう? sub encrypt { local($inpw) = $_[0]; local(@SALT, $salt, $encrypt); @SALT = ('a'..'z', 'A'..'Z', '0'..'9', '.', '/'); srand; $salt = $SALT[int(rand(@SALT))] . $SALT[int(rand(@SALT))]; $encrypt = crypt($inpw, $salt) || crypt ($inpw, '$1$' . $salt); return $encrypt; } sub decrypt { local($inpw, $logpw) = @_; local($salt, $key, $check); $salt = $logpw =~ /^\$1\$(.*)\$/ && $1 || substr($logpw, 0, 2); $check = "no"; if (crypt($inpw, $salt) eq $logpw || crypt($inpw, '$1$' . $salt) eq $logpw) { $check = "yes"; } return $check; }
>>417 あらやだ、こんなところに asdf がいるわっ!
く、臭い
やだ、近づかないでよっ
>>418 文字列ってのは普通配列として扱われる。
C辺りをやると良くわかるが。
ってのが答えな訳だが。
詳しくはphpマニュアル嫁。
>>419 移植スレ送りじゃないのか?
>>420 じゃqwerで。
422 :
418 :03/05/31 02:42 ID:???
>>421 丁寧な解説ありがとうございました!
多謝
423 :
nobodyさん :03/05/31 12:10 ID:yd2VAwYd
4.3.2に含まれてるGDで日本語表示できた人いる? ext/gd/config.m4に-DJISX0208を追加すれば4.3.0の時はいけたんだけど 今回もそうなのかと思いやってみたが玉砕 if test -n "$FREETYPE2_DIR"; then AC_DEFINE(HAVE_GD_STRINGFT, 1, [ ]) AC_DEFINE(HAVE_GD_STRINGFTEX, 1, [ ]) GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_LIBFREETYPE -DJISX0208" fi これだけじゃだめなのかな?
424 :
動画直リン :03/05/31 13:10 ID:1EAhrEiJ
文字列を配列として扱う方が珍しい。
>>423 ./configure --help
してみ。
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font suppert.
ってのが増えてるんだが(w
>>421 >文字列ってのは普通配列として扱われる。
>C辺りをやると良くわかるが。
C 以外で文字列を配列として扱う言語ってなによ?
PHP のマニュアルにも文字列が配列として扱われるなんて書いてないぞ。
>>418 は何で一文字ずつ取り出したかったのだろう?
と考えてたら、縦書きスクリプト作ってしまいますた。(w
function tategaki($bunsyou, $kaigyou=20) {
$bunsyou = str_replace("\t", ' ', $bunsyou);
$bunsyou = preg_split('/\r\n|\r|\n|<br ?\/?>\r?\n?/i', $bunsyou);
echo '<div style="text-align: right;">';
echo '<table border="0" cellspacing="5" cellpadding="0" style="margin-left: auto;"><tr>'."\n";
while ($bunsyou[0]) {
$danraku = array_pop($bunsyou);
$retsu = array();
if ($danraku == NULL) {
echo '<td style="text-align: center; vertical-align: top;"> </td>'."\n";
continue;
}
つづき。 if (mb_strlen($danraku) < $kaigyou) { $retsu[] = $danraku; } else { $i = 0; while ($gyou = mb_substr($danraku, $i, $kaigyou)) { array_unshift($retsu, $gyou); $i += $kaigyou; } } foreach ($retsu as $gyou) { echo '<td style="text-align: center; vertical-align: top;"><pre>'; $i = 0; while ($moji = mb_substr($gyou, $i, 1)) { echo htmlspecialchars($moji) . "\n"; $i++; } echo '</pre></td>'."\n"; } } echo '</tr></table></div>'."\n"; } ヒマがあったらxreaあたりにクズスクリプト置き場つくりまつ。
431 :
nobodyさん :03/05/31 16:26 ID:2x+J2a52
あーわりぃ。 確かに「配列として扱う」ってのは無かった。 誤読しとったよ。 文字列への文字単位のアクセス 波括弧の後に任意の文字をゼロから始まるオフセットで指定することに より、文字列内の文字にアクセスすることが可能です。 注意: 過去の互換性のため、配列括弧を使用することが可能です。しかし、 この構文はPHP 4に依存しています。
>>431 佐川のほうが断然ひどい。
佐川のほうは精神も疲れるが肉体労働もありだからな。
435 :
nobodyさん :03/06/02 16:58 ID:z9K16qFI
リンク集のチェックをしたいんですけど、 サーバーエラー404だとか403だとかのチェックってできるんでしょうか。
436 :
動画直リン :03/06/02 17:10 ID:mGHfwiJV
>435 すれ違いだけど、、。 ソケットでHEADメソッド使えばいいんでないの。
439 :
nobodyさん :03/06/03 03:01 ID:t+Lmvee5
440 :
直リン :03/06/03 03:10 ID:HzexL3AB
441 :
nobodyさん :03/06/03 03:35 ID:NImEtxUN
443 :
_ :03/06/03 04:38 ID:???
444get, zuzaa
441 eggyキタ━━━━━(゚∀゚)━━━━━!!!!
446 :
nobodyさん :03/06/04 23:16 ID:nhSLUtrZ
過去ログで見かけた気がしたんだが、みつからず PHPの設定で実行速度上げる方法を知っている人居たら教えてください
448 :
nobodyさん :03/06/05 13:37 ID:dHb/5JOi
質問 anhttpd環境で作ったphp + vbsをapacheに持って行ったところ system()で止まってしまいます。 どこを見たら良いでしょうか? 作成環境 anhttpd + php4.3.1 ⇒httpdからはphp.exeを使用 不具合の発生した環境 apache1.3 + php4.3.1 試してみたこと 動作確認プログラムを作成 ・php側 引数を渡しvbsを呼び出すすだけの処理を記述 ・vbs側 受け取った引数をmsgboxで表示 コマンドラインからphpを実行 ⇒ msgbox表示 ブラウザからphpを実行 ⇒ msgboxが出ずに処理が終わらない
449 :
448 :03/06/05 15:44 ID:dHb/5JOi
解決しました
>>449 せっかくだからどうやって解決したかを書いてください。
同じような不具合が将来でるかもしれない人の助けになると思うから
451 :
nobodyさん :03/06/05 19:23 ID:FwOkzQ0W
質問です。 ログファイルで aaaa.aa.com bbbb.skf.com gjrgjlfmse.jp のように書いたA.logがあるとします。 これをアクセス禁止.phpでインクルードして 拒否に使いたいのですが A.logの各行から取得したものを "aaaa.aa.com", "bbbb.skf.com", のように"",で囲むにはどうすればよいのでしょうか?
めんどくさいから取得周り省略 for ($i = 0;@$line[$i];$i++) $line[$i] = "\"". $line[$i] ."\""; 終了。
>>452 ありがとうございます。
これを元に作ってみます。
454 :
nobodyさん :03/06/05 23:06 ID:nsYVSs9h
php-4.3.2+sybaseで正常にインストールできた人います? うちは、 4.3.2RC3からできなくなった。
455 :
_ :03/06/05 23:08 ID:???
456 :
直リン :03/06/05 23:10 ID:C/yWLjzO
457 :
451 :03/06/05 23:25 ID:???
>>452 うまくいかない…
取得周りもおしえてホスィ…ずうずうしくてスマソ
>>451 文字列として取得したい場合はこんな感じにしてみるとか。
echo "\"" . implode("\",\n\"", array_map("trim", file("A.log"))) . "\"";
>>458 アドバイスどうもです。
<?php
$bl=array(
"05001014230625_me.ezweb.ne.jp",
"07031041765051_ae.ezweb.ne.jp",
);
while(list($n,$s)=each($bl))
if(getenv("HTTP_X_UP_SUBNO")==$s)exit;
?>
こんな感じでやってるんですが
"05001014230625_me.ezweb.ne.jp",//荒らし
"07031041765051_ae.ezweb.ne.jp",//変人
の部分を外部のファイル(たとえばbye.log)
05001014230625_me.ezweb.ne.jp
07031041765051_ae.ezweb.ne.jp
のように書かれているものをIncludeして
使いたいんです。
それなら "", で囲むというのは必要ないのでは? <?php $bl=array_map("trim",file("bye.log")); while(list($n,$s)=each($bl)) if(getenv("HTTP_X_UP_SUBNO")==$s)exit; ?>
461 :
nobodyさん :03/06/06 01:18 ID:H834oKjr
Header関数について質問です。 WindowsXP+Apache2.0.49+PHP4.3.2(php4apache2.dllを使用)で インストールしました。 <?php Header("Content-type: text/plan"); ?> <b>test<b> というソースを動かそうとすると、 Warning: Cannot modify header information - headers already sent by ... と出てきてHTMLで出力されてしまいます。 Content-typeに何を指定しても同様の結果です。 以前Linux版を使っていたときにはこのような事はなかったと思うのですが、 何か私が設定を忘れているのでしょうか?
462 :
461 :03/06/06 01:19 ID:H834oKjr
text/planはtypoです。
>>461 なにか出力されてるらしいから、telnet <server> 80 で確認してみたら?
>>461 ファイルの先頭に
<?php
が来てるか?
空白文字か空白行があるとみた。
465 :
:03/06/06 04:24 ID:dN43aHgM
466 :
nobodyさん :03/06/06 04:29 ID:iJzdeZKD
467 :
_ :03/06/06 04:41 ID:???
>>460 arigatougozaimasu
Warning: file(./log/bye.log) [function.file]: failed to create stream: No such file or directory in /virtual/new/shared_html/test.php on line 2
Warning: array_map() [function.array-map]: Argument #2 should be an array in /virtual/new/shared_html/test.php on line 2
Warning: Variable passed to each() is not an array or object in /virtual/new/shared_html/test.php on line 4
test.phpは
>>460 様の書いていただいたものを書いてアップしてます。
言い忘れましたがサーバーはXREAです。
ログファイルのパーミッションは666、logフォルダの中に入れてパスは./log/bye.logのようにしています。
>>468 ./log/bye.log がないか読めないと言われているのだが・・・。
ディレクトリに実行権限がないとか。
XREA は知らないが、suExec 環境の場合は、
ログファイル : 600
ディレクトリ : 700
とかにしておかないと駄目だったかも。
<?php
$log="./log/bye.log";
if(!is_file($log)) die("ファイルが見つかりません");
$bl=array_map("trim",file($log));
while(list($n,$s)=each($bl))
if(getenv("HTTP_X_UP_SUBNO")==$s)exit;
?>
471 :
:03/06/06 12:25 ID:dN43aHgM
472 :
nobodyさん :03/06/06 12:53 ID:ww01wu87
ちょっと質問ですが、ユニーク数を取得するようなログプログラムを作るとして IE6のようなデフォルトでクッキーを受け付けない場合って、どうやって正確にユ ニーク数を取得するのでしょう?
>>471 例えば、ここWebProg板にアクセスするときの リクエストと応答はこんな感じ。
GET /php HTTP/1.1 <- リクエスト
HTTP/1.1 301 Moved Permanently <- 応答(ここには無い)
Location:
http://pc2.2ch.net/php/ <- あっちに行け
GET /php/ HTTP/1.1 <- リクエスト
HTTP/1.1 200 OK <- 応答(あったよ)
2つ目のリクエストの /php/ (=1つ目のLocation) をチェックすればいいよね。
HTMLの meta refresh まで考慮するならHTMLもパースするしか無いけど...
474 :
:03/06/06 13:52 ID:dN43aHgM
>>473 有難うございます。
結局、ソケット使って実際にWEBサーバーにアクセスし、レスポンスを調べてみるしかないのですね・・・
PHPの関数か何かで簡単に調べられないかなと思ったのですが・・・
475 :
_ :03/06/06 14:11 ID:???
476 :
454 :03/06/06 14:40 ID:WWTnaPYl
PHP+SYBASEてあまりいないのかな? 分かる非説いたら教えて!
477 :
nobodyさん :03/06/06 17:05 ID:LOE5TNUN
>>474 そんなもんまで関数に頼ってどうする。
んなことできるようならばphpの関数の数が今の百倍ぐらいになるだろが。
478 :
:03/06/06 18:35 ID:dN43aHgM
>>477 何いちいち食ってかかっきてんだ、厨房が。
俺が現在のPHPに関数の数を100倍にするように要求したのならともかく、
そういった関数があるかどうか聞いただけだろ?ここは質問スレだろうが?
dN43aHgM必死すぎ ( ´,_ゝ`)プッ
480 :
:03/06/06 18:50 ID:???
>>479 LOE5TNUNは自作自演ご苦労。
おまえは自信に非があるので、( ´,_ゝ`)プッとか必死とか言って煽るしかないんだね(ワラ
481 :
nobodyさん :03/06/06 20:05 ID:FptlQyuA
>>470 ありがとうございました。
ここまでやっていただいたので後は自分で解決します。
ほんとにどもでしたm(__
482 :
_ :03/06/06 20:54 ID:???
483 :
無料動画直リン :03/06/06 21:10 ID:6EFZr+OJ
484 :
461 :03/06/06 22:12 ID:???
昨日の
>>461 です。
>>463 ,
>>464 お返事ありがとうございます。ご意見いただいたとおりtelnetで
確認してみました。
するとソース上では1行目に<?phpが入っているにもかかわらず、
何か文字が出力されていました。
元のソースファイルをよく確認してみると、UTF-8で保存されており、
それをANSIで保存しなおすと無事表示されました。
お騒がせしてすみません。ありがとうございました。
ちなみにunicodeで保存するとソースがそのまま出力されてしまいました。
>484 あ、その何か多分BOM。 「UTF-8 BOM」でぐぐーれ。
486 :
461 :03/06/07 01:10 ID:???
>>485 早速調べてみました。
UTF-8で保存されたファイルをバイナリで確認してみると、
確かにファイルの先頭に何かくっついています。
元ファイルのエディタはWinXPの「メモ帳」でした。
>>478 ・・・ある用途の関数の有無を質問するのってありなの?
こんなにマニュアルが良くできててwwwでミラーだらけなのに。
質問書き込み自体は手間暇かけているけど、マニュアル見たら
それ以下の労力で解決できるよ。頭の使い方間違ってない?
ガイドライン級
めっちゃ初心者質問で悪いのですが PHPのファイルを保存するときは文字コードは何で保存すればいいんですか 現在EUCで保存してるのですが PHPのスクリプトを落としてくるとShift-JISで保存されているのがほとんどで そのまま設置して動作確認をすると文字化けします なので現在落としたヤツはEUCに保存しなおしているのですが PHPの文字コードはどれが一番ベターなのですか? 環境は WinXPPro / Apache 1.3.27 / PHP4.3.1
PHPとは本質的に無関係な問題でしょ
491 :
nobodyさん :03/06/07 07:03 ID:dfQas5D8
みなさん、Webプログラムを作る際、仕様書は書いていますか? 業務でアプリを組もうと思うと仕様書は必要だと思うのだけれど、 どう書いていいのかわかりません。 GET/POSTのフォーム入出力パラメータとか、画面遷移とか、セ ッション変数の引渡しと、それを破棄するタイミングとか、考える 項目はいろいろありますよね。 これらを系統だてた文書形式にして仕様書形式にまとめたいの ですが、仕様書の書き方で参考になる本やホームページがあっ たら教えてください。
492 :
_ :03/06/07 07:53 ID:???
493 :
無料動画直リン :03/06/07 09:10 ID:XZEhfRTk
>できた人います? この物言いするバカが多いがいたらどうだというのだ。お前の環境もしくはお前の頭では動かんことには代わりはない。
>>491 個人で使うレベルなら、1枚目に要求定義(そのプログラムで何をするのか)を箇条書き
2枚目以降にそれぞれをどう実装するのかを書くだけで良いと思われ
>489 EUCがスタンダードで、UTF-8Nがベターかな? #折れは自分で使う分は、最近はUTF-8Nで書いてる。 SJISなのは本人がEUC/UTF-8Nが吐けるエディタもってない…とは考えられんので 落とした誰かがWindows9xのNotePadで開けないんですけどなんて、ベタな質問をするのでウザイから 態々SJISにしてるパターンはある。 んでそのままアップロードするヤツが「可能は可能?」とか次のベタな質問を…
497 :
:03/06/07 15:04 ID:8PleCnwy
487,494みたいなクズは消えるべきでは? 答える気も無いくせに、わざわざ荒らしにくるんじゃねぇ〜すげぇウゼぇよ。
498 :
直リン :03/06/07 15:10 ID:XZEhfRTk
>>495 貴方の仕様書が見たいです。
>>497 そーゆーチミも結局同じ事してるって事に気づこうよ
昔は「EUCで保存しとけ」だったけど、この間S-JISに対応したんだよね?
>>500 どっちにしろサーバの設定次第・・・。
もしくは.htaccessやスクリプトの最初の方で
きっちり設定するか。
502 :
489 :03/06/07 18:35 ID:???
>>496 ,500,501
ありがとうございます
カキコの後色々ググってみたら
EUC等で書いて出力だけSJISに変換してするってのも手みたいですね
とりあえずはEUCかUTF-8Nで書いてみることにします
503 :
nobodyさん :03/06/07 18:47 ID:fJYAIl/S
現在PHPでプログラミングしていますが、セーフモード関連でつまづいています。 opendir関数ですがUIDの違いでエラーがでます。 main.phpで同ディレクトリにフォルダをパーミッション777で作成して その作成したフォルダに対しopendirをするとエラーが起こります。 作成されたフォルダの所有者はnobodyになるのですが、このフォルダに 対してFTPを使わずアクセスして一覧を取り出すことはできないのでしょうか? PHP Version 4.2.2 Apache Version 1.3.26 です。 よろしくお願いいたします。
504 :
預言者 :03/06/07 20:52 ID:???
>>503 エラーが出たなら、それくらいコピペしろ。
そうした方が解決が速いだろ
506 :
503 :03/06/07 22:10 ID:fJYAIl/S
>>505 すいません。
セーフモード時のよくあるエラーメッセージだとおもいます。
Warning: SAFE MODE Restriction in effect. The script whose uid is 4400 is not allowed to access フォルダ owned by uid 99
SJISスクリプトが増えてるのは、馴染みの問題かとも思う。 EUC-JPとかUTFよりも「Shift_JIS」のほうが名前がクールだし。 まあ、最終的にSJISで出力したいとき、いちいちバッファ内で出力、 入力、内部エンコードを想定して変換かけるのが(設定含め)面倒 てのが本音じゃないのかな。SJISは案外動いてしまうもので、 >そのまま設置して動作確認をすると文字化けします というほうが少数派じゃないかと思う。 何で文字化けするんだろう?すくなくとも ParseError は出ていないのに。 489の書き込みだと、DATが化けてるのか、スクリプトの 出力がブラウザで化けてるのかよく分からないし、 動作って何のことなのかも不明なので想像するしかないけど、 DATじゃなくてスクリプトの文字コードの話ではあるらしいものの、 SJISでブラウザに出力されてるということなら化けるとは思えない。 「現在EUCで保存してる」ことが、落としたスクリプトに影響を与え ることは物理的にあり得ないので、なんか ini をいじって強制的に EUCで出力する結果、head 要素の Shift_JIS 指定とバッティング して化けてるとか、そういうことかな。 だとすると、どの文字コードがベターかというのはこの場合問題外で、 ベターというのを文字化けしない=汎用性と考えるなら、文字コード 以前に、どの設定が汎用性に富むか、とまずもって問いを立てておい たほうが適切なのではないかと。
国際化版PHPでjcode.phpを使い。
>EUC-JPとかUTFよりも「Shift_JIS」のほうが名前がクールだし。 俺には全部似たようなものに見える。。
510 :
nobodyさん :03/06/08 00:38 ID:g6xWac4n
あるHTMLタグを含んだ文字列の置換でタグを以外を 置換したいのですけどなにかいい関数とかないですか? タグを除去する関数はあったのですが、それだと タグ情報が失われてしまうので・・・
簡単なコンテンツフィルタを作ろうとしていますが $inq = array('ち●ぽ','チ●ポ','チ●ポ','ま●こ','マ●コ','マ●コ','●す','●した','●イプ','●せる','爆●','放●'); foreach($inq as $yu){ $rps = ereg_replace($yu,'', $sub[3]); $sub[3] = $rps; } を実行すると $rps = ereg_replace($yu,'', $sub[3]); の所で Warning: REG_EMPTY: in がでます。構文に問題あるんでしょうか。さっぱりわからないんでお助け ください。よろしくお願いします
バイナリを出力しつつ文字データをエンコードってな時に SJISだと手が抜ける。
513 :
511 :03/06/08 00:50 ID:56soIgor
●の中身は何かとかはきにしないでください
ぱっと見コードに問題なさそうだし、SJIS絡みの問題じゃないかな。
515 :
511 :03/06/08 00:54 ID:???
文字コードは多分SJISのCRLFです。エディタを見ての判断ですが。 実行するマシンはWin98+AN HTTP、PHP4.2.3です。
>510 preg_replace() じゃだめなん? >511 変数名は分かりやすい物を使ってください。 見たことないエラーなので、その文だけだとよく分からないのですが、 EMPTYというからには $yu か $sub[3] が空なのかもしれません。 echo ' yu= ' . $yu . ' <br> ' . ' sub[3] = ' . $sub[3] . ' <br> ' ; とやって 変数が空でないか確認してみてはどうでしょうか。 変数が空ではない場合、文字コードの問題が考えられます。 タイムリーですね。
>502 それは良くやる>出力はSJIS 何故ならケータイなどでSJISしか読めない端末もあるから。 (あとMSのExcelはSJISのCSVじゃないと読めない。最近のは知らんが) ならコードもSJISにすればと思うかもしれんが、どちらにしてもケータイの SJISは特殊なため、ちょっとした変換が必要な点はパッチを当てて SJIS対応させたPHPであっても変わらないので、SJISにする意味もない。 ただPHP4.3以降はパッチ不要できちんと設定すれば、コードはSJISで書いても まあ問題ないので、その辺のケータイの特殊性を無視して"手抜き"するんだったら SJISで書くのも悪くは無い。"手抜き"による弊害は認めた上でね。
zlibで圧縮されたHTMLファイルをgzinflateすると以下のようなエラーが出てしまいます。 Warning: gzinflate(): data error in C:\hoge.php on line hoge # ソース $gzdata = ヘッダを取り除いて本体だけを受信 $data = gzinflate($gzdata) // エラー発生 ちなみに一旦テンプファイルに保存してgzopenで読み込むときちんと解凍できます。 $fp = fopen("tmp.gz", "wb"); fwrite($fp, $gzdata); fclose($fp); $gzfp = gzopen("tmp.gz", "r"); while(!gzeof($gzfp)) $data .= gzread($gzfp, 600000); gzclose($gzfp); どこが間違っているのでしょうか?
519 :
518 :03/06/08 02:38 ID:???
書き忘れましたがバージョンは4.3.2です。 Windows2000上でCGIモードで動かしています。
520 :
511 :03/06/08 03:15 ID:???
みなさんレスありがとうございます。 最新Verにしたら(4.3?)少し変わるのでしょうか。 一度他の文字コードで保存してみます
php の問題ではないので最新版に変えても 同じ結果になると思います。 Shift_JISを受け付けるならば、ereg_rep() に渡す直前に $sub[3] = mb_convert_encoding ( $sub[3] , "EUC-JP" , "SJIS" ) ; とやって文字コードを変換するか、 mb_ereg_match() を使えばお茶を濁せるかもしれません。
522 :
511 :03/06/08 04:51 ID:???
>>521 ありがとうございます。
さっそく検証してみます。
ちなみにここで動いてます。暫定サーバで重いですが100%2chを
ミラーリングしてますよ。多くの有志を求めています。
ぜひご協力ください。
523 :
511 :03/06/08 04:51 ID:???
漏れは2年のキャリアを持つPHPプログラマーでいくつかのサイトをPHPで 作ってきた。 だが先日会社でこんなことを言われてしまった。 社長「○○(漏れ)君、システムを全てJavaに移行しよう。」 漏れ「え?何でですか?動的ページならPHPで十分ですけど。」 社長「PHPはねぇ、聞かないっていうか、実績がないんだよねぇ。」 漏れ「うちの会社で受けたページ制作の仕事はPHPで作った実績があるじゃないですか。」 社長「今は、Javaなんだよ。PHPの仕事なんか来たことがないだろ。」 漏れ「(零細企業だからじゃないのか?)」 社長「とりあえず、Javaで組みなおし。会社のオンラインシステムもね。」 漏れ「・・・わかりました。」 PHPをバカにするなぁ!何がJavaだ!JavaなんてJavaScriptくらいしか やったことねーし知らねーよ!そこから覚えなおしかよ! Javaが嫌いになった金曜の午後ですた。。
>>524 大規模プロジェクトで且つファットサーバが使えないとJAVA使う意味ってないぽ。
ていうか海外のサイトとか見せたら?
せっかくのステップアップのチャンスなのに嫌がるとは。
シャチョさんJSPのこといってるのかねぇ?
529 :
524 :03/06/08 14:43 ID:???
>>525 転職はまだ考えてないよ。
>>526 PHPで構成されてる海外サイトを見せてみる。
でもJava案件しか持ってこないんだよなぁ。
>>527 確かにその通り。でも、PHPを否定する社長が許せない。
PHPだってJava並の動作するのにね。
>>528 サーブレットだと思う。
鳩サーブレット
オブジェクト指向言語 鳩 Object Oriented Programming Language Hato. そしてそれのサーブレット Hato servlet. Pigeon servletなんて書く奴は鎌倉大仏前で鳩サブレ喉に詰まらせて死ね。
533 :
530 :03/06/08 18:59 ID:???
だめかなぁ?一世一代のしゃれだったんだけど。
>JavaなんてJavaScriptくらいしか >やったことねーし知らねーよ! JavaとJavaScriptは別もんだからそこからと言うより初めからだな。
535 :
nobodyさん :03/06/08 21:12 ID:Wff4a1VR
PHPやデータベースのための雑誌でオススメのものってありますかね? これは購読しておくといい、みたいな。
つーかヨドバシ新宿西店の書籍コーナーでのPHPの冷遇振りってあり得なくない? 書棚が柱の裏側にあるし、すきまが40センチくらいしかないから一人が物色してると もう次の人間が入れない。両サイドで立ち読まれると出られなくなるし。 Javaのコーナーは無駄に広いくせに !! ガッデム!! >535 学習はPerlで。コーディングはPhpで。 これ最強。
>>536 冷淡すぎ。
せめて「過去Log嫁」
真面目に応えるなら「バックナンバーの」Web+DB pressとかかな。
最近はJAVAばかりだが。
>>537 ならばヨドバシ町田店に来るが良いよいょぃ。
半角のスペースを全角のスペースに変えたいのですが、 うまくいかずに困ってます。 環境はapache1.3.27 PHP4.3.2です。 書いてみた構文が if(strstr($_GET["data"]," ")){ mb_convert_kana($_GET["data"],"S","EUC-JP"); } です。 どこがまずいんでしょうか?
540 :
539 :03/06/08 22:42 ID:???
ちなみにエラー文は出ないです。 半角スペースがスルーされてしまうだけです。
>538 しかし正確には「Web+DB press」は雑誌ではなくて書籍扱いというワナ。 あとWebDBなんちゃらという似たような雑誌かMOOK本が出てたな。 まあ単発で買うなら後者の方が良いかも。 つか、PHPやデータベースのための"雑誌"に限定しないで書籍にするのが吉
542 :
_ :03/06/08 23:05 ID:???
543 :
直リン :03/06/08 23:10 ID:+3TQ1ee9
>>539 str_replaceでは駄目ですか?
545 :
nobodyさん :03/06/09 03:06 ID:qpbAHCTa
常にglobalにする変数って、毎回global宣言しないとだめですか? 最初っから(外側から)ずっとこの変数はglobal!って決められないんでしょうか。 毎回書くのがめんどくさいのつд`)
547 :
直リン :03/06/09 03:10 ID:GjkKVS2A
>>539 mb_convert_kanaの返り血は?
552 :
546 :03/06/09 04:10 ID:???
mb_convert_encodingと勘違いしてた。シノウ
553 :
nobodyさん :03/06/09 11:25 ID:4vFD1y3S
今、phpでimagemagickを使いたくて、phpをコンパイルしてるんだけど、
まったくもってうまくいかん、
imagickは、0.9.4〜0.9.4まで、
phpは、4.0.6、4.1.2、4.3.2と試したけど、うまくいかん
具体的には、ここの情報を元にやってんだけど、
http://www.1x1.jp/php/manual_pear/pecl.imagick.html そんで、buildconfigの後に
./configure --help | grep "imagick"
で、オプションが追加されたか確認て感じ。
うまく行ってる人、php、imagickのバージョン教えて
554 :
nobodyさん :03/06/09 15:38 ID:7gQlaCxU
専鯖だと、 test.php?id=1 を、 test?id=1 と入力しても表示されるのですが、 xreaだと、test.phpまで入力しないとforbiddenになります。 これはこちら側では設定のしようがないことなのでしょうか?
さておき555get, zuzaa
556 :
nobodyさん :03/06/09 16:18 ID:6WTDa4m6
>>553 まったくもって参考にならないかもしれないけど、XOOPSのgalleryモジュールは
system関数を使ってimagemagickを使っているみたい。
この方法ならimagemagickのサイトからバイナリを落とすだけで使えるし。
あとOS等の環境も書いたほうが的確なアドバイスがもらえると思いますよ。
>>554 .htaccessにOptions +MultiViewsで解決できると思うけど、同じディレクトリに
test.htmlというファイルがあった場合にそちらが参照されてしまうかもしれないし
ちゃんとtest.phpとファイル名をしていしてやったほうがいいんじゃないかな。
559 :
539 :03/06/09 21:55 ID:???
>>550 うっ・・・返り血を変数に入れるのを忘れてますたw
変数に入れてechoをしてみたらうまく行ってますた(汗
>>544 str_replaceでやったらOKですた。
こっちの関数の方が使い勝手が良さそうなのでこっちを使わせていただきます。
多謝!!!
560 :
560 :03/06/10 11:28 ID:HJRG+3BR
2つ以上のファイルを続けてダウンロードしたいのですができますか? たとえば下記のようなソースではうまくいきませんでした。 multipartとかをつかうのでしょうか? それとも複数ファイルの転送は意味がなく、圧縮等をしてひとつにまとめないといけ ないものでしょうか?
561 :
nobodyさん :03/06/10 15:00 ID:rbNmg+Hd
cgi版のphpはセッションの挙動も違ってきますか? モジュール版で正常に動いていたファイルを、 cgi版を使ってる鯖に持っていったら微妙に異常動作します。 セッション変数が思った通りに保持されていない感じです。
562 :
直リン :03/06/10 15:10 ID:O0KbeuSU
563 :
nobodyさん :03/06/10 15:24 ID:9UDR4rDO
564 :
nobodyさん :03/06/10 20:26 ID:tbVQeylP
apache-2.0.44のmodでphp-4.3.0なんですけど $fp = fopen("php://input", "r"); というのが効かないんですが、誰か使えてる人いますか。 毎回FALSEが返ります。 使わないのがお約束。とかそういう事ならそれでもいいんですが、 ググっても全然ひっかからんので困ってまつ。
>>564 「23 章 PHPをコマンドラインから使用する」
>>564 使える筈だけど、4.3.0のApacheSAPI版で使えるかどうかは知らない。
特にPHPストリームハンドラ周りは色々変わったし、バグも出たしな。
どうしてもってんなら、最新のCGI版で試してみそ。他の方法で困ることは無いし、
「動かない環境がある」って判った時点で、私なら敢えて使いませんが。
#CLI版のstdin/stdoutはバンバン使ってますが
>565
http://jp.php.net/variables.external 余り詳しく説明してるところは流石にないね。
>>564 質問スレ パート5より
>732 名前: nobodyさん 投稿日: 02/11/13 08:48 ID:???
>STDINはすでにPHPが読み込んでるので空っぽです
>$HTTP_RAW_POST_DATA
>は使えませんか。
>使えないときは、php.iniがいじれたら
>always_populate_raw_post_data = Onに
png画像をグレイスケールに変換するような関数を 作ろうと思っているのですが、なかなかうまくいきません。 だれかおしえて・・・_| ̄|○
>>569 ImageCreateFromPNGで、あとはいろいろいじれば出来そう
つか、ImageCopyMergeGrayがあるし。
ImageCopyMergeGrayだとできませんでした。
573 :
569 :03/06/11 00:07 ID:???
デキマスタ
574 :
569 :03/06/11 00:38 ID:???
結局 ImageCopyMergeGrayだとできなかったです。 コレは何をする関数なんだろう・・・
575 :
nobodyさん :03/06/11 01:50 ID:80R6YxeR
PHP標準組み込み関数で、一番長い名前の関数は何だ? get_magic_quotes_runtime(24文字)か?
576 :
571 :03/06/11 02:03 ID:???
>>569 実はImageCopyMergeGrayって使ったことなかったんだよね。
で、571を書いた後、いろいろ遊んでみたけど、できなかった。
なんか明度をageたりsageたりにしか使えなさそうなヨカーン。
いまいちImageCopyMergeとの違いも分からなかったし。
execでImageMagickなりNetPBMなりを叩くのが良さげ。
っていうか569はそうしたのかな?
ガセネタ流してごめんね。
577 :
:03/06/11 11:33 ID:???
ming っつーか jaming スレってありましたっけ? 最近のPHPで動かないんちゃうん?って突っ込みたいのですが。
578 :
569 :03/06/11 11:38 ID:???
>>571 どうも〜
ImageColorsforIndexやImageColorSET
を使ってパレットを直接いじくりました。
HTMLを変数に読み込んだ状態で TD〜/TDタグを順番に取り出して処理するクールなコードを教えてください。
cool_get_td();
581 :
丸 :03/06/12 08:26 ID:???
psexc(リモートコントロール・ツールというらしいが) が見つかりませんというダイアログがpc起動のたびに出るようになってしまったんですが 使っていてどうも影響が内容に思われます でもこれって使って行く上で致命傷なんでしょうか 致命的であるとしたらどう対処したらよいでしょうか
582 :
nobodyさん :03/06/12 10:05 ID:Lo9hcQm/
PHPの拡張モジュールを作らせて頂こうと思うんですが、 ビルドの仕方なり、簡単なソース付き自作拡張モジュール を公開しているサイトなりの情報を求みます。 よろしくお願いいたします。
いらね
584 :
nobodyさん :03/06/12 13:42 ID:Lo9hcQm/
いるよ
しないよ?
おかしな質問かも知れませんが、PHP本を2、3冊調べても書いてないので、(多分的外れだから?) 質問してみます。 よく出てくる -> の意味はなんでしょうか? 例えば、$a->b オブジェクト・プログラミング系のことのようにも思いますが、よく意味がわかりません。
589 :
569 :03/06/12 18:24 ID:???
>>587 クラスのメンバ変数やメンバ関数を使うときに使います。
赤マンモスに書いてあるよ。
>>588-589 Thanx.
赤マンモス本調べたんですけど、メンバで調べればいいんですね。
ちょっとPDFで調べてみます。
ありがとうございました。
591 :
nobodyさん :03/06/12 18:37 ID:x8LS771O
質問です。 環境は RedHat8 httpd-2.0.40-11.5 php-4.2.2-8.0.7 です。 全くの初心者なんですが、あれこれ調べながら、 *.phpファイルを/var/www/html(ルートディレクトリ) に置いても動作しません。 自分的にはphp.iniにドキュメントルートを指定してやらんと アカンような気がするんですが、どなたか php.iniの日本語訳があるURLしりませんか? そもそもapache(httpd)がphp.iniを見に行ってるか どうかもアヤシイんですが・・・ libphp4.soはhttpd.confに記述はないが Loadされてるみたいです。 (LoadModule php4_module modules/libphp4.so としたら、既にLord済みって怒られる。) ちなみに /etc/php.iniがあって、(デフォルトのまま) php.iniの編集箇所は、 output_buffering = On output_handler = mb_output_handler default_charset = Shift_JIS mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.substitute_character = none としてます。
phpinfo() は動くの? モジュールとしてApacheに組み込んでないってパターン?
593 :
nobodyさん :03/06/12 18:50 ID:x8LS771O
>>592 動きません。真っ白に表示されます。
LoadModuleという形にはなっていません。
httpd.confに、
LoadModule php4_module modules/libphp4.so
とすると、
[warn] module php4_module is already loaded, skipping
と怒られます。ということはphp4は
すでに組み込まれてるんですよね?
ちゃんとhttpd.confに AddType application/x-httpd-php .php って書いてる?
あれこれ調べずマニュアル一本。
596 :
569 :03/06/12 19:57 ID:???
クラス自作関数の代わりに使うべきなのでしょうか? それとも、自作関数の中に通常は入れないような簡単な処理 もクラスの中に入れてしまうべきなのでしょうか?
597 :
569 :03/06/12 19:57 ID:???
○クラス自作関数 ×クラスは自作関数
598 :
nobodyさん :03/06/12 19:59 ID:x8LS771O
>>594 書いてます。
redhat8インストール時からphpについては
/etc/php.iniしかさわっていないのが原因かな。
httpdを起動するだけではアカンのかな?
php.iniは日本語訳されてないんですね・・・
翻訳サイトか・・仕方ないな。
>httpdを起動するだけではアカンのかな? もちろんあかんよ。
>596 ここPhpスレなんですけど。
601 :
569 :03/06/12 20:17 ID:???
PHPでもクラス使うし・・ だめですか? どこで聞いたらいいんですか?
php.iniの設定で出力が真っ白になるCASEなんてあるっけか。
つーか日本語マニュアルの何が不足なわけ?
>>601 ∋じゃなくて∈なスレじゃないの。
ああ単にOOスレに行けって事かも。よく分からん。 >603 php.iniの話かとおもってしまった。 具体的にはどの辺すか? なんか勘違い続きだな俺。
605 :
nobodyさん :03/06/12 21:13 ID:x8LS771O
>>599 phpを起動するの?どうやって?
httpd.confでしか設定できないんじゃないの?
php4をインストールし直して./configureしろってこと?
>>602 >つーか日本語マニュアルの何が不足なわけ?
php.iniの日本語訳もそれに載ってるの?
http://www.php.net/manual/ja/ ここのコト?ここには知りたいことが書いてない。
tar.gzからの方法は書いてあるけど、rpmで既に入ってる状態からの
設定がほとんど情報がないもんで・・・
<?phpinfo();?>が出なくてエラーもでないから、
なにが駄目なのかすらもワカラン。
そもそもインストールすら出来ないなんて論外
マニュアル読んでないので論外
608 :
nobodyさん :03/06/12 21:51 ID:vZkmBcmt
php版のなつみかんみたいなのってあります?
つーかREDHAT付属のPHPはそのまんまじゃどのみち使えねー まあスレ違いだが、、 ところでrpmについて、個別に、何を書けばphpマニュアルはphpマニュアルたりえるのだろうね
マイッタネ。
611 :
nobodyさん :03/06/12 22:22 ID:x8LS771O
>>606-607 要は知らないのね。
rpmですでにインストール済みのphp4の設定の仕方は
tar.gzからコンパイルしたphp4と同じでいいのか違うのか?とか、
PATHを通さなアカンとか、
php.iniの日本語訳どっかにない?ってことも。
どうも失礼しました。
> php.iniの日本語訳どっかにない?
何を言ってるんだろう・・
>>601 OOスレに移動したほうがいいと思いつつ、漏れも知りたい。
処理内容って言う点だけから見たらクラスもユーザ定義関数も堺なくなっちゃうんじゃ・・。
ユーザ定義関数に入れないようなものってのは何ですか?
キョウハ ヨクアガルネ
何か荒れてるなぁ。逆切れしてどうする>質問者 トラブル時にこそ冷静に対処すべし。 <? phpinfo(); ?>で動かないと言ってるのなら、<?php phpinfo(); ?>にしてみ。
>>613 生の投稿データを有効にする=はい
とかを期待しているのだろう。アホ丸出しだけどな。
rpmってそのままじゃ動かなかったような気がするが... rpmだとmb_系も入らないよね? だから、ソースからコンパイルしる!
rpmってそのままじゃ動かなかったような気がするが... rpmだとmb_系も入らないよね? だから、ソースからコンパイルしる
>618 "RedHat"のRPMはね。他のところ(国内のディストリビューション) のRPMはそれなりに追加されてる。
620 :
nobodyさん :03/06/13 01:26 ID:Or/WN1dg
621 :
sage :03/06/13 21:09 ID:bVDCg5u+
PHP のマニュアルには、「Apache 2.0とPHPの組み合わせを 実運用環境で使用しないでください。」みたいに書いてるけど、 これは最新のバージョンでも同じ? どんなもんでしょ。
>>621 PHP-users に今年に入ってから 1.3 系と 2.0 系のベンチが流れた事がある。
その時の話の流れもベンチの結果も 1.3 の方が良いという事だった。 4.3.2 で Apache 2.x 用の何かが出ていたのでそれで変わったかも知れないけど。
623 :
nobodyさん :03/06/14 03:37 ID:uM3U5uXl
625 :
621 :03/06/14 09:27 ID:6WkFiG5h
>>622 ありがと。
Apache 2.0 + PHP が不安定というのを聞くんだよね。
ちょっと動かしてみたくらいじゃわかんないので、迷ってる。
626 :
_ :03/06/14 10:16 ID:???
627 :
nobodyさん :03/06/14 11:20 ID:yyEPXcwB
URLを使って値を渡すときに $_GET['var']だとOKで $_POST['var']だとNGでした。 コレは何故なんでしょう。 単に鯖の設定がそうなっているということなんでしょうか?
>>628 ここは「PHPの質問」をするスレッド。
Methodについて勉強してから出直して参れ。
PHPの質問ですよ。
>>628 >>630 PHP以前の問題
ていうか,何でコンピュータサイエンスやネットワーク,HTTPの基礎を勉強しないで
コーディングするの?
>630 純粋にPHPの話ではないでしょ。 POSTで渡してるのに$_POSTで取れないって話なら範疇だが。 ま、「【PHP】初心者コーナー 3」では扱ってもいい範疇かもね。
同意。 レベル分離しないと見捨てたくなるしな。。okweb とか PHP-users とか。 取り敢えず POST/GET について google して調べれ。 ついでにセキュリティ関連の文献も当たってみて GET とリファラーによる漏洩についても調べてみたりするとぐー。 仕事でやってるんならその程度の知識だと顧客も自分も会社も不幸になるので必死こいて勉強すれ。 趣味でやってるんならもっと知らない事を楽しんでこんなところで安易に解決する道を選ぶな、と。
ショッピングサイトを作りたいと思い、PHP+DBを勉強しようと思うのですが、 お勧めの書籍ってあります? ちなみにプログラミング経験はほとんど無く、CとJAVAとC#をカジッタ程度です。
635 :
628 :03/06/14 22:26 ID:rqi8yC2h
そういえば PHP の入門書ってコレといった定番は無い気がする。 マンモス本の赤を読んだけど本当に入門の入門といった感じだったし、 次にPHP BlackBook 貰って読んでみたけど関数の勉強にはなったけど誤表記やサンプルコードもヘボかったしお勧め出来る代物ではないし。 マンモスの青本は PHP が書ける人のための本な気配があるし。 基礎だけ解るようになったら後は PHP マニュアルと首っ引きで関数やコーディング盗みまくってようやくまともなコードが書けるようになった気がする。 OO で書かれたコードが理解しやすい。 仕事で作るなら外注に出すか導入も兼ねて FreeSoftware のバスケットのコードを学習した方が早いと思う。 ZendStudio のパッケージにも収録されている有名なヤツを初めいくつかそういうのはある。大抵英語だけど。 # プログラマ歴1年の PHP 以前の言語経験はほぼ皆無なヤシでつ。
アンケートプログラムを組んでいるのですが何か参考になるライブラリやアプリケーションってありませんか。 会社にかけあって時期をみてライブラリを公開したいと思っているので、 公開する価値があるのかどうか (より優れたものが出回っているなら公開する価値は無い)、 また既に何かあるならそれを調べて長所は取り込み短所はカバー出来るように色々吸収したいと考えています。
>>638 の追記、
Xoops についている簡単アンケートのようなヤツではなく、マーケティング系のASPサービスが使っているようなアンケートシステムです。
640 :
nobodyさん :03/06/15 11:22 ID:2bha8M49
index.htmlをTOPページにした場合、index.phpを読み込む方法はありますか?
>640 (;´Д`)ハァ?
index.htmlからPHPファイルを読み込みたいんですけど
>>642 SSI
っていうか目的に対してやり方がベストとは思えない。
スレ違いの知識不足。
>>640 >>642 <img src="index.php">
<script src="index.php">
>>645 640 ではないがそんな事出来たっけと思って試してみたが案の定無理。
WinXP Apache1.3.27 PHP 4.3.2 (SAPI)
設定次第では出来るのかな?なら厚かましいとは思いつつ、その設定もちっとフォローして欲しいな。
そもそも HTML の仕様上あり得ないように見えるのだが。
それとも漏れみたいな初心者を手玉にとってアンニュイな午後の暇つぶしですか。
フォローお願い > エロい人
追記、 WebBug とかで PHP で処理を行った後に GIF や JPEG のヘッダ情報を返してイメージを吐いているスクリプトを src 属性で指定しているケースは知ってる。 でもここで問題になっているのは text/html の場合でせう。その場合は動かなかったって事で。
もう一つ、 script 要素ってサーバーサイドスクリプトの指定が出来たのかなぁと。
>>648 単に「PHPファイルを呼び出す」という目的だけっしょ。
650 :
645 :03/06/15 14:52 ID:???
>>648 いっとくけどできるよ。
index.phpがレスポンスとして画像を返すか、JavaScriptを返せば良い。
652 :
645 :03/06/15 14:55 ID:???
ごめん、むちゃくちゃだ。
>>650 は
>>646 へのレスということで。
>>647 > でもここで問題になっているのは text/html の場合でせう。
そんな記述どこにもないよ。「読みこむ」だか画像を指してるとも考えられる。
>>645 , 650
フォロー&ご指摘感謝。
言われてみれば最終出力を Javascript か画像ファイルにすればいいだけでつね、、
認識足りなかった。勉強になりました。
>>651 HotScript 知りませんでした。宝の山です。
AdvancedPoll とか目的に近い感じです。
e-リサはTUNEBiZ ご謹製ですか。む〜 公開されていたら面白そうなのですが。
色々ありがとうございます。もう少し調べてみます。
>>640 .htmlということで、PHPスクリプトではない(にはしたくない)
と思われるので、ちょっと駄目なのだが。
PHPスクリプトからfopen()で.phpのURL指定して、取れたtext/html
とそれをパーシングして付随する<img src>の要素だけは取って、
所謂ニュースヘッダーぽいものを生成するのはやったことがある。
ころころテーブル構成変えてレイアウトを変更するサイトには無力でした…
>646
「初心者を手玉にとってアンニュイな午後の暇つぶし」イイ!
656 :
646 :03/06/15 16:14 ID:???
手玉に取られて勉強になりました。とか。 煽り気味に書いたので反省&感謝してるyo!
読み込むことは不可能だが。 <object data="index.php" type="text/html"> つーか640死ねよマジで
まぁ餅つけ。 質問の仕方だと思うのだけど。。無くならないね。 PHP-FAQ が Wiki ベースに移行するって聞いて楽しみに待ってるのだけどまだかーとか叫んでみるテスト。
Wiki( ´_ゝ`)イミワカンネ
変数名が同じ場合 cookieとPOSTとセッションとURLで渡された値は どの順番でつかわれるのでしょうか? ブラウザ・サーバーによってその順番に かわりはあるのでしょうか?
サンクス EGPCSのばあい、 POSTより、Cookieのほうが優先されるという理解であってます?
PHPスクリプト(掲示板)のなかに、パスワード(アドミン用削除キー) を入れているのですが、 コレ読まれないようにするために、何か対策はありますでしょうか? それとも、何もしないでも読まれないようになっているのでしょうか?
へ?
665 :
663 :03/06/16 21:32 ID:???
スクリプトのソースが直接読まれるようなことはあるのかなぁ と思いまして・・
>>663 読まれても困らないようにcrypt()したものを使うといいんじゃないかな?
667 :
nobodyさん :03/06/17 00:28 ID:oB/bpmgv
668 :
663 :03/06/17 00:33 ID:???
>>667 headerでlocateを送るとか??
適当です
スマソ
669 :
nobodyさん :03/06/17 00:48 ID:oB/bpmgv
>>668 ごめんなさい、もう少し詳しく教えてくれると嬉しかったり、、、
670 :
667 :03/06/17 00:49 ID:oB/bpmgv
追加です。 /japan/というディレクトリは存在しないとして考えてください。
>>670 > /japan/というディレクトリは存在しないとして考えてください。
それじゃ、phpでってのは無理なんだけどさっ!
## Aliasの場合
Alias /japan/ /{Your Web root Directory}/
DirectoryIndex index.php
## Rewriteの場合
RewriteEngine on
RewriteRule ^/japan/$ /index.php [L]
>>663 パミションが644だと同鯖仲間に読まれる。
可能なら700に。(CGI)
673 :
667 :03/06/17 01:28 ID:oB/bpmgv
ということは、/.+/に対応するには、 ## Aliasの場合 Alias /.+/ /{Your Web root Directory}/ DirectoryIndex index.php ## Rewriteの場合 RewriteEngine on RewriteRule ^/.+/$ /index.php [L] みたいな感じでいいのかしら?
674 :
nobodyさん :03/06/17 01:50 ID:1IJ0L4W1
phpからImageMagickのconvertを使おうと exex()で exec("convert -colors 128 before.jpg after.gif"); としたのと、 直接コマンドラインから convert -colors 128 before.jpg after.gif としたのとで、ファイルサイズが違うんです。 たぶんlzw圧縮の関係だと思うのですが、 imagemagickのconfigreはenable-lzwを付けましたし… そもそも、同じコマンドなのにPHPのexec()と、コマンドライン直接で なぜ結果が違うのでしょうか… OSはLinuxで、PHPは4.3.1です。
>>662 そう。右の方で左の方を上書きするので、
"EGPCS"は「POSTより、Cookieのほうが優先される」でOK。
>>674 何らかの(シェル)環境変数が参照されてるってことはない?
677 :
674 :03/06/17 11:52 ID:a/p5LhFO
>>676 解決しました。
PHP Acceleratorを使っているのですが、こいつがどうやら犯人でした。
PHP Acceleratorを一度外してApache再起動後、
もう一度PHP Acceleratorを付けて再起動したらちゃんと作動するようになりました。
678 :
nobodyさん :03/06/17 13:50 ID:Z0VU+1oU
関数を実行させずに渡す方法ってありますか?
>>678 飛行機を使わず飛べる方法はありますか?マトリックスみたいに。
ってゆーか渡すって何をさ(w
もちろんカネだろう。身代金だな(w
682 :
667 :03/06/17 17:28 ID:oB/bpmgv
>>679 ってかマトリックスの中に入ればいいじゃんか。バカか?
おまえら少しは餅ついてください。 ボケ&ツッコミにしてもせめてもうちょっとヒネってください。
linuxに入ってるapacheにはデフォルトでphpが動いてしまいますが、 特定のユーザーだけ使用許可、とかできるのでしょうか?
>>684 Apache スレに持ち込むべき話だと思いますが… PHP 側のアプローチから何とかしろという事でつか?
>>685 何こいつ?PHPでhttp.confの編集すら出来ないの?
>>686 PHPをhttp.confを書き換えるために使うんか?わけわからん。
補完してみるテスツ
>>684 linux(distribution)に入っている(defaultでinstallされているRPM packageの)apacheにはデフォルトで(mod_)phpが
動いてしまいますが、特定のユーザだけに使用許可、とかできるのでしょうか?
かな。
ここは初心者スレじゃないから、質問するならせめてTarボールからinstallできる程度の知識を、身に付けてからの方がいいかもしれない。
>>685 同意
>>686 知らないなら無理して話さない方が良いと思われ。
「オマエモナー」など書くのだったら解法を書くがよろし。
<ユーザ>はapacheにアクセスしてきてるクライアントのことじゃなさそうだな
>>688 >Tarボールからinstallできる程度の知識
偉そうに言うことか?
たかが解凍して./configureしてmakeだろ?
各ユーザー毎に<directory>の中でAddTypeしてやればいいんじゃないの?
>690 誤読してね?
一気に荒れたな、、、 ヘボい質問が来たところに茶々が入っているようだけど、、ちゃんと初心者スレと住み分けすれと言いたい。
phpスクリプトの中の、TDタグでWIDTH=”80”と指定して、そこに半角英数字を80 ピクセル以上書くと折り返し表示してくれなく、80ピクセル以上に テーブルが伸びてしまいます。 全角文字や半角カナ文字は80ピクセル以上だと自動改行してくれるのに 半角英数字だと改行してくれないのはなぜなのでしょうか? また、改行できる方法を知ってる方がいましたら教えてください。
ナ ゝ ナ ゝ / 十_" ー;=‐ |! |! cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・ ,. -─- 、._ ,. -─v─- 、 _ ,. ‐'´ `‐、 , ‐'´ `‐、, ‐''´~ `´ ̄`‐、 / ヽ、_/)ノ < ヽ‐'´ `‐、 / / ̄~`'''‐- 、.._ ノ ≦ ≦ ヽ i. /  ̄l 7 1 イ/l/|ヘ ヽヘ ≦ , ,ヘ 、 i ,!ヘ. / ‐- 、._ u |/ / ̄l |/ ! ! | ヾ ヾ ヽ_、l イ/l/|/ヽlヘト、 | . |〃、!ミ: -─ゝ、 __ .l / ...レ二ヽ、 、__∠´_ |/ | ! | | ヾ ヾヘト、 ! !_ヒ; L(.:)_ `ー'"〈:)_,` /.|\ riヽ_(:)_i '_(:)_/ ! ‐;-、 、__,._-─‐ヽ. ,.-i、 /`゙i u ´ ヽ !..|(・) !{ ,! ` ( } ' (:)〉 ´(:.)~ヽ |//ニ ! _/:::::::! ,,..ゝ!...|⊂⌒.゙! ヽ ' i゙! 7  ̄ | トy'/ _,,. -‐ヘ::::::::::::::ヽ、 r'´~`''‐、 /....| |||||||||!、 ‐=ニ⊃ / ! `ヽ" u i-‐i ! \::::::::::::::ヽ `ー─ ' / ......\ ヘ_ ..ヽ ‐- / ヽ ` ̄二) /ヽト、 i、 \:::::::::::::::..、 ~" / .........\__..ヽ.__,./ //ヽ、 ー / ゝ .! \ `‐、. `ー:--'´ ./ .//イ;;::::: //〃 \ __,. ‐' ./ / \ ヽ \ \ / ..⊂ ( ./ /i:::::. //  ̄ i:::: / /
>>694 「phpスクリプトの中」
こじつけ過ぎ。
html系のスレに逝って来たら?
HTML の問題も、ポストが赤いのも、ほぼ日公式カップ麺が売れないのも全て PHP のせいです。って感じのスレ違い多すぎ。 単純な TABLE で色々試して実験すれ。 っていうかそれくらいやってから質問とセットで報告しる! 試してみたがズレるね、確かに。 テーブルはデザインのための要素ぢゃないからこれでいいと思う&記述が足りないだけな気がしなくもないがな。 という事で DIV 要素を使ってみたら単語やブラウザの改行コントロールに優先して幅が制御できたyo! 取り敢えずテーブル内に DIV 入れて制御しといたらどうよ。 っていうか平日昼間から何を言ってる。趣味ならともかくカネもらってコード書いていいレベルじゃないぞ。せめて初心者スレでやってくれ。 またスレ違いに答えちまったよ、、、鬱だ。
699 :
697 :03/06/18 18:28 ID:???
最悪… 確信犯の上にマルチポストかよ。質問以前の質問にはもう二度と答えねぇよ。
701 :
nobodyさん :03/06/20 15:52 ID:gE9xicSF
変数内に"tako ika"と文字列の間に空白がたくさんあるのですが、 これを"tako ika"というように、空白を一つにしたい場合はどうすれば いいでしょうか。文字列関数をみたのですが、trimだと外側しかできない のでどうすればいいか困っています。 よろしくお願いします。
RTFM 正規表現使うよろし。
704 :
701 :03/06/20 17:01 ID:fyrZFBPo
>>701 function removeSpaces ($str) {
if (preg_match("/\s{2}/",$str) {
$str = preg_replace("/\s{2}/"," ",$str);
removeSpaces($str);
} else {
return $str;
}
という関数を定義して,
$str = "tako ika ikura"; /* 実際は複数スペース,ココでは複数スペースは表示されないので全角スペースを使用 */
$str = removeSpaces($str);
echo $str;
そうすると
tako ika ikura
と表示される
ごめん, str = preg_replace("/\s+/"," ",$str); でよかった
すいません。PHPが4.3.2になったんですが、どうやってインストールするんでしょう?^^; 今は4.3.1をインストしていますが、それはできたんですよね。 インストーラーパッケージをダウンして、実行してウィザード出て とんとん拍子で進んだんですが、4.3.1と比べて出来たファイルの数が少なくて不安です インストーラパッケージを解凍?するフォルダを、4.3.1のフォルダに指定してやればいいんですかね? PHPが実行できなくなるの怖くて出来ていないままなんです( ´Д⊂ヽ
おい、環境とかかかんの?
まーWinだとは思うけどねぇ そしてCGI版だとは思うねぇ これを気にもづーる版に移行汁( ゚д゚)
WinXPです。httpdてソフト使ってます。 CGI版なのかな?よくわかんないんですが( ´Д⊂ヽ
初心者板とこのスレの住み分けって一体…
>>710 とにかくやってみろ。失敗してもべんきょうになるから。
指定したページから、リンクURLとそれを張られた文字列を取得したいんです。 ページに含まれる全ての<a href="URL">文字列</a>から「URL」と「文字列」を 取り出すにはどうすればいいんでしょうか? 正規表現のところできいたほうがいいんでしょうか?
>>714 ファイルを開いて,一行ずつ
if (preg_match("/<a href=\"([^\"]+)\">([^<]+)</a>/",$str,$match)) {
$hoge[] = array($match[1],$match[2]);
}
したら,$hogeに2次元配列でURIと文字列が入っている
717 :
714 :03/06/21 00:45 ID:???
>>715-716 レスありがとうございます
それだったら途中で改行されてた場合に対応できないですよね
>>717 array_reduceとwhile。
implodeしてからwhile。
719 :
714 :03/06/21 01:30 ID:???
>>718 ありがとうございます
一度くっつけて</a>(でいいのかな?)で配列に分けて
>>716 ってな感じですね
初心者版あるんだからさ、、、、、、、、、、
721 :
714 :03/06/21 01:44 ID:???
>>720 やっぱり、初心者の方がよかったですか
以後、気を付けます
ちなみに
>>719 は微妙に違ってますね
722 :
nobodyさん :03/06/21 14:44 ID:k+R30mgd
海外サーバでmbstring使うためには 何て頼めばいいんでしょうか?? phpinfo 見せてもらったところ、入ってないんですが、 Bear in mind that any module that you required can be enabled by our support staff. という返事が。 プログラミングに詳しくて、かつ英語ができる人いますか〜〜? 誰か教えてください〜〜。お願いします。
723 :
_ :03/06/21 14:49 ID:???
>>722 mbstringもモジュール入れてくれ」って言えばいいんでわ?
使いたいモジュールがあればスタッフに言えって書いてある。 よくそんなんで海外のサーバ借りようなんて思ったね。 別解だけど、mbstring.phpなんてものがある。
726 :
722 :03/06/21 16:04 ID:cPsEdkH0
>>723-724 レスありがとうございます(_ _)。
もちろん英語の意味は分かるんですが、
ただ、英語でmbstringとかどんな風に伝えればいいのかが分からないんです。
海外さばでPHP使う場合に気をつけなければならないのは
multibyteだと思うんですが、
要は、mbstring入れてもらえば解決するんでしょうか??
>>726 日本語から勉強しよう。
言いたいことがさっぱりわからないよ。
もう一回丁寧にレスしなおしてみて。
728 :
722 :03/06/21 16:08 ID:cPsEdkH0
間違えた、
>>724-725 でした。
あと、このmbstringを入れてもらうのって、
頼むだけで大丈夫ですかね。
どこどこからダウンロードできますよ、みたいなこと
言わなきゃいけないでしょうか??
聞いてばかりですいません汗
729 :
722 :03/06/21 16:13 ID:cPsEdkH0
も一度言い直します汗。 英語はわかるんです。英語は。 ただ、日本語でも伝えるのが難しいような内容を 英語で伝えようとするとちょっと訳がわからないんです。 つまり、英語は分かるんですが、プログラム関係の用語が 分からないんです。PHPを最近覚えはじめたばかりなんで。 で、 Bear in mind that any module that you required can be enabled by our support staff. という返事をもらったんで、これに対して、 「どんな返事を返せば、mbstringを入れてもらえるのか」 が聞きたかったわけです。
730 :
722 :03/06/21 16:17 ID:cPsEdkH0
phpマニュアルのmbstring部分のURIでも一緒につけてやればいいんでないの?
なるほど。
multibyte使えるか?って聞いたんだ。
Multi-Byte String Functions は使えるか? って聞けば即解決だったのかも。
>>731 のやり方が一番よく伝わると思うよ。
マルチバイトのモジュールを組み込む=mbstringを組み込む ってこと??
この前 PHP 質問スレッド行ったんですよ、質問スレッド。
そしたらなんか
>>722 のつけたレスがめちゃくちゃ並んでて
で、よく見たらなんか 「海外さばでマルチバイト系モジュールが使いたい」 とか書いてあるんです。
もうね、アホかと、馬鹿かと。
>>722 な、マルチバイト系モジュールの組み込みごとき FAQ で初心者スレ飛ばして質問スレに来てんじゃねーよ、ボケが。
mbstring だよ、mbstring。
で、やっと読み進んだと思ったら
「英語はわかるんです。英語は。」とか逆切れしてる。そこでまたブチ切れですよ。
あのな、情報も整理せず連続書き込みなんて今日び流行んねーんだよ。ボケが。
お前はちゃんと他も参考に質問文を推敲したのか、技術系メーリングリストで質問するときのパターン・ランゲージくらい読んだのかと
ちゃんとググったのかと、問いたい、問い詰めたい、小一時間問い詰めたい。
サーバーの環境くらい書けよ。
PHP 初心者の俺から言わせてもらえば今、適当な解決方法はやっぱり、
何故それが必要なのかを記してググって拾ったマルチバイト系モジュールの有効化方法を英訳してメール
これだね。
ローカルでレンタルサーバーと同じ環境をたてて実働で試してみるともっといい。これ、最強。
しかし自分で ./configure した経験も無く英語も下手だと相手に情報が正しく伝わらないかも知れない諸刃の剣。
素人にはおすすめ出来ない。
それに内部エンコーディングや入出力での日本語の有効化とマルチバイト系モジュールaの有効化は別で
日本語の有効化も PHP のバージョンによって ./configure が異なってくるのだが
ちゃんとググれば出てくる。 php.ini も何を変えればいいか自分で調べて ini_set しろよ。
まあ
>>722 のように自分で海外鯖選んだくせに自己解決能力も持てないならxrea.comでも使ってなさいってこった。
( ゚д゚)オット!くやしい
>>722 が名前変えて反撃してるのでしょうか?
終わった話題に突っかかったり煽ったりして、無意味なレス増やしてどうすんだ?
>>738 初心者質問な上に長引いたのがウザイと感じたんだろうけど、自分で引っ張ってたら
いーみなーいじゃーん。
突っ込むのは話題が進行してるときだけにしとき。
>735 単純な煽りだけかと思ったら、ソコソコな指摘だな。 ただ件のパターンは、折れもPHPのマルチバイト系のパッチに関して 説明するのに苦労したからなんとなく判る。 configureオプション、php.iniの設定変更とかのレベルや 本家にパッチ上がってれば説明はしやすいんだけど。 サポート担当者っても所詮アプリユーザの立場であって、 別に開発者じゃないからね。まして特定アプリケーションの動向を 細かく追ってる訳でもないし。
モジュールの名前が mbstring なんだから mbstring 入れてくれ!でいいんじゃないの? 鯖の管理者がまともなら I need mbstring module in PHP!! とかで十分伝わると思うが・・・どうだろ?
PHPのバージョンあげたらPOST,GETの値の取得方法が変わってて焦った…
744 :
:03/06/22 09:05 ID:ilPAHc5W
PHPでメモリを使いすぎるとセグメンテーション違反で落ちますか? PHP4のコマンドライン版で、ある再帰処理があるPHPスクリプトを動かしているのですが、 セグメンテーション違反で落ちます。 実際にセグメンテーション違反がどのような状況で発生するのかわからないので、 (Cならば確保されてないメモリなどにアクセスすると発生しますよね?そもそもPHPで そのようなコードが書けるのかも疑問なんですが)なんともいえないのですが、相当量メモリ (TOPでみると30M強くらい)くってるのでそれが原因なのか?とも思うんですが。 一般論としてPHPでセグメンテーション違反が起こるのはどのような状況でしょうか? OSはLinuxです。
745 :
:03/06/22 09:13 ID:ilPAHc5W
>>744 すいません。
メモリの使いすぎは無いみたいです。
適当なテストプログラムで800Mとか900Mまで余裕で確保できたので・・・・
30Mくらいでダメになるはずないですね。
とりあえず
>一般論としてPHPでセグメンテーション違反が起こるのはどのような状況でしょうか?
これが知りたいです。
>>744 再帰処理、セグメンテーション違反と聞けば真っ先にスタックオーバーフロウを考えるけれど、
PHPでも起こりうるかどうかは分からない。
747 :
_ :03/06/22 09:38 ID:???
748 :
722 :03/06/22 10:05 ID:???
一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?
749 :
735 :03/06/22 10:34 ID:???
>>748 if(!function_exists('mb_substr')) die('mbstring not available')
とか自分で検証スクリプト書いてサポートに証明すれ。
どういう事情があってか知らないが多分価格性能比から海外鯖を選んだのだろうが
この辺りにかかっている労力を考えると国内鯖か日本語サポート付き海外鯖を選んだ方が早いと思われ。
吉野屋したのはそーいうこった。
751 :
:03/06/22 10:58 ID:ilPAHc5W
>>746 ありがとうございます!!!!!正にそれでした!!!
スタックオーヴァーフローの可能性を全然考えていませんでした。
とりあえず、下記のようなスクリプトで
<?php
set_time_limit(0);
$i = 0;
r2a();
exit();
function r2a(){
global $i;
$i++;
while(1){
echo $i."\n";
r2a();
}
}
?>
試してみると18706回でセグメンテーション違反がでました。
とりあえず、PHPでも関数の呼び出しすぎでスタックオーバーフローするみたいです。
有難うございました。
>>751 それ書いたのが部下なら首で、
学生なら単位取消w
754 :
:03/06/22 11:20 ID:???
>>753 whileは必要ないです。別に書いたソースを適当に修正した奴なんで。
メチャクチャでした。
ただ、while抜いても結果は同じになりますけど。
755 :
:03/06/22 11:26 ID:???
756 :
nobodyさん :03/06/22 12:10 ID:3xq5lbbD
一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?
>>748 以下を実行して、"mb_"系列の関数名は表示されますか?
<?php
$var=get_defined_functions();
header("Content-Type:text/plain");
while(list($num,$val)=each($var['internal'])) echo "$num = $val\n";
exit();
?>
758 :
nobodyさん :03/06/22 12:48 ID:3xq5lbbD
一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?一時期荒れる原因を作っちゃいすいません。 最後に一つだけ質問お願いします汗。 結局、聞いたら、 mbstring はデフォルトで可能です、 と返事が着たんですが、 phpinfo見ても、mb やmbstringって文字列は存在 しないんですが・・・。 これってどういうことでしょうか?
760 :
722 :03/06/22 20:21 ID:J7JTCuGV
>>756 人の真似するのやめれ。
>>749 ,757
レスありがとうございます。
参考にします。
すんませんでした。
>>722 > 人の真似するのやめれ。
いや、おまえがエラそーに言う事ぢゃないよ?
762 :
nobodyさん :03/06/23 23:26 ID:sxyXJOK5
array_mapやarray_filterはクラス付きの場合 使えないんでしょうか?
>>762 RTFM
注意: 関数名の代わりに、オブジェクトへのリファレンスを格納した配列とメソッド名を指定することも出来ます。
としっかり書いてある。
class Filter {
function odd($var) {
return ($var % 2 == 1);
}
}
$odd_arr = array_filter($array1, array('filter', 'odd'));
764 :
763 :03/06/24 00:53 ID:???
> クラス付きの場合 って メンバ関数 と解釈したのだけどそれでよかったのかな。 解らなくても俺語は出来るだけ避ける意識を持ってググったりして少しでも汎用的な文章を作るように心がけた方が良いよ。 2ch スレもメーリングリストも google が拾ったりして後で見返される可能性があるのだし、 質問を投げる初心者として出来ることは質問やスレを整理して参照価値を高める事だと思われ。 漏れもPHP初心者だけど質問時にはこれでもかってくらい査読して google でチェックする。その途中で勝手に解決する事も多かったりする。 がんがれ。
765 :
本7 ◆uPD9aFm9hI :03/06/24 02:45 ID:NRot/Ugh
PHPでクラス化ライブラリを使うメリットがわからん
え?なんで?ばかなん?
シー 目を合わせちゃいけません
便利だよ。処理は遅くなるらしいけど。 納得いかないなら PEAR に上がってるライブラリをクラス使わずに再実装してみ。
PHP4.3.2をソースからコンパイルしたいんですけど configureでこけます。 ./configure --with-pgsql=/usr/local/pgsql すると libpq-fe.hが見つからないようです。 PostgreSQLは/usr/local/pgsql 以下にインストール されていて、ヘッダファイルは /usr/local/pgsql/include に、ライブラリは /usr/local/pgsql/lib 以下にあります。 --with-pgsql=/usr/local/pgsql/include にすると今度は hoge.soが見つからないと言われます。--with-pgsql=/usr/local だとlibpq-fe.hが見つからないようです。 どうしたらよいのでしょうか。。 Plamo Linux3.0 PostgreSQL7.3.2 PHP4.3.2
>>769 with-pgsql の他にもう一つオプションがあったはず。with-pgsql-dir だったか何か。
その二つのオプションを組み合わせて四苦八苦したら通った記憶がある。
これだったかな〜、、、
Woody, Apache1.3.27, PHP4.3.1PostgreSQL7.2.1
'--with-pgsql' '--with-pgsql-dir=/usr/include/postgresql/'
4.3.2ではそのオプション存在しませんでした。 % ./configure --help | grep pgsql --with-pgsql[=DIR] Include PostgreSQL support. DIR is the PostgreSQL base install directory, defaults to /usr/local/pgsql. そんで、単純に ./configure --with-pgsql ってやってみたらうまくいってしまった。なぜ =/usr/local/pgsql と指定すると駄目なんだー!!
取り敢えずはおめでとうございます(w そうか、、存在しないんですか、、 どこかで指定したディレクトリ以下を探しに行くから hoge.so のあるディレクトリを指定しようね的な記述があったのですが 検索方法が変わったのかな〜、、 私の ./configure もかなり間違ってる悪寒。
質問なんですけど、Windows上で*.phpファイルに割り付けるイイ感じのフリーの アイコン、どなたか知りませんか?
>>772 いま気づいたんだけど、pgsqlは有効になってなかったみたい。。
いまconfigureを改造中。
>>775 見当違いだとは思うが・・・php.iniの570行辺りの
;extension=php_pgsql.dll
を
extension=php_pgsql.dll
にしてみるとか。
>>776 configureっていってるからUNIX系だろう
dllはWin
778 :
nobodyさん :03/06/26 11:04 ID:N0YJWK/w
eregについて調べているのですが、 本を見ただけではわからないので質問させて下さい。 現在あるソースを見ながら何をしているのかを調べているのですが、 eregを使っている部分で分からなくなってしまうので 解説してもらえないでしょうか? 具体的には以下のようなコードが書かれています。 ------------------------------------------------ ereg( "([0-9]{1,2}) (.+)", $ini_file, $regs ) ) ereg( "\*", $regs[2]) ereg_replace( "\*", "", $regs[2] ) ereg_replace( "\*", "(.*)", $regs[2] ) ereg("\"[EGOPS]{2,3}T ".$ini[$ii][1]."(.*) HTTP", $file, $regs) ereg( $param[$ss], $log_url ) eregの部分だけなので繋がりがなく分かりずらいと思いますが よろしくお願いします。
>>778 EGOPSはEGCPS(env,get,cookie,post,system)の間違いじゃないの
そうでもないと思うで。
>>778 eregはパターンマッチ。
ereg_replaceは置換だ。
783 :
nobodyさん :03/06/26 22:07 ID:tmWmfhiO
Perlのdo()に相当する関数はPHPに用意されてませんか?
785 :
nobodyさん :03/06/26 22:23 ID:tmWmfhiO
>>784 do{}while じゃなくて、do() です。
do 'a_script.pl';
で他のプログラムを実行できる関数です。
requireと似ているけど、何度でも読み込める点が違います。
>>785 >requireと似ているけど、何度でも読み込める点が違います。
require_onceならその説明は正解だが・・・。
マニュアル嫁。で終わりそうだがなぁ。 exec()でも使っとけば?
784はいいとしても、そのしたにぶら下がってるのは何なんだよ。。 つーか俺が余裕ないの?
>>754 ワラタ
はなしは変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP)
このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。
この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
いきなり変な事いいだしてスマソ‥‥
GBAと比べてみてどうですかね?(シェアの事は抜きで)
PSPどうなんだろうねナーブスサポートってのが非常に興味あるところなんだけど、 所でPHPとPSPを架けてるのかそれともただの誤爆?
GBAガムバレヽ(´ー`)ノ
792 :
nobodyさん :03/06/26 23:20 ID:XYA3PmxJ
>>789 無差別コピペネタを持ち出すなよ
モマエが犯人か?
それとも2行目からコピペか?
794 :
783 :03/06/27 00:12 ID:???
>>787 セーフモードなので exec()使えませんでした。
eval 使ってみたけど、単文しか評価できないのね。
うーむ。
virtual()?
796 :
nobodyさん :03/06/27 23:02 ID:qudZRHji
サーバーで実行してる時のタイムアウトを回避する方法ってある?
念を送る
念はパケットのようなものですか?
>>775 自己レスだけど、configure改造したらうまくいきました。
*.soやらlibpq-fe.hやらのファイルの存在をチェックしてる
とこを全部削除して、pgsql関連のパスを全て決め打ちに
しただけだけど。こんなことしてるの自分だけなのかな。。
ぱっと見ではオリジナルでうまくいくはずなんだけど(あた
りまえ)。
>796 そりゃ、あるだがよ。 php.iniをくまなく見てみ。
>>800 set_time_limit( 0 );
だな?
set_time_limit( * ); //Anal
>>799 お疲れ様です&おめでとう。
Plamo 故の苦労ですかね。参考になります。
max_execution_time max_input_time このあたりだろう。
374 名前:nobodyさん 投稿日:03/06/28 00:09 ID:???
ZendJapanってなんかPHPに貢献してんの?
375 名前:nobodyさん 投稿日:03/06/28 00:19 ID:???
>>374 スレ違い。質問スレいってらっしゃい。
それから何でそう思ったか前後の文脈や知ってる事くらい書きなよ。
それじゃ PHP-users に流れてくるゴミと変わらないぞ。
一応マジレスしておくとPHP をメインにビジネスフィールドを持っているだけでも意味がある。
ビジネス層での利用が厚くなったら色々還元ある事は想像出来るだろう。
まぁビジネス利用が増えたせいか PHP-users に DQN な職業プログラマの還元があってちょっと困った一面も産んでいるが。
これで怪しげな会社なら話は別だが Zend ならまぁ安心では。
TUNEBiZ や テンアートニ もリセラーになってビジネスチャンスを作ろうとしているし
Zend が昨年日本に来てからの動きは悪くないんじゃないか。
ただユーザー会を見ても Zend のリセラーさんからのフィードはあっても
ZendJapan を直接見かける事は無いね。
まぁどっちにしろビジネスフィールドで旗頭やってるだけである程度の役割になってるんでは。
あと Zend 本社とのつなぎになってるしね。
多次元配列(キーは添え字)をソートした、結果のキー部分を取得したいんですが、 usortで色々と試してみたものの、中々上手くいきません。 キーが数字になって戻ってきてしまいます。 $xx = array ( 'a' => array(1,2,3), 'b' => array(3,2,1), ); 上記のような配列で、3項目目でソートした結果の(b,a)という配列が欲しいのですが。 ↑結果をキーの配列で取れなくても、多次元連想配列でソートできれば良いんですけど^^; なにか良い方法は無いでしょうか? uksortも試してみましたが、動作がいまいち分かりませんでした;
>>806 初心者ゆえいつも関数はマニュアル引いて使ってますが
配列関数のインデックスを見ると
usort -- ユーザー定義の比較関数により値で配列をソートします
とあるけど目的と違うんじゃないの?
RTFM って気がする、、自分で調べないと何も上達しない、、と思うよ。
>>806 uasort($xx, create_function('$a, $b', 'return ($a[2] > $b[2]) ? 1 : -1'));
print_r(array_keys($xx));
あとはマニュアルを読んで調べてください。
キタ━━━━━(゚∀゚)━━━━━!!!!
810 :
nobodyさん :03/06/30 00:48 ID:8Khs5mrJ
すごき不思議なことがあって質問させてください. [form.php] --------------------------------------- <INPUT TYPE="text" name="name"> <select name="prefecture"> <option value="">選択してください </select> --------------------------------------- [confirm.php] --------------------------------------- echo $_POST['name'] . "<BR>"; --------------------------------------- これだと化けるんですが <OPTION VALUE="選択してください">選択してください とかVALUEに日本語を入れると化けないんですよ. ホントは日本語じゃなくて数値を入れたいんですが それをやると多重エンコード(?)されるようで化けてるみたい… やってる設定はPHP4.1.2でini_setで [mbstring.http_output] SJIS→EUC-JP にさせてます. この辺関係ありますか? よろしくおねがいします!m(_ _)m
普通、 <OPTION VALUE="選択してください">選択してください って書くんじゃない? <OPTION VALUE="value1">選択してください みたいに英数字使ったほうが楽なんじゃない?これやると文字化けするの? confirm.phpにはSJISで送られてる? form.phpはSJISだよね? 文字化け問題はケース倍ケースだから本人じゃないと解消が難しい。。。
>>810 form.phpおよびconfirm.phpのソース の文字コードを確認。
form.php、confirm.php ともにMETAタグで HTTP-EQUIV="Content-Type" の指定をすること。
どう?
EUCなら <form>の直下に <input type="hidden" name="hoge" value="美乳の往来" /> が最強
814 :
nobodyさん :03/06/30 02:12 ID:28Hlrgx0
phpが使えるサイトに引っ越そうとしているんですが、 他サーバのファイルを読み込むことって出来ませんかね? 以前のperlで作ったcgiと、新しくphpで書いたプログラムと、 しばらくは同期を取りたいので、以前のサイトのdatを 参照させたいのです。 datのフォーマットが同じプログラムを組もうと思ってるんですが。 セキュリティ的にだめなのかなー。
>>810 まぁ php の頭で、
Header("Content-Type: text/html; charset=ISO-2022-JP");
ってやると結構なおったりするかもね。
816 :
_ :03/06/30 02:50 ID:???
ってゆーか美乳テーブルとかHTTPヘッダで強制指定する前にもうちょっと文字コード関連見直せ。 話はそれからだ。 動いたらいいって考えやめれ。趣味ならともかく仕事でやってたら市中引き回しにしてやりたくなる。 php マニュアルのマルチバイトコード関連見直して php.ini の設定見直してコードが何で記述されているかブラウザはどう解釈しているかもチェックしる!
819 :
810 :03/06/30 10:26 ID:JZyVHkmB
810です.
みなさん返答ありがとうございます.(/_;)
[form.php]も[confirm.php]も[EUC-JP]です.
[mbstring.http_output]と[mbstring.internal_encoding]の
設定を[EUC-JP]にしてあります.
>>815 ダメでした・・・
>>813 ば,化けません!
なるほど,美乳テーブルってのがあるんですね.
ってことは
[mbstring.http_output]のEUC-JPってのが
うまく働いてないんですかね?
ソースも全てEUCで統一すればいいのかなと
思ってましたが.
とりあえず解決しそうですが
根本的な解決方法ってありますか?
もっとここみろや!とか・・・
これ試せ!とか.
m(_ _)m
美入テーブルで直るなら単にブラウザが SJIS で解釈してるだけじゃぁ、、 またとほほ感が漂ってきた、、PHPユーザーってPHPユーザーってPHPユーザーって…
だからまずブラウザがどの文字コードで解釈しているのかを確認、 EUC-JP 以外なら EUC-JP に強制指定して化けているかどうか確認、 それで化けないなら単に HTTP ヘッダや HTML の HEAD 要素内での指定が足りないだけ。 美乳テーブルも含めて色々勉強しる! ブラウザがEUC-JPでデコードしようとして化けるなら php 側の問題の可能性が高い。 PHP マニュアルをもう一度しっかり読み直すか output_buffering とかも見る。 php.ini を一度破棄してもう一度書き起こすのも有り。 こういう場合のセオリーはまずどこで問題が発生しているのかを切り分ける事。 そのために何をしたら良いかを思いつかないのは基本的な知識が不足している。 一昼夜で身に付くものでもないがそんなに難しい事でもない。地道に勉強しる! 鬱だ… PHP、自分で使うことあっても外注jはしたくないと思う今日この頃。 って偉そうに言ってますが漏れも歴半年の初心者なので間違っていたら正直すまん。
あ、あと PHP 側が疑わしい時は internal_encoding を指定してみるといいかも。 これで解決した事があったので。
823 :
810 :03/06/30 18:43 ID:JZyVHkmB
>> 821 いや,ちゃんとPHPのheaderでもHTMLのHEADERでも EUC-JPを指定してますし,ブラウザの解釈もEUCに なってます.DBから取り出した部分は化けないですし… PHP内部で間違ったエンコードをしてたりすることはないですか? あと[output_buffering]はレンタルサーバじゃ変えれませんよね? >> 822 [mbstring.internal_encoding]はEUCに設定しなおしてあります. 初期は[Shift_JIS]でした.
>>823 おれは.htaccessでこうしてる
php_flag output_buffering on
php_value output_handler mb_output_handler
php_value mbstring.language Japanese
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding EUC-JP
php_flag mbstring.encoding_translation Off
php_value mbstring.substitute_character 0x3013
おまえはどうよ?
825 :
↑ :03/06/30 18:57 ID:???
ちなみにSJIS表示用ね
レンタルサーバーなのね。 てレンタルで SJIS って。Zend-Multibyte なのかな。 美乳テーブルで正常になるという事はそこの文字コードの自動解釈が問題になっているのでそこを叩けばどうにかなると思われ。 ってそれだと EUC-JP で print "適当な長文入れてくれ"; って書いたコードが、EUC-JP で出力されてブラウザも EUC-JP として解釈しているにもかかわらず化けるって風にも読めるんですけど〜 マジで?
鬼のような遅レスだが
>>280 俺の環境(VineLinux2.6/PHP4.3.2/internal_encoding=EUC-JP)では、
:
:
//サブジェクトののエンコード
$subject_jis = mb_convert_encoding($subject,"ISO-20220-JP","EUC-JP");
$headers['Subject'] = mb_encode_mimeheader($subject_jis,"ISO-2022-JP",B);
:
:
のように、MIMEエンコードのまえに、文字コードそのものをISO-2022-JPにする
必要があったぞ!むちゃくちゃ悩んだので謝罪と賠(ry
828 :
827 :03/06/30 19:16 ID:???
$subject_jis = mb_convert_encoding($subject,"ISO-20220-JP","EUC-JP"); × ISO-20220-JP ○ ISO-2022-JP 須磨。
829 :
nobodyさん :03/06/30 21:23 ID:20Tzqw5+
Oracleと連係して使ってる方いませんか?connectしようとすると 「ORA-00022:無効なセッションIDです。アクセスは拒否されました」 というエラーが時折出ます。ブラウザをリロードすると直って正常に connectされるのですが、原因が何かご存知の方いたら教えてくらさい… Oracle(Server)8.1.7 (Client) 8.0.5 Apache 1.3.26+PHP 4.2.2@Solaris 2.6です…
SQLite標準搭載ハァハァ
>>830 多少スレ違いな気もしますがPHP自体にデータベースエンジンが
デフォルトで組み込まれるみたいすね。かなりアツい。
#なんで某/.にはPHPの話題を荒そうとするのがいるんだろう?
#4.3.2のときもそうだったし。
DB 追加インストール不要をささやいてあんな事やこんな事まで、、(;´Д`)ハァハァ
どうせJoinもできないしViewもないんだろ まあ,でもほとんどのDQNユーザは正規かなんかしてないもんな。
プロバイダ(ヤフー)のメールサーバ使ってメールが送りたいのですが、 sendmail_fromがダメだと言われてしまいます。 これはプロバイダの問題なのでしょうか…。 test.php <? mail("自分のアドレス","test","test"); ?> php.ini SMTP = smtp.mail.yahoo.co.jp sendmail_from = 自分のアドレス 結果 Warning: Mailserver rejected our "sendmail_from" setting in c:\program files\ apache group\apache\htdocs\mywebs\hokage\hokage\test.php on line 2
>>834 spam防止のため当然。宛先がyahoo.co.jpなら可能。
836 :
834 :03/07/01 10:12 ID:???
>>835 そうですよね・・・ありがとうございます。
Win環境でDOMXML使いたいんだけど、dllsの中にlibxml2.dllが見当たらないんだが・・ コンパイルしなきゃ駄目なん?
838 :
nobodyさん :03/07/01 20:54 ID:bLnFwhLT
814です。 チレスになっちゃってゴメン。 >817 ありがとーです。 出来ました。 でも、これってaから順番にファイル名を生成してfopenを繰り返すと、フォルダ内のファイルがなにあるか 探れちゃいますね。 ちとガクガクブルブルです。
>>837 SAXならデフォルトで使えます。
俺はDOMもどき作ったYO!
>>838 見られて困るものは置かない、特にHTTPから見られるとこには。これ基本。
それに、aから順番にファイルを探る暇なヤシはあまりいないと桃割れ
>>840 立派なパスワードクラックの手口です。
専用のアプリケーションを組めば案外はやいかも知れん。
842 :
nobodyさん :03/07/02 00:23 ID:whQYoUt+
関係ないけど, 漏れはドコモのメアド,住所とかその月の1日目の満潮時刻とかをmd5()してるのを使ってる。 親しい友達にはこのルール教えてるから,毎月メアドが変わっても大丈夫。 迷惑メールは全くこない。
>>840 あるディレクトリから再帰的にファイル名を抽出するツールがあるってのを聞いたことがある。
ってか cgi で読み込まれていたデータファイルが漏れまくった事件があったろう、YKK とか TBC とか。
常に最悪を想定して防衛ラインを張る、これ基本。
845 :
nobodyさん :03/07/02 07:53 ID:t8r/g8Qr
mktime()で誕生日を入力して、(time()-mktime(誕生日))/60*60*24*365 で、現在の年齢を出力しようと思って躓いております。 閏年を計算に入れてねぇ〜って事であります。 どうすれば良いでしょうか?? ちなみに誕生日は1970/1/1以降です。
>>845 MySQLに誕生日から年齢求める関数あるよ
848 :
nobodyさん :03/07/02 13:16 ID:r/0hAIxv
最近PHPを始めたんですが コンストラクタのオーバーロードが無いのって不便じゃないですか? みんなどうやって解決してるんですか? 引数ごとにinitメソッドなんかを実装してる?
849 :
nobodyさん :03/07/02 13:27 ID:DVt2dYAB
>844 <? $id = 'hoge'; $pass = 'fuga'; ?> これを外部からクラックして読み出す方法ってあるの?
850 :
849 :03/07/02 13:30 ID:DVt2dYAB
あともう一個質問、 >cgi で読み込まれていたデータファイル って、どんな形式なの? もしかして、単なるプレーンテキスト??
>>848 class Yamazaki {
function Yamazaki () {
}
}
class YamazakiWataruextends Yamazaki {
function YamazakiWataru {
parent::Yamazaki() {
}
}
これしかないよな
間違えた。すまそ
>>848 class Yamazaki {
function Yamazaki () {
}
}
class YamazakiWataru extends Yamazaki {
function YamazakiWataru {
parent::Yamazaki();
}
class YamazakiWataru extends Yamazaki {
function YamazakiWataru {
Yamazaki:Yamazaki();
}
これしかないよな
また間違えた。すまそ
>>848 class Yamazaki {
function Yamazaki () {
}
}
class YamazakiWataru extends Yamazaki {
function YamazakiWataru() {
parent::Yamazaki();
}
class YamazakiWataru extends Yamazaki {
function YamazakiWataru() {
Yamazaki:Yamazaki();
}
これしかないよな
>>848 元々OOP じゃないんだよ。
OO 大好きなら PHP5 で今のうちから人柱やってた方が幸せになれるかも。
まぁ PHP5 が実用になるのって1年以上先って気もしますが。
レンタル鯖の対応考えたらさらに鬱になれます。
漏れはPHP以外ほとんど経験がありませんがそれなりに便利に幸せにPHP4でOOやってる。
ってゆーか
>>853 と一緒だが
calss Shikishima extend PEAR
{
function Shikishima()
{
$this->PEAR()
}
}
ってやってる。
OOPでごりごり行きたいなら,pyてょんの方がいいよ
856 :
848 :03/07/02 14:23 ID:???
>>853 >>854 サンクス
結局メソッド、コンストラクタのオーバーロードに代替する機能は無いと
まあ知恵と根性でがんばるっす
>>855 pytonとか需要なさそうだし
やめておきます(ボソ
というか自分は業務のプログラムがメインなので
出来るだけニーズのある言語を学んで逝きたいのでPHPを触ったんですよ
>>856 >できるだけニーズのある
だったらJavaかVBですね
858 :
854 :03/07/02 16:26 ID:???
>>857 VB の名は口にするなぁあああ (;_;
いやちょっと ASP で最悪な事になった案件の後始末をやっていたので。
Webアプリケーションに限った話なら PHP はかなり強いですよ。特に中小規模で。
Java や C♯ (と敢えて言わせてもらう) は対応しているサーバーはそれなりの物になりますし。
って同名の関数作って parent で呼び出すのでは 「めそっどのおーばーらいと」 にはならないのですか。
何か作っていて特に不便と思うことは無いのですが、メソッドのオーバーライトを行いたいシチュエーションってどんなのでしょう。
PHP 流な解決方法があるかも知れませんよ。
LightweightLanguage カンファレンスも近いのでお題と思って投げていただければ面白いかも。
859 :
845 :03/07/02 17:44 ID:t8r/g8Qr
>>846 えっと、それは、date()を使うって事なんですか?
>>847 借りてるレン鯖ではMySQLは有料な上に、自分の誕生日しか使わないので、
その為だけにMySQLオプション付けるのは抵抗が・・・
それともMySQL使わなくてもPHPで使える関数なのでしょうか?
860 :
844 :03/07/02 18:05 ID:???
>>849 バカな後輩/他ユーザーが .htaccess 書き換えたり、ドキュメントディレクトリに重要な情報を置いてることを忘れて httpd.conf 書き換えられたらアウト。
make の失敗や入れ替えで PHP が落ちていてもアウト。
見られてマズいファイルはドキュメントディレクトリから隔離した方が安全と思われ。
そんなに手間でも無いだろう。
PHPBB や Xoops も同じようなもんだし、問題無いっていえばないんだけどね。
PHP-users に他のユーザーから読まれたくないとか、もっとタイトな条件で「データベースのパスワードどうしてる」みたいなテーマで何回か流れてるよ。
あと short_tags は OFF った方がトラブルは少ないと思われ。
XML でトラブった。漏れのやり方がまずいのかもしれないが。
>>850 そう、xls とか。 csv が一番多かった。
エステのTBCとか最悪だったな、、、女性の年齢住所氏名電話番号とセットでスリーサイズがずら〜〜っと。終わってた。
まぁその後にDQNな外注に預けているサーバーをチェックしたらバックアップのアーカイブやAccessで作ったデータベース接続用のデータファイルが
思いっきりドキュメントルート直下に置いてあって冷や汗出たが。
素直に氏ねって思った。神戸の -- さんよ。
セキュリティというか常識に無頓着な職業プログラマー/SIerは少なくないよ。
そして↓に神戸の -- さんが登場する。
登場して欲しいものだ。 当時は何も知らなかったがあまりに相手の対応が嘘くさいので勉強し始めたのがプログラマへの第一歩。 小一時間といわず24h7days問い詰めてやりたい。 全部実名暴露してクライアントに知れ渡ったら会社潰れてもおかしくない。 っていうか潰れろ。 適当な職業意識で仕事されると不幸しか産まない。 バグが人を殺すって話があったと思うが、何も飛行機や車でなくともビジネスプランをぶちこわすに足る開発をやられると会社は傾く。 日本では会社が潰れると往々にして人が死ぬ。 PHP も ML や質問版に勤務時間であるはずの昼間っからDQNな質問が書き込まれると結構鬱になれる。
オーバーライドでなく隠匿として考えろと。
>850 そう。ファイル形式はcsvとかだった。 フォルダにindex.htmlがなくディレクトリインデックスが表示されてた。 パーミッションも設定なし。 ディレクトリ総当りツールは現実的じゃないね。辞書アタックも不正アクセスに入る昨今。 まあしかし、そんなことする必要もなかったわけですな。
phpで指定したアドレスのサイトを「JPEG or PNGのサムネイルで保存する」 方法ってありますか? 「」の箇所がよく分からない部分です。 そういうライブラリとかあるのかしら、、、。
866 :
810 :03/07/03 01:18 ID:WumewTMs
おそくなりました. >> 821 化けてるのを無理やり文字コード変えても 戻らない… なんかEUCで送ったのをSJISと解釈してPHP側で さらにEUCに2重変換しているような化け方な気がする… ちなみに テスト[EUC]→・ニ・ケ・ネ[EUC] となる. これを無理やりブラウザで[SJIS]にすると →磁屡磁嫉磁縞 となる.これを見てなんかわかりますか…? なんかPHPが勝手に文字コードを間違えてると 思ってるけどたぶんホントはおれが間違ってるんだろうな… >> 822 それもEUCにしてあるんでたぶん問題ないと思うんだよね… >> 824 [.htaccess]でその辺の設定をいくつか試してみたよ. でもだめでした… ソースやエンコーディング関連はすべてEUCで統一しています. ちなみに化けるのはクエリで送ったデータだけで DBやPHP上で書かれてるものは化けてません. だから化けてる部分と化けてない文字が混在した画面になる. あとわかってるのは美乳テーブルを入れると化けが直ります.
>>865 ようわからんが、print screenみたいなことしたいの?
>>865 PHPではたぶんできないが,今お使いのOSを教えてくれたら答えられる
SSを手動でいじっってるのか、GDでいじってるのか、くらいの問題なんじゃぁ・・・そうじゃないのかな
SS?
スクリーンショット、、じゃないだろうな。 ってかどうやってHTMLのレンダリング結果を画像に落とすかだろ。 どっかの IE 用プラグインと同じレベルで語られてもな。 放置sage
どっかのMLで数年前に見かけた方法だが、 1. html2psでPostScriptに変換してから、JPEGやPNGに変換。 2. wget+xwdでスクリーンショットを取って、JPEGやPNGに変換。 今はもっといい方法があるかもね。 ネスケもオープンソースになったことだし、作ってる人が居てもおかしくは無いわな。
PHP5ってJavaインタプリタみたいなもんですよね?
html2jpgとか。
878 :
nobodyさん :03/07/04 00:21 ID:nrNx3zhl
PEARの Auth.php ってどうなんでしょ? なんか穴が有るって聞いたんですが。自分でAuth.phpを読んでもさぱーりわかりません。 と思って久しぶりにpear.php.netを見たら、Documentに LiveUser.php の記述が追加されてる! Auth.phpは極々簡単な社内ツールの認証(ユーザ1人しかいませんが)に使ってみたんですが、特に問題があるようには感じませんでした。 多人数の認証だとマズいとか。 LiveUserはコードがCVSに入ったころにちょと読みましたが、当時は漏れの目から見てすら完成度が低かったです。 今はどうなんじゃろか? 誰か教えて下され。
LiveUser 使ってるよ。スマートでいいよ。 完成度低いのはPermやAuthの部分だから適当に自分で修正して活用しる! どうせデフォで付いてくるデータモデルがそのまま通るってケースの方が少ないんだし。 慣れたら本当に便利。 これで自前でAuthやPerm書けるようになったら最強なのだけど。ってそこまでやったら全然手間省けて無いな… LiveUser はフレームワークのような開発者のためのプロダクトを助けるライブラリって感じ。 Auth はそれなりに使われていて知名度もあるけど今ひとつスマートじゃなくて好きになれない。 需要から生まれたパッケージっぽくて実用的だけどアイデアもあまり感じないしコード読んでもスキルの高さは感じない。 穴は結構前に fix されたと思う。
880 :
nobodyさん :03/07/04 01:34 ID:jF6Jc2fn
ちょっと、質問です。 文字コードに依存しない、 半角カナを全角カナに変換させたいんだけど、 下のコードで行くと文字化けしてしまいます。 function cnv_kana($string) { $det_enc = mb_detect_encoding($string); return mb_convert_kana($string,"KVC",$det_enc); } どこを修正すれば良いでしょう?
>>880 mb_detect_encodingで検出できなかった場合どうなるよ?
882 :
880 :03/07/04 06:04 ID:???
>>881 どうやら、半角カナは、mb_detect_encodingで検出できないようなのです。
全角文字だと、問題なく動いてくれるのですが・・・
う〜ん。
$det_enc って要るのかなぁ? mb_convert_kana は使ったことないので知らないが $det_enc が怪しいような。 色々放り込んで試してみて本来何であるべきところが実は何になっちゃってる、とか原因追及できるのでは。 mb_convert_kana っていうよりWeb関連のネタで平気で半角カナを使うWin厨なおっさんを変換したい。っていうか > /dev/null
Win厨なおっさん = デヴでヌルヌル?
$tempにHTMLまんま入ってるとして、HTML中の最初の <h1>タグが入ってたり入ってなかったり</h1> の「タグが入ってたり入ってなかったり」を抜き 出す最短の方法ってどんなのがあるのかしら?
886 :
880 :03/07/04 15:37 ID:???
>>883 string mb_convert_kana ( string str, string option [, mixed encoding])
encoding は文字エンコーディングで、省略さ れた場合は内部文字エンコーディングが使用されます。
http://www.php.net/manual/ja/function.mb-convert-kana.php ということになるらしいのです。
だから、指定しないと、php.iniに指定した文字コードで変換するので、
postで送られてきた文字コードに依存してしまうのです。
例えば、php.iniでEUC-JPに設定していると、
postで送られてきたデータがSJISだった場合、ひどい文字化けに・・・
もう、こだわらんとこうかなー
>>mb_convert_kana っていうよりWeb関連のネタで平気で半角カナを使うWin厨なおっさんを変換したい。っていうか > /dev/null
禿同
887 :
880 :03/07/04 15:38 ID:???
>>885 <h1>(.*)</h1>
…ダメじゃん
>>888 $temp = str_replace("\n", "", $temp);
preg_match_all ("|<h1>(.*)</h1>|U", $temp, $out, PREG_PATTERN_ORDER);
$temp = $out[1][0];
ならいけるかも
>>879 ありがとです :) LiveUserを使ってみるっす。
って、その前にLiveUserを読まんとね。
>>891 0.6.2 を固定で使っていて最近の変更やドキュメントの整備状況はよく解らないので
習得コストを睨みながら使うかどうかの判断を取っていった方がいいかも。
あと DB_Medium か DB_Simple のデータモデルが組もうとしているシステムに合いそうかどうか
見極めておいた方がいいです。カスタマイズっていっても結構しんどいかと。
なんだかんだ言って地雷の多いパッケージ、人に勧めれるかというとそれなりに躊躇うものが。
output bufferingってスクリプト内で指定できる?
出来る。 ------------------ 終了 -----------------------
ヒント欲すぃ
何故マニュアルを読まないのか、何故自分で試さないのか、何故質問をする際にそれらの情報を投げないのか。 試しにCHMマニュアルで output と buffering で検索したら一発ヒットですが。
ごめん、ナナメ読みしてた。 > スクリプト内 出来ない。 .htaccess でどうぞ。
言ってみせ やってみせて させてみせ
56マンセー
902 :
nobodyさん :03/07/05 17:10 ID:guEpOENU
サーバーの環境変数の使い方って変わった? $HTTP_SERVER_VARS["REMOTE_ADDR"]でIP引けなくなった。
903 :
902 :03/07/05 17:11 ID:guEpOENU
ちなみにVer4.3.2でつ
904 :
nobodyさん :03/07/05 17:16 ID:JQOvNlTd
905 :
902 :03/07/05 17:16 ID:guEpOENU
つーかこれはApache側の問題なのかな・・・ マニュアル読んでくる
>>906 誉めてはないんだけど。。。どこかで聞きかじった言葉
あまえらマソモス本で満足してんじゃねいぞ。マヌアル嫁
>>902 オマエはいつの話をしてるんだ?
今年は2003年だぞ
>>908 でも日本語版マニュアルでは $HTTP_SERVER_VARS も使えるような事書いてあるが、、
漏れは $_SERVER 使ってるからいちいち確認は取ってない。
後、初心者はマンモス本読むのとは全く別にちゃんとマニュアル引くくせ付ける、、っていうか ググってもML検索でも調べ方を身につけた方がいいよ。 あとマンモス本もそんなにいいとは思わん。世界のソースコードやサイト、MLに流れる情報にはもっともっといいネタが埋もれている。 書籍は所詮その時点での二次情報。全ての本がそうだとは言わないが。 青マンモスは到達点でなく踏み台。 、、今度から面接する機会があったら課題解決の能力を身につけているかもテストするか、、 基礎能力だと思うんだけどな〜、、
>>910 902って自分の環境(最低限OSの種類とPHPのバージョン)書いてないよね。
P H P 5 の 悪 寒。
>>910 >漏れは $_SERVER 使ってるからいちいち確認は取ってない。
だったら確認してから書いてくだされ。
「定義済みの変数」のページのトップに、わざわざ「警告」と枠でくくって
そこらへんのことがゴニョゴニョ書いてあるから。
914 :
nobodyさん :03/07/05 21:51 ID:/moGVWiG
>>912 OSは知らんが Ver4.3.2 とは書いてあるぞ
すまそ・・・ 思いっきり次のレス見逃してた・・・・。(恥
>909 レイリー散乱による空気の干渉のため。
918 :
910 :03/07/05 22:17 ID:???
919 :
nobodyさん :03/07/05 22:28 ID:GuZVT0Rq
php-4.3.3以降で--with-sybaseでコンパイルできた人入ル?
> MLに流れる情報にはもっともっといいネタが埋もれている 埋もれすぎ
>>918 別に >913も >915も >916も 910 != 902 と分かってて書いてるように見えるが・・・
>>920 確かに埋もれすぎだありゃ。
誰かいいネタをうまくフィルタリングする方法知らないかな〜・・・
>>921 1. 本文行頭から「お願いします」「助けてください」「初心者です」「解りません」を拾ってフィルタ
2. Iわきりさめとか特定の人の投稿だけ通す(ぉ
3. 誰かがまとめる
建設的に考えたら 3 と。
weblog とかで二次情報が回るようになったらかなりいいのでは。
っていうか 1, 2 はさすがにコミュニティからプルしかしていないような気分で鬱になる。
今日は長尾さめの放ってくれた URI が収穫だった。
Java も何も出来ないから PHP でデザパタとかかなり嬉しい。
>>922 おれはphpとpostgresqlのMLを2chみたいに読めるようにしてるよ
同じスレッドは一気に読みたいからね
どうもツリータイプのものは合っていない。
>Java も何も出来ないから 覚えなさい。
function hoge() { static bar; ... } となっている static 変数を関数 hoge() 外から操作する方法ってありますか? かなりイリーガルな方法だと思うけど。
こんにちわ! PHPを始めて見たいと思っている者です。 PHPの統合開発環境で良い物は無いでしょうか? peggyを使って出来るでしょうか?(やっている方は居られますか?)
>>930 PHP-users で検索したら死ぬ程出てくる。
>>933 TruStudioって最近開発止まってない?
どこかで LGPL か PHP かとにかくフリーソフトウェアなライセンシーになってるのは見たけど本家では明示していないし。
コードも公開されてない、、よね?今後がかなり心配。
不満といえば PEAR のコードを TruStudio でトレースした時にエラー吐きまくるのが不満。
ベースの DBG (
http://dd.cron.ru/dbg/ ) が問題だと思うのだけどこっちはクローズドだよね。
これも不安。
sourceforge に上がっていた Eclipse の PHP プラグインプロジェクトは完成度が低いように思えたし結構悩んでる。
海外でシェアのある PHPEdit は日本語化けるし、、う〜ん、、
936 :
935 :03/07/06 13:27 ID:???
ごめん、今 Xored 逝ってみるとサイトが思いっきり変わってた。 しかもめちゃめちゃパワーアップしてる。 ライセンシーも確認、QPL っすか。 TruStudio、 う ー ま ー い ー ぞ ーー !
>>935 フリーオープン云々ほざくならごちゃごちゃ言わんと自分で作れ。
>>937 そんなの作れるもんならとっくに作ってるでしょ。
「私は自作のIDE使ってます」なんて言ったりして。
実際作りたくてもあのくらいの規模になると一人では現実的に無理だ。
ただ
>>935 には前向きな意見が1つもないのは確かだな。
そういう書き込みをみて腹立たしくなるのも分からないではない。
きちんと動いて日本語も大丈夫なのが欲しければ
素直に Zend Studio 使っとけと。高いけどね。
Zend Studioはちょいと使いにくいとオモタ。 主に、プロジェクトの登録とか。あと、フォント周りか。 今のところWebStudioが一番使いやすいかな。
EmEditor+Dreamweaver MXでしこしこやっています。
941 :
nobodyさん :03/07/06 21:15 ID:jvhur2oV
/samples/index.html と /Samples/Index.html を同じとみなしたい 要は全て大文字に変換して /SAMPLES/INDEX.HTML にして評価したい 大文字にする関数ってある?
944 :
941 :03/07/06 21:20 ID:???
漏れのために・・・ 。・゚゚ '゚(*/□\*) '゚゚゚・。 thx!!
>928 操作する、の内容がよく分かんない。 以下のようにstaticの無意味化は出来るけど。 hoge ( ) { static $var ; $var =& $GLOBALS['zw'] ; . . . ; return $var ; }
946 :
nobodyさん :03/07/06 23:21 ID:jvhur2oV
ちょっとスレ汚しでスマソ Microsoft-WebDAV-MiniRedir/5.1.2600 ってアクセスログがあるんだけど、これ何か知ってる?
948 :
946 :03/07/06 23:26 ID:???
DBでアクセスログ管理しててこいつのデータが無駄にアクセスカウント増やしてるから
止めたいんだけど、どうすればいいのかな?
>>946 UAってナニ?
>>948 UAも知らずにログ取ってたのか・・・
それで管理してると言えるのか・・・
ちなみにUAとはUserAgentの略。これでも分からなかったりして・・・
アイテスンナヨ
>>948 多分、User Agentのこと。
Microsoft-WebDAV-MiniRedirって何だっけ?
MS-Officeか何かで、WebDAVで共有した時かなんかに使うのか?
953 :
946 :03/07/06 23:35 ID:jvhur2oV
>>949 UserAgentのことか!UAって言うのか・・・
でも、このアクセスは自動的に行われてるみたいなんですが、何か裏で勝手に動いてるのかな?
ログに記録されていたマシンのブラウザのUAではないから裏で何かが・・・
954 :
946 :03/07/06 23:38 ID:???
ageスマソ
>>952 WebDAVってサービスだよねぇ。。
>>954 いや、WebDAVはプロトコルだが・・・。
当然WebDAVクライアントはあるよ。
IE5はWebDAV対応してる。
956 :
_ :03/07/07 00:03 ID:???
つかググれよ。詳細に解説しているページがあったぞ。 それを見ても意味が分からないなら聞いてみそ。
たぶん世の中にはPHPで書いたプログラムを 売ってる会社ってのがあると思うんだけど、 それってどうやって売る訳? インタプリターだからソースコード渡すはめ になっちゃって困ると思うんだけど。売る側 がサーバ用意して、アクセスさせるって方法 ぐらいしか思い付かない。それとも性善説に 基づいてソースコード渡しちゃうの。。?
>>958 相手先に渡すコードはコメント削除、インデント削除、改行も極力削除とか?
漏れは性善説に基づいてソースコードをそのまま渡してますが。(w
性善説って、、規約附けてるでしょ。 >959 もろ(c)削除して転用してるのあるよね。
つか、見られて困るコードなんてあるのか? ライセンスがしっかり管理されている事が前提だが。
963 :
nobodyさん :03/07/07 06:24 ID:VAEybQRf
>>958 >インタプリターだからソースコード渡すはめ
>になっちゃって困ると思うんだけど。
例えコンパイル言語でも成果物のソース渡さないことなんてあるのか?
>>962 いや、コードを見られて困る訳じゃないんだけど、
例えば月額いくらって感じで金とる場合に
「もう使ってないよ」なんて嘘ついて、ちゃっかり
使用継続とか出来ちゃうでしょ?そのへんどうなって
るのかなーと疑問に思ったんです。
>>964 >例えば月額いくらって感じで金とる場合に
そもそも、こんな商売しない。
>「もう使ってないよ」なんて嘘ついて、ちゃっかり
>使用継続とか出来ちゃうでしょ?
意味不明。そんなもん自動でやろうとするソフト会社は数日で潰れる。
967 :
_ :03/07/07 07:36 ID:???
スクリプトなんて売り切りだな。 月極めで取り引きしたことないYO
参考になったよ。さんくす。
970 :
nobodyさん :03/07/08 15:54 ID:D1sViwbL
phpな話題じゃないかもしれませんが、スクリプトをphpで書いているので
ここに書かせてもらいます・・
https://www.example.com/top.php?hensu1=aaa&hensu2=bbb にアクセスすると、サーバーのアクセスログには
XXX.XXX.XXX.XXX - - [08/Jul/2003:09:47:27 +0900] "GET /top.html?hensu1=aaa&hensu2=bbb HTTP/1.1" 200 26136
が記録されてます。
しかし、クライアントのブラウザによってアクセスログは↑と同じですが
hensu1=aaa
hensu2=bbb
が取得できない場合があります。
Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
などのブラウザです。しかもこれらが確実に取得できないとは言い切れず再現もできません・・
IEのパッチ等での仕様で取得できないのでしょうか。
何か情報があればお教えください。よろしくお願いします。
971 :
nobodyさん :03/07/08 20:40 ID:tUbXNAKE
webprog初心者スレに書いたんですが こちらの方が正しそうなので・・・同じ質問! PHPとMySQLを利用してサイト作ってるんですが PHPのプログラムから直接テーブルやカラムを増やしたりすることは可能ですか? いろいろHP見て回ったんですがこの件に触れているところがなかったので・・・ 意見よろしくお願いします。
972 :
nobodyさん :03/07/08 20:49 ID:GkWXA8QH
2つのスクリプト間でクッキー内容を受け渡したいのですがどうすれ ばよいでしょうか?具体的には、bbs.phpの冒頭でセットしたクッキーを 別のread.phpというスクリプトで参照させようとしています。 bbs.phpで、 setcookie("nnn", $kname, time() + 10086400); setcookie("mmm", $mail, time() + 10086400); として read.phpで$nnnと$mmmで受け取るか$HTTP_COOKIE_VARS["nnn"] にして受け取るか等としていますが実際には受け取れていません。 よろしくお願いします
>>971 SQL覚えてから物言え。
>>972 クッキー設定時のPathによってそのクッキーの有効な範囲が決まる。
974 :
972 :03/07/08 21:51 ID:5DvwJVMw
>>973 2つとも同じディレクトリです。クッキー自体はクッキー設定するスク内でテストしたら正常に記録出きていました。
ただそのスクはPOSTでのみ動作し取得がわはGETのみです。
あんま関係ないでしょうが何かしらそういう仕様の問題でしょうか
976 :
の :03/07/09 10:58 ID:6fG8Iq33
977 :
nobodyさん :03/07/09 11:10 ID:iUToKIMZ
980 :
nobodyさん :03/07/09 23:51 ID:7f/ucxtD
>979 ありがとうございます。 でも内容が難しい...がんばらねば。
981 :
nobodyさん :03/07/10 17:39 ID:lhObzZUb
PHPに限った話でなくて申し訳ないですが フォームからの入力データチェックのような汎用的な事を行う際に クラスのメソッドとして実装するかそれとも「common.php」みたいなものにまとめて いろいろなプロジェクトで使いまわすか、どちらにされていますか? 要するに、以前作ったものをコピーしてきて新たにクラスの一部とするか、 どんなプロジェクトにも使えるような共通ライブラリとしてあるものを呼び出すか、 お聞かせ願えれば参考になります。
OO の方が楽です。 PEAR を参考にしては。
983 :
nobodyさん :03/07/10 20:19 ID:yUDG6lLt
検索処理でつまづいています。 結果が複数ページに渡る場合、テキストリンクでパラメータを受け渡して移動させるようにしています。 しかし、一部の文字(例えば「材」)が入ったワードで、ページ移動させると、URLが文字化けを起こします。 文字コードは内部・出力共にEUCで、受け取ったパラメータは全てEUCにコンバートしています。 postでもgetでもフォームで送った場合は文字化けしません。 解決方法ご存知の方がいましたらご教授下さい。
現在以下のサイトを作っているんですが、わからないことがあるので教えてください。
http://hair.zive.net/ php4+MySQLで構築しているのですが、
検索した後にそのデータが検索条件を指定するフォームに
入っていて欲しいのですがどうすればいいのでしょうか?
たぶんクッキーを使えば出来るような気がしてやってみたんですが
どうもうまくいきません。
ご教授お願いします。
985 :
nobodyさん :03/07/10 21:55 ID:bcX3ZvfV
<input type="text" name="hoge" value="<?php $var = htmlspecialchars($_POST['hoge']); print($var) ?>"> こんなコードの書き方したら見通し悪くなる。あくまで確認用ね。 htmlspecialchars だけじゃなくてちゃんと addslashes とかも調べる事をお勧めする。 っていうか一度セキュアなサイト構築に関するドキュメントをきっちり読んだ方がいいよ 技術系 質問 パターン でググって質問方法も見直した方がいいよ PHP っていうか web プログラミングの基本をどこかで学んだ方がいいよ、そうすればこんな質問でない。 CSS でマウスポインタ変えてるヒマあったらユーザービリティとか↑のような基本的な事をもっと学習しる。 ち ゃ ん と 責 任 持 て よ ビジネスモデルはそこそこだったのにプログラムがヘボったせいで離陸失敗してこけかけた会社を見たことがある。 まぁそこのリスクマネジメントと管理が悪かったのだけど、仕事でコード書くってのはそういう事だよ。 相手の命預かってると思って行動しる。 私なら上司か先輩かにバックアップに入って貰う。
989 :
nobodyさん :03/07/11 15:56 ID:3L/IB82H
例えば$_POST["a"]というデータを受けるページを作ったんですが データaが送られなかったときは Notice: Undefined index: というエラーが表示されます。 jspなんかではrequet.getParameter("a")!=null で判別できたんですが PHPではどうすればいいのでしょうか?
PHP4.3.2 で error_reporting(E_ALL) 環境なのですが、 Notice: Undefined variable: font in $_SERVER['PHP_SELF'] on line 12 のエラーが出ます。どうやって $font を定義すればいいのでしょうか…。 <?php error_reporting(E_ALL); title('hello'); title('world', array('color'=>'red', 'size'=>3)); //function title($title, $font = '') { function title($title) { if (func_num_args() >= 2) $font = func_get_arg(1); if ($font['color']) $color = " color = \"{$font['color']}\" "; if ($font['size']) $size = " size = \"{$font['size']}\" "; if ($color or $size) { print "<font$color$size>$title</font>"; } else { print $title; } } ?>
ところで皆さんはどんなエディタでPHP書いてますか? オススメとかあれば教えてくださいな・・・。
>>991 > オススメとかあれば教えてくださいな・・・。
l / || ヽ ―┼― l
ヽ ┌―┐ ―┼― ┌―――┐ / ̄ ̄ ̄7| | ―― ―┴― _|__/
_ .| ┌┤ ――┼―― | | | ― 「 ̄ ̄ ̄ ̄| / | / ̄\
| | ̄ ̄ ̄| / | | / ― | | / |/ |
人| □ 」 / \ | | / ┌‐┐ | | | /| /
ノ ヽ―――  ̄ ̄ ̄ ̄ヽ ├―――┤ / ├‐┤ ノ |_」 ヽ/ ヽ _/
あと PHP-users も調べれ。
このスレで統計取りたいってなら話は別だが過去に何度も何度も出た質問繰り返すような書き方は最早煽りっぽい。
993 :
_ :03/07/11 18:28 ID:???
994 :
nobodyさん :03/07/11 18:56 ID:TChObK1L
>>989 if (isset($_POST["a"])) {
$a = $_POST["a"];
} else {
$a = "初期値";
}
という感じにするとエラーを回避できます。
記念カキコv(^-^=)
/ ̄ ̄ ̄ ̄\ / ● ●、 | Y Y \ | \ \ ▼ | キョウモイイヒデアリマスヨウニ… | \_ノ 、_人_| | /⌒l___ノ \___(__)_) " "" " " " " " " """ " " """ " "" " " " " " " """ " "" " " " " " "" " " " " " "
iヽ /ヽ | ゙ヽ、 / ゙i | ゙''─‐'''" l ,/ ゙ヽ ,i゙ _ -、 ゙i! 次スレもよろしくね♪ i! ´ ト─‐イ ,l ゙i,,* ヽ,_ノ *,/ ヾ、,, ,/ /゙ " ヽ / i! (⌒i ヽ 〈 i / ,i!:::::::::::::::: ::: :: :: :: : : : : : γ"⌒゙ヽ l l γ"⌒゙ヽ::::::::::::::::::::::::::::::::: ::: :: :: :: : : : : : i i,__,,ノ ヽ_i, i::::::::::::::::::::::::::::::::::: ::: :: :: :: : : : : : ヽ,_,,ノ"~´ ̄``゙ヽ,_,,ノ:::::::::::::::::: ::: :: :: :: : : : :
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。