PHP PHPって

このエントリーをはてなブックマークに追加
11
http://member.nifty.ne.jp/hippo2000/perltips/phpperl.htm
プログラムに詳しくない初心者はPHP PHPってうざいねぇ。
何も知らない初心者丸出しで恥ずかしいよ。
2nobodyさん:02/10/18 13:14 ID:???
                     __
                ,,r‐''"~~´:::::::::::::゙~''''‐-、,
              ,,r''´::::::::::::::::::::::::::::::::::::::::::::::::::゙丶、
            /:::::::::::::::::::::::::::::,r、::::::::::::::::::::::::::::::::\
           / ......::::::::::::ィ::::::::// ヽ:::::ト、::::::::::::::::........ヽ
           /:::::::::::,r::::::/ |:::::/ /  ゙、::l ヽ:::::::::、::::::::::::::゙、
           /:::::::::::/i::::/,,,,l:::/ /   ヽト‐-、:::::|',::::::::::::::::i
          i::::::i:::::/'|::/  |/  /     !  ヽ::|ヽ:::::i:::::::::l
         l:::::::|:::/ .i/              ヽ:| ゙、::::i:::::::::|
           |:::::::|/                 ゙'! ヽ,!:::::::::|
         |::::::;;;;i -‐''''''"""~~     ~~"""゙'''''''''‐ |;;;;::::::::| 2ゲットや
          |::::::;;;;;|                        |;;;;:::::::::|
        |::::::::;;;;l                    l;;;;:::::::::|
         |:::::::;;;;;|                       |;;;;::::::::|
     _,,,r-┴、::;;;;ヽ、                   ノ;;;:::::-‐-、
    / 、  、 ヽヽ-,;;;゙ヽ、      ヽフ       ,,,イr/´/ ,r  ゙'ヽ、
 ̄ ̄\,,,ヽ、,,i、,,,i、ノ' ̄ ゙゙̄'''‐- ...,,,,,,,,,,,,,,,,,,.... -‐'''~  ̄(,,しL,/,,,r'~,,,-‐' ̄ ̄
3nobodyさん:02/10/18 13:17 ID:???
  ついでに3もゲトーー♪
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄

   ,   _ ノ)
  γ∞γ~  \    ホエー
  |  / 从从) ) ヘノ)
  ヽ | | l  l |〃  \          (´´
  `从ハ~_¬ノ)  ヾ /      (´⌒(´
   ⊂ >< /⊂ __/つ≡≡≡(´⌒;;;;≡≡≡
              (´⌒(´⌒;;   
      ズザーーーーーッ
4nobodyさん:02/10/18 13:19 ID:???
オマエガナー


と言ってみるテスト。
5nobodyさん:02/10/18 13:32 ID:???
              /⌒彡
     /⌒\    /冫、 )  
     /  ∧ `./⌒ i `  /ゝ  ふーん
     /  ノ  > ( <     ( \\
  ̄~⌒ ̄ ̄~  \`つ    ⌒ _)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

6nobodyさん:02/10/18 15:27 ID:???
          _Y_
            r'。∧。y.
         ゝ∨ノ       >>1が糞スレ             ,,,ィf...,,,__
          )~~(             立てている間に   _,,.∠/゙`'''t-nヾ ̄"'''=ー-.....,,,
         ,i   i,                        ,z'"    ̄ ̄ /n゙゙''''ー--...  
         ,i>   <i     文明はどんどん発達し    r”^ヽ      く:::::|::|:::〔〕〔〕
         i>   <i.     ていく・・・・・・。      入_,..ノ ℃      ̄U ̄_二ニ=
`=.,,ー- ...,,,__  |,r'''"7ヽ、|  __,,,... -ー,,.='             >ーz-,,,...--,‐,‐;;:'''""~     
  ~''':x.,,  ~"|{ G ゝG }|"~  ,,z:''"                      ___ 
      ~"'=| ゝ、.3 _ノ |=''"~      <ー<>         /  l ̄ ̄\
        .|))    ((|        / ̄ ゙̄i;:、      「 ̄ ̄ ̄ ̄| ̄| ̄ ̄ ̄\
             ))|       r'´ ̄「中] ̄`ヾv、   `-◎──────◎一'
                   ├―┤=├―┤ |li:,
                   |「 ̄ |i ̄i|「.//||「ln|:;
                   ||//__|L_」||__.||l」u|:;
                   |ニ⊃|  |⊂ニ| || ,|/
                   |_. └ー┘ ._| ||/
                   ヘ 「 ̄ ̄ ̄| /
7nobodyさん:02/10/18 18:55 ID:???
>>1
そゆ事はPHPを極めてから言ってください。
8nobodyさん:02/10/18 19:40 ID:MwgT6O/9
>>1さんの見解ではどっちが速いんですか?
9bloom:02/10/18 19:48 ID:r1jumFVK
10nobodyさん:02/10/18 21:57 ID:???
c/c++に慣れた俺にとって、設計しやすい言語であるということが一番重要
11nobodyさん:02/10/19 00:20 ID:???
>>10
そんな貴方に朗報。
次期バージョンでやっとデストラクタが実装されるよ。
あと、Factory Methodが実現できるようになったり、
Exceptionが実装されたり、よりOOPっぽくなるみたい。


ただ、Perlのuse strict;に相当するものがいつになったら実装されるのやら…
12nobodyさん:02/10/19 02:59 ID:QhIrEHwz
>>1
処理速度より開発速度
13nobodyさん:02/10/19 03:10 ID:???
禿しくガイシュツ
14nobodyさん:02/10/19 03:51 ID:Gix152mT
PHPってなんでPHP?
「Hypertext Preprocessor」ならHPちゃうんかい(3文字やったらHPP?)
15nobodyさん:02/10/19 03:58 ID:???
>>14
PHP: Hypertext Preprocessor
↑  ↑     ↑
P   H      P
16nobodyさん:02/10/19 04:55 ID:???
>>15
そいじゃあ最初のPHPはなんなのさー?
もしかしてPHP出版??
17名無しさん@Meadow:02/10/19 05:22 ID:???
>>15
ちとおもしろい
18nobodyさん:02/10/19 05:42 ID:???
>>17
?
19nobodyさん:02/10/19 06:01 ID:QhIrEHwz
>>16
「再帰」って知ってますよね。
20nobodyさん:02/10/19 06:05 ID:???
>>16
recursive acronymと言う書き方らしい
おそらく最初のPはどのアルファベットでも成り立つ


Imifumei Wakewakaran

なんとなくQ

QIW: Imifumei Wakewakaran



QIW/それは意味不明ワケワカラン単語
21nobodyさん:02/10/19 06:06 ID:???
ちなみに>>20は超適当だから
22名無しさん:02/10/19 06:15 ID:???
GNU
23nobodyさん:02/10/19 07:25 ID:???
>>22
それもだな

なお「GNU」とは、「Gnu is Not Unix.」の略で、略語の展開形に略語自身が含まれる言葉遊びとなっている。
24 :02/10/19 07:48 ID:???
PHP, Rubyなどは金のない学生さんがあそぶおもちゃでしょ?



25nobodyさん:02/10/19 08:13 ID:QhIrEHwz
>>24
金のない弱小システム開発
26nobodyさん:02/10/19 08:44 ID:MmOv3ITm
なんだ>>1は初めてだったのか
27nobodyさん:02/10/19 16:37 ID:XZCUyDPe
>>1は年寄りだと思う、なんとなく
28ルータス ◆BJImggpGNU :02/10/19 18:59 ID:xPzt1E6L
パフパフ
29nobodyさん:02/10/19 19:40 ID:???

トート
30nobodyさん:02/10/20 01:02 ID:TEUPg9FV
Personal HomePage
31nobodyさん:02/10/20 01:17 ID:TH9l9BrQ
「昨日、武富士に行ったんでしょ?」
「いい感じだったよ」
「へー、やっぱそうなんだ」
「やっぱり、PHPはPHP」
「そういうこと」
「そう、PHPがPHP」
「PHP PHPって…」
32nobodyさん:02/10/20 03:15 ID:???
ここ、1がその文章に同意してるだけのスレ?
33nobodyさん:02/10/21 12:35 ID:2JD4ZcGH
>>14
PHPの歴史でも読んで見ては。
http://jp.php.net/manual/ja/history.php
34 ◆FVsoK2VEt. :03/02/12 02:05 ID:???
TEST
35 ◆FVsoK2VEt. :03/02/12 02:09 ID:???
サイトを作ろうと思っています。
メモサイト。

ちょっとメモっておきたいと思ったことを
手軽に保存できるサイトです。
もともとはWEB制作板のスレで始めたのですが
板違いのような気がしたのでWebProg板に移ることにしました。
http://pc2.2ch.net/test/read.cgi/hp/1043575085/8-
36 ◆FVsoK2VEt. :03/02/12 02:11 ID:???
ちなみにPHP初心者です。
他の言語もほとんどわかりません。

まあ気楽にやっていきます。

37 ◆FVsoK2VEt. :03/02/12 02:20 ID:???
構想としてはそのメモサイトをOpenJaneで読めるように
subject.txtとDATファイルで保存しようと思ってたんですが、
DBを扱ってみたいというのがあって変更することにしました。
(DB保存できて、しかもOpenJaneで読める方法ってあるのかな?)

設計が大事だと言うことなのでちょっとイメージを書いてみます。

基本的には3つのファイルです。
index.php、read.php、admin.php

index.phpには最新のメモを表示。
read.phpでデータを見る。./read.php/00000000/で読める。
admin.phpで新規投稿、修正・削除。

といったところです。
(・・・設計ってこんなモノでいいのかなあ?)
38 ◆FVsoK2VEt. :03/02/12 02:39 ID:???
んでDBのテーブルですが必要な項目はID、タイトル、本文の3つだけですね。
もしかするとメモ毎のアクセス数を保存してランキングのようなものを
作ってもいいかな、なんて思ってるんでヒット数も作っておくことにします。

んでよくわからないのですがスクリプト公開しているサイトを見て
結局下のようなテーブルにすることにしました(初心者の判断)。
これで大丈夫なんですかねえ?
一応read.php/ID/ってアクセス方法の予定なので
IDは登録時のmktimeの値をいれようと思います。

$query = "CREATE TABLE memo (
 id int(10) DEFAULT '0' NOT NULL auto_increment,
 hit int(10) NOT NULL default '0',
 subject varchar(100),
 comment text,
 PRIMARY KEY (id)
)";
39 ◆FVsoK2VEt. :03/02/12 02:44 ID:???
または、登録カテゴリを作って test/read.php/CATEGORY/ID/ のように
アクセスするのもいいかなと思っています。(2ちゃんねる風のURLで)

その場合は下みたいな感じでいいのかな?
$query = "CREATE TABLE memo (
 id int(10) DEFAULT '0' NOT NULL auto_increment,
 hit int(10) NOT NULL default '0',
 category varchar(10),
 subject varchar(100),
 comment text,
 PRIMARY KEY (id)
)";
40 ◆FVsoK2VEt. :03/02/12 02:49 ID:???
ここで気づいたのがメモが複数ページになるときは
どうすればいいんでしょうか?

初心者の私にとっては非常に難しい問題ですね。
41 ◆FVsoK2VEt. :03/02/12 02:59 ID:???
レス関係を保存したテーブルを別に作れば出来そうです。
もっといい方法がありそうな気もしますが、私にはこれが限界です。

memoテーブルに保存したIDと同じIDでレス関係を保存するテーブルは
どのような感じでしょう?ちょっと悩んでいます。
42 ◆FVsoK2VEt. :03/02/12 03:18 ID:???
メモテーブルに親メモかそうでないかの項目を作るのはどうでしょう?
親なら0を、子ならば親のIDを保存する項目です。
そしてレス関係テーブルには親の場合のみ新規登録、
子を登録する場合は親記事のレス項目に下のように保存する、です。
2番目のレスの子のID<>タイトル
3番目のレスの子のID<>タイトル
4番目のレスの子のID<>タイトル

流れとしては
・read.php/CATEGORY/IDという値を受け取る
・メモテーブルから該当IDのデータを取得
・取得したメモデータからレス関係IDを取得

親IDの場合
・レス関係テーブルから親IDのデータを取得
0の場合
・レス関係テーブルから自分のIDのデータを取得

これでメモを表示する際に以下のことが表示できる用になるはずです。
・複数ページの何ページ目であるか
・今のメモ以外の他のページのID

多分コレでいいと思うんだけど、初心者の考えだからミスってそうだよなー。。。
43 ◆FVsoK2VEt. :03/02/12 03:21 ID:???
言い遅れましたがこのサイトの目的ですが
自分自身や他の誰かに情報を提供するってのもありますが
サイトを作ること自体が1番の目的です。
44 ◆FVsoK2VEt. :03/02/12 03:28 ID:???
まとめると作るテーブルは以下の2つです。

$query = "CREATE TABLE memo (
 id int(10) DEFAULT '0' NOT NULL auto_increment,
 hit int(10) NOT NULL default '0',
 resid int(10) NOT NULL default '0',
 category varchar(10),
 subject varchar(100),
 comment text,
 PRIMARY KEY (id)
)";

$query = "CREATE TABLE res (
 id int(10) DEFAULT '0' NOT NULL auto_increment,
 resdata text,
 PRIMARY KEY (id)
)";

おそらく詳しい人からするとつっこみどころ満載だと思います。
ツッコミキボンヌ(*´д`*)ハァハァ
45 ◆FVsoK2VEt. :03/02/12 11:47 ID:???
とりあえず今日までに作ったモノをアップしました。
添削キボンヌです。

http://webmemo.s26.xrea.com/

http://webmemo.s26.xrea.com/test/read.php/sample/1/
でデータが表示されます。
なんとか期待する動きをしています。
46nobodyさん:03/02/12 23:54 ID:???
Perfect!
47 ◆FVsoK2VEt. :03/02/13 02:40 ID:???
とりあえずadmin.phpのDB新規登録のみα版出来ました。
なんとか期待する動きをしています。
48 ◆FVsoK2VEt. :03/02/13 02:40 ID:???
レス関係DBに登録させるの忘れてましたがそれはまた今度(w
49 ◆FVsoK2VEt. :03/02/13 09:36 ID:???
レス関係テーブルにも反映させるようにしました。
あとやっぱりミスってたんでそれを修正。
50 ◆FVsoK2VEt. :03/02/13 12:56 ID:???
DBに登録させる文字で、セキュリティ上問題になりそうな文字を
自分でテーブルを作って変換させようと思うんですが
どういう文字をテーブルに加えればいいのでしょう?
ちなみに関数はもう作りました。(もっと効率のいい方法ってありますか?)

変換テーブルはこんな感じです。
$tradeTable = array("123"=>"[123]");
んで関数が下の二つ。
function tradeString($text){
 global $tradeTable;
 $keys = array_keys($tradeTable);
 $values = array_values($tradeTable);
 $text = str_replace($keys, $values, $text);
 return $text;
}
function unTradeString($text){
 global $tradeTable;
 $values = array_keys($tradeTable);
 $keys = array_values($tradeTable);
 $values = array_reverse($values);
 $keys = array_reverse($keys);
 $text = str_replace($keys, $values, $text);
 return $text;
}
51 ◆FVsoK2VEt. :03/02/13 12:57 ID:???
考えても解りそうもないので質問スレにいってきます・・・
52 ◆FVsoK2VEt. :03/02/13 23:42 ID:???
質問してきました。

「'」「"」「_」「\」「%」「;」「\r」「\n」「NUL(\x00)」「\x1a」
あたりを変換しておけば大丈夫なようです。

つーことで
$tradeTable = array(
"'"=>"[trade1]",
"\""=>"[trade2]",
"_"=>"[trade3]",
"\"=>"[trade4]"
"%"=>"[trade5]",,
";"=>"[trade6]",
"\r"=>"[trade7]",
"\n"=>"[trade8]",
"\x00"=>"[trade9]",
"\x1a"=>"[trade10]"
);

で大丈夫なようです。登録の際はこれを変換、読むときは逆変換ですね。
さて、どれに変換関数を組み込むべきか・・・
53nobodyさん:03/02/14 08:51 ID:???
mysql_escape_stringでエスケープして
stripslashesでもどしたら
54 ◆FVsoK2VEt. :03/02/14 10:09 ID:???
>>54
あれ?なんか勘違いしてたみたいです・・・
最初それやってて変な動きしてたんで自分で作ろうと思ってたんですが
今やると全然問題無しです。今までの頑張りはなんだったんだろう(´・ω・`)
とりあえず変換は下の2つでいいかな。

//データをSQLに入れられる形にする
function sanitize($text){
if(get_magic_quotes_gpc()){ $text = stripslashes($text); }
$text = ereg_replace("(\r|\n|\r\n)", "", $text);
$text = str_replace("<>", "[trade1]", $text);
$text = str_replace("_", "[trade2]", $text);
$text = str_replace("%", "[trade3]", $text);
$text = str_replace(";", "[trade4]", $text);
$text = trim($text);
$text = mysql_escape_string($text);

return $text;
}
//データを戻す
function unsanitize($text){
$text = stripslashes($text);
$text = str_replace("[trade4]", ";", $text);
$text = str_replace("[trade3]", "%", $text);
$text = str_replace("[trade2]", "_", $text);
$text = str_replace("[trade1]", "<>", $text);
return $text;
}
str_replaceのところは>>51の関数を使っても良かったんですが
恐らく変換リストは増えないだろうということと、速度的にもこちらのほうがいいだろう(多分)
という2つの理由からつかってません。
55 ◆FVsoK2VEt. :03/02/14 10:58 ID:???
よく考えてみると改行は削除しなくていいですね。

function sanitize($text){
if(get_magic_quotes_gpc()){ $text = stripslashes($text); }
$text = str_replace("<>", "[trade1]", $text);
$text = str_replace("_", "[trade2]", $text);
$text = str_replace("%", "[trade3]", $text);
$text = str_replace(";", "[trade4]", $text);
$text = trim($text);
$text = mysql_escape_string($text);

return $text;
}
56 ◆FVsoK2VEt. :03/02/14 11:07 ID:???
その他いろいろ修正。
そろそろ登録関連は落ち着いてきたので
メンテナンスを作りたいと思いますがそれはまた今度。
57 ◆FVsoK2VEt. :03/02/16 02:52 ID:???
登録のところでいろいろ修正がありましたが
とりあえずメンテナンスβ版ができたところでまとめてアップ予定。
58 ◆FVsoK2VEt. :03/03/03 11:16 ID:???
テスト
59 ◆FVsoK2VEt. :03/03/03 11:18 ID:???
随分と時間が空いてしまいました。
全然進めてなかったので近いうちにまた続きを始めたいと思います。。。
60 ◆FVsoK2VEt. :03/04/04 18:49 ID:???
やる気はありますが時間が。。。
61nobodyさん:04/01/14 09:00 ID:???
P
62nobodyさん:2005/11/06(日) 13:46:40 ID:szZvbyxN
そうだな、PHPって金の無い所がコスト削って採用してるだけ。
当然単価が安い。

長期運用するなら、開発コストも開発速度も無視できるように成るけどね。
ろくにアクセスも増えない糞サイトが妥協する終着駅がPHP。
zend買って足掻くよりjavaで組み直した方が遥かにいいし。
63nobodyさん:2005/11/06(日) 14:03:57 ID:???
ものすごい遅レスだな
64nobodyさん:2005/11/06(日) 16:34:07 ID:+z+rrHmc
上にあるのはPHPのスレばっかりだお。
65nobodyさん:2005/11/10(木) 19:57:00 ID:???
ID:szZvbyxN
こいつ、化石スレ浮上させまくってるけどなにしてんの?
66nobodyさん:2005/11/15(火) 17:03:52 ID:???
これってどういう意味ですか?
<?
exit('終了');
?>
67nobodyさん:2005/11/15(火) 17:29:40 ID:???
>>66
全部マニュアルに書いてあったです

exit
(PHP 3, PHP 4, PHP 5)

exit -- メッセージを出力し、カレントのスクリプトを終了する
68nobodyさん:2005/11/23(水) 05:38:15 ID:???
PHPシンポジウムに中曽根元総理が出てた
すげえ
69nobodyさん:2005/12/13(火) 20:38:38 ID:???
<?
manman($tinko);
?>
70見つけたも:2006/03/24(金) 15:22:58 ID:NDA98oBG
2chブラウザ入れたら糞スレ発見
フン・クソ

3年半ものくさっとる。
レスつけたけど3ヶ月たってる。
WebPro板を見るとこのスレタイも分かる肝するが・・・

奇跡のレスだage
71nobodyさん:2009/07/31(金) 14:24:02 ID:???
>>67
カレンとの関係を終了する・・・
72 忍法帖【Lv=40,xxxPT】(4+0:8) 【36.1m】 電脳プリオン ◆3YKmpu7JR7Ic
せやな