【PHP】下らねぇ質問はここに書き込みやがれ 23
■ このスレッドは過去ログ倉庫に格納されています
0001909
2006/06/23(金) 01:59:03ID:lPdqGX0Zここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0577nobodyさん
2006/07/01(土) 21:09:54ID:???スネーク、問題はPHP以前のところにあるようだ。このままでは板違いになってしまうぞ。
早急にHTMLをしっかり勉強し直してPHPに関する質問に切り替えるんだ。
0578559
2006/07/01(土) 21:24:54ID:???誰かXREAでアカウント持ってる人、実験してみてもらえませんかね??
ちなみに他の鯖(XREA以外)で同じスクリプトを走らせたところ、
当然ながら問題なくリモートアドレスを取得できました。
0580nobodyさん
2006/07/01(土) 21:47:19ID:???ちったぁ検索したか?
餅は餅屋。XREA のことは XREA に聞け。
http://sb.xrea.com/showthread.php?threadid=6646
ちなみに、手元で phpinfo() を表示させてみたら REMOTE_ADDR は
グローバル IP アドレスが入ってたよ? http の場合ね。https は未確認。
0582nobodyさん
2006/07/01(土) 22:05:11ID:???は空みたい。
0583nobodyさん
2006/07/01(土) 22:07:41ID:???0584nobodyさん
2006/07/01(土) 22:33:18ID:???$_SERVER["REMOTE_ADDR"],
$_SERVER["REMOTE_HOST"],
getenv("REMOTE_ADDR"),
gethostbyaddr($_SERVER["REMOTE_ADDR"])
で
$_SERVER["REMOTE_HOST"]
以外は期待通りの動作
>>559か使ってるサーバ固有の問題
0585nobodyさん
2006/07/01(土) 23:01:00ID:???> $_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:???と書かれたときに、これにそのURLのリンクを貼りたいのですが、
どのようにすれば良いのでしょうか?
0591nobodyさん
2006/07/01(土) 23:24:14ID:???0592nobodyさん
2006/07/01(土) 23:25:11ID:???/(^|[^=;])(https?:\/\/[!#\$%&'()*+,\-.\/:;=\?@_~\w]+)/
0593nobodyさん
2006/07/01(土) 23:26:16ID:???(https?:\/\/[!#\$%&'()*+,\-.\/:;=\?@_~\w]+)
0594nobodyさん
2006/07/01(土) 23:30:40ID:???"<a href=\"\\1\" target=\"_blank\">\\1</a>", $url)
0595nobodyさん
2006/07/01(土) 23:34:57ID:???if ($url == "http://example.com/"){
echo "<a href=\"http://example.com/\">http://example.com/</a>";
}
0600nobodyさん
2006/07/02(日) 00:41:34ID:oZjla2sMどうすればいいのでしょうか
0601nobodyさん
2006/07/02(日) 00:48:12ID:???知らないけど。
0602nobodyさん
2006/07/02(日) 00:53:26ID:???if ($url == "http://example.com/"){
echo '<a href='.$url.'>'.$url.'</a>';
}
0604nobodyさん
2006/07/02(日) 01:02:19ID:???どのようにすれば良いのでしょうか?
@a@⇒<img src=a.gif>
@phpkamo@⇒<img src=phpkamo.gif>
0605nobodyさん
2006/07/02(日) 01:09:46ID:???0606nobodyさん
2006/07/02(日) 01:18:43ID:oZjla2sM正規表現で改行2個は
ereg("^$", $var)
でよいでしょうか。
0607nobodyさん
2006/07/02(日) 01:22:56ID:W09rfuPj考えられるファイル(例えばCGI)の拡張子を「txt」にしたいと思います。
アップロードするファイルの種類を調べるにはどうしたら良いでしょうか?
ユーザが偽装できてしまうようではセキュリティ的にマズいですし・・・
やはりアップロードファイルの拡張子を調べるのが一番なのでしょうか?
それから、圧縮ファイルを展開する関数ってあります?
0608nobodyさん
2006/07/02(日) 01:27:10ID:???ファイルタイプ
http://jp.php.net/manual/ja/features.file-upload.php
圧縮ファイル
http://jp.php.net/manual/ja/funcref.php
の一覧からお好きなものをチョイス
0609nobodyさん
2006/07/02(日) 01:41:16ID:W09rfuPj>ファイルの MIME 型。ただし、ブラウザがこの情報を提供する場合。 例えば、"image/gif" のようになります。
>この MIME 型は PHP 側ではチェックされません。
>そのため、 この値は信用できません。
これでも大丈夫かな?
0610nobodyさん
2006/07/02(日) 01:41:40ID:???$nl = "\r\n";
ereg_replace("$nl($nl)+", $nl, $text);
preg_replace("/^$nl/m", "", $text);
^$はマッチ幅ナシね。
0611nobodyさん
2006/07/02(日) 01:53:12ID:???大丈夫なのか否かってのは何を作りたいかによるから何とも言えない。
確かに、hidden パラメータとかと同じで、改竄はありうる。
しかし、そのファイルが例えば JPEG か否かをちゃんと判断するには
プログラマがそのファイルの内容・構造をチェックして判断しなければならない。
その為には、そのファイルのフォーマットの仕様・特徴(SOI APP …など)
を知っていないと判断のプログラムが書けませんが
それが出来るなら、自分でチェックすれば良い話です。
簡易に済ませたかったら system で file を呼ぶとかも考えられますけど…
0612nobodyさん
2006/07/02(日) 01:58:42ID:oZjla2sMありがとうございます
$text = 'log.txt';
$nl = "\r\n";
for($i = 0; $i < count($line); $i++){
if( ereg_replace("$nl($nl)+", $nl, $text) ){
preg_replace("/^$nl/m", "", $text);
break;
}
}
こう作ってみたんですけど、改行抜けません
おかしい所教えてもらえませんでしょうか
0613あああ ◆rHbUqJDbds
2006/07/02(日) 02:09:51ID:???0614nobodyさん
2006/07/02(日) 02:14:51ID:???サンプル■1234■5678
の場合、最初の■以降の文字を消したいのですが、
preg_replace('/■?', '', $str);
こうしたのですがうまくいきません。
どこが間違っているのでしょうか
0615nobodyさん
2006/07/02(日) 02:17:45ID:???preg_replace("/^$nl/m", "", $text);
↓
$text = preg_replace("/^$nl/m", "", $text);
つーか、せっかくpreg使ってるのに何でeregもつ買ってるの?
pregだけでいいんでない?
$text = file_get_contents("test.txt");
$nl = "\r\n";
$text = preg_replace("/^$nl/m", "", $text);
print($text); //確認
0616614
2006/07/02(日) 02:19:55ID:J/w8BCAt方向が変わってしまって^^;
サンプル■1234■5678
これを、最初の■で区切ることはできますか?
サンプル
■1234■5678
こうわけたいのですが
0617nobodyさん
2006/07/02(日) 02:30:21ID:???俺初心者だからかなり馬鹿っぽいやり方かもしれないけど
$sample = "サンプル■1234■5678";
$line = explode("■", $sample);
foreach($line as $key => $value)
if ($key == 0) $hoge = ($value."\n");
else $hoge .= ("■".$value);
print($hoge);
こんなんはどうかな。
0618nobodyさん
2006/07/02(日) 02:30:46ID:???もし配列で持ってるなら "" な項を捨てりゃいいだけだよ
>>616
都合のいい方使って好きなように。
$text = "サンプル■1234■5678";
list($mae, $usiro) = explode("■",$text,2);
$usiro = "■".$usiro;
echo "explode: $mae, $usiro\n";
preg_match("/^(.*?)(■.*)$/", $text, $capture);
echo "preg_match: $capture[1], $capture[2]\n";
0620nobodyさん
2006/07/02(日) 04:04:38ID:???<frame src="top.php?id=<? echo $_GET['id'];?>" name="topFrame" scrolling="Yes" id="topFrame" title="topFrame" />
<frame src="logpage.php?id=<? echo $_GET['id'];?>" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>
この場合で各フレームのURLを見たところ、?id=がなかったのですが
これでは無理なのでしょうか?
0621620
2006/07/02(日) 04:05:08ID:???0622nobodyさん
2006/07/02(日) 04:11:06ID:???$abs = 30;
setTimeout("location.href='abc.php'",1000*<? echo $abc;?>);
0624nobodyさん
2006/07/02(日) 04:32:06ID:???PHP は HTML を出力するに過ぎない。
その出力する HTML に変数の値が埋め込まれた JavaScript が書かれれば良いだけ。
言っている意味分かる?
0626622
2006/07/02(日) 09:39:02ID:???つまり、一気にJavaScriptを書き出せば良いのでしょうか?
>>625
すみません、両方$abcでお願いします
0627622
2006/07/02(日) 09:44:38ID:???<?
echo "<SCRIPT LANGUAGE=\"JavaScript\">";
echo "<!--";
echo "setTimeout(\"location.href=logpage.php?id".$id."\",1000*10)";
echo "parent.topFrame.document.form.com.value=\'\'";
echo "-->";
echo "</SCRIPT>";
?>
としてみたところ、結果は同じでした・・・
どうすれば良いのでしょうか
0628622
2006/07/02(日) 09:57:28ID:???0630nobodyさん
2006/07/02(日) 09:58:14ID:???0631nobodyさん
2006/07/02(日) 10:24:55ID:???http://question.excite.co.jp/kotaeru.php3?q=2250330
http://pc8.2ch.net/test/read.cgi/hp/1151633256/53
0632nobodyさん
2006/07/02(日) 12:02:59ID:???0633nobodyさん
2006/07/02(日) 12:12:43ID:???echo $_SESSION['var'];
これって携帯でも表示される?
0634nobodyさん
2006/07/02(日) 13:17:57ID:???0635nobodyさん
2006/07/02(日) 13:44:17ID:???print(mb_convert_kana($str,'KV'));
↑の結果が「サーバサイド技術」のままで、全角に変換されないのですが
PHPはFC5のVersion 5.1.4です。
0636nobodyさん
2006/07/02(日) 14:00:21ID:???0637nobodyさん
2006/07/02(日) 14:03:50ID:???文字コードを指定してやって。
print(mb_convert_kana($str,'KV','euc-jp'));
みたいに。
0638nobodyさん
2006/07/02(日) 14:28:22ID:???ありがとうございます。うまくいきました。
>636
そんなこと言わずにおつきあい下さいな
0639nobodyさん
2006/07/02(日) 14:34:36ID:???0640nobodyさん
2006/07/02(日) 14:42:29ID:???0641nobodyさん
2006/07/02(日) 14:44:45ID:???0642nobodyさん
2006/07/02(日) 15:11:01ID:???自作PHPがsafariの場合上手く動作しないのですが、
よい回避策ないでしょうか?
ttp://www.sodan.ecc.u-tokyo.ac.jp/2004/FAQ/faq52-20040330.shtml
0643636
2006/07/02(日) 15:19:45ID:???0645nobodyさん
2006/07/02(日) 15:36:09ID:???0646nobodyさん
2006/07/02(日) 17:31:55ID:YHlCRRocシリアライズは便利で高速そうですが一度に全ての変数をメモリに乗せてしまう事になるなど
多少のデメリットもあるようですが、みなさんはどう考えられてますか?
0647nobodyさん
2006/07/02(日) 17:51:29ID:???多いかどうかはわからないけどシリアライズはかなり便利。
俺もよく使ってる。
掲示板のログ全部とかはさすがに入れないけども
要は工夫次第。
0648nobodyさん
2006/07/02(日) 17:55:10ID:???ファイルポインタとかをどのように指定して良いのか分かりません。
0649nobodyさん
2006/07/02(日) 18:53:00ID:???0650nobodyさん
2006/07/02(日) 18:54:27ID:???0651nobodyさん
2006/07/02(日) 19:11:02ID:???>>649
すいません。よく分かりません。orz
>>650
負荷が気になるのですが、そうするのが一般的なのでしょうか。
0652nobodyさん
2006/07/02(日) 19:39:02ID:???任意ってのが例えばランダムで選択されるのか
ある文字列がある場合なのか
どのような条件かにもよると思う。
0654nobodyさん
2006/07/02(日) 19:58:32ID:???0655nobodyさん
2006/07/02(日) 20:01:04ID:???fopenして、任意の行までスキップすればいいんじゃない?
てか、データの検索でシコシコやりたいならDB使うのが定石だとおもうよ。
0656nobodyさん
2006/07/02(日) 20:48:11ID:YHlCRRoc$a[1][2] ← これなら2個とかです
0657nobodyさん
2006/07/02(日) 20:50:42ID:???0658nobodyさん
2006/07/02(日) 20:54:30ID:???0659nobodyさん
2006/07/02(日) 20:56:44ID:???array(1, 2, array(3, array(4, 5)), array(6), 7)
は3次元配列とは呼べないと思うし
0660nobodyさん
2006/07/02(日) 21:00:08ID:???深度というのですね。ありがとうございます。
再帰的関数?を狙ってこんな事な感じで試してみるのですが深度を上手く拾う事が出来ません。
$dに深度を入れようとしているのですが合わないのです。
function box($ary,$d = 0){
foreach(array_keys($ary) as $t){
if (is_array($ary[$t])) box($ary[$t],++$d);
}
}
0661nobodyさん
2006/07/02(日) 21:24:02ID:???$dに加算する場所が悪かった事がわかりました(−−;
0662nobodyさん
2006/07/02(日) 21:34:12ID:???0663nobodyさん
2006/07/02(日) 22:03:18ID:???サーバーに上げると変数に入れた文字が文字化けしてしまいます。
ちなみにland.toなんですが。。。
これはサーバーの方で設定しなければ直らないのでしょうか?
0664nobodyさん
2006/07/02(日) 22:27:30ID:???0665nobodyさん
2006/07/02(日) 22:32:04ID:???0667nobodyさん
2006/07/03(月) 10:58:30ID:TaHjD2Gv(つまり、出力後のページのソースを見ると改行がない)ようにするには、
どうすればよろしいですか。
0669nobodyさん
2006/07/03(月) 11:14:25ID:???0671nobodyさん
2006/07/03(月) 11:18:29ID:???そういうつもりで書いたのですが言葉足りなかったですね
0672nobodyさん
2006/07/03(月) 11:46:47ID:???\r\n
\r
\n
の順に ""に置き換えればいいとおもうよ。
0675nobodyさん
2006/07/03(月) 12:02:58ID:???0676nobodyさん
2006/07/03(月) 13:06:15ID:TaHjD2GvPHPでもそんな感じで何とかなるとは思うのですが、
問題はHTMLを含めて改行を削除するということなのです。
現状は、よくある「HTMLの中にPHPを書いている」という状況なのですが、
この場合のHTMLの内容さえも、改行を除いて出す必要があります。
通常の出力内容を$html_beforeとし、
$html_after = 改行処理($html_before)でとして
$html_afterを出力すれば良いのですが、
そう簡単にもいかないような。
要は、出力内容を$html_beforeに格納する方法ですね。
■ このスレッドは過去ログ倉庫に格納されています