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

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

■ このスレッドは過去ログ倉庫に格納されています
00019092006/06/23(金) 01:59:03ID:lPdqGX0Z
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

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

過去スレは>>2
0496nobodyさん2006/06/30(金) 02:59:32ID:???
>>462
>shell_exec でtarか何かでアーカイブするシェルを動かす
>終了後、できたファイルにへのリンクを生成して出力する

これをワンクリックで処理する方法ないでしょうか?
アーカイブにワンクリック、出てきたリンクにワンクリック、
なら簡単にできそうですが、
ワンクリックで、アーカイブ、ダウンロードまで
こなしたいと思います
0497nobodyさん2006/06/30(金) 03:03:31ID:???
そこまでヒント出されてればあとはPHP関係ないよ。少しは自分で考えよう
0498nobodyさん2006/06/30(金) 03:27:50ID:???
>>489
精度よくやるならセッション(もしくはそれに類するもの)を使うが、
別になくても出来ないこともない。

やり方はIPアドレス−誰−現在居る/居ないの関係を
どうやって結びつけるかを考えれ。
(IPアドレス−誰の関係はなくても出来る)
現在居る/居ないはHTTPの仕組み上「接続状態」は得られないので、
接続状態の場合に限ってJavascriptなどで周期的にアクセスを繰り返して
接続を通知する。最後の接続後一定時間は接続してると見なす。
などのやりかたをする。
0499nobodyさん2006/06/30(金) 08:48:06ID:???
オブジェクト指向についての質問です。

自分一人で開発してることもあって、今までは「手続き型プログラミングで十分。
ベタ書き最高!」なんて思ってスパゲティ化もあまり気にせずにいたのですが、
最近ちょっと規模の大きいWebシステムを作っていて、スクリプト・ファイルが何十個にもなり、
また一つのスクリプトが1000行以上になってきたりしました。

そうすると、もはや自分で作ったプログラムなのに、どこでどう処理してるか収拾がつかなくなって
なんかすごく複雑&冗長で無駄な処理をやってる部分も多々あります。

まだオブジェクト指向で作ったことがないし知識もないので、
「一度システムが全部完成してからオブジェクト指向で書き直せばいいや」と思ってたんですが、
このままだとさらに混乱が悪化しそうなので、今すぐオブジェクト指向を勉強して、それで書き直したほうがいいでしょうか?
それともとりあえず完成までベタ書きで続けるべきでしょうか?
0500nobodyさん2006/06/30(金) 09:10:31ID:Y/YT1xaC
switch ($XXX) {

case "aaa":
include = "aaa.php" ;
break;

case "bbb":
include = "bbb.php" ;
break;

}

のようにして読み込みファイルを変えているのですが、
これが100も200もとなってくると管理が大変ですし、
「〜の場合」というチェックを上から順番にしていくでしょうから、
それが上にあった時は良いですが、後の方に存在していたとすると、
それまでのマッチに負荷がかかるというか、
何か(精神的に)スッキリしません。
0501nobodyさん2006/06/30(金) 09:13:21ID:???
>>499
設計からやり直せ
ちゃんとした設計であれば、オブジェクト指向でも手続き型でもどっちでも大差はない
オブジェクト指向を学ぶにしても、そんなスパゲティコードは捨てて、小さいシンプルな題目から始めた方がよい
0502軟式PHP2006/06/30(金) 09:14:02ID:???
>>499
俺は可視性が高ければいい、必ずしもOOPをしなければならないとは思わないなぁ。
複雑・冗長で無駄な処理が多いということは、自分の中でルールをキチンと決めてプログラミングを
作ってないような気がする。
でも一度勉強してみたほうがいいかもね。あと、完成後にOOPに書き直すのは手間がかかりまくるのでやめたがいい。

