【PHP】下らねぇ質問はここに書き込みやがれ 45
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/12(土) 16:42:48ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0182nobodyさん
2007/05/29(火) 20:54:25ID:???ローカルに環境を構築してください。
最低でもPHPはインストール。
ちゃんとした動作を検証したいのならApacheも入れてください。
DBを使って開発するのであればDBも入れてください。
XAMPPでぐぐると幸せになれるかも。
0183nobodyさん
2007/05/29(火) 20:55:41ID:queQBOHYありがとう!
今までC言語とC#しかしたことがないので
これから大変お世話になりますのでよろしくお願いします。
0184nobodyさん
2007/05/29(火) 21:50:25ID:HenTyugEDBサーバーがダウン(コネクションオーバー)するのですが、
php側で防ぐ方法で、有効な方法を教えて頂けますか?
ちなみに、レンタルサーバーです。かなり困っています。
0185nobodyさん
2007/05/29(火) 21:52:56ID:???アプリケーションレベルでは下手に対応しない方が寧ろいい。
DoSアタックの対応はもっと下位のレイヤでやるべき。
0186nobodyさん
2007/05/29(火) 21:56:19ID:???html化しても問題のないようなものなら、
html化すればいいと思うけど。
0187nobodyさん
2007/05/29(火) 21:59:36ID:KHJlG38T"abc"=>array("123"=>"456"),
"cde"=>"789",
"fgh"=>("hij"=>array("xyz"=>"10",array("foo"=>"bar"))
);
のような任意の連想配列で、fooを検索キーにして、
foo->hij->fghの並びを取得できる関数で適切なものはありますでしょうか?。
foreachを使うにしてもそれを補助的に支える関数を探しているのですが。
0188nobodyさん
2007/05/29(火) 22:01:22ID:HenTyugE早速の回答ありがとうございます。
>>185
レンタルサーバー(xrea)のため、なかなかそこが対応できないんです。
できれば、アプリケーションレベルで対応できればと思うのですが。
専用サーバーならいいのかもしれないのですが、運用経験がないので逆に危険かと思いまして。
>>186
動的に生成しないとホームページとして成り立たないものなので、
それも難しいのが現状です。すみません。
0190nobodyさん
2007/05/29(火) 22:11:57ID:HenTyugEいやぁ、それが串でもないんです。
串は、リストを作って独自プログラムで弾いているのですが、
普通のプロバイダーのIPからやられます。
日によって違うプロバイダーなので、違う人からなのかも。
政治とか教育とか意見が対立する掲示板を運営しているので、
論破された奴が荒らしているのかと。
リロード攻撃されると、暫く接続エラーになってサービスがとまって、
そのたびにサービスがとまっていると苦情のメールが。ほとほと疲れます。
0191nobodyさん
2007/05/29(火) 22:17:25ID:???じゃあsessionつかって、同一IPからある一定時間内($range_time)に複数回($reload_count)以上の
reloadがあった場合は、<なんかする>、みたいな感じでいいんじゃないの?
DBアクセスがボトルネックなんだったら、<なんかする>=キャッシュだけを送信する、とか。
結局、実装は、運営policyによるでしょ。
0192nobodyさん
2007/05/29(火) 22:29:53ID:???サーバまわりを強化しJava+Oracleで書き直す。
というのは冗談だけど、
そのコンテンツじゃPV多そうだし共有鯖だとかなり負担かけてるんじゃない?
ユーザより先にレンタル先に捨てられないように気をつけておくんなまし。
0193nobodyさん
2007/05/29(火) 22:57:20ID:???アプリケーションレベルでの対応は逆効果なんだよ。
XREAに通報したら何らかの対応はしてくれるんじゃないか?無料なら知らんが。
0194nobodyさん
2007/05/29(火) 23:36:58ID:???最近200番台後半の鯖で中国からのアタックがあったよ
上位回線レベルで対策したそうだ
0195miu
2007/05/30(水) 00:51:31ID:EHTzgQl2この中でセッション変数を使いたいのですが、
うまく値を引継げません。
session_id()を確認すると、ページごとに異なる値が
返ってきています。
なにか、セッション変数を使うための方法・設定というのはあるのでしょうか?
よろしくお願い致します。
0196nobodyさん
2007/05/30(水) 01:34:43ID:???0197nobodyさん
2007/05/30(水) 03:26:34ID:???さくらの専用鯖みたいな安い専用借りてiptableで弾くとかはどうだろ。
XREAは過負荷になってもちょっと生暖かい目で見ててくれるけど他のユーザはその間しわ寄せ受けてる希ガス。
0198nobodyさん
2007/05/30(水) 03:55:42ID:U6fy+t+P同じ結果なら、
実行速度が遅い・重いプログラムより、速い・軽いやつがいいとは聞きますし、私もそう思いますが、
実行速度を数値化したりするなどして確認する手段はありますか?
0199nobodyさん
2007/05/30(水) 04:27:45ID:???テキトーだけど、こんな感じで軽減できない? 行詰めているので見にくいがすまん
<?php
function sessCtrl(){
session_start();
$lastvtime = $_SESSION["lastvtime"];
if($lastvtime){
$timediff = time() - $lastvtime;
if($timediff <3){
//ここでさよなら
die("<html><head></head><body>3秒以内リロード禁止<hr/><pre> 前回アクセス:"
.date("Y-m-d H:i:s",$lastvtime)."/只今"
.date("Y-m-d H:i:s",time())."</pre><hr/></body></html>");
//もしくは強制10秒待たせる
//sleep(10);
}
}
$_SESSION["lastvtime"]=time();
return $lastvtime;
}
$lastvtime = sessCtrl();
?>
<html><head></head><body> ここはOK也 <hr/>
<?php echo " 前回アクセス:".date("Y-m-d H:i:s",$lastvtime)
."/只今".date("Y-m-d H:i:s",time())."<br/>";
var_dump($_SESSION); ?>
<hr/></body></html>
0201nobodyさん
2007/05/30(水) 09:09:58ID:Hm83KMHnアクセスしてくる者全員が共有できるような変数って作れますか?
Aさんが1を代入したらBさんにも1になるような。
テキストファイルを使わないとだめなのかな。
それから、サーバ上のファイルを自由に編集する画面があるのですが
ひとりがそのページを開いている間は
次に来た人には、ただいま混みいっています、のような画面を表示させたいのですけど
スマートなやりかたってないですか?
0202nobodyさん
2007/05/30(水) 09:38:06ID:???0203nobodyさん
2007/05/30(水) 09:41:15ID:???0205201
2007/05/30(水) 10:11:34ID:Hm83KMHnセッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
>>203
うーむ、なんとかPHPだけでできないかなぁ。
すみません初心者で・・・
0206nobodyさん
2007/05/30(水) 10:15:34ID:vB5BZnM8フォーム送信で、textareaに入力したテキストで、クオート(')・ダブルクオート(")が
自動的にエスケープ(\)されるんだけど、これってphp.iniの設定が関係ありますか?
(POSTの値が自動的にエスケープされるなんてことはあるの?)
0207nobodyさん
2007/05/30(水) 10:26:29ID:???>php.iniの設定が関係ありますか?
YES
http://jp.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
0208nobodyさん
2007/05/30(水) 10:39:50ID:vB5BZnM8早速のレスポンスTHX!! あいしてるぜー
0209nobodyさん
2007/05/30(水) 11:59:49ID:???>セッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
ちがう。マニュアルよめ。
0210nobodyさん
2007/05/30(水) 12:09:56ID:???共有メモリ関数
http://jp.php.net/manual/ja/ref.shmop.php
セマフォ・共有メモリおよび IPC 関数
http://jp.php.net/manual/ja/ref.sem.php
0211nobodyさん
2007/05/30(水) 13:56:24ID:QPYqKYGNそれでもhtmlspecialcharsは必要ですか?javascriptなんて実行されないっすよね危険はないですよね。
0212nobodyさん
2007/05/30(水) 13:58:06ID:???0214nobodyさん
2007/05/30(水) 14:05:44ID:UUvKwXeJ>>178-181
ありがとうございます。
これは毎回 接続→テーブル表示→閉じる 方式ですね。
やっぱりこの方法が妥当なんでしょうか?
0217nobodyさん
2007/05/30(水) 14:39:32ID:UUvKwXeJ確かにそうですね。
やろうとしてることはそれだけなので、この方法でいきます。
ありがとうございました
0218nobodyさん
2007/05/30(水) 14:43:51ID:QPYqKYGN0219nobodyさん
2007/05/30(水) 14:47:47ID:???0221虚弱PHP
2007/05/30(水) 14:53:32ID:???ひとまずPHPというよりHTTPの勉強はしておいた方がいいと思う。
1リクエスト1レスポンスが基本。
もちろん応用はあるけど、基本からどうぞ。
0222nobodyさん
2007/05/30(水) 14:57:23ID:QPYqKYGNただ、2進数を文字列に変換するというのが何の関数を使えばいいのかわからないです。
やっぱり>>219さんの言うとおりできないんですか?
0223nobodyさん
2007/05/30(水) 15:16:08ID:l02pgwI/テキストエリアの値を消せるように、リセットボタンを押すとクリア
できるようにしたいです。
1回目はリセットできるのですが、送信ボタンを押して自分(test.php)に飛んだ後に、
リセットを押すと、値が消えてくれません。
(テキストボックスに値を入れて飛んだときに保持しているため?)
それで、javascriptで消そうと思ったのですが、phpの中での使い方が良く分かりません。
分かる方お願いします。
↓ソ〜ス
<form method=\"post\" action=\"test.php\" name=\"form\">
<input type=\"text\" name=\"url\" size=\"80\" value='$url'>
<input type=\"submit\" name=\"b1\" value=\"取得\">
<input type=\"reset\" name=\"reset\" value=\"リセット\">
</p></form>
0224nobodyさん
2007/05/30(水) 15:24:19ID:???0225nobodyさん
2007/05/30(水) 15:27:00ID:???0226nobodyさん
2007/05/30(水) 15:32:51ID:???0227nobodyさん
2007/05/30(水) 15:36:00ID:6H++tvOC俺はこうした、普通はこうするぞ、という意見をお教えください
自分の作りたいソースは何とか書けるけど、PEARのようなものはまったく使ったことがないレベルです。
0228nobodyさん
2007/05/30(水) 15:39:16ID:???0229nobodyさん
2007/05/30(水) 15:46:35ID:???0230nobodyさん
2007/05/30(水) 15:50:21ID:s13+ZS2Yうーん、なるべくなら人の迷惑にならない方法が好ましいですよねw
もう十分におかけしてしまった気がしますが・・・
0231nobodyさん
2007/05/30(水) 16:10:54ID:???中学生でもできるようなスクリプト言語だぞ・・・
ぶっちゃけ
PHP勉強しても意味ねーぞ
ちょっとマニュアル読んだら簡単に何でも作れるようになるし
JAVA勉強したほうが100倍いい
0232nobodyさん
2007/05/30(水) 16:13:03ID:???0233nobodyさん
2007/05/30(水) 16:13:20ID:???0234nobodyさん
2007/05/30(水) 16:16:31ID:???0235nobodyさん
2007/05/30(水) 16:18:15ID:s13+ZS2Yそう言われると厳しいですが・・・何とかPHPでお願いします
>>232-233
PHPでおねが(ry
0236nobodyさん
2007/05/30(水) 16:22:38ID:???その関連のPEARライブラリを愛でる様にソース見ながら使っていくというのが
地道でいいんじゃないの?
0237nobodyさん
2007/05/30(水) 16:23:19ID:???0238nobodyさん
2007/05/30(水) 16:25:30ID:s13+ZS2Yうーん、やっぱりそれしかないんでしょうか
それが王道なのはわかってます 近道はないのかなぁ
>じゃあ何をやりたいかを先に言ったほうがいいな。
何が出来るかもわかっていない状態なので、やっぱりちゃんとソース読んでみますね
>>237
言い過ぎっすよwww
0239nobodyさん
2007/05/30(水) 16:28:10ID:???これは悪いことなのか
0240190
2007/05/30(水) 16:37:07ID:m2uLNJ+I返事が遅くなってすみません。
教えて頂いたセッションで弾く方法でやったところ、
うまくいきました。
確かに、この方法だとデータベースの接続前で弾くので非常に有効ですね。
又、今まではログをみてアクセス拒否していたのですが、
リアルタイムで悪さしているIPを拒否できるので非常に助かります。
>>199さんのソースを参考に、悪さをしているIPには、ネットで仕入れたグロ画像を
デカデカと表示させて、怖くて二度と来させないように心理的作戦も実装しました。
今まで、毎日毎日アクセスログとにらめっこする手間が無くなって助かりました。
xreaに有料で利用しているのですが、サポートがイマイチなのでそこまで対応してくれないので、
いずれは、専用サーバーで運用できるようにがんばります。
色々とアドバイスどうもありがとうございました。
0241237
2007/05/30(水) 16:50:14ID:???0242nobodyさん
2007/05/30(水) 16:55:55ID:???つまり、その文字列の二進バイナリ文字列表現を元の文字列型に変換したいってことかね。
バイトのバイナリ表現つってもいろいろあるぜ。
もともとのパック方法が分からんことにはエスパー降臨まで待つしかない。
0244nobodyさん
2007/05/30(水) 18:13:39ID:???0247nobodyさん
2007/05/30(水) 19:28:10ID:???マニュアル嫁といいたいとこだが、
初心者にマニュアルは厳しいと分かっているので特別にヒントをやろう。
二つ目の問いに関していえば、
アクセスした時にセッションになんらかの固有の値を入れる。
アクセスが終わったら、消す。
セッションにその固有の値がなかった場合はアクセスさせる。
0248nobodyさん
2007/05/30(水) 20:28:08ID:???ということをやっているのですが、各フィールドの先頭の文字がおかしくなります。
「学校」→「w校」みたいな感じで。どうなっているんでしょう。
ちなみにスクリプトはutf-8で書いており、csvファイルはShiftJISのはずです。
おわかりの方、教えてください。お願いします。
0249nobodyさん
2007/05/30(水) 20:44:02ID:???釣りか?
0251250
2007/05/30(水) 20:51:58ID:???0255250
2007/05/30(水) 21:05:54ID:???0257nobodyさん
2007/05/30(水) 21:26:44ID:???やるなら昼間やってくれ。
あと質問者もID出せ。こういう馬鹿が沸くから。
0258nobodyさん
2007/05/30(水) 21:44:26ID:???いえいえ、結果的にはそんな感じになったので、あなたのおっしゃるとおりでしたよwww
>>246
さっそくソース読んでました
まさかそんな嬉しい言葉を言ってもらえるなんて思ってもいなかったので、感激です!!
みなさん本当にありがとうございました
0259250
2007/05/30(水) 21:53:17ID:QPYqKYGNガタガタうるせーなっ!!!
指図するなっ!!!!!
ヘボ回答者のくせに何様だ!?コノヤロウ!!
ID出してやったから回答即よろ
0261nobodyさん
2007/05/30(水) 21:57:50ID:QPYqKYGN答えたくないならくんなヘボ回答者!!
0264nobodyさん
2007/05/30(水) 22:01:17ID:QPYqKYGN昨日も今日も明日もおまえらだって質問してんだろ?wwwwwww
なにを回答者ぶってんの?wwwwww
ちょうしこいてんじゃねーよ、わらっちゃうねwwwwwwwwwwww
0265nobodyさん
2007/05/30(水) 22:01:24ID:???0266nobodyさん
2007/05/30(水) 22:10:53ID:???0267nobodyさん
2007/05/30(水) 22:15:00ID:???あまり効果はなさそうだけどな。
0268nobodyさん
2007/05/30(水) 22:22:11ID:???ipconfig /renew
と打てば、DHCPサーバーからのIPアドレスがリフレッシュされて新しいIPアドレスが割り振られるよ。
そうすれば、IDも変わると思うけど。
0269nobodyさん
2007/05/30(水) 22:33:57ID:???とっとと教えろカス共
0273nobodyさん
2007/05/30(水) 22:48:58ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441
0274nobodyさん
2007/05/30(水) 22:57:02ID:???0275nobodyさん
2007/05/30(水) 23:20:46ID:???0276nobodyさん
2007/05/31(木) 00:02:30ID:???プログラム言語を始めてやる人間にはarrayも始めて。
PHPがはじめてのプログラムだった場合その人間にはarrayも始めて。
ただarrayとか基本型は教科書でいう2.3ページに書いてる事項なので、
ここでそれが何?とか聞くやつはマニュアルも読めない阿呆。
0277nobodyさん
2007/05/31(木) 00:27:35ID:???0278nobodyさん
2007/05/31(木) 00:43:15ID:???0279nobodyさん
2007/05/31(木) 00:56:51ID:???弄れた気がするんだけど、php.iniじゃないと無理かな?
昔できた気がするんだけど、今やり方が分からない。
気のせいだったかも・・・
0280nobodyさん
2007/05/31(木) 01:01:24ID:???0281nobodyさん
2007/05/31(木) 01:02:39ID:???error_reporting(E_ALL);
error_reporting(0);
とか、つうか
ttp://php.mirror.camelnetwork.com/manual/ja/ref.errorfunc.php
■ このスレッドは過去ログ倉庫に格納されています