【PHP】下らねぇ質問はここに書き込みやがれpart12
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/11/01(火) 17:56:36ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
0058nobodyさん
2005/11/03(木) 14:21:43ID:???"w" で fopen すると元のファイルはサイズ 0 になるから最終的には
abc だけのファイルになって、abcdef にはなるはずないけど。
何か勘違いしていない?
後、書き間違いだったらいいけど、"./def.txt" と "w" の間は , が必要。
0059nobodyさん
2005/11/03(木) 14:27:01ID:3fnwo6aV>ソースコード埋め込み定数参照の仕様が変更されているため
って、具体的になんのこと?
0060nobodyさん
2005/11/03(木) 15:12:18ID:???引数に参照を期待している関数に対して、変数以外が渡せなくなった。
例えばこんなコード。
PHP4.3.10 では正常に動作し、3 と表示される。
PHP4.4x ではエラーになる。
<?php
echo array_pop(explode('-', '1-2-3'));
?>
こう書けばどちらでも正常に動作する。
<?php
$work = explode('-', '1-2-3')
echo array_pop($work);
?>
0061nobodyさん
2005/11/03(木) 15:24:34ID:???誘導
http://news19.2ch.net/test/read.cgi/newsplus/1130985853/
006259
2005/11/03(木) 15:51:31ID:???なるほど、そういうことなのか。
でも PHP4.3.10 でも、 function hoge(&$str) みたいに定義した関数を hoge("unko") のような形では
呼び出せなかった気がするけど、気のせい?
しかし、その手の問題なら、ソースの中を探すのが大変だな。
ちょっとした検索ツールを作らなくちゃいけなそうだな。
0065nobodyさん
2005/11/03(木) 17:02:41ID:???0066nobodyさん
2005/11/03(木) 17:08:42ID:???register_globals = On で使ってる環境がそれほど多くないってことなんじゃない?
該当環境だったら、結構致命的な気がする。
おれもこの際だからPHP4.4.1にアップデートしようと思ってはみたけど、なにやら mb_send_mail に
バグなんだか仕様変更なんだかがあるらしく、見送りたくなってきたところ。
0067nobodyさん
2005/11/03(木) 17:23:12ID:???0068nobodyさん
2005/11/03(木) 17:25:10ID:???0070nobodyさん
2005/11/03(木) 19:04:00ID:???0071nobodyさん
2005/11/03(木) 19:14:46ID:???http://www.php.net/
0072nobodyさん
2005/11/03(木) 19:24:32ID:???0073nobodyさん
2005/11/03(木) 19:30:57ID:???apacheもPHPも上げて、スクリプトも書き直しつらい。
徹夜だ。
0076nobodyさん
2005/11/03(木) 20:18:02ID:???0079nobodyさん
2005/11/03(木) 21:47:34ID:e6YB+Wfp0080nobodyさん
2005/11/03(木) 21:50:28ID:???それともみんなは関数内でglobal命令で参照してるの?
0081nobodyさん
2005/11/03(木) 21:51:34ID:???0082nobodyさん
2005/11/03(木) 21:53:06ID:???んなばかな
どんなにローカル変数で頑張ってもグローバル変数使うでしょ
それともぜーんぶクラス化してプロパティで参照してんの?
0083nobodyさん
2005/11/03(木) 21:59:05ID:???ここは更新ボタン押しても二重投稿とかないけどこんな風にできない?
0084nobodyさん
2005/11/03(木) 22:01:38ID:???書き込んだ後で自分自身にリダイレクトしろ
function redirect($url){
header("Location: $url");
exit;
}
0085nobodyさん
2005/11/03(木) 22:03:52ID:???うん。
0087nobodyさん
2005/11/03(木) 22:31:19ID:???$guro = 1;
function hoge(){
$out = $GLOBALS['guro'] + 1;
return $out;
}
echo hoge();//実行結果:2
こんなふうにやるときの$GLOBALSって意味ですよね?
中身丸見えのオープンソースのものなら、書き換えて攻撃とかやる気にもなるけど、漏れなんかの書いた変態スパゲッティソースを外部から変数名を推測して攻撃するなんてほとんど不可能だと思うんだけど、どうでしょう?
register_globals = Offだけど、
extract($_GET);なんてやっちゃててるスクリプト山ほど書いて来たけど、一度もつつかれた事無いyp!
しょぼい仕事しかしてないからですか。そうですか。吊ってきます。
0088nobodyさん
2005/11/03(木) 22:32:25ID:???0089nobodyさん
2005/11/03(木) 22:58:23ID:???僕のサイト(素人サイト)は
register_globals=ONでしかうごかないページがあります。
まぁやばくなったら、$GET_['hoge']で変数を受け取れば
いいやって考えてました。
で、今回のセキュリティホール問題をみてて ON じゃやべー
って思って、httpで変数を渡す処理の部分は全部
$_GET['hoge']にしてOFFにしたんですが、うごかないです。
レンタル鯖屋が4.4.1にUPしたらしいのが原因?前は動いたのですが・・。
ちなみにプログラムはこれです。何かの本のサンプルをみて書きました。
クリック数カウントするためです。
http://www.hoge.com/count.php?no=1&url=http〜〜
<?php
$_GET['url'];
$_GET['no'];
MYSQLへのカウント処理
//指定されたURLへリダイレクト
header("Location: " . $url);
?>
デバック方法でも何でもよいのでアドバイス下さい。。
0090nobodyさん
2005/11/03(木) 23:01:41ID:???0091nobodyさん
2005/11/03(木) 23:07:45ID:???<?php
$url = $_GET['url'];
$no = $_GET['no'];
//省略
?>
ではないのか?
>デバック方法でも何でもよいのでアドバイス下さい。。
echo $url; //debug
//header("Location: " . $url);
0092nobodyさん
2005/11/03(木) 23:08:26ID:???0094nobodyさん
2005/11/03(木) 23:18:43ID:???function redirect($url){
header("Location: $url");
exit;
}
を書くことによって更新ボタン押しても二重投稿できなくなるの?
009589
2005/11/03(木) 23:29:19ID:???>>91
そのとおりです。
指定するの忘れてました。
それで見事にできました。
尚、前までは僕が書いたソースで出来ていたのは
なぜかは謎です。
009691
2005/11/03(木) 23:38:57ID:???registor_globals = on だから
$url = $_GET['url'];
相当の処理が自動で行われて動いてたんだろ。
0099nobodyさん
2005/11/04(金) 00:52:15ID:???ってPHP5で5.0.1→5.0.5でも同じなの?
ここ数日のバグの記事を見て自鯖のPHP更新(5.0.1→5.0.5)してたら
Fatal error: Only variables can be passed by reference
ってエラー出た。
0100nobodyさん
2005/11/04(金) 01:02:34ID:???だって見られて困るデータにDBに入ってないし。
DBのデータは変動しないからバックアップ戻せばいいだけだし。
つか、漏れ様の、漏れでさえ解んなくなるプログラムの変数名予測して攻撃するなんて不可能。
手間>得るもの
だからさ。
0101nobodyさん
2005/11/04(金) 01:05:50ID:???$sql = "まあ、ふつうのsql文";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
って書いてるところを
$sql = "まあ、ふつうのsql文";
$rows = mysql_num_rows(mysql_query($sql));
って書くのは、パフォーマンス的にはどうなんでしょう?
$sql = "まあ、ふつうのsql文";
while ($row = mysql_fetch_array(mysql_query($sql))) {
いろいろ
}
なんてのもいかがなもんでしょうか?
ずっと上の書き方してたけど、一行でも減らしたいと思うんですが。
0102nobodyさん
2005/11/04(金) 01:12:18ID:???こまめにバックアップとっとこう(´・ω・´)
0103nobodyさん
2005/11/04(金) 01:15:49ID:???・前ページ
<a href="next.html#page_bottom">次のページの下</a>
・次ページ(next.html)
・
・
・
<a name="page_bottom"></a>
</body>
</html>
で出来たんだけど
関数で呼び出したときにページの最下部を表示させるにはどうすればいいの?
0104nobodyさん
2005/11/04(金) 01:19:16ID:???0105nobodyさん
2005/11/04(金) 01:24:07ID:???ちょっと思い違いというか勘違いしてました
0106nobodyさん
2005/11/04(金) 01:27:55ID:???0107nobodyさん
2005/11/04(金) 02:24:26ID:???0108nobodyさん
2005/11/04(金) 04:23:52ID:uML+jUAbhttp://curl.haxx.se/download.html
ってPHPでも使えますか?
0109nobodyさん
2005/11/04(金) 04:26:26ID:???>って書くのは、パフォーマンス的にはどうなんでしょう?
かわんねーよ。ベンチとるまでもなく0.01秒以上の差がコンスタントに出たら、びっくりしてウソコもらしてやる。
>while ($row = mysql_fetch_array(mysql_query($sql))) {
何回mysql_query呼び出す気ですか?(これじゃループする度に呼ばれちまうんですけど)
>一行でも減らしたいと思うんですが。
減らすのは自由だが、今のご時世は可読性・保守性を重視する風潮があるので、同意を得るのは難しいと思われ。
人様に迷惑かけない程度にな。
>>108
うん
0110nobodyさん
2005/11/04(金) 04:51:08ID:???$rows = mysql_num_rows(mysql_query($sql));
でもいいのなら後この結果セットを使わないってことだよな。
だとしたらSQLでCOUNT(*)でもよさげ。
101の質問にはSQLが書いてないが、パフォーマンスを言うなら
SQLも無ければ考察は無理。
phpのパフォーマンスじゃなくMySQLに与えるSQLが影響を与える
可能性が大きい
と思う。つか自分で確認してみるという選択肢は無いのかね君には。
0111nobodyさん
2005/11/04(金) 10:51:45ID:???0112nobodyさん
2005/11/04(金) 11:02:20ID:???<a href="mailto:[email protected]">click here</a>
ってこと?
0113nobodyさん
2005/11/04(金) 13:53:43ID:???ttp://www.gac.jp/article/index.php?stats=question&id=16225&command=msg
>>111
ttp://www.gac.jp/article/index.php?stats=question&id=16237&command=msg
恥知らずなマルチはお止めなさい。
0114nobodyさん
2005/11/04(金) 14:04:45ID:J9d48tpa0115nobodyさん
2005/11/04(金) 17:25:37ID:V1LIAVum自分自身のファイル名をすることは出来ますか?
0117nobodyさん
2005/11/04(金) 17:42:00ID:???わぁーお、どもども。$_SERVERの方ばかり見てましたよ。
変な日本語は2ちゃん語の一種ということで・・。
0118nobodyさん
2005/11/04(金) 17:51:12ID:???マニュアルの3章〜5章には目を通しておいた方がよいよ。
余裕がないなら3章だけでも。
自分の日本語が変なのを2ちゃんのせいにするな( ゚Д゚)ゴルァ!!
0119118
2005/11/04(金) 17:53:18ID:???0120nobodyさん
2005/11/04(金) 18:03:48ID:???メールから取得した本文がquoted-printableでエンコードされているとmb_detect_encodeでも変になるし・・
メールのヘッダから取るしかないのかな・・
0121nobodyさん
2005/11/05(土) 04:30:57ID:???Content-TypeとContent-Transfer-Encoding見るしかないかな。
0122nobodyさん
2005/11/05(土) 11:24:59ID:???掲示板を設置してみたんですけど書き込みできません
掲示板は表示されてるのでPHPは動いてるようなんですが
設定すべき所があるのでしょうか?
環境は↓です
WinXP sp2
04WebServer 1.82
PHP 4.4.1
0123122
2005/11/05(土) 11:26:14ID:2U/gHABa0125nobodyさん
2005/11/05(土) 11:42:09ID:???ソースはこれ?
http://php.s3.to/bbs/p-bbs.php.txt
エラーも出ないね.
0126122
2005/11/05(土) 11:44:52ID:2U/gHABa掲示板のデフォ設定がhogehoge.comになってるようです
書き込みできるようになったら直します
>>125
そうです
レッツPHP!のP-BBSです
0127122
2005/11/05(土) 11:47:36ID:2U/gHABa原因は同じだと思うのですが
0128nobodyさん
2005/11/05(土) 11:50:03ID:???0130122
2005/11/05(土) 12:02:23ID:2U/gHABaphp.iniの270行目のことでしょうか?
error_reporting = E_ALL & ~E_NOTICE
↓
error_reporting = E_ALL
に変えてみました
0131122
2005/11/05(土) 12:04:21ID:2U/gHABaApacheは難しそうなので・・・
0132nobodyさん
2005/11/05(土) 12:09:20ID:???http://219.66.201.34/testbbs/p-bbsa.php?mode=regist
ってGETで渡すとエラー画面が出るんだけど,
POST だと何の反応もない.
0133122
2005/11/05(土) 12:15:02ID:2U/gHABa「POST 200 OK 正常に終了しました」とは出てます
でも掲示板では書き込み出来てないんですよね・・・
0134122
2005/11/05(土) 12:25:27ID:2U/gHABaうpろだです。これもUP出来ません
UPしてみるとファイル転送はされるんですけど
04WebServerのほうで100%正常終了って出ても、うpろだでは何も反映されないです
0136122
2005/11/05(土) 12:37:34ID:2U/gHABaこれで見れますか?
http://219.66.201.34/test.php
なんか見せたらまずそうな物まで見えちゃってますけど・・・
0137nobodyさん
2005/11/05(土) 12:40:28ID:???0138nobodyさん
2005/11/05(土) 13:06:21ID:???POSTが渡ってない模様。GETが含まれるとなんか渡るぽい
試しに
<form method="POST" action="/testbbs/p-bbsa.php">
を
<form method="POST" action="/testbbs/p-bbsa.php?hoge=piyo">
としてやってみそ。挙動が変わる。(エラーになってるみたいだけど)
なんか04WebServerの問題ぽいけど、よくわからん
POSTされたかどうか確認するには
<form method="POST" action="/test.php">
にしてやってPHP Variablesを見る。
0139nobodyさん
2005/11/05(土) 13:15:45ID:1PzhgjSf・ホスト名が逆引きできないホストからの書込を禁止
・正引きと逆引きの結果が異なるホストからの〜
・特定プロバイダ、特定IPアドレスからの〜
したいのですが、サンプルが見つからず四苦八苦しています。
よくあるやり方だと思うのですが、ど…どなたかヒントを…
(アクセス自体を禁止でも良いんですが、借りてるサーバが
余り.ht〜設定ファイルの自由が利かない。)
0140122
2005/11/05(土) 13:23:31ID:2U/gHABa今度はBlackJumboDogで試してみたいと思います
どうもありがとうございました
0141nobodyさん
2005/11/05(土) 13:40:34ID:???何が分からんのか分からんが、
IPアドス -> ホスト名 は gethostbyaddr()
その逆は、gethostbyname()
この2つを使えばその条件をスクリプトに反映できるべ?
0142nobodyさん
2005/11/05(土) 13:40:41ID:???ここに色々あるようよ↓
ttp://www.hotscripts.com/PHP/Scripts_and_Programs/Networking_Tools/Combinations/
0145nobodyさん
2005/11/05(土) 15:19:06ID:???まあ色んな制限方法のひとつとして挙げてるんだろうけど
>正引きと逆引きの結果が異なるホスト
は普通に多いよ。
0146nobodyさん
2005/11/05(土) 16:05:47ID:???>>145
その種のアクセスを制限する事の是非・(やその種の議論がよくある事)も分かってるんだけど、
サイト自体のユーザがある程度制限されていて、それを規制する事で良ユーザ/不正ユーザを切り分けできそうなんです。
(宣伝の書込をしつこくしてくる人が居て、前は逆引きできてたのでプロバイダに苦情を言って
本人に警告して貰ったてたんだけど、最近それを消してアクセスしてくるんですよね。)
0147nobodyさん
2005/11/05(土) 17:19:41ID:???宣伝のドメインが書込みされたら
精神的ブラクラにLocationしてやってる
0148147
2005/11/05(土) 17:21:19ID:???もちろん宣伝ドメインは登録するけどね
0149nobodyさん
2005/11/05(土) 17:29:14ID:???ただし賠償されるといやなのでime.nu経由で
0150nobodyさん
2005/11/05(土) 17:47:04ID:???0151nobodyさん
2005/11/05(土) 17:47:28ID:???100000という数字を下4桁でピリオドをうって10.0000としたい場合
どうすればいいのでしょうか?
number_formatとかで、できるんでしょうか?
すみませんが教えてください。
0152nobodyさん
2005/11/05(土) 18:01:49ID:???やってみたか?試してみてどこがどうなってこれこれになってしまって
どうしたら?って質問するようにしたほうがいいと思うよ
number_format(100000 / 10000, 4, "," "");
0153nobodyさん
2005/11/05(土) 18:11:15ID:???ありがとうございます。
試してはみたものの、先に答えが知りたくなって説明不足でした。
気をつけます、スイマセンでした
0154nobodyさん
2005/11/05(土) 18:34:45ID:b1n2JPhiバッファに記録されているようで、プログラム終了時に一括出力されてしまいます。
(バッファをフラッシュしているにもかかわらず画面には出力されない)
どのようにすればよいのでしょうか
$i = 0;
while ($i < 5) {
print $i."<br>";
$i = $i + 1;
print $i."<br>";
ob_end_flush(); ←フラッシュ
sleep(3);
}
0155nobodyさん
2005/11/05(土) 18:57:49ID:???>>152 の方法だと最初の4桁しかピリオドつかないけどいいのかな?
function number_format_jp($a)
{
$b = '';
$n = strlen($a);
for ($i = 1; $i <= $n; $i++) {
$c = substr($a, -$i, 1);
$b = $c . ($i > 1 && $i % 4 == 1 ? '.' : '') . $b;
}
return $b;
}
$a = 1234567890;
echo number_format_jp($a); // 12.3456.7890
>>154
前スレに同じ質問があった気がするなぁ
0157151
2005/11/05(土) 19:09:51ID:???今回はとりあえず上の感じで良かったのですが、
4桁毎にピリオドで考えてくれたワケですね。
勉強になります。有難うございました。
■ このスレッドは過去ログ倉庫に格納されています