>>500
ファイル名を配列化したら?
$fileList = array( "aaa" => "aaa.php",
"bbb" => "bbb.php");
if( isset( $fileList[$XXX] ) ){
include( $fileList[$XXX] );
}
0503nobodyさん2006/06/30(金) 09:14:17ID:???
>>500
include("{$XXX}.php");
0504nobodyさん2006/06/30(金) 09:54:59ID:???
>>500
おまいは何をやっとるんだ・・・
もっともプログラミングらしからぬ思考法だな・・・
05054892006/06/30(金) 10:03:51ID:???
>>498
ログファイルと、入室者ファイルを作ったほうが良いのでしょうか?
0506nobodyさん2006/06/30(金) 10:15:30ID:???
>>505
REMOTE_ADDR,timestamp
のログファイルを作って、タイムスタンプが5分以内なら入室中、5分越えたらログから削除、
みたいにつくりたいところだな。
(5分は、10分でも15分でもお好みに)
同一IP者が複数人いても一人と扱われるが、そんなのは知らん。
05074892006/06/30(金) 10:22:00ID:???
>>506
入室者ファイルは別で作ったほうが処理がしやすいのですね。
有難うございます。
0508nobodyさん2006/06/30(金) 11:05:15ID:???
$_SESSION['abc'] ←この中にはどれくらいのデータが入るのでしょうか?
0509nobodyさん2006/06/30(金) 11:33:58ID:0OZ4Tvf7
関数で受け取った引数をそのまま連想配列の添字に使用して、
値を取得したいのですが良い方法はないでしょうか?

> class Config {
> private $conf;
> public function __construct() {
> $this->$conf = array();
> $this->conf['hoge'] = 'tarou';
> $this->conf['hoge1']['hoge1-1'] = 'hanako';
> $this->conf['hoge1']['hoge1-2'] = 'php';
> }
> public function get( ... ) { # 可変引数
> # 引数をそのまま添字に使用したいです。
> return $this->conf[ ... ];
> }
> }
>
> $cfg = new Config();
> # 'tarou'が表示されます。
> print $cfg->get( 'hoge' );
> # 'hanako'が表示されます。
> print $cfg->get( 'hoge1', 'hoge1-1' );
> # 'hanako'が表示されます。
> print $cfg->get( 'hoge1', 'hoge1-2' );
> exit();

配列で受け取ってループさせれば出来そうだと思ったのですが、
できればループは使用したくありません。。。
0510nobodyさん2006/06/30(金) 11:46:47ID:???
getFromArray($key, $data)
{
0511nobodyさん2006/06/30(金) 12:00:31ID:???
書きかけで送信しちまった
動かして確認してないけど、こんな感じで再帰使えばいい

class Config {
  var $conf = array();
  function get() {
    return get_array_value(func_get_args(), $this->conf);
  }
  function get_array_value($keys, $data) {
    $key = array_shift($keys);
    $value = $data;
    if ($key !== null)
      $value = is_array($data) ? get_array_value($keys, $data[$key]) : null;
    return $value;
  }
};
0512nobodyさん2006/06/30(金) 13:27:49ID:???
セッションについて質問です。
セッションの中身を定期的に消さないと鯖に負担がかかると聞いたのですが、
自動的には消されないのでしょうか?
05135092006/06/30(金) 13:28:14ID:???
>>511
ありがとうございます。再帰で無事取得できました。
0514nobodyさん2006/06/30(金) 13:46:39ID:???
>>512
自動的に消すような設定をしているディレクトリに
セッション情報を保存するなら勝手に消される。
(だから自分の予期せぬ結果にならんこともないのだが)

つかセッション機能には一応ガーベージコレクトもあるんだから
それで処理できる範囲ぐらいは自分で後始末ぐらい汁
0515nobodyさん2006/06/30(金) 15:09:11ID:4l4GYYpW
FLASHのメールフォームにと探してて見つけたんですけど
answe.txt、flaファイル、phpファイル、サーバーにアップしても
エラーメッセージすらでません…。phpファイルに問題があるんでしょうか?
それともflaファイルのほう?

<?php

$content="
Hi $nameempf\n
the following site you have to visit: http://www.webdesign-ks.de \n
$name
";

mail($empfang, "recommendation from $name", $content, "From: $absender");

$filename = "answer.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail( "$absender", "Danke f�� Ihre Weiterempfehlung", "$contents\n\n", "From:[email protected]\n" );
$signal=1;
echo "signal=$signal";

?>
0516nobodyさん2006/06/30(金) 15:53:37ID:Y/YT1xaC
>>502-503
>>504
>おまいは何をやっとるんだ・・・

HTMLしか知らなかった時はページの分だけ作らねばならず大変でしたが、
>>500でかなり楽になりました。
というのを、継続していた状態です。
今後、効率的な管理ができるようにしていきます。

存在しない「sss.php」が指定された時のことも考えます。
(switchの場合はdefaultで処理できたので)
0517nobodyさん2006/06/30(金) 16:13:57ID:???
>>516
if (!eregi ('[0-9a-zA-Z]', $str)) or die ('不正な要求ですわ');
if (file_exists ('./' . $str . '.php') or die ('Not Found');

include ('./' . $str . '.php');
0518nobodyさん2006/06/30(金) 16:40:45ID:???
PHPというかHTMLの質問です。

tableで、widthを指定しているのですが.(ドット)があると改行されません。
ドットがあっても改行させることってできないのでしょうか?

スレ違いなのは十分わかってますがなにとぞよろしくお願いします。
0519nobodyさん2006/06/30(金) 16:55:42ID:???
できないっ!
0520nobodyさん2006/06/30(金) 16:57:13ID:???
ドットどころか、半角英字をスペースを空けずに入力すると改行されずにテーブルの巾がどんどん延びる。

対策は、自分で改行されない文字列長を判別し、必要な長さで改行を挿入するとかだろうね。
0521nobodyさん2006/06/30(金) 17:04:42ID:???
>>520
まあ改行されちゃうと、意味を変な解釈をされるからね。
例えばこのスレをWebブラウザ(IEなど)で閲覧すると:

http://wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.example.com/

このリンク(正確にはアンカー)文字列がウィンドウ枠を越えてると横スクロールバーが出ると思う。
0522nobodyさん2006/06/30(金) 17:10:50ID:???
先頭にドットが付いてるとスペース空けても改行されないんですよね
たとえばこんな感じだと.aaaは改行されずbbbは改行される
<table border=1><tr>
<td width="5">.aaa .aaa .aaa</td>
<td width="5">bbb bbb bbb</td>
</tr></table>
0523nobodyさん2006/06/30(金) 17:15:12ID:???
widthなんか指定しなければいいじゃん。
0524nobodyさん2006/06/30(金) 17:16:26ID:???
>>523
0525nobodyさん2006/06/30(金) 17:18:03ID:???
>>524
0526nobodyさん2006/06/30(金) 17:18:05ID:???
最近流れが早いね
0527nobodyさん2006/06/30(金) 17:28:13ID:Y/YT1xaC
>>502-505
>>517

>>500です。

ご指導により、以下のようになりました。

気分的にはかなりスッキリしましたが、
実効果として>>500よりも処理は早くなるのでしょうか。

・$PAGE_IDと同名のファイルを作成しておき、読ませる。
・$PAGE_IDが空の時はtop.php(トップページ)を読ませる。
・$PAGE_IDに相当するファイルがない時はcaution.php(警告)を読ませる。
0528nobodyさん2006/06/30(金) 17:29:18ID:Y/YT1xaC
(>>527の続き)

$file_name = "files/{$PAGE_ID}.php" ;

if(isset($PAGE_ID)){

if(file_exists($file_name)){
include($file_name) ;
}
else{
include "file/caution.php" ;
}
}

else{

include "files/top.php" ;

}

問題点:
・$PAGE_IDにより選択されるファイルは、全て1つのディレクトリ(files)に入れておくことになり、整理しにくい。
・目下、$PAGE_IDとファイル名が異なっている状態なので、上記導入の際はリネームする必要がある。
・ヘッダが共通ファイルであり、$PAGE_IDにより<TITLE></TITLE>等の内容が変わるので、
 結局>>500のようにswitch,caseを使わねばならない?
0529nobodyさん2006/06/30(金) 17:41:37ID:???
>>528
>$PAGE_IDにより選択されるファイルは、全て1つのディレクトリ(files)に入れておくことになり、整理しにくい。
$PAGE_IDの文字列にスラッシュがあっちゃだめなん?


つーかこれは何がしたいんだ?
0530nobodyさん2006/06/30(金) 17:46:06ID:???
>>528
なんか頭が固いね。固定観念?ディレクトリ一つにって決め付けちゃだめでしょ。
0531nobodyさん2006/06/30(金) 18:14:17ID:Y/YT1xaC
>>529

http://www.test.com/$PAGE_ID.html
でアクセスするようにしているのです。
0532nobodyさん2006/06/30(金) 18:16:35ID:???
>>527

<?php
if (isset ($_GET["id"])) {
        $file_name = rawurldecode ("./files" . $page_id . ".php");

        if (file_exists ($file_name)) {
                include ($file_name);
        } else {
                include ("./files/caution.php");
} else {
        include ("./files/top.php");
}
?>

1. $page_id = "hoge" → "files/hoge.php"
2. $page_id = "foo%2Fhoge" → "files/foo/hoge.php"
3. $page_id = "foo%2Fbar%2Fnull" → "files/foo/bar/null.php"

> ヘッダが共通ファイルであり、$PAGE_IDにより
> <TITLE></TITLE>等の内容が変わるので...

ヒント: ファイルをオープンし、正規表現で、

preg_match("/<title>.+<\/title>/i", $data, $matches);
       echo htmlspecialchars ($matches[0]);
0533nobodyさん2006/06/30(金) 18:27:51ID:???
>>531
逆に面倒じゃないか?それ...
初心者がよく使いたがるんだけど。


「テクニックにおぼれない」
↑これ、次スレからテンプレに追加したいw
0534nobodyさん2006/06/30(金) 18:36:24ID:Y/YT1xaC
>>532

"/"(Slash)も"%2F"でURLに含めることができるようですので、

>>531から、
files/foo/hoge.phpを読ませた時のURLは
http://www.test.com/index.html?$PAGE_ID=foo%2Fhoge
となるようですね。

しかし上記URLだと長いのでmod_rewriteを使って
http://www.test.com/foo%2Fhoge.html
とします。>>533

但し"%2F"を使うには、
rawurldecodeというのを使わないとならない?
http://php.s3.to/man/function.rawurldecode.html


>正規表現で
>>500のような状態からここまでとなると、
今は良く分かりませんので、少し勉強してみます。

>>528でもかなり楽になったと思います。
(まだswitch,caseからは逃れられませんが...)
0535nobodyさん2006/06/30(金) 18:48:34ID:???
>>534
> test.php?$PAGE_ID=foo%2Fhoge
> しかし上記URLだと長いのでmod_rewriteを使って

こうする理由がわからねー

> 但し"%2F"を使うには、
> rawurldecodeというのを使わないとならない?

デコードしないとディレクトリを指定できないだろが。
「foo%2Fhoge.php」というファイル名になってもいいなら別だが。





つーかもっと基礎から勉強した方がいいんじゃないか?
0536nobodyさん2006/06/30(金) 18:56:46ID:???
もう寝るか。
0537nobodyさん2006/06/30(金) 19:20:22ID:???
<?
$tp = '
<p>$link - <a href=$link title=$link>$link</a></p>';

$ato = array(
"1.php",
"2.php",
"3.php",
"4.php",
"5.php"
);

foreach ($ato as $link) {
eval("echo \"$tp\";");
}
?>
0538nobodyさん2006/06/30(金) 19:21:44ID:???
あらかじめ設定したフォーマットに従って出力しようと思い
>>537のようにしてみましたが、もっとスマートな方法があるような
気がするんですがどうでしょうか。
0539nobodyさん2006/06/30(金) 19:24:03ID:???
おまいらMVCって知ってるか?
0540nobodyさん2006/06/30(金) 19:42:45ID:???
>>538
ファイル名が、1〜5固定ならば、

for ($i = 1; $i <= 5
 echo "<p>$i.php - <a href=$.php title=$i.php>$i.php</a></p>";

でいいとおもうんだが
0541nobodyさん2006/06/30(金) 19:45:42ID:???
>>538
今意味がわかった。
$tp = '<p>%LINK% - <a href=%LINK% title=%LINK%>%LINK%</a></p>';

echo str_replace('%LINK', $ato, $tp);

がよい。
そんなところで evalなんか使うな。
0542nobodyさん2006/06/30(金) 19:46:28ID:???
echo str_replace('%LINK%', $ato, $tp);
な
0543nobodyさん2006/06/30(金) 19:48:31ID:???
ミス。

foreach ($ato as $link) {
 echo str_replace('%LINK%', $link, $tp);
}

な
0544nobodyさん2006/06/30(金) 19:48:49ID:???
>>539
カンマ区切りデータのことだろ
0545nobodyさん2006/06/30(金) 19:50:49ID:???
>>544
バーカ 最優秀選手だよ
0546nobodyさん2006/06/30(金) 19:52:32ID:???
>>540-542
なるほど勉強になります。

>そんなところで evalなんか使うな。
自分もそこが気になってました。
0547nobodyさん2006/06/30(金) 19:53:14ID:???
>>545
アフォか 日本電気株式会社 に決まってるだろ
0548nobodyさん2006/06/30(金) 19:55:55ID:???
http://ja.wikipedia.org/wiki/MVC
0549nobodyさん2006/06/30(金) 20:26:05ID:???
>537-538です

>>543
この方法だと変数が多い場合は全部置き換えるしかないですかね?
0550nobodyさん2006/06/30(金) 21:03:30ID:+rz/Zfiq
unlinkやchmodが使えない場合、phpからファイルを削除する方法ってありますか
0551nobodyさん2006/06/30(金) 22:28:19ID:???
だれか
>>467
の回答まだ?_
0552nobodyさん2006/06/30(金) 22:32:11ID:???
>>551
http://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.server
0553nobodyさん2006/06/30(金) 23:32:51ID:???
>>546
sprintfのフォーマットの方がいいと思う
$format = '<a href="%s">%s</a>';
printf($format, $url, $text);
0554nobodyさん2006/06/30(金) 23:59:47ID:???
>>544
それはCSVじゃー!

>>545
そりゃMVPやんけー!

>>547
それNECやん!NECつったらPC-100やん?

>>554
マ板でやれ
0555nobodyさん2006/07/01(土) 00:10:38ID:???
>>553
>537-538です。うまいことできました。
ありがとう。

<?
$tp = <<<__HTML
<p>%1\$s - <a href="%1\$s" title="%2\$s">%1\$s</a></p>
__HTML;

$ato = array (
"1.php" => "1.phpへ",
"2.php" => "2.phpへ",
"3.php" => "3.phpへ",
"4.php" => "4.phpへ",
"5.php" => "5.phpへ"
);
foreach ($ato as $link => $title) {
printf ($tp, $link, $title);
}
?>
0556nobodyさん2006/07/01(土) 01:07:56ID:???
>>544
名機ではあるが京セラの血が濃いPC-100を挙げるのは...
0557nobodyさん2006/07/01(土) 01:59:51ID:???
CentOS 4.3 に yum で PHP php-4.3.9-3.12 をインストールしています。
PHP Extension をインストールしたいのですが、php-config と mecab-config
がない状態です。phpize は php-devel のインストールでできました。

php-config と mecab-config はどうしたらできるのでしょうか。
よろしくお願いします。
0558nobodyさん2006/07/01(土) 03:10:55ID:???
ソースから入れれば?
0559nobodyさん2006/07/01(土) 09:12:59ID:???
フォームでPOSTしてきた人の$_SERVER['REMOTE_ADDR']を取得したところ、
毎回「192.168.1.xxx」が返ってきてしまいます。(全国のいろんな人がやっても同じ)
でもこれって自分(鯖)の側のネットワーク内部のIPアドレスですよね?

どうして$_SERVER['REMOTE_ADDR']でこんな戻り値になっちゃうのでしょう??
ちなみに鯖はXREAです。
0560nobodyさん2006/07/01(土) 09:14:31ID:???
phpinfo
0561nobodyさん2006/07/01(土) 10:28:33ID:???
>>560
ん?
0562nobodyさん2006/07/01(土) 10:56:26ID:???
>>560
が?
0563nobodyさん2006/07/01(土) 10:57:09ID:???
>>560
ぐ?
0564nobodyさん2006/07/01(土) 11:07:49ID:???
>>560
ぐ?
0565nobodyさん2006/07/01(土) 13:15:22ID:???
>>560
ぎ?
0566nobodyさん2006/07/01(土) 13:46:47ID:???
>>559
サーバー(自分自信)のリモートアドレスを取得してきている。

$REMOTE_ADDR = getenv("REMOTE_ADDR");
0567nobodyさん2006/07/01(土) 15:34:43ID:???
>>566
普通はクライアント側のIPアドレスを返す筈なのに、なんで?って話だと思うが。
まぁ、xreaはそういうものなのかも試練。
0568nobodyさん2006/07/01(土) 17:12:26ID:???
>サーバー(自分自信)のリモートアドレスを取得してきている。
嘘こくな
0569nobodyさん2006/07/01(土) 18:15:10ID:???
>>566は嘘つき!
0570nobodyさん2006/07/01(土) 18:20:26ID:???
うそつき・・・(by 緒川たまき)
0571nobodyさん2006/07/01(土) 20:29:48ID:???
PHP+JavaScriptはここで聞いても大丈夫なのでしょうか?
05725712006/07/01(土) 20:33:45ID:???
すみません、どなたかお答えいただければ嬉しいです。

チャットを作っているのですが、発言/リロードを押すと下のフレームもリロードさせたいのですが
どのようにすればうまく動作しますか?

上はtopFramem下はmainFrameです。

<script type="text/javascript">
<!--
function reload(){
parent.mainFrame.location.href='logpage.php';
}
-->
</script>

<input name="Submit" type="submit" id="Submit" value="発言/更新" onclick="reload()" />

PHPで、
if($_POST['Submit'] == "発言/更新"){
書き込み処理
}

このように記述しています。


テキスト欄に入力して発言をすると、ファイルにログが書き込まれフレームは更新されず、
空白の状態でボタンを押すと更新されます。
発言したうえで更新したいのですが、どのようにすれば良いのでしょうか?
0573nobodyさん2006/07/01(土) 20:42:48ID:???
>>572
普通そういう場合はformタグのtaeget属性を下側フレームにして
書き込み処理とログ表示を一括して下側のフレームで行い、
送信押されたらフォームに入力されたテキストをJavaScriptで消すってもんじゃないの?

その書き方だと発言時は書き込み処理が終わる前にリロードしてしまう気がする。
05745722006/07/01(土) 20:46:32ID:???
>>573
上の書き込みしたデータを下のフレームに持ってくるのはできるのですか?
0575nobodyさん2006/07/01(土) 20:53:10ID:???
>>574
スネーク、まずはどこでもいいからその辺のフレームチャットを見てくるんだ。
あんまり変な質問をしていたら回答者が呆れて晩御飯に出かけてしまうぞ。
0576nobodyさん2006/07/01(土) 21:05:39ID:???
>>575
見たのですが、さっぱりなんですよ。
0577nobodyさん2006/07/01(土) 21:09:54ID:???
>>576
スネーク、問題はPHP以前のところにあるようだ。このままでは板違いになってしまうぞ。
早急にHTMLをしっかり勉強し直してPHPに関する質問に切り替えるんだ。
05785592006/07/01(土) 21:24:54ID:???
>>567
誰かXREAでアカウント持ってる人、実験してみてもらえませんかね??
ちなみに他の鯖(XREA以外)で同じスクリプトを走らせたところ、
当然ながら問題なくリモートアドレスを取得できました。
0579nobodyさん2006/07/01(土) 21:39:45ID:???
>>576
phpだけでやれば?
0580nobodyさん2006/07/01(土) 21:47:19ID:???
>>578
ちったぁ検索したか?
餅は餅屋。XREA のことは XREA に聞け。
http://sb.xrea.com/showthread.php?threadid=6646

ちなみに、手元で phpinfo() を表示させてみたら REMOTE_ADDR は
グローバル IP アドレスが入ってたよ? http の場合ね。https は未確認。
0581nobodyさん2006/07/01(土) 21:49:59ID:???
>>580 の追記。
https だったらプライベート IP アドレスでした。
これで納得かい?
0582nobodyさん2006/07/01(土) 22:05:11ID:???
$_SERVER["REMOTE_HOST"]
は空みたい。
0583nobodyさん2006/07/01(土) 22:07:41ID:???
gethostbyaddr($_SERVER['REMOTE_ADDR']は?
0584nobodyさん2006/07/01(土) 22:33:18ID:???
$_SERVER["SERVER_ADDR"],
$_SERVER["REMOTE_ADDR"],
$_SERVER["REMOTE_HOST"],
getenv("REMOTE_ADDR"),
gethostbyaddr($_SERVER["REMOTE_ADDR"])
で
$_SERVER["REMOTE_HOST"]
以外は期待通りの動作

>>559か使ってるサーバ固有の問題
0585nobodyさん2006/07/01(土) 23:01:00ID:???
>>584
> $_SERVER["REMOTE_HOST"]
> 以外は期待通りの動作
期待通りも何も、REMOTE_HOST は必ずしもセットされるとは限らないから
別に期待通りじゃない、とは思わない。
負荷軽減のために逆引きしてないサーバは腐るほどある。
REMOTE_HOST が未定義だったら REMOTE_ADDR を resolve するのは
ネットワークプログラミングでは基本ですが?
0586nobodyさん2006/07/01(土) 23:19:21ID:???
なんで俺が揚げ足とられてんの??
0587nobodyさん2006/07/01(土) 23:19:58ID:???
ループ処理で配列に要素を追加しているのですが、希望通りの動作をしません。

具体的には、array('key1' => 'value1', 'key2' => 'value2') という配列を作成したいのですが、
array(array('key1' => 'value1'), array('key2' => 'value2')) という配列になってしまいます。

追加処理はこんな感じです。
for ($i = 0;$i < $count;$i++) {
$add[] = array("key{$i}" => "value{$i}");
}

よろしくお願いします。
0588nobodyさん2006/07/01(土) 23:20:01ID:???
http://example.com/
と書かれたときに、これにそのURLのリンクを貼りたいのですが、
どのようにすれば良いのでしょうか?
0589nobodyさん2006/07/01(土) 23:21:50ID:???
>>589
通過処理どおりの動作をしているようにみえるが
0590nobodyさん2006/07/01(土) 23:23:05ID:???
>>587
お前はわざとやってるのか?

add["key{$i}"] = "value{$i}";

だろうが。
0591nobodyさん2006/07/01(土) 23:24:14ID:???
$add["key{$i}"] = "value{$i}";  な
0592nobodyさん2006/07/01(土) 23:25:11ID:???
>>588
/(^|[^=;])(https?:\/\/[!#\$%&'()*+,\-.\/:;=\?@_~\w]+)/
0593nobodyさん2006/07/01(土) 23:26:16ID:???
訂正
(https?:\/\/[!#\$%&'()*+,\-.\/:;=\?@_~\w]+)
0594nobodyさん2006/07/01(土) 23:30:40ID:???
preg_replace("/(http\:\/\/[\w\.\~\-\/\?\&\=\;\#\:\%]+)/",
         "<a href=\"\\1\" target=\"_blank\">\\1</a>", $url)
0595nobodyさん2006/07/01(土) 23:34:57ID:???
>>588

if ($url == "http://example.com/";){
  echo "<a href=\"http://example.com/\">http://example.com/<;/a>";
}
0596nobodyさん2006/07/01(土) 23:36:09ID:???
>>590-591
紙紙紙紙!!!11

だいちゅき
■ このスレッドは過去ログ倉庫に格納されています