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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/14(土) 20:06:11ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは流れを見て970/980/990の誰かが建てれ

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/

過去スレは>>2
FAQは>>3
0348nobodyさん2006/01/22(日) 18:50:11ID:???
>>346-347
レスありがとうございます。
試しに次のことをやってみたのですがやはりOperation not permittedとエラーが出てしまいます。

・phpがあるさらに上層のディレクトリの権限を777に
・試しにルートディレクトリからそのスクリプトがあるディレクトリをrootの所有に

ちなみにphpのプログラムは念のため確認してみましたが所有はrootでした。
mkdirでディレクトリを作成してそのディレクトリの権限をアカウントの者にしたいのですが、
apacheの所有でディレクトリが作成されてしまいまて、効率悪いですがシェルで直接手直しするしかないようです(´・ω・`)ショボーン
0349nobodyさん2006/01/22(日) 19:07:39ID:???
もうちょっとLinux関連の知識を培ったほうがいいと思う。

「phpのプログラムの所有」うんぬんとか言ってる時点で見当違い。
apache経由で動かしてるんだから、apacheの動かしているユーザーでしか動かせない。

そのスクリプト、sshで、sudoなり、suしてrootになって実行すれば動作するだろ。
そういうことだ。
0350nobodyさん2006/01/22(日) 20:40:16ID:???
error reporting E_ALLだと、配列の存在しないINDEX参照したときに
Undefined になるよな。
E_NOTICEだとエラーの詳細がわからんし・・・
おまいらどうしてる?
0351nobodyさん2006/01/22(日) 21:02:03ID:???
array_key_existsで先にに調べれば?
0352nobodyさん2006/01/22(日) 21:17:08ID:???
こんな感じでDBからの値を元にINDEX
作りたいんですけどえらーになってしまう。

foreach ($play as $k ){
$counter[$k['sex']]++;
}
0353nobodyさん2006/01/22(日) 21:28:19ID:???
>>352
エラーの内容くらい書けよ。
0354nobodyさん2006/01/22(日) 21:33:57ID:???
Undefined INDEX $k['sex']
0355nobodyさん2006/01/22(日) 21:38:26ID:???
DB に何が入っててどうやって取り出しているかが問題であって、
その部分が悪いわけじゃない。
ちゃんと array_key_exists でチェックして処理してくれ。
はい次。
0356nobodyさん2006/01/22(日) 21:40:06ID:???
おいおい、おまいら
カウンターのインデックスはDBからの値であって
宣言してないわけだよ。そこへインクリメントしてるから
エラーになるわけだ。 わかんないのか?
$counter[?????]++;
0357nobodyさん2006/01/22(日) 22:31:49ID:???
>>349
レス�dクスです。

>そのスクリプト、sshで、sudoなり、suしてrootになって実行すれば動作するだろ。
説明不足で申し訳ございません;
ブラウザで実行させての動作ということでして;;
もしかしてchownはシェルで実行させないと元々動かない感じだったでしょうか

>apache経由で動かしてるんだから、apacheの動かしているユーザーでしか動かせない。
それともapacheで動かせる権限にディレクトリなりファイルなりを変更すればブラウザでも行ける感じでしょうか
未だに右往左往しておりますorz

ちなみにphp5系+apahce2系をFedoraCore3で動かしてます。
(FreeBSDにしようと思いましたが環境の都合でFCを選択しました)
0358nobodyさん2006/01/22(日) 22:38:51ID:???
ケツ痒くなってきた
0359nobodyさん2006/01/22(日) 22:47:31ID:???
>>357
ブラウザがアクセスするのはサーバなんだから
サーバの権限で動かせるようにすればおk

多分サーバは nobody か apache ユーザ/グループで動かしてるんだろうから
chown -R apache:apache /var/www とかすれば?
0360nobodyさん2006/01/22(日) 23:21:57ID:???
DWでphpでホームページを作っていますが同じページでパソコンと携帯のUserAgentを判断してレイアウトと表示される内容を変えたいのですが、出来ますか?
0361nobodyさん2006/01/22(日) 23:27:01ID:???
>>360
できる。
UAを調べて、条件文使ってPCだったらこれ、携帯だったらこれといった感じ。
0362nobodyさん2006/01/23(月) 00:07:48ID:???
<html><body>
<form action="./mailform.php">
■件名<br>
<input type="text" name="subject"><br>
■本文(※必須)<br>
<input type="text" name="message"><br>
<input type="submit" value="送信"></form>
<?php
$to = "[email protected]";
if( $message ){
mb_language( "Japanese" );
mb_send_mail( $to, $subject, $message );
echo ( "送信しました" );
}
?>
</body></html>

簡単なメールフォームを作ってみましたが、
日本語を件名等に含ませると???となります。
どうすればいいでしょうか?
マニュアル読みましたがうまくいかなく↑な風になりました。
よろしくお願いします。
0363nobodyさん2006/01/23(月) 01:21:28ID:???
>>345
なるほど・・・1日を基点として3週間の最後の日から引けば確かに月曜日になりますね。
ありがとうございますm(_ _"m)ペコリ
date("w")って数値で返ってくるのですが、string型なんですね(;´▽`A``

>>362
mb_internal_encoding指定してやってみて
03643622006/01/23(月) 01:53:26ID:???
>>363
こんな夜中にありがとうございます。
早速やってみます。
0365nobodyさん2006/01/23(月) 02:27:47ID:???
指定したファイルのバイナリデータから、
指定した文字列を抜き出すにはどうすればいいでしょうか?
またそのデータ内に指定した文字列がいくつ入っているかも出来ないでしょうか?
0366nobodyさん2006/01/23(月) 02:38:53ID:???
>>365
$cnt = preg_match_all('/文字列/', file_get_contents("ファイル名"));
0367nobodyさん2006/01/23(月) 04:32:07ID:???
wikiの下のほうでよくみかける、
HTML convert time to 0.015 sec.
みたいな部分はどのように記述されてるのでしょう?
wikiのソースを見ても全くわからず・・・
PHPで動的なサイトを作る練習をしているんですけど、
htmlが、どのくらいの速さで出力されるのか知りたいのです。
どなたかわかるかた教えてください。
0368nobodyさん2006/01/23(月) 04:41:51ID:???
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

$start_time = microtime_float();
 :
メイン処理
 :
$end_time = microtime_float();
printf("HTML convert time to %4f sec.", $end_time - $start_time);

とかいう感じじゃないの?
0369nobodyさん2006/01/23(月) 06:30:22ID:zyAl85LC
セッションで2次元配列を扱うことはできないんでしょうか?
php1.phpで
$_SESSION[$key1][$key2]
のデータを入力したものを
php2.phpで参照しようとしてもできませんでした…
0370nobodyさん2006/01/23(月) 07:47:29ID:???
>>369
自己解決しますた('▽')
てか、ageてた…ごめんなさい
0371nobodyさん2006/01/23(月) 09:59:38ID:???
mySQLとPostgreSQLでどちらを使うか迷っています。
それぞれの利点欠点を教えてください。
0372nobodyさん2006/01/23(月) 10:04:36ID:???
mySQLの方が響きが良い。
0373nobodyさん2006/01/23(月) 10:10:50ID:???
板違いじゃないのか
03743712006/01/23(月) 10:17:45ID:???
phpと使う場合の利点欠点です。
個人的には、性能よりも標準で、つまりより多く使われている方を選択したいのですが。
0375nobodyさん2006/01/23(月) 10:21:21ID:???
>>374
じゃmysqlでいいんじゃない?
psql使えるレン鯖そう多くないし
03763712006/01/23(月) 10:23:46ID:???
ありがとう。糞切りがつきました
0377nobodyさん2006/01/23(月) 10:30:40ID:???
今時の辞書は「踏ん切り」を「糞切り」と変換するのか・・・?
0378nobodyさん2006/01/23(月) 10:52:30ID:???
そういう意味なら PHP 4 → MySQL, PHP 5 → SQLite じゃないか?
0379nobodyさん2006/01/23(月) 11:15:42ID:???
これからはPostgreSQLですよ。マジで。
0380nobodyさん2006/01/23(月) 11:17:16ID:???
2次元配列を使っていて説明しにくいのですが
例えば2×3の配列あって前の配列?の最後の配列を取りたい場合は
end(array)でとれると思うのですが
前の配列の最後の中にある配列の特定の値を取りたい場合はどうしたらいいのでしょうか?
array[0][2]という感じで。

一旦end(array)を取得して次にarray[2]とか2回に分けないといけないのでしょうか?
0381nobodyさん2006/01/23(月) 11:33:19ID:???
end(ary[0])
0382nobodyさん2006/01/23(月) 12:10:22ID:???
配列とか変数とかを気軽にRSS(RDF)形式に書き出すクラスは配布されていませんでしょうか?
0383nobodyさん2006/01/23(月) 12:55:18ID:???
>>381 サンクス
0384nobodyさん2006/01/23(月) 13:27:42ID:???
<?php
if($i==1){
?>

<TABLE>

<?php
}
?>

上のような記述方法って正式に認められてますでしょうか?
0385nobodyさん2006/01/23(月) 13:29:53ID:???
>>384
ok
0386nobodyさん2006/01/23(月) 13:33:31ID:???
ereg_replace を使ってURLのドメインまでを取り出したいのですが
どうすればよいのでしょうか?

http://www.yahoo.co.jp/hogehogehoge/hoge/hoge.htm
↓
http://www.yahoo.co.jp

http://google.com/hoge.htm
↓
http://google.com

のようにしたいのですがどうすればよいでしょうか?
0387nobodyさん2006/01/23(月) 13:35:27ID:???
変数名を正規表現で抽出したいのですが、どのように記述すればいいでしょうか?
0388nobodyさん2006/01/23(月) 13:40:57ID:???
WebProg の正規表現スレってなくなったの?
0389nobodyさん2006/01/23(月) 13:58:04ID:???
>>386
pregじゃダメ?
$url = preg_replace("/^(http:\/\/[^/]+).*/","$1",$url);

あるいは

$tmp = parse_url($url);
$url = $tmp['scheme'] . '://' . $tmp['host'];
0390nobodyさん2006/01/23(月) 13:58:54ID:???
>>388
あるよ
0391nobodyさん2006/01/23(月) 14:14:18ID:???
>>389
parse_url()使ったほうが楽な気がする

$array = parse_url($url);
print $array['scheme'].'://'.$array['host'];
0392nobodyさん2006/01/23(月) 14:26:03ID:???
parse_url() ってうまく解釈できないときにエラーが出るんで、
個人的にはオススメしない
0393nobodyさん2006/01/23(月) 15:02:13ID:???
>>387
変数名の抽出ってPHPのソースからか???
0394nobodyさん2006/01/23(月) 17:24:31ID:???
>>393
そそ、ソースからです。
0395nobodyさん2006/01/23(月) 17:32:57ID:???
>>394
ブロックの長過ぎるコードの解析でもするならそれ用のツールを
用意した方がいいと思うんだけど。
0396nobodyさん2006/01/23(月) 18:12:39ID:???
>>394
手抜き版
preg_match_all('/(\$GLOBALS\[[a-zA-Z_]+\w*\]|\$GLOBALS\[\'[a-zA-Z_]+\w*\'\]|\$GLOBALS\[\"[a-zA-Z_]+\w*\"\]|\$[a-zA-Z_]+\w*)/', $src, $match);
$list = array_unique($m[0]);
var_dump($list);

$XXXX と $GLOBALS[〜] だけ抜き出す。
0397nobodyさん2006/01/23(月) 18:13:29ID:???
書き間違い。
$list = array_unique($m[0]); は $list = array_unique($match[0]);
0398nobodyさん2006/01/23(月) 19:09:38ID:???
くだらない質問スマソ、
$var[] = "";
ってどういう意味でしょうか?
0399nobodyさん2006/01/23(月) 19:12:07ID:???
>398
array_push( "", $var );
とほぼ同じ
0400nobodyさん2006/01/23(月) 19:36:32ID:???
>>399
array_push( $var, "" );

だよね。
しかも$varを配列で宣言しておかないとワーニングになるし。
0401nobodyさん2006/01/23(月) 20:08:36ID:???
こんばんは。昨日chown関数で質問してた者です。
一応解決?しましたので似たような人のために自分が取った方法を書いてきます。

sudoでapacheとnobadyにchownの権限を与えて後はsystem関数で出力 です。
何故かapacheとnobady両方に権限を与えてやらないと通りませんでした。
apacheで動かしてるんだからapacheだけでも行けそうな気がするのですがnobadyがないとFALSEを返すようです。

ちなみにテスト環境は/homeへテスト用アカウント発行して chown -R で再帰的に全てのフォルダ、ファイルを一旦apacheの所有にしてテストしました。
実行はブラウザでアクセスして動かしました。

蛇足ですが、スーパーバイザー権限てroot権限と解釈しているのですがあってますでしょうか

sudoでやりたいことは実現したのですがapahceとnobadyにchown権限を与えているという現状がかなりリスクを背負っているようで回避策を探しています・・・。

0402nobodyさん2006/01/23(月) 21:40:22ID:???
>401
残念だが nobady ではない。 nobody だ。
0403nobodyさん2006/01/23(月) 21:51:41ID:???
セッション情報をデータベースに保持しています。
データベースからセッション情報を取得してから
https://www.stackasterisk.jp/tech/php/searchAction.do?cid=18
のPHP出力をダウンロードさせるの情報を参考にして
phpを作ったのですが正常に反応しません。
セッション情報を取得せずに
試してみると上手くいくので間違いなくsession、ヘッダーあたりで問題があると
思うのですが、解決策はないでしょうか?

ちなみにデータベースからセッション情報を取得するのは
pearのDB.php使ってmysqlに接続しています。
0404nobodyさん2006/01/23(月) 21:53:27ID:???
スーパーバイザーやapahceにも突っ込んであげないと。。。
0405nobodyさん2006/01/23(月) 22:00:07ID:???
>>403
っ ソース
0406nobodyさん2006/01/23(月) 22:10:03ID:???
>>402
まったく、このスレ(板)を見てるなら良く分かると思うんだがね。
0407nobodyさん2006/01/24(火) 01:41:43ID:???
この板の名無しさんてnobodyだったんか
4年通ってたが今気づいた
0408nobodyさん2006/01/24(火) 03:54:25ID:9b512MA6
質問です。
シフトJIS使ってたら、ファイルにデータを保存したりそれを読み込んで表示したり
したときにおかしくなったので、テキストを全部EUC-JPで扱いたいです。
php.iniでは、

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

としているのですが、スクリプトでファイルを書き換えるとEUC-JPのファイルも
シフトJISに書き換えてしまいます。
どこが原因でしょうか?
0409nobodyさん2006/01/24(火) 04:07:26ID:???
>>408
アップロードするツール(FFFTPとか)の余計なエンコード変換機能とか。
# FFFTPのはファイル"名"の変換だけだっけ?
0410nobodyさん2006/01/24(火) 04:33:25ID:???
>>408
>スクリプトでファイルを書き換える

これが何やってるのかわからんことにはどーにもこーにも
04114082006/01/24(火) 04:35:19ID:???
>>409
んと、今ローカルでIIS(ver5.1)で動かしているんです。
EUC-JPにしたログファイルをスクリプトで書き換えたあと
ログファイルを見てみると、シフトJISになっているという感じです。
0412nobodyさん2006/01/24(火) 06:14:37ID:QMkPpjCA
スクリプトが、Webページで実行されたか、コマンドラインから実行されたかを、
スクリプト内から知る良い方法はありますか?
0413nobodyさん2006/01/24(火) 09:17:44ID:???
マニュアルの環境変数とか定義済み変数のところをよく読んでみよう
0414nobodyさん2006/01/24(火) 10:45:38ID:???
設定は>>408で問題ないと思うが
・その設定の状態のもとで、スクリプトが本当に動いているのか。
ログに設定の状態を書き込むようにしてチェックしてみるとか
・スクリプト自体のエンコードが本当にEUC-JPか。そのスクリプトの中で
単純なファイルの書き込みを試してみる。例えば
$fp = fopen('test.txt','w');
fputs($fp,'漢字');
fclose($fp);
0415nobodyさん2006/01/24(火) 11:05:13ID:???
>>411
確認したいんだけど、そのスクリプト既存のログファイルを読み込んで
何かデータを追加して書き込み直す処理だけをしてるのかな。
ここの"何かデータ"にあたるのはどうやって生成してる?

プログラムの設計者が敢えて変換を行ってなければ
PHPの設定如何に関わらず、ファイルの入出力に関しては自動に変換などはしない。
取り合えず>>414で簡単なファイル出力してチェック。
0416nobodyさん2006/01/24(火) 11:10:54ID:???
FreeBSD 5.4 に php 4.4.2 のインストールを試してるんだけど
特になにもせず # configure && make && make install で
以下が md5 チェックを失敗してインストールされませんでした。

[PEAR] Archive_Tar: bad md5sum for file /usr/local/lib/php/Archive/Tar.php
[PEAR] Console_Getopt: bad md5sum for file /usr/local/lib/php/Console/Getopt.php
[PEAR] HTML_Template_IT: bad md5sum for file /usr/local/lib/php/HTML/Template/IT.php

これってバグなんでせうか?
0417nobodyさん2006/01/24(火) 11:19:16ID:???
それは下らない質問ではないと思うんだけど。本スレの方がいいんじゃないかなぁ。
0418nobodyさん2006/01/24(火) 12:47:19ID:???
>>417
原因が分かりました。レスありがとです。

pear 以下の tar ファイルにはやっぱり問題があって、
修正が行われたようです。。。

http://cvs.php.net/viewcvs.cgi/php-src/ChangeLog?r1=1.2233&r2=1.2234

2006-01-22 Greg Beaver <[email protected]>

* (PHP_4_4)
pear/packages/Archive_Tar-1.3.1.tar
pear/packages/Console_Getopt-1.2.tar
pear/packages/HTML_Template_IT-1.1.tar
pear/packages/Net_UserAgent_Detect-2.0.1.tar:
fix bug #36002: md5sum checksum failures on install

とりあえず snapshot 版では fix されてるっぽいので、ここだけ差替えて
利用しようと思います。
0419nobodyさん2006/01/24(火) 13:23:11ID:???
>>416
MD5SUMチェックってことは、それはバグにせよ
そのPHPパッケージの問題じゃないの?
04204192006/01/24(火) 13:27:08ID:???
>>418
つうことは公開してたtar玉とそのチェックサムを
生成した対象が異なってたつうことか。
# 手作業が介在してるのかね。
0421nobodyさん2006/01/24(火) 14:25:37ID:???
mb_send_mailでメールを送信しているのですが、Subjectの最初の文字だけ化けてしまいます。
ソース文字コードSJIS

mb_language('Japanese');
mb_internal_encoding ('shift_jis');

$Subject="株式会社";

$rcd = mb_send_mail($MailTo, $Subject, $Message, $MailFrom);

化けてしまう文字 株
化けた結果 *

$Subject="会社株式";
とかの場合には問題なく表示できます。

同じような状態でEUCで記述した際にも、
登録 という文字が {2 に化けてしまいました。

PHP 4.4.1

よろしくお願いします
0422nobodyさん2006/01/24(火) 14:30:31ID:???
>>421
mb_encode_mimeheader
0423nobodyさん2006/01/24(火) 14:58:21ID:dZqRn44X
Atomを使いたいのでxsltを導入したいんですが
php.iniでextension=php_xslt.dllの前の;をはずすだけでは導入できてないようです
他に何かしなければならないのでしょうか?

ちなみにAtomを使うプログラムは
ttp://page2.xrea.jp/expack/
です

PHPのバージョンは4.4.2です
0424nobodyさん2006/01/24(火) 15:02:44ID:???
ランダムで1〜100の中から一つ数字を選んで
テキストにその数字を書き込む。
というコードを作成したとします。

次にまたページを開いた時に
ランダムで1〜100の中から一つ数字を選んで
テキストに書き込みたいのですが
既にテキストに記入されている数字は選ばないようにしたいです。

なにか上手くやる方法はありませんでしょうか?
0425nobodyさん2006/01/24(火) 15:06:34ID:???
>>423
その「php.iniでextension=php_xslt.dllの前の;をはずす」行為はどこで得た知識?
(php_xslt.dllを使うこと自体は別に間違いではないけど)
取り合えず、ちゃんとPHPのマニュアル嫁。
0426nobodyさん2006/01/24(火) 15:10:34ID:???
>>424
事前にテキストを読み込んで、その値を使わないようにする。

ランダム値を生成して「その値」と等しければ、再度ランダム値を生成
その生成した値もまた…って処理をすれば良いんでないの。
0427nobodyさん2006/01/24(火) 15:23:49ID:dZqRn44X
>>425
ありがとうございます
なんとか導入することができました
0428nobodyさん2006/01/24(火) 15:27:08ID:???
>>424
結局、どこかの場所に使っていない数字を保存しておく必要がある。

閲覧ユーザーごとにやりたいなら、未使用数字を配列にしてセッションに格納
サイト単位でやりたいのなら、未使用数字をDBなどに格納
0429nobodyさん2006/01/24(火) 15:33:13ID:joG44Ifc
ファイル書き込みを行う際に、別の人がファイルをロックしているか
どうかを判定するにはどうしたらいいのでしょうか?
0430nobodyさん2006/01/24(火) 15:35:30ID:???
>>429
マニュアルで flock を読め
0431nobodyさん2006/01/24(火) 15:49:15ID:???
>>429
ロックしている事が、他から確認できるようなロック方法を実装する
0432nobodyさん2006/01/24(火) 16:13:07ID:joG44Ifc
>>430
一通り日本語の部分はよみましたが、どこに書いてるんですか?

>>431
やはり一発で確認する方法は無いという事ですか…
0433nobodyさん2006/01/24(火) 16:36:57ID:IB/gJro7
CSVファイルに対して、擬似的にDBへアクセスするように
SQL文でデータを取り出せるようなクラスとかってどこかで配布していないでしょうか?
0434nobodyさん2006/01/24(火) 16:38:43ID:???
>>429
ロックしてみてロックできなければ誰かがロックしている
0435nobodyさん2006/01/24(火) 17:25:12ID:???
>>432
すでに他の人にflockされてるファイルをflockしようとしたら、
flockが解除されるまで待たされるかエラーが返ってくるから
それで一発で判定できるだろ。
0436nobodyさん2006/01/24(火) 17:35:19ID:???
>>432
ざっくり書くとこんな感じでとりあえずいける。
if ( $fh = fopen( $filename, 'r+b' ) and flock( $fh, LOCK_EX ) ) {
ftruncate( $fh, 0 );
書き込み
}

ロックはその書き込みたいファイルだけじゃなくて他の処理も対象に
含まれる可能性があるので、絶対にこの書き方にすれば ok という
解は存在しない。十分練習を積むべし。

ちなみに、flock は実際にはファイルをロックするんじゃなくて
ロックしますという宣言をするだけなので、flock を使わずに
ファイルを変更することを止めることはできない。その辺注意ね。
0437nobodyさん2006/01/24(火) 18:07:54ID:UpPUFgZM
他のスレで質問したのですが、いた違いだったみたいなのでここで質問させて下さい。

サーバ:
Redhat Enterprise Linux 3
Apache 1.3.33
PHP 4.3.11

クライアント:
Windows XP Pro SP2
Internet Explorer 6.0 SP2

クライアントにおいてクッキーが受け付けられません。
サーバからのレスポンス(PHP経由)ではSet-Cookieヘッダが出力されているのに、
その直後のクライアントからのリクエストになぜかCookieヘッダが付加されないようです。
Set-Cookieヘッダは「Set-Cookie: PHPSESSID=hogehoge; path=/」のように、
一時的なクッキーを設定するようヘッダを出力しています。
サーバにはIPアドレスでアクセスしており、
他のウェブサイトにドメインでアクセスするとクッキーを受け付けることが出来ます。
セキュリティの設定は全てのクッキーを受け入れるようになっています。

何か参考になる情報をご教示頂ければ嬉しいです。
0438nobodyさん2006/01/24(火) 18:17:38ID:???
>>437
ヘッダはどうやって確認してるの
俺はFireFoxにWebDevelopperという拡張機能を追加してるんだがデバッグに便利だよ
レスポンスヘッダもクッキーの確認も簡単
04394372006/01/24(火) 18:20:48ID:UpPUFgZM
IEにレスポンスとリクエストのヘッダが見られるプラグインを追加して確認しています。
ちょっとそのWebDevelopperというのも調べてみます、情報有難うございました!
0440nobodyさん2006/01/24(火) 18:44:37ID:???
>>438
WebDevelopperのレスポンスヘッダ表示ってコンテンツ表示と
同時に別のウィンドウに表示できる?
Information → View Response Headers だと
都度レスポンスを取りにいってるみたいで使い方が限定されるので
Fxの拡張だと http://livehttpheaders.mozdev.org/ の方が使い勝手がいい。
0441nobodyさん2006/01/24(火) 19:38:15ID:???
/で終わるURLからファイル名を取得する方法を教えてください。
たとえば、
http://example.com/
というURLの場合、index.htmlなりindex.phpなりという文字列を取得したいのですが、
どのようにすればいいでしょうか?
0442nobodyさん2006/01/24(火) 19:44:37ID:???
>>441
原則無理。
両方でgetしてみて判定する、という手順を踏めば可能。
0443nobodyさん2006/01/24(火) 19:52:38ID:???
>>441
運がよければContent-Location:ヘッダを見れば判るかも。
たぶん確実な方法はない。
0444nobodyさん2006/01/24(火) 19:54:07ID:???
>>442-443様
なるほど、そうなのですね。
ありがとうございましたm(_ _)m
0445nobodyさん2006/01/24(火) 21:51:09ID:OyZLn4Ht
<?php
$logfile = "hoge.txt";
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
$lines_e = @file($logfile);
while (list($num, $line) = each($lines_e)){
list($num,$mess) = split("\t",$line);
if($num==$a){
do {
echo $a.' = '.$num.'<br>';//テスト用に表示
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
} while ($num!=$a);//$numと$aが違くなるまで繰り返し
}
}
?>

hoge.txtには
1 aaaa
2 bbbb
8 aaa
6 eeee
のように番号とメモがタブ区切りで入っています。
ファイルに書き込むときに同じ番号がある場合
もう一度ランダムで重複しない番号を出す処理を考えていたのですが
上のソースではうまく出来ません。
どのようにすればよいでしょうか?
0446nobodyさん2006/01/24(火) 21:56:40ID:???
>>445
乱数取得するたびにsrandやってるからだと思われる
04474452006/01/24(火) 22:12:26ID:???
なんか根本的に俺間違ってる気がしてきました。

このやり方でなくても
ファイルにある数字と重複しないランダムな数字の
出し方があればお願いします。
0448nobodyさん2006/01/24(火) 22:36:08ID:???
>>445
最初にファイル読んでるときに連続していなければ間の番号、
最後まで連続してたら最終+1した番号を持つようにすれば
重複はしないだろう。
■ このスレッドは過去ログ倉庫に格納されています