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

【PHP】下らねぇ質問はここに書き込みやがれ 31

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/10/25(水) 08:45:46ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

【前スレ】
 【PHP】下らねぇ質問はここに書き込みやがれ 30
 http://pc8.2ch.net/test/read.cgi/php/1159979905/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0483nobodyさん2006/10/30(月) 20:51:02ID:bBR787Fl
HTTP_Clientを使ってファイルをアップロードする方法を教えてくれ。

$target_url = "ターゲットURL";
$client =& new HTTP_Client( $reqParams);
$updata=array( "filename.csv", "filename.csv");
$client->post( $login_url, '', '', $updata);

Warning: Missing argument 2 for addfile() in /インクルードパス/HTTP/Request.php on line 525


何卒お願い申し上げます・・・・・
0484nobodyさん2006/10/30(月) 21:01:53ID:???
>>483
$updata = array(array("filename.csv", "filename.csv"));
じゃないだろうか
後1つ目の値はフォームのエレメント名
ソースチラ見で書いてるんで外してたらすまん
0485nobodyさん2006/10/30(月) 21:45:19ID:???
アクセスログの分け方について質問です。
日別ログや週別ログ、月別ログとして管理画面から閲覧できるものがありますが、
そういうのはログファイルを日、週、月で別々に記録しているのでしょうか?
0486nobody2006/10/30(月) 21:51:21ID:LQ50Lk3U
PHPファイルと同じディレクトリにある、テキストファイルを読み出して、
文章中に含まれるカタカナの語句を全て抜き出し、コンマ区切りで別の
テキストファイルに書き出すということをしたいのですが、ちょっと
手詰まりな状態です。どうか、ご教授願えませんか?

0487nobodyさん2006/10/30(月) 21:57:41ID:???
Aサーバ(Linux)・Bサーバ(UNIX)という環境があります。
AサーバのPHPスクリプトでBサーバに接続し、
Bサーバ上でシェルコマンドを打って、その結果をAサーバに
返す事は可能でしょうか。

例えば、AサーバのPHPで、ls -laというコマンドを、
Bサーバで打って、その結果をAサーバのPHPスクリプトで
表示させたいと思っています。
どなたかご助言お願い致します<(_ _)>
0488nobodyさん2006/10/30(月) 22:02:12ID:???
>>486
fopen
正規表現でカナの抜き出し→配列に保管
配列をファイルに書き込む

これでコードかいて動かなかったら質問しろ。
0489nobodyさん2006/10/30(月) 22:03:12ID:???
>>485
そりゃ作成者に聞かないとわからんが
たぶんログを表示するときに生データから欲しいログだけ抽出してんじゃないの?

>>486
今どこまでできてんの?
0490nobodyさん2006/10/30(月) 22:03:26ID:???
>>487
やればいいじゃん。試してできなかったら質問しろや基地外。
0491nobodyさん2006/10/30(月) 22:10:28ID:???
>>485
日毎のログがあれば集計して週のデータも月のデータも出せるでしょ

>>486
何で手詰まりなのか

>>487
Bでシェルから結果を受け取るスクリプトを置いて
AからBのそのスクリプトのURLをリクエストして
レスポンスを取得するようにすればいい
04924862006/10/30(月) 23:41:30ID:LQ50Lk3U
>>488,489
いまのところ、

$text=fopen("bunsyou.txt","r");
$text2=fread($text,filesize("bunsyou.txt"));
//echo "$text2<br>\n";

for($i=1; i<=10; i++){
if(eregi("[ア-ン]",$text2));

}
fclose($text);
こんな感じです。正規表現にマッチした語句の抜き出し方が、よく
わからないのでして。。。お教えいただければ、ありがたいです。
0493nobodyさん2006/10/30(月) 23:44:13ID:???
file関数使ったほうがいいんじゃないか。
04944872006/10/30(月) 23:45:47ID:???
>>491
レスありがとうございます<(_ _)>

> Bでシェルから結果を受け取るスクリプトを置いて

重ね重ね申し訳ありませんが、↑ってどういう風に
書けばいいのでしょうか。
関数名だけでもヒントを頂けないでしょうか。
0495nobodyさん2006/10/30(月) 23:46:18ID:???
それにforなんて使うな。foreach使えと何度i(ry
0496nobodyさん2006/10/30(月) 23:47:57ID:???

> Bでシェルから結果を受け取るスクリプトを置いて

B.phpの$text="hello"をA.phpにて受け取るスクリプトを書ければわかりやすいだろう。
0497nobodyさん2006/10/31(火) 00:06:18ID:???
$text ="あいうえおアイウエオアさしすせそ";
echo "$text<br>";

if(mb_ereg("[ア-ン]+[アーン]+", $text,$str)) {
  echo $str;
}

あとは自分で調べろ、
04984832006/10/31(火) 00:07:20ID:lBCw+Epv
>>484
おおお!ありがとうございます!
明日試してみます。
PEARのドキュメントってどうもサンプルスクリプトがなくて
使い方がいまいち分からんと思っているのはオレだけか?
0499nobodyさん2006/10/31(火) 00:22:07ID:???
>>494
http://jp.php.net/manual/ja/ref.exec.php
ここらへん

>>498
PEARはtestやexampleが入ってるからそれを見る、
あとはソース嫁が基本
05004982006/10/31(火) 00:48:55ID:lBCw+Epv
>>499
出直してきます。
05014872006/10/31(火) 01:03:18ID:???
>>496
ありがとうございます!試行錯誤頑張ります!
0502nobodyさん2006/10/31(火) 01:05:43ID:6V2Mcmc8
カウンターなどによる二重カウントを防止する関数を作りたいのですが

if文でチェックする場合、
クライアントのIPを取得して、それを何と比較したらいいのでしょうか?
コードは自力で書きますので、どなたかヒントだけご教授お願いいたします。
0503nobodyさん2006/10/31(火) 01:12:04ID:???
以前にアクセスのあったクライアントのIPと比較するに決まってるべさ
0504nobodyさん2006/10/31(火) 03:42:11ID:???
http://pc8.2ch.net/test/read.cgi/php/1150088761/879
0505nobodyさん2006/10/31(火) 06:34:12ID:???
>>492
mb_eregの方がいいんじゃないかな?
0506nobodyさん2006/10/31(火) 06:39:45ID:???
>>497に書いてあることも読まないバカはスルー
0507nobodyさん2006/10/31(火) 07:32:48ID:???
>>497
それだと半角カナが先に来ないといけないし全角はア、ー、ンの3文字だけ
[ア-ンア-ン]にしても半角のァィゥェォとか全角のァヴヵヶとかがマッチしない

$text ="あいうえおアイウァィゥェォガギグパピプヴァヶさしすせそ";
echo "$text<br>";
mb_regex_encoding("sjis");
if(mb_ereg("[ヲ-゚ァ-ヶ]+", $text,$str)) {
var_dump($str);
}
0508nobodyさん2006/10/31(火) 07:42:01ID:???
皆真面目なのに、ほのかにえっちなスレですね
0509nobodyさん2006/10/31(火) 08:04:06ID:5uTR2Wor
$file = file("list.txt");
で配列に読み込んでprint_r($file)で確認すると、
インデックス0($file[0])には一行目が、インデックス1には2行目が・・(省略)格納されてしまいます。

自分がやりたいのは
$file[0][0]で一行目の一つ目のデータを見たいのですがうまくいきません。
どなたかご教授お願いいたします。

list.txtの中身
green,yellow,blue,red
black,red,white,orange
0510nobodyさん2006/10/31(火) 08:11:52ID:???
>>509
カンマ区切りでデータを区切りたいならそう書かないと。
PHPは表計算ソフトじゃないんだからそんなの標準でやるわけないじゃん。

すでに読み込んだデータをカンマ区切りで分解する方法と、
読み込みをカンマ区切りで行う方法とがある。
・後から区切る方法
$file = file("list.txt");
$data = explode(",", rtrim($file[0]));
echo $data[0];
・読み込み時に区切る方法
$fp = fopen("lit.tst", "r");
$file = array();
while($line = fgetcsv($fp, 1024)) {
$file[] = $line;
}
fclose($fp);
echo $file[0][0];
0511nobodyさん2006/10/31(火) 08:16:31ID:???
$fp = fopen("test.csv", "r");
$i = 0;
while (($line = fgetcsv($fp, 1000, ',')) !== FALSE) {
$lines[$i] = $line;
$i++;
}
fclose($fp);

$lines[0][0]みたいにね
時間ないから動作確認してないけど
んじゃ
0512nobodyさん2006/10/31(火) 08:35:31ID:???
>>510-511
ありがとうございます。参考にさせて頂きます。
05134862006/10/31(火) 09:34:28ID:F9LjnucE
みなさまからのアドバイスを手がかりにとりあえず
やってみます。ありがとうございました。
0514nobodyさん2006/10/31(火) 09:56:56ID:???
preg_match_all かな
0515nobodyさん2006/10/31(火) 10:08:09ID:???
マルチ氏ね
0516nobodyさん2006/10/31(火) 10:22:39ID:???
>>514
こっちの方が簡単そう。
$file = file_get_contents("ファイル名");
$file = mb_ereg_replace('[^ヲ-゚ァ-ヶ]+', ',', $file);
echo preg_replace('/^,|,$/', '', $file);
0517nobodyさん2006/10/31(火) 10:25:28ID:kTefGQaT
表示されるHtmlの文字コードをEUC-JPで表示する場合、
文字化けさせないようにするためには
phpの中身(echoとかで表示される日本語)もEUC-JPで書かなければならないんですよね?
0518nobodyさん2006/10/31(火) 10:33:46ID:???
ファイルを保存するときに文字コードをEUC-JPで保存したらいいよ。
0519nobodyさん2006/10/31(火) 10:44:13ID:???
>>517
echoの前にmb_convert_encodingで文字コード変換をかけるとか、
出力データの定義だけEUCにしとくとかでも文字化けはしないけど
そんな手間をかけるくらいならEUCでソース書いた方が早いかもね。
個人的には出力データがソース中にあること自体どうかと思うけど。
0520nobodyさん2006/10/31(火) 11:07:31ID:bXmcDE+8
教えてください。

1)フレーム内にあるページでSSLにするとセッション変数が引き継げないのはどうしてなのでしょう?

2)actionでSSLのURIを指定し、methodにPOSTを指定しても、
GETを指定した時のように、アドレスに引数が表示されるのはどうでしてなのでしょうか?

ご存知の方尾根逢いいたします。



0521nobodyさん 2006/10/31(火) 11:32:07ID:F9LjnucE
関数の"mb_internal_encoding" 内部文字エンコーディングの
設定/取得とありますが、内部文字エンコーディングって
なんでしょうか?
あと、
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
このように用いられている例があるのですが、どんな意味があるん
でしょうか?
0522nobodyさん2006/10/31(火) 11:43:17ID:???
なんか「さすがくだ質!」ってくらいくだらない質問が投下されてるな
0523nobodyさん2006/10/31(火) 13:15:10ID:???
ファイル中で定義されたクラスのみ
配列で出力してくれる関数はありませんか?

get_declared_classesを使ったら、
すごいたくさんクラスが出てきて困っています。
05244832006/10/31(火) 13:20:33ID:tsMd/rxy
>>483
ありがとう神。出来ました。
0525nobodyさん2006/10/31(火) 13:21:46ID:KRBx0YqF
こういう事って出来ないんですかね…

class hoge{
  function foo($match){
    return "123";
  }
  function bar($match){
    return "abc";
  }
}

$before = array(
  "[a-z]+",
  "[0-9]+"
);

echo preg_replace_callback($before, array(array("hoge", "foo"), array("hoge, bar")), "abc123");
0526nobodyさん2006/10/31(火) 13:24:33ID:???
>>523
この関数は、カレントのスクリプトで宣言されたクラスの名前の配列を 返します。
って書いてあるけど。
0527nobodyさん2006/10/31(火) 13:31:16ID:???
すいません。PHPからLinuxのシステムへsambaユーザーの追加を
行いたいのですが、パスワード入力の部分で対話になってしまい
これをどの様に処理していいのか解らず、どなたかご存知の方
おりましたらアドバイス頂けると助かります。(>_<;
0528nobodyさん2006/10/31(火) 14:32:33ID:???
>>527
expect が使えるのならそれを使う
php 側は expect コマンドを使ったシェルスクリプトを実行するようにする

expect が使えないのなら、あきらめたほうがいいかも
0529nobodyさん2006/10/31(火) 14:56:34ID:???
>>528

有り難う御座います。調べててそこまでは辿り着きコンパイルし直して
有効にはなったんですが、peclでモジュールダウンロードしようとする
とlibexpectが無いと言われてしまい、libexpect探してるんですがどこ
に落ちてるか解らないス…orz

#PHPのインストール

version : php-4.4.4

./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-versioning \
--enable-mbstring \
--with-pgsql=/usr/local/pgsql \
--enable-zend-multibyte \
--with-expect=./ext

#pecl install expect-0.2.2
〜
checking for expect support... yes, shared
configure: error: expect extension requires libexpect version >= 5.43.0
ERROR: `/tmp/tmpUKzwZQ/expect-0.2.2/configure' failed
05305272006/10/31(火) 14:59:00ID:???
>>528
>expect が使えないのなら、あきらめたほうがいいかも

ふぉッこれ入らなかったら厳しいんですね…(・ω・;…
0531nobodyさん2006/10/31(火) 15:17:53ID:???
やったことないんでダメかもしらんけど、
proc_open()ってのはそういうケースじゃ使えないの?
0532nobodyさん2006/10/31(火) 15:35:48ID:???
>>529
メッセージから察するにlibexpectがないんじゃなくて
libexpectのバージョンが古いんじゃないかな
aptとかrpmでexpectをアップグレードするとか
0533nobodyさん2006/10/31(火) 15:47:57ID:???
^M(Ctrl+V, Ctrl+M)
を str_replace で置換(削除)したいんですが、
^Mをどうやって指定すればいいでしょうか?
05345272006/10/31(火) 15:52:36ID:???
皆さん有り難う御座います。

>>531

ザッとマニュアル見てみたんですが、ちょっと後ほど試してみます。

>>532

ソースからインストールする癖がついててすっかりそうゆう便利な
物の存在を忘れていました。早速実行してみましたが、やっぱ駄目
ポでした。。。

yum install-expect
expect-5.42.1-1.i386.rpm 100% |=========================| 13 kb

アップデートのものが古いようです。orz...

>libexpect version >= 5.43.0

はぁ…よく解らない…

とりあえず引き続き調べて何かわかったら報告しまつ。(・ω・;

ちなみにOSはCentOS4.4です。
0535nobodyさん2006/10/31(火) 15:55:10ID:???
>>533
"\x0D"
0536nobodyさん2006/10/31(火) 16:40:10ID:???
>>527
>>528
の方法は bash とかのシェルスクリプトを使って
それを shell_exec() で実行するという意味だと思うぞ

proc_open()でいけそうな気もする
0537nobodyさん2006/10/31(火) 17:13:10ID:???
>>534
expectの5.43.0が結構新しいから5.43.0用のrpmがまだstableじゃないんだろう
unstableな最新のrpm探して取ってくるかソースから自前でexpect入れるか
そういう作業に慣れてないなら
proc_open()でできるかどうかから調べた方がいいかも
0538nobodyさん2006/10/31(火) 18:52:52ID:o5P7BR6p
>>518-519
どうもありがとうございます
0539nobodyさん2006/10/31(火) 21:20:22ID:???
アップロードしたmp3ファイルのIDタグの内容を取得する方法ってありますか?
0540nobodyさん2006/10/31(火) 21:44:23ID:???
http://getid3.sourceforge.net/
0541nobodyさん2006/10/31(火) 21:57:29ID:aqfpYPvu
アクセスログを記録したいのですが、ログに記録する時刻は秒単位まで記録するのが妥当でしょうか?
秒まで記録することは精度に信頼できるものか疑問でございます。
どなたかアドバイスお願いいたします。
0542nobodyさん2006/10/31(火) 22:06:28ID:???
>>541
何が言いたいのかよく分からん。
普通ずれないと思うけど、仮に2〜3秒ずれたとしてもそれで何か問題が?
0543nobodyさん2006/10/31(火) 22:08:01ID:???
精度に信頼っていうのが良くわからんけど
別に記録するだけ記録してもいいんじゃない?
データベースで時間管理するなら秒まで記録するはず
05445412006/10/31(火) 22:19:53ID:???
一日のログ数によってお金がかわってしまうので精度をきちんとしたいと思いました。
UNIXタイムで記録するのとY/m/d H:i;s形式どちらが妥当でしょうか?
二つとも記録するのは無駄ですよね?
0545nobodyさん2006/10/31(火) 22:27:26ID:???
ようわからんが、Unix Time Stampでもっとけば、Y/m/d H:i;s形式に変換できるでしょ
0546nobodyさん2006/10/31(火) 22:29:06ID:???
>>544
どっちでやっても相互に変換できるし・・やっぱり何がしたいのか(ry

まぁ、鯖の時計はちゃんと合わせとけよ
0547nobodyさん2006/10/31(火) 22:37:34ID:???
ログファイルの容量が問題になるほど切迫しているわけでもないなら
両方やっとけばいいがな(´・ω・`)
0548nobodyさん2006/10/31(火) 22:41:36ID:???
>>541>>544
「妥当」というのは目的に合致しているかで判断される。
キミの質問にはその「目的」が書かれていないので判断のしようがない。
0549nobodyさん2006/10/31(火) 22:54:25ID:Ch7IBLha
テーブル1
ボタンID
1,2,3,4,5,6,7,8,9,10

テーブル2
使用許可されたボタンID
1,2,3,4,5,6,7

テーブル3
user  ボタンID
1    1
1    2
1    3
1    9
2    1
2    2
3    1

この三つのテーブルから、テーブル1と2を比較し、1〜7までグループ的に使用許可
その後、ユーザーのレコードから使用を認めるようなものが作りたいのです。(ユーザー1なら、ボタン1、2、3。ユーザー3ならボタン1のみなど)

$search = strstr ($table1, $buttonID);

一生懸命考えてこんなんでましたが、もっとスマートに出来ないでしょうか?
MySQLでも上手い事出来る気がしないでもないのです…
どなたかエロイ人へるぷみ〜
0550nobodyさん2006/10/31(火) 22:59:00ID:???
テーブルってDB?
05515412006/10/31(火) 22:59:30ID:???
失礼いたしました、最初にちゃんと説明するべきですね。
あるページのアクセスログを一日単位で集計して、
そのアクセス数のよって企業からお金を頂く仕組みでございます。
ですので、23:59から0:00の間がきっちりやりたいと思っております。
アクセス数を日別に集計したファイルと、アクセスログを提出するのですが、
秒までいれるべきか迷ってしまいました。

主な目的は、一日のアクセス数を集計することと、
1時間単位のアクセス数を調べるのが目的です。

0552nobodyさん2006/10/31(火) 23:01:03ID:???
>>549
宿題ですか
05535492006/10/31(火) 23:02:08ID:???
一応、課題です。いけませんか?
0554nobodyさん2006/10/31(火) 23:02:55ID:???
秒までもってればいいじゃん。何を迷う?何か制限でもあるのか?
それよりも、サーバの時間を正確に保持するほうが大切じゃないの
0555nobodyさん2006/10/31(火) 23:16:42ID:???
>>553
普通、宿題というものは自力でやるもんだ(´・ω・)

>>551
何がそんなに問題なのかが分からない。
時刻を保存した場合、ログの保存にもたついたら31日のログファイルに
30日23時59分のデータが混じる事はあるかも知れんが、
曜日的なバイアスを考慮しないなら期待値は
30日のログファイルに29日のデータが混じるのとそう変わらん。
つまり厳密ではないかも知れないがそこまで深刻な違いも出ない。
1〜2件アクセス数が違ったくらいで動く金額にそんなに大きな違いが?
0556nobodyさん2006/10/31(火) 23:18:11ID:???
>>553
宿題は悩みながら自分でやるから意味がある。
他人に投げた時点でお前の道は絶たれることになる。
0557nobodyさん2006/10/31(火) 23:21:30ID:???
>>551
お前そんなレベルで金をとったら詐欺に近いよ。
っていうかそもそもアクセスログの件数で金額が決まる仕事って、なんだよそれ。ありえない。
05585412006/10/31(火) 23:23:03ID:???
シビアなんです、上司が。

この部分のコードを参照していただきたいのですが、
1行目の処理が23:59:59で
3行目の処理が0:00の場合、
日付、データは23:59:59として書き込まれるのでしょうか?
それとも0:00として書き込まれるのでしょうか?

$string =.date("Y/m/d,G:i:s")
flock($file,LOCK_EX);
fputs($file,$string);
0559nobodyさん2006/10/31(火) 23:29:58ID:???
$stringは23:59:59なんだから当然23:59:59と書き込まれる。
ただし$fileが23:59:59に正しく対応したものであるかどうかは別の問題だな。
0560nobodyさん2006/10/31(火) 23:30:11ID:???
>>541
Webでのアクセスの場合、通信経路によって2秒や3秒ずれることはあるわけで、
結局、取引先に通知すべきなのはログとしてカウントされた時刻でしかない。
どこで線引きをするかを指定しされているわけでなく、どうしても気になるなら先方に聞け。

>>558
前者。
0561nobodyさん2006/10/31(火) 23:30:27ID:???
$stringに格納した値が、ある時は23:59:59またある時は0:00
またある時は片目の運転手またある時は品好きのキザな紳士になってたら困るっちゅーねん
0562nobodyさん2006/10/31(火) 23:31:54ID:???
シビアてログに書き込んだ瞬間の時間の正確さなんて後からどうやって判断するんだ
サーバの時計あわせだけ出来てれば問題なしとするしかないだろ

そもそも最初に秒単位まで記録するかどうかを質問してるけど、分単位で記録しても仕様として通るような上司がシビアとかアフォか
適当に大丈夫ですって言いくるめとけばいいだろ
05635602006/10/31(火) 23:34:50ID:???
ちなみに、apacheがアクセスがあったとして扱う時刻は
$_SERVER["REQUEST_TIME"]
に格納されている。
05645412006/10/31(火) 23:40:17ID:???
一応、テストコード書いて試してみました。
当方の環境では時間差でdate()の中身は変わりませんでした。

$time =date("Y/m/d G:i:s");
echo $time;

for($i=0;$i<10000000000;$i++){
echo "a";
}

echo "<hr>";
echo $time;
0565nobodyさん2006/10/31(火) 23:42:51ID:Ch7IBLha
>553
うはw なりすましかよw
まぁ、array_diff( )を発見したので、これで出来るかなぁ。
ちなみに宿題ちゃいますw
知り合いの会社用ですお
05665412006/10/31(火) 23:44:43ID:???
>>563
php5.1から使えるのですね、勉強になりました。
現在php4.4.3をしておりますので、
近いうち5.1にバージョンアップする予定なので利用させていただきます。
0567nobodyさん2006/10/31(火) 23:47:24ID:???
>>564
×当方の環境では時間差でdate()の中身は変わりませんでした。
○当方の環境では時間差で$timeの中身は変わりませんでした。

あと、そのコードだとたとえ最適化が働くようなコンパイラであったとしても、
2行目で$timeを参照しているので、少なくとも2行目で$timeの中身は(通常なら)確定する。
もし、そうでなければ$timeの値が操作なしで変わってしまうことになる。
不確定性理論みたいなもんだ。
0568nobodyさん2006/10/31(火) 23:53:18ID:???
>>541
一日ズレたって、次の日のカウントに入るだけじゃないの?そんな深刻な問題かね?
一時間ごとにも集計するなら、その一時間ごとにもズレが出るってことだよねw
0569nobodyさん2006/10/31(火) 23:56:51ID:???
ていうかさ、わざわざログファイルを分けないで単一のファイルなりに保存しておいて
日付が変わった後で該当するデータをまとめて抜き出せばずれないよね(´・ω・)

手間がかかる割に無意味だけど。
0570nobodyさん2006/10/31(火) 23:57:56ID:???
秒単位の記録というよりは時計の精度の話じゃん
0571nobodyさん2006/10/31(火) 23:58:55ID:???
本屋のPHP参考書みてもfsockopenに関する説明が
ほとんど無いのはなんで?
0572nobodyさん2006/11/01(水) 00:02:25ID:???
>>541
時計の精度とか、どの時点でアクセスされたと見なすかってのはクライアントと話し合って決める内容だろ
まぁ、マイクロ秒単位の誤差まで問題にされたら困る

>>571
ぷろぐらむ組むのは初めてです。って人に教えるには少々メンドイしページ数が増えちゃうからじゃね?
使うにしてもPHPマニュアルよりRFCの方が役立つしねぇ
0573nobodyさん2006/11/01(水) 00:08:59ID:???
>>571
PHPがWeb用途に重きを置いていて使う人もそれを求めてるから
直接ソケットいじくらず用途に応じたラップしてあるライブラリ使えってこった
0574nobodyさん2006/11/01(水) 00:47:13ID:???
>>566
どっちにしろ、通常はプログラム先頭でdate()の値を変数に取得しとけば問題にならない。
それすら分からないド素人レベルで金取るなよ詐欺師。
0575nobodyさん2006/11/01(水) 04:58:04ID:???
>>571
ソケット通信プログラミングの専門書はC用の既存の本が
いっぱいあって関数は互換があるからそれ読めばいいし、
逆にそれ読まずに使いこなすのはかなり無謀だし、
PHPのマニュアルに混ぜると半分がソケットの話になるか
下手するとそっちの方が分量がでかくなるんで無理がある。
05765712006/11/01(水) 08:04:15ID:???
>>575
おいおい、おれは素人じゃねえよ。
そういう本がないから聞いただけ。
0577nobodyさん2006/11/01(水) 08:09:51ID:???
サバが国内にあるとして、近いところでも20msぐらいはかかるしな。
0578nobodyさん2006/11/01(水) 08:44:37ID:???
> ちなみに、apacheがアクセスがあったとして扱う時刻は
> $_SERVER["REQUEST_TIME"]

「アクセス」ってのが微妙だが、
リクエストがあった時間と客がレスポンスを見る時間は違うかもしれないと。

確かここら辺って、いろいろ複雑だったようなきがする。
Apacheがリクエストを受け取る時間とレスポンスを吐き出しはじめた時間、
レスポンスを送り終わった時間とか。どっかで読んだなあこの話。

> シビアなんです、上司が。

あなたが定義すればいいんですよね。
HTTPリクエストがあった時間を基準に課金することにするって。
0579nobodyさん2006/11/01(水) 09:02:23ID:???
> おいおい、おれは素人じゃねえよ。
プ
0580nobodyさん2006/11/01(水) 09:25:57ID:???
    ,.、,、,..,、、.,、,、、..,_       /i
   ;'`;、、:、. >>579: :,.: ::`゙:.:゙:`''':,'.´ -‐i
   '、;: ...: ,:. :.、.∩.. .:: _;.;;.∩‐'゙  ̄  ̄
    `"゙' ''`゙ //゙`´´   | |
        //Λ_Λ  | |
        | |( ´Д`)// <うるせぇ、エビフライぶつけんぞ
        \      |
          |   /
         /   /
     __  |   |  __
     \   ̄ ̄ ̄ ̄ ̄   \
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0581nobodyさん 2006/11/01(水) 10:05:10ID:???
このようにして、  mb_ereg("[ァ-ヴー]+", $str, $match);
正規表現で文字を抜き出して、配列に格納して表示させたら、

Array ( [0] => タイトル [1] => ツール [2] => カメラ [3] => カメラ
[4] => カメラ [5] => カメラ [6] => データベース [7] => ユーザー)

といった感じで、ダブっているものも検出してしまいます。
これをダブりがないように表示するには、どうすればよいでしょうか?


0582nobodyさん2006/11/01(水) 10:42:42ID:???
>>581
つarray_unique()
0583nobodyさん2006/11/01(水) 10:54:53ID:???
携帯対応CMSっていいのは?
■ このスレッドは過去ログ倉庫に格納されています