【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/10/17 10:52ID:zLTg5ihK答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
0002名無しさん@お腹いっぱい。
01/10/17 15:45ID:Q8MYyC2u板全体も活気が無いような。。。
WEB制作板のように人口が増えるといいんですけどね。
0003ヽ( ̄▽ ̄)ノ
01/10/17 15:56ID:3JJxDY5x0004名無しさん@お腹いっぱい。
01/10/17 16:18ID:???CしかりC++しかり、ソケットプログラミングも有るし
perl、Rubyスレでさえあっちの方が人多いよ
気になるのはム板でphpスレが立たない所かなぁ....
人気無いのかと思ったり....
漏れはム板見ると何故か暗い気持ちになるんでこっちを見てる :-)
0005名無しさん@お腹いっぱい。
01/10/17 17:46ID:???メインターゲットに作られた言語ってわけじゃないからね。
だからム板で訊いた方がWebと関係ないところで使っている
プログラマの意見も聞けるので効率が良い。
それに対してPHPは (以下略
0006名無しさん@お腹いっぱい。
01/10/17 20:33ID:???人口は増えてほしいけど
Web制作板のような増え方は(以下略
0007名無しさん@お腹いっぱい。
01/10/17 23:47ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
0008名無しさん@お腹いっぱい。
01/10/17 23:49ID:???(以下略
0009名無しさん@お腹いっぱい。
01/10/18 20:04ID:???PHPを使えるレンタル鯖について話してるスレなかったでしょうか。
ご存知の方いらしたらよろしくお願いします。
0010名無しさん@お腹いっぱい。
01/10/18 23:41ID:T2uwUi59スレッド検索くらいしよう
PHPの使える鯖
http://ebi.2ch.net/test/read.cgi/php/982853195/
で、完全初心者な質問で悪いんですが
PHP4でロックされたファイルに別のプロセスからfopenされた時に
・fopenはFALSEを返す。
・fopenはロックが解除されるまで待ってfopenする。
のどちらになるんでしょうか。
あと、解析スクリプトのログなんかの場合、最大何KBまでにした方がいいでしょうか?
(1つのファイルに一定のログがたまると次のログファイルを作成な感じでやってます。また、REFERERが同サイトの場合はログファイルにはアクセスしません)
0011名無しさん@お腹いっぱい。
01/10/19 00:54ID:???どちらでも有りません。
0012名無しさん@お腹いっぱい。
01/10/19 01:40ID:3/3bTCnhPHPではロックされたファイルを開くときに
flockしなきゃ意味がないの。
00139
01/10/19 07:26ID:???ありがとうございました。逝ってきます。
0014名無しさん@お腹いっぱい。
01/10/20 14:28ID:???一応インストールを終わらせ、Apacheのhttpd.confの書き換え&再起動も完了しました。
ところが、サンプルのphpファイルにアクセスしようとするとphpファイル本体をダウンロードしてしまいます。
httpd.confで書き換えたのは
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
のコメント外しの部分だけです。
ほかに考えられる原因はなんでしょうか?
スレ違いだったらスマソ
0015名無しさん@お腹いっぱい。
01/10/20 21:03ID:ZdVQb7pwmkdir("$New_DIR",0777);
で何かおかしい点あります?
ローカルではできたんですけど、
http://ribbon.to/ ここに上げた途端作れなくなりました。
あと、あんまこんなこと言いたくないんですが、
PHP歴1日でふ。
0016PIG
01/10/20 21:28ID:???セーフモードで使えない関数については、本家サイトに載ってる。
そんぐらいは自力で探してくれ。
001715
01/10/20 21:38ID:ZdVQb7pw多謝です。
無料で妥協していた自分が悪いんですね
また来させていただきますね
0018
01/10/21 16:31ID:i3LhvfUV$a[] = array(3 => "three");
$a[] = array(20 => "twenty");
$a[] = array(10 => "ten");
というデータを降順でソートするにはどうすれば良いのでしょうか。
0019教えて君
01/10/21 16:40ID:???http://www.php.net/manual/ja/ref.array.php
このへん読んでみそ。
0020名無しさん@お腹いっぱい。
01/10/21 18:40ID:R5/oG1Ho参考になるページ無いですか?Perlと違って資料が少ないもので
0022名無しさん@お腹いっぱい。
01/10/21 22:24ID:ipp2sPEMそこで文字コード関係で質問です。
環境は、海外のレンタルサーバでPHP4.0.3とMySQLです。
文字コードの変換はjcode.phpsを使おうと思っています。
書き込み
書き込みフォーム(SJIS)
フォームのデータをjcode.phpsでEUCに変換
MySQLに登録(EUC)
表示
ログをjcode.phpsでSJISに変換
ログを表示(SJIS)
と言う感じでいいのでしょうか?
0023名無しさん@お腹いっぱい。
01/10/22 00:15ID:???実行後に「完了しました」というメッセージをブラウザに表示して
バックグラウンドで B.php を動かしたいのです。
なにかよい方法はないでしょうか?
system() exec() など いろいろ試してるのですが、Windows上では
無理なんですかね。
$fp = fopen ("http://127.0.0.1/aaa/B.php", "r"); だと実行はされる
のですが、処理が終了するまで「完了しました」が表示されなくて・・・
0024ヽ( ̄▽ ̄)ノ
01/10/22 09:41ID:pKmg7lu2ん〜、やりたいことがよく分からないのですが、
A.phpの中に、B.phpをrequire or includeすればいいという問題ではないのかな?
見当違いだったらスミマセヌ
002523
01/10/22 13:13ID:???書き方が変だったかもしれません。
具体的に書くと、掲示板でして
書き込み処理をするのが、A.php です。
書き込み完了時に「書き込み完了しました」と表示させます。
B.php は掲示板トップのHTMLを生成するためのプログラムです。
この処理が普通よりも多いため、10秒くらい時間がかかってしまいます。
(MySQLを呼んでトップから何枚分かをHTML化しようとしています)
ですので書き込みボタンを押すとすぐに「完了」を表示させて
裏でHTML生成したいと。
まだわかりにくいでしょうか?
A と B 2つに分けなくてもできるのならそれでもよいですが。
0026名無しさん@お腹いっぱい。
01/10/22 13:34ID:Xzdmy+dgif(ereg("/1|2|3|4|5|6|7|8|9/" , $aiu)){
???
}
変数に1〜9(全角文字)が合ったらその前部分の文字列
例の場合だと「東京都」を受け取りたいんですがどうやんるんでしょうか。
perl では$`って特殊変数があったんで簡単なんですが・・・。
0027名無しさん@お腹いっぱい。
01/10/22 14:33ID:Xzdmy+dg0028色々@へなちょこ
01/10/22 14:49ID:MqMxwkj6PHPって『-』の比較できないの?
例えば・・・
$a = -5;
if($a < 3){
echo "**********";
}
だと、echoを返さないんだよね〜ぇ
ようするに、
if(5 < 3)って認識されてるんだよね。
これがPHPの仕様なの?それともバグ?それとも、俺の知識違い??
誰か返答を待つ。
0029名無しさん@お腹いっぱい。
01/10/22 14:53ID:???0030ヽ( ̄▽ ̄)ノ
01/10/22 16:07ID:pKmg7lu2なるほど。
私が思い付くのは、まずA.phpを呼び出して「完了しました」メッセージを
出して、A.phpからLocationでB.phpに飛ばさせるというのはどうでしょうか?
試してないので、できるかどうかはわかりません…。
でも、先に「完了しました」って出すと処理中に「戻る」とか「中止」とか
されると危険な香りがするのですが(;´Д`)
0031名無しさん@お腹いっぱい。
01/10/22 16:25ID:Xzdmy+dgそれともあまりの低レベルぶりにビクーリしちゃったのかな。
003223
01/10/22 16:32ID:???LocationでしたらAの中にBの処理を入れてしまえば同じことなんです。
PHPのMLで同じような質問を見つけたけど、メールの文字コードに
ツッコミ入りまくって話が逸れてて残念。
>>26=31
もう少し待つと答えてくれる人が出てくるかも。
0033名無しさん@お腹いっぱい。
01/10/22 18:30ID:???0034名無し
01/10/22 18:38ID:???# すぐLocationとかjavascriptとか・・・ガキだねー
0035電動ナナシ
01/10/23 03:18ID:We7XcUx8まあ要するにスクリプトを非同期で実行したいってことかな。
これでどうかな。async_caller.php から async_called.php を呼ぶコード。
async_caller.php が先に終了するが、called は caller が終了してもバック
グラウンドで実行される。caller に表示されるタイムスタンプが called が
test.dat に記録するタイムスタンプより前であることから確認できるだろう。
Windows2000 + Apache 1.3.20 + PHP 4.0.6 で確認。
async_caller.php
<?php
$fp = fsockopen ("localhost", 80, $errno, $errstr, 5);
if (!$fp) {
echo "Error: $errstr ($errno)<br>\n";
} else {
socket_set_blocking($fp, false);
fputs ($fp, "GET /hoge/async_called.php HTTP/1.0\r\n\r\n");
fclose ($fp);
echo "Current time: " . time() . "<br>\r";
}
?>
async_called.php
<?php
ignore_user_abort();
sleep(10);
$fp = fopen("test.dat", "w");
fputs($fp, time());
fclose($fp);
?>
0036電動ナナシ
01/10/23 03:31ID:We7XcUx8こっちはちゃんと echo が実行されるぞ。何か間違っているんだろ。
>>31
全角数字 "以外" が出てくるまでをマッチさせればよい。以下、例。
<?php
$aiu = "東京都1−2−3";
if (ereg("^([^1|2|3|4|5|6|7|8|9]*)" , $aiu, $match)) {
echo $match[1];
}
?>
0037名無しさん@お腹いっぱい。
01/10/23 09:03ID:???下手な煽りだな。
0038ヽ( ̄▽ ̄)ノ
01/10/23 09:55ID:tU9saneUそうですね…。力になれなくてスミマセヌ。
0039色々@へなちょこ
01/10/23 12:02ID:LqnR7HX9何が馬鹿なんだ?
現実に、結果がそうなってるんだから
馬鹿も糞もねーだろっ!ボケがっ!
>>36
あれ?うっそ!
でも、ちゃんと実行されるのが普通なんだよね。
ちょっとネットで調べてきますゎ(^^;
ご返答ありがとさんです。
0040名無しさん@お腹いっぱい。
01/10/23 12:09ID:???自分の間違いをPHPのせいにしてる時点で馬鹿だろ。
0041名無しさん@お腹いっぱい。
01/10/23 12:11ID:???0042電動ナナシ
01/10/23 12:43ID:6YCgXA7Z$a の中身を確認したか?
$a = -5;
// この間に何かコードが入っているんじゃないか?
if ($a < 3) {
echo "**********";
} else {
echo "\$a is [$a]";
}
とかやってみたらどうなる?
ちなみに PHP-4.0.6, PHP-3.0.18 のいずれでも再現しない。
0043色々@へなちょこ
01/10/23 12:43ID:LqnR7HX90044色々@へなちょこ
01/10/23 12:45ID:LqnR7HX9早速やってみます。
今現在、PHP3です。
004523
01/10/23 14:42ID:???うまく動きました。望みの動作そのものです。
ありがとうございました。
ちょっと感動。
>>38
いえ、ありがとさんです。
>>34
別件で使いたいものがあったので、wget入れてみました。
よいきっかけになりました。
0046色々@へなちょこ
01/10/23 15:13ID:LqnR7HX9あれれ・・問題なく標準どおりの動きをしました・・・
なんでだ??なんで、あの時・・・
でも、ありがとう
0047色々@へなちょこ
01/10/23 15:22ID:LqnR7HX9$a = -1800156246;
if ($a < 1500156246) {
echo "**********";
} else {
echo "\$a is [$a]";
}
?>
これだとやっぱりダメだった・・・
0048名無しさん@お腹いっぱい。
01/10/23 15:45ID:???当方PHP4.0.6、3.0.18-i18n-ja-2(両方Win32)で『**********』が
表示される。マニュアルの『整数』の項に少し興味深いことが載ってる。
それは見てる?
自分のトコじゃ再現しないから如何も分からんが。
あ、貴殿の環境(OSとか)の詳細が明記されてないからこれ以上は誰も何も
言えないと思うのは気のせいか?
0049教えて君
01/10/23 15:46ID:jwAAUSv5簡単なやつで、いじりやすそうなら英語のでもいいです。
0050電動ナナシ
01/10/23 15:58ID:6YCgXA7ZPHPLIB は?
Cart クラスがある。日本語マニュアルもあるし。
0051名無しさん@お腹いっぱい。
01/10/23 16:12ID:???|恐らく 4.0.7では解決されるでしょう)があり、負の数が含まれ
|ている場合に、 常に正しく動作するわけではありません。例えば、
| -50000 * $millionを実行した場合、結果は、 -429496728と
|なります。しかし、オペランドが共に 正の場合は問題ありません。
どういう状況でなるんだろ。
0052教えて君
01/10/23 16:18ID:jwAAUSv5やっぱそうきましたか(w
って普通はそうですよね
一から作ってる時間がないもので…
0053色々@へなちょこ
01/10/23 19:21ID:LqnR7HX9そこのソース教えてよ。
0054名無しさん@お腹いっぱい。
01/10/23 19:26ID:???48を見ればわかるだろ。
0056名無しさん@お腹いっぱい。
01/10/25 09:53ID:U/rq8Oq5IE5.0以上ではなかったらエラーメッセージを表示したいんですけど、、、
$HTTP_USER_AGENT
を見ると例えばMozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
と出て、「MSIE 6.0」っていう部分だけを見たい場合どうすればいいんですか?
0057名無しさん@お腹いっぱい。
01/10/25 10:39ID:???$uagent = $HTTP_USER_AGENT;
if (ereg("MSIE 6.0" ,$uagent)) {
echo "OK";
} else {
echo "エラー";
}
「以上」を知る方法は、わからん。
0058名無しさん@お腹いっぱい。
01/10/25 10:47ID:U/rq8Oq5文字列としてみて正規表現するだけで良かったんですね。
どうもありがとうございました。
0059a'x
01/10/25 10:47ID:???if (ereg("MSIE ([0-9]+)\.([0-9]+)", $HTTP_USER_AGENT, $ver)) {
$version = "$ver[1].$ver[2]";
if ($version < 5) {
echo "古いです:", $HTTP_USER_AGENT;
} else {
echo "OK", $HTTP_USER_AGENT;
}
} else {
echo "IE ではありません:", $HTTP_USER_AGENT;
}
?>
0060a'x
01/10/25 10:48ID:???0061教えて君
01/10/25 10:50ID:oGXvHZc2この例だと strstr() の方がいいんでない?
「以上」を知りたいんだったら ereg の方がいいかもしれんけど。
ereg("MSIE (正規表現)", $uagent, $ver)
みたいな感じ。
0063名無しさん@お腹いっぱい。
01/10/25 10:52ID:???0064名無しさん@お腹いっぱい。
01/10/25 14:37ID:???./configure --with-apxs=/usr/local/apache/bin/apxs \
--enable-i18n --enable-mbregex --with-sybase=/opt/sybase
↓
make
↓
make install
で、インストールしました。
php3.iniのi18n部分は↓です。
i18n.http_output = PASS
i18n.internal_encoding = SJIS
i18n.script_encoding = AUTO
i18n.http_input = AUTO
そして
<?php
echo i18n_ja_jp_hantozen("AAA","R");
?>
このphpファイルにアクセスすると
fatal error call to unsupported or undefined function
i18n_ja_jp_hantozen() in /hoge/php.php3 on line 2
と表示され、i18n関数が使えないと言われます。
php3.0.18で、同じconfigureとphp3.iniの設定ではうまくいきます。
どこが悪くてうまくいかないのでしょうか???
0065a'x
01/10/25 14:45ID:???http://happysize.com/techie/php-ja-jp/spec.html
を見ませう。
0066名無しさん@お腹いっぱい。
01/10/25 14:50ID:???以前はphp3.0.7でも、i18n_ja_jp_hantozen も使えました。
一旦php3.0.18をインストールし、その後php3.0.7をインストールしてから
このような事態になりました…。う〜〜む…
0067a'x
01/10/25 16:40ID:???追加された関数と使用法として
・i18n_http_output
・setkanjioutput
・i18n_convert
・mbstrlen
・mbsubstr
しか紹介されていません。
http://happysize.com/techie/php-ja-jp/spec.html
にも載ってません。
php-3.0.12jp-beta3 の README.i18n では
・i18n_ja_jp_hantozen
が紹介されています。(他数個 説明されている関数が追加されています)
つーことで3.0.12で追加された機能じゃないのか?と思ったんですが。
>現在php3.0.7では、i18n_ja_jp_hantozen 以外の関数も使えません。
README_i18nに載っている i18n_convert 等も使えませんか?
ってphp3.0.18では何か不都合が有るの?
3.0.7とか古いのはセキュリティホールが有ったと思うんですが。
0068PHPスレで言うのも何だが。
01/10/26 00:03ID:QVC2TrVkわざわざサーバサイドでやらんでも
<![if !gte IE 5]>
IE5以降でないときの処理
<![endif]>
で十分では?
0069名無しさん@お腹いっぱい。
01/10/26 11:50ID:???0070名無しさん@お腹いっぱい。
01/10/26 17:14ID:sZX1xevZ#でも//でもどっちでもいいんですか?
使い分けとかあるんでしょうか。
0071名無しさん@お腹いっぱい。
01/10/26 17:24ID:???0072名無しさん@お腹いっぱい。
01/10/26 17:39ID:???・aタグの中のURLは自動リンクしない
・文章の途中のURLもちゃんと自動リンクしたい。
うまくいかなくてかなり苦しんでます・・・。
0073名無しさん@お腹いっぱい。
01/10/26 17:51ID:???0074名無しさん@お腹いっぱい。
01/10/27 23:25ID:???0075名無しさん@お腹いっぱい。
01/10/28 02:31ID:RuLiGr4H日本語の部分が
<12510><12491><12517><12450><12523>
という風になってしまいます。
どうしてだかわかる人いますか?
0076探検隊
01/10/28 21:23ID:???こんな所にWebPG板が!
しかもPHPのスレが!!
知らなかったよー。
別意味での「生ふしあなさん」でした。
関係ないのでSAGEときます
■ このスレッドは過去ログ倉庫に格納されています