弐ch編集のphp講座
■ このスレッドは過去ログ倉庫に格納されています
0001弐ch編集
02/02/05 18:40ID:???print("始まり");
?>
これでいいです
0175名無しさん@お腹いっぱい。
02/02/12 22:37ID:YTgQL1q9$msg = htmlspecialchars ($msg);
こんなんでいいの?
上のスクリプトに足してみた。
タグ禁止。
0176名無しさん@お腹いっぱい。
02/02/12 22:49ID:???著作権表示消したらいかんよ
/* source view==PHP4 Only!== by ToR */
/* ->source.php?target.php */
0177名無しさん@お腹いっぱい。
02/02/12 23:26ID:e1RIuohq017891 ◆Angel1EM
02/02/12 23:39ID:???反応遅れてごめんなさい〜。
こんなページあったんだ・・・。
とりあえずみてみるよ。
ありがと〜。
そういえば、PHP4.1.0からpost/getされたデータを
グローバル変数で取り出すの、非推奨になってたんだね。
0179名無しさん@お腹いっぱい。
02/02/12 23:43ID:tN7VQo4Uゴメソ。まともにダウンせずに、サイトに直で載ってたソースコピペしちゃってた。
直しまスた。
0180ミニ弐編 ◆exvx.LWc
02/02/12 23:45ID:GZCCMcX5やっぱフレームやめたは
ビルダー作だけど
htmlから
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE></TITLE>
<BODY bgcolor="#619fbe" text="#ffffff">
<BLOCKQUOTE>
<form method="post" action="bs.php">
<DIV align="center">名前<BR>
<tt><INPUT name="name" type="text" size="24"><br>
本文<br>
<TEXTAREA name="com" cols="21" rows="9"></TEXTAREA><br>
<input type="submit" value=" Send "><br>
</tt></DIV>
</form><hr>
0181ミニ弐編 ◆exvx.LWc
02/02/12 23:47ID:GZCCMcX5/* 設定 */
$logfile = "sample2.htm";//ログファイル名
$viewmax = 5; //表示行数
$logmax = 100; //保存最大行数
/* 書き込み処理 */
if($name && $com)
{
$com = str_replace("\r\n", "\r", $com);//Win系は\r\n
$com = str_replace("\r", "\n", $com); //Mac系は\r
$com = nl2br($com);//改行文字の前に<br />追加
$com = str_replace("\n", "", $com);//\n除去
$dat = "<P align=\"center\">$name<BR><BR><BR>$com</P>\n";
//ログに書き込む
$lines = file($logfile); //いままでのログを配列に読み込む
$fp = fopen($logfile, "w"); //ログをオープン(空になる)
fputs($fp,$dat); //データを書き込む(先頭に)
for($i = 0; $i < $logmax-1; $i++) //いままでの分を追記
fputs($fp, $lines[$i]); //(配列0-98→現ログ1-99行目)
fclose ($fp);
}
//表示処理
$lines = file($logfile);
for($i = 0; $i < $viewmax; $i++)
{
print("$lines[$i]<HR>");
}
?>
</BLOCKQUOTE>
</BODY>
</html>
ここ結構マネてんだけどね
http://php.s3.to/tt/tt5.php#multi
↓ソース解説、少しまってちょ
0182ミニ編 ◆exvx.LWc
02/02/12 23:52ID:GZCCMcX5/* 設定 */
$logfile = "sample2.htm";//ログファイル名
$viewmax = 5; //表示行数
$logmax = 100; //保存最大行数
/* 書き込み処理 */
if($name && $com)←&&は〜と〜って意味
{
$com = str_replace("\r\n", "\r", $com);//Win系は\r\n←str_replace関数は置き換え関数みたいな感じ
$com = str_replace("\r", "\n", $com); //Mac系は\r
$com = nl2br($com);//改行文字の前に<br />追加←<BR>タグいれてくれる関数nl2br
$com = str_replace("\n", "", $com);//\n除去
$dat = "<P align=\"center\">$name<BR><BR><BR>$com</P>\n";
//ログに書き込む
$lines = file($logfile); //いままでのログを配列に読み込む
$fp = fopen($logfile, "w"); //ログをオープン(空になる)
fputs($fp,$dat); //データを書き込む(先頭に)
for($i = 0; $i < $logmax-1; $i++) //いままでの分を追記
fputs($fp, $lines[$i]); //(配列0-98→現ログ1-99行目)
fclose ($fp);
}
//表示処理
$lines = file($logfile);
for($i = 0; $i < $viewmax; $i++)
{
print("$lines[$i]<HR>");<HR>は水平線
}
?>
宿題
何か作ってきて
次回 明日はお休み
カウンタ作ってみる?
0183ミニ編 ◆exvx.LWc
02/02/12 23:59ID:GZCCMcX5またすっげー(・∀・)イイの作ってだすから〜ん!
今回わけわからんかった人も次の解説まってチヨ!
0184名無しさん@お腹いっぱい。
02/02/13 00:11ID:???0185名無しさん@お腹いっぱい。
02/02/13 00:12ID:???>何か作ってきて
だった。何かって・・?
0186名無しさん@お腹いっぱい。
02/02/13 00:18ID:???0187ミニ編 ◆exvx.LWc
02/02/13 00:23ID:TgdYFLH9ぃゃぁあのhtmlを駆使してイカシテル掲示板とか、
じゃんけんスクリプトとか何でもいいんで、おもろいもん、自分で
何か作るのが一番の勉強だからさ
>>186
俺が?
あと
>>167
>>168
ありがとーう!!!
>>169
意 味 が わ か ら ん
>漏れこのスレ楽しみにしてるから
ありがとう
>>せいぜいがんばれよ
はぁ?どっちやねん(´ω`;;;;)
0188ミニ編 ◆exvx.LWc
02/02/13 00:37ID:TgdYFLH9じゃぁ!
0189名無しさん@お腹いっぱい。
02/02/13 00:38ID:???0190名無しさん@お腹いっぱい。
02/02/13 01:08ID:a5UGinf10191名無しさん@お腹いっぱい。
02/02/13 09:54ID:???PHPを勉強する利点ってありますか?
0192gikochan ◆Bei0tBWg
02/02/13 12:47ID:???ミニ編さま、講師おつかれさまですー。
個人的に 181の別解おもいついたのですが、効率を重視して(?)、
こういうのはどうでしょうか?
181の書き込み処理を軽くすませる方法(・∀・)
新たな命令 array_shift / array_slice / implodeつかってしまいました(´Д`;)
181の14行目〜21行目
//ログに書き込む-----------------------------------------------------------------------
$lines = file($logfile); //いままでのログを配列に読み込む
$lines = array_shift($lines,$dat); //配列の先頭に新しい要素(データ)を追加
$lines = array_slice($lines,0,$logmax); //配列の先頭[0]の要素から、指定個数($logmax)だけ残す
$write_data = implode($lines,""); //配列の内容を1つの文字データに結合
$fp = fopen($logfile,"w"); //ログファイル書き込みオープン
fwrite($fp,$write_data); //書き込み
fclose($fp); //クローズ
//-------------------------------------------------------------------------------------
0193gikochan ◆Bei0tBWg
02/02/13 12:47ID:???一度ログを配列にとりいれたのなら、配列だけで一度に新しい情報の追記などの処理をしてしまう。
書き込みは最後にfwrite一度のみで、済ませていまふ。
今回はforループ内で書き込み処理を使っていません。
forループで繰り返し書き込み処理(fputやfwriteなど)を行うと、保存行数が増えたとき、
(たとえば非現実的ですがログ保存行数が5000行とか)重くなるなど、のデメリットがあるため。
保存行数5000行ならループを5000回繰り返すことになるです(゚∀゚;)
以上、勝手な解釈ですみませぬ。m(_ _)m
0194名無しさん@お腹いっぱい。
02/02/13 22:09ID:???http://pc.2ch.net/test/read.cgi/php/1012902013/l50
ここに俺odnADSLだからしばらく書けないかもって書いてきてください
ですって
0195名無しさん@お腹いっぱい。
02/02/13 22:09ID:Df5j9fvu俺odnADSLだからしばらく書けないかも
0196名無しさん@お腹いっぱい。
02/02/13 22:09ID:???俺odnADSLだからしばらく書けないかも
http://www.i-love-you.gr.jp/test/read.cgi?bbs=loung&key=013605666
0197ミニ編(代筆)
02/02/13 22:11ID:???0198名無しさん@お腹いっぱい。
02/02/14 00:16ID:HMQ3IZ2G0199193 ◆Bei0tBWg
02/02/14 00:54ID:???失礼しました。
0200名無しさん@お腹いっぱい。
02/02/14 01:33ID:???193のやり方がすっきりしてていいと思う。
でもどちらがサーバにやさしいんだろう?
5000行ぽっちじゃなくて
50万行くらいいったら差が出るんかな?
0201名無しさん@お腹いっぱい。
02/02/14 02:21ID:???ステップ数よりも処理の内容によるでしょ。
0202名無しさん@お腹いっぱい。
02/02/14 08:07ID:???50万行を配列にいれちゃうの?
ブルブル…
0203201
02/02/14 09:49ID:???逝ってきます。
0204名無しさん@お腹いっぱい。
02/02/14 11:12ID:JQ2Gyegkforeachで回さない限り、破綻はしないけどね。
ま、アクセスが強烈なサイトだったらやめた方がいいかもね。
一日一万アクセス程度のサイトだったら、50万レコードの配列程度じゃびくともしなかったよ。
(ていうことは、やったということだけどね)
ちなみにサーバは、500MHz程度のペンティアムに512MBのメモリのLinuxだった。
whileで回して、lastで抜けてたけどね。
0205名無しさん@お腹いっぱい。
02/02/14 18:08ID:???foreach使うとまずいの?
0206名無しさん@お腹いっぱい。
02/02/14 19:32ID:???512MBも積んでいるからだろ。
0207名無しさん@お腹いっぱい。
02/02/14 20:55ID:JQ2Gyegkforeachは、配列をいったん評価してからループにはいるから、配列の中身が50万個あると、
その50万個を評価するのに時間とリソース食う。
whileなら、さみだれ式に処理するから、めっかったところでなんか処理したらいい。
ただし、keysやvalues使っちゃうとwhileでも巨大なメモリ消費になるので、危険は危険。
eachで逐次処理するのが一番もっともらしいかな?
ただ、重いのは重いよ、やっぱし。
どきどきしちゃう。
0208すみません
02/02/14 21:02ID:Ng/0IjnQ普通に動かすことってできるのですか?
過去ログに有ったらすみません、場所教えてください。
PHP 素人です。
0209名無しさん@お腹いっぱい。
02/02/14 22:01ID:???0210名無しさん@お腹いっぱい。
02/02/15 09:54ID:BTNR6PIJ0211名無しさん@お腹いっぱい。
02/02/15 10:15ID:???ホスティングサービスのPHP制限って言ったらセーフモードだろ(予想
あと、スレ違いな( `Å´)
0212名無しさん@お腹いっぱい。
02/02/15 11:18ID:adcoziP50213名無しさん@お腹いっぱい。
02/02/15 13:43ID:???0214名無しさん@お腹いっぱい。
02/02/15 16:37ID:blqT6YTo制限かかってるといってもsystem()とかそういうやつなので
こった事やろうと思わないなら問題ないと思う
0215名無しさん@お腹いっぱい。
02/02/15 19:24ID:???0216名無しさん@お腹いっぱい。
02/02/15 23:10ID:???$regs[1] ←$1
0217名無しさん@お腹いっぱい。
02/02/16 12:12ID:mTWd6Sj20218びびり
02/02/16 13:47ID:q6j0GCIZhttp://210.136.159.185/cgi-bin/bbsk/bbsi.cgi
0219名無しさん@お腹いっぱい。
02/02/16 14:05ID:???出来るけど自分でやれ。
もしくは30万円で作ってやる。
0220ミニ編 ◆exvx.LWc
02/02/16 14:21ID:???0221名無しさん@お腹いっぱい。
02/02/16 14:22ID:???まあ一応ここ見て解決したが、
http://www.php.net/manual/ja/function.preg-replace.php
はまったのは取り出した$1を展開する時
=======================================
例 2/e 修飾子の使用法
preg_replace ("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
=========================================
置換する式を""でくくららいといかん
0222ミニ編 ◆exvx.LWc
02/02/16 14:25ID:x2V+2d4L>>191
phpの利点だが、早い,webprog専用なので関数がいっぱいあって楽!
逆にwebprogにしか使えないとも言えるが、、
IPなんて一行で抜ける、レイアウトとスクリプトの役割分担しやすい
だめなとこ
鯖は改善されてきたが、これといった本が無いな、こんなもんだよ
>>214
セーフモードってうpロダとか使えないんじゃなかったっけ?
>>217
おお!お願いできる?今日の講座終わったら次から よ ろ し く!
>>218
3週間もあれば書くけど、、自分で作ったほうが早いよー
0223ミニ編 ◆exvx.LWc
02/02/16 14:33ID:x2V+2d4L続きは>>217さんか他の方ができたらやってもらいたいなぁ
カウンタを作ってみよう!
<?
$filename = "count.dat";
$file = fopen($filename,"r");
$count = fread($file, filesize($filename));
fclose($file);
$count++;
print("$count");
$file = fopen($filename,"w");
fwrite($file, $count);
fclose($file);
?>
解説
<?
$filename = "count.dat";←$filenameはcount.datにする
$file = fopen($filename,"r");←読み専用で開ける
$count = fread($file, filesize($filename));←
fread関数はfread(読み込むファイル,読み込むサイズ)
でfilesizeで$filenameの大きさ測った
fclose($file);←閉める
$count++;←$countに1足す
print("$count");←表示カウンタ
$file = fopen($filename,"w");←カク専用で開ける
fwrite($file, $count);←書く
fclose($file);←閉める
?>
0224ミニ編 ◆exvx.LWc
02/02/16 14:40ID:x2V+2d4Lこれで興味を持った人や初めてphpを触って面白いと思った
人がいたら凄く嬉しいです。。
あとレッツphpさん俺もあなたのページ凄く好きですよ!
番外編-お勧めphpエディタ-&-お勧めページ-
エディタ↓
http://www2s.biglobe.ne.jp/~t-susumu/toclip/library/tpad.html
ページ↓
http://php.s3.to/
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/
ここで覚えたんでソースそっくりです
誰か俺が教えてやるぞーって人いたらやってください
長い間楽しかったです、じゃぁ! ミ二編
0225あぼーん
NGNG0226あぼーん
NGNG0227名無しさん@お腹いっぱい。
02/02/16 17:56ID:Rq7ix2oEお疲れ様でした。
つうかできればこんどはもうちょっと上のレベルを
あなたに教えてほし(略)
0228あぼーん
NGNG0229ミニ編 ◆exvx.LWc
02/02/16 18:22ID:x2V+2d4Lまた時間が出来たら中級編でもやるよー。じゃぁおつかれさまでした!
>>228
よりたいなら素直によりたいって言えば?あほちゃうか
0230あぼーん
NGNG0231あぼーん
NGNG0232名無しさん@お腹いっぱい。
02/02/16 22:01ID:49kJ9jS2これでPHPに興味を持ったよ。本も買ったしね。
中級編楽しみにしてるね
0233名無しさん@お腹いっぱい。
02/02/16 22:25ID:???0234あぼーん
NGNG0235あぼーん
NGNG0236あぼーん
NGNG0237あぼーん
NGNG0238名無しさん@お腹いっぱい。
02/02/17 12:48ID:Zw3sJVBzPEAR?確かSoftwareDesignに乗ってたと思われ。
0239あぼーん
NGNG0240名無しさん@お腹いっぱい。
02/02/19 12:45ID:???ともあれ、ミニヘソさんオツカレでした。
おいらもPHPちょいと勉強してみる気になりました。
0241名無しさん@お腹いっぱい。
02/02/19 14:55ID:1v3AUB4Uあと、下記でPHPの本が丸ごと一冊ダウンロード出来ます。
通称マンモス本
http://www.php.gr.jp/php/php4tettei/
0242名無しさん@お腹いっぱい。
02/02/19 15:45ID:???| おい! オカマ野郎出てこい!
∧ ∧ |/\_________
(,,゚Д゚)____.
(つ/~ ※ ※ \
/※ ※ ※ ※ \
0243名無しさん@お腹いっぱい。
02/02/19 15:48ID:???thx!
>242
そのAA使わないでくれる?
荒らしだと思われたくないから。
0244あぼーん
NGNG0245あぼーん
NGNG0246名無しさん@お腹いっぱい。
02/02/19 17:12ID:???/⌒ヽ) < 荒らしに使われてる…
〜(___ ) \_____________
''" ""''"" "''
0247名無しさん@お腹いっぱい。
02/02/20 18:48ID:???今までいろいろ類似スレ立ててたみたいだけど、いっこうに答えてくれてないぞ。
0248名無しさん@お腹いっぱい。
02/02/20 23:19ID:???姫のやることに口出すなや低脳w
0249>>248
02/02/21 01:22ID:???/∵∴∵∴\
/∵∴∵∴∵∴\
/∵∴∴,(・)(・)∴|
|∵∵/ ○ \|
|∵ / 三 | 三 | / ̄ ̄ ̄ ̄ ̄
|∵ | __|__ | < 弐編へ帰れ腰巾着!!!
\| \_/ / \_____
\____/
0250名無しさん@お腹いっぱい。
02/02/21 01:53ID:???仕様が無いな。
コロすか(藁
元メッセージ:弐編へ返れ腰巾着!!!
リバース・スピーチ:くやちんぎしこれえかへんへに
語釈:くやしい!これへ代えんへに。
第一深度解釈:くやしい!何か一生懸命になれるものや
好きなものを持っている奴が羨ましい!!
ヲマエの精神の空虚さがたっぷり暴露されたようだなw
0251名無しさん@お腹いっぱい。
02/02/21 03:05ID:???250、図星だったんだな(ワラ
0252名無しさん@お腹いっぱい。
02/02/21 04:12ID:???0253ていうか ◆16H8/cmo
02/02/21 05:06ID:???header("Location: http://www.2ch.net");
exit;
?>
これをプログラムの先頭にいれとけ(w
0254名無しさん@お腹いっぱい。
02/02/21 05:32ID:aUjfYYl6header('Refresh: 0;URL=http://www.2ch.net/');
?>
でも良いと思われ。
0255名無しさん@お腹いっぱい。
02/02/21 06:12ID:???1時間12分しか放置に耐えられないってのは弱すぎると思う。
0256247
02/02/21 17:28ID:???いや弐ch編集だから叩いてる訳じゃなくてさ。
PHP講座の内容は評価できるけど、ここじゃいくらやっても荒れるって。
megabbsでマターリやった方がいいと思うんだよ。
弐編の名を出すと叩かれやすいのは事実だけど。
0257名無しさん@お腹いっぱい。
02/02/26 23:53ID:???テレホ時でTELNETコマンドでps axで調べると
/usr/local/apache/bin/httpd
がいっぱい表示されて高負荷になってしまうんだけど、
これってアルゴリズムに問題があるのかな・・・?
load average: 16.30, 16.05, 12.64
こんなに高負荷・・・。
サーバーは1GHzメモリ512MBを利用しているんだけどなぁ・・・。
もちろん専用サーバーでAT-LINKを利用しているんだけど。
ちなみにアクセス数の多いホームページでincludeを2つ利用しています。
分かる人いるかな・・・
0258名無しさん@お腹いっぱい。
02/02/27 03:20ID:???アルゴリズムについて指摘受けたいならその部分を書かないと。
てか以下に誘導
http://pc.2ch.net/test/read.cgi/php/1013919792/
0259名無しさん@お腹いっぱい。
02/02/27 10:35ID:pI9sVku1何が悪いのか教えてください。お願いします。
temp2.jarもrenameしたファイルも temp.jar と同じaaaディレクトリの中に作りたいです。
$filename = "../aaa/temp.jar";
$copied_filename = "temp2.jar";
$new_filename = $Server_name . ".jar";
if(!copy($filename, $copied_filename)){
echo "$head
<br><br><center>br>失敗</center>
$foot";
}
else {
if(!rename($copied_filename, $new_filename))
echo "$head
<br><br><center>br>失敗</center></center>
$foot";
}
0260あぼーん
NGNG0261あぼーん
NGNG0262あぼーん
NGNG0263あぼーん
NGNG0264あぼーん
NGNG0265名無しさん@お腹いっぱい。
02/03/01 02:38ID:???0266名無しさん@お腹いっぱい。
02/03/01 02:38ID:???0267あぼーん
NGNG0268あぼーん
NGNG0269nobodyさん
02/03/14 05:59ID:KJ3/vw2Q0270nobodyさん
02/03/18 22:06ID:QDdi1EIX0271nobodyさん
02/03/19 01:22ID:???0272あぼーん
NGNG0273nobodyさん
02/03/20 13:31ID:wisaBgdp姫、怒るなよw
贈り物だよハァハァw
■ このスレッドは過去ログ倉庫に格納されています