トップページ⇒php
997コメント327KB

【PHP】自作スクリプト発表会

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/03/30 11:55ID:M/C/V7hb
自分が書いたPHPスクリプトを発表するスレ。
初心者が書いた入門スクリプト、ベテランが書いたすげースクリプト。
発表してね。
予めスクリプトの内容を明記してURLを貼り付けるのがよろしいかと。
マターリ進行でいきませう。

PHPが使える無料サーバ情報(レッツPHP!):
http://php.s3.to/php/
0755nobodyさん2006/03/19(日) 01:05:31ID:???
少佐はいますか?
0756nobodyさん2006/03/19(日) 01:09:08ID:???
つかSSIのタグ以外はエスケープしないでも大丈夫に思えるが
07577432006/03/19(日) 16:34:19ID:???
>>751,753
ベトコンのことは良く知りません。ベタコンなら知ってます。

>>754
そゆことです。

>>752
参加しやすいようにテンプレ作っといたから使ってみてちょ。

【設置場所】 http://example.com/test.php
【ソース】 http://example.com/test.txt
【プログラミング経験】 3ヶ月 / 1年 / 3年
【希望評価スタイル】 悪い部分を指摘して欲しい / 良い部分を指摘して欲しい
【自分の性格】 かかってこいや! / またーり / 叩かれると自殺しちゃうかも
【備考】 B90/W58/H86 です。
0758nobodyさん2006/03/19(日) 16:35:47ID:???
>>757
> 【備考】 B90/W58/H86 です。
これはほんとうですか
0759nobodyさん2006/03/19(日) 17:59:34ID:???
W59とか58は、実際は61〜65だというのが定説です。
0760nobodyさん2006/03/19(日) 18:40:58ID:ShpQS04P
【ソース】 http://www2.nct9.ne.jp/dorayaki/bbs.zip
【プログラミング経験】 6ヶ月
【職業】 工房(2年)
【備考】
掲示板を製作していたのですが、受験勉強のため、泣く泣く開発を中断しました。
どうせいじれないソースなら、公開してみなさんの意見を聞いたほうがいいと思っ
たので公開します。
サーバの設定に依存するところが多いので、設定ファイルも一緒にダウンロードで
きるようにしました。動かしたい人はそれを使ってください。
07617602006/03/19(日) 18:49:47ID:???
追加です。
・サーバルートにはbbs/publicディレクトリを指定してください。
・bbs/php_includes/parts/conf.phpのBASE_DIRは適宜変更してください。
説明が下手ですね…
0762nobodyさん2006/03/19(日) 18:51:51ID:???
アフィリエイトでお小遣い稼ぎしてたん?w
0763nobodyさん2006/03/19(日) 18:56:06ID:???
>>759
どうもありがとう。Wの部分が改変されやすいんですね。
07647602006/03/19(日) 18:57:18ID:???
>>762
私ですか? 私はやってませんけど、以前兄がやってたみたいです。
googleのインデックスにそれっぽいのが残ってますね。
私も公開したスクリプトでアフィリエイトしようかとたくらんで
いたのですが、開発が面白すぎるので、もうそっちはどうでもい
い感じです。
0765nobodyさん2006/03/19(日) 18:58:16ID:???
そかそか、受験頑張れよー。
07667602006/03/19(日) 18:59:59ID:???
>>765
ありがとうございます。
スクリプトの評価を楽しみにしながら受験勉強がんばります!!
0767nobodyさん2006/03/19(日) 23:13:03ID:???
>>760
う〜ん、この状態だと自分専用で他人が動かしてみようと言う気分にならないような。
標準で関数が揃っているものは自動化推薦(pathとか)
動かしてないからわかんないけどエラー処理が弱そうなのでその辺も強化すべし。
全体としてはこぎれいではあるけど読んで面白いプログラムではなさそうかな。
まあ、まずはプログラムより受験だね。
0768nobodyさん2006/03/20(月) 09:07:01ID:???
>>760
工房でこれだけ書ければ立派。
受験もガンガレ!
0769nobodyさん2006/03/20(月) 15:22:06ID:???
普通の工房なら立派
情報系の工房ならまぁ普通
07707602006/03/20(月) 15:55:01ID:???
>>767
>>768
>>769
ソースをダウンロードしていただいてありがとうございます。

>>767
pathの解析などは、自分でも無駄が多いと思っていたので、息
抜き時間ができたら、またいじくってみます。アドバイスあり
がとうございました。

>>768
そういっていただけるとうれしいです。受験勉強もガンガリます。

>>769
工でも情でも、ましてや商でもなく普通の工房です。

ちなみに、サーバのドキュメントルートにbbsフォルダごとぶっこ
んで、bbs/public/index.phpにアクセスするだけで動くように調整
してみました。(要 Apache & PHP5)
【ソース】 http://www2.nct9.ne.jp/dorayaki/bbs.zip
0771nobodyさん2006/03/21(火) 22:35:49ID:???
こらこら、遊んでないで勉強すれw
面白いものを作ろうと思ったら高校レベルの数学は必須だと思うぞ。
1例としてサイトを紹介しようと思ったけど時間の浪費になると思うのでやめとく。
とにかく今は勉強すれ。絶対損はしないから。
07726462006/03/22(水) 01:39:04ID:WKCyChdz
URI の validation システムを作ってみました。

【設置場所】 http://trashtoy.dw.land.to/app/uri/
【ソース】 http://trashtoy.dw.land.to/app/uri/uri.zip
【プログラミング経験】 3年
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。
【備考】 現在、この uri モジュールを使って memo システムのアドバンス版を作成中。

>>760
高3でここまで作れるのは正直凄いと思う。僕が高3のときはPCに関してはド素人だったし。
受験も頑張ってね! ちなみに自分はただいま就活の現実逃避中。
0773nobodyさん2006/03/22(水) 15:23:56ID:???
>>772
parse_url を使った方がコンパクトでよいと思うよ
0774nobodyさん2006/03/22(水) 15:50:20ID:???
>>772
parse_urlを使わないことで得られる利点を教えてプリーズ
0775nobodyさん2006/03/22(水) 16:36:36ID:???
>>773 >>774
parse_url が扱うことが出来るのはあくまでも URL (Uniform Resource Locator) なので。
機能拡張して、URI (Uniform Resource Identifier) 全般を扱えるようにしたかった。

あと、このモジュールは ABNF に厳密に対応しているんだけど(まだ一部だけ手を抜いてるけど)、
将来的には、この文法に動的に制限を加えて書式を限定できるようにすることも視野に入れてます。
(例えば、"mailto:メールアドレス" 形式だけを受け付けられるようにしたり)

このシステム自体は、uri.php のテストのために作っただけです。
0776nobodyさん2006/03/22(水) 16:39:15ID:???
>>771
私は>>760さんと同じ高2です。
もし良ければ、そのサイトを教えていただけませんか?
数学は�Vは積分法の応用、Cは統計と確率が残っていますが、まだ厳しいでしょうか?
というのも、プログラミングで遊ぶのはこの春休みまでにしてパソコンは封印し、そのかわりに今のうちに多くのことを見ておきたいと思っています。
プログラミングは1年半で、CとC#とPHPしかできません。
0777nobodyさん2006/03/22(水) 17:50:21ID:???
$this->使うのとself::使うのはどう違うん?使い分けは?
0778nobodyさん2006/03/23(木) 02:17:21ID:???
数学なんてプログラミングにいるか・・・?
自分で複雑なアルゴリズムでも作るのか
0779nobodyさん2006/03/23(木) 02:30:04ID:???
ぼく引算はできないけど足算ならできるお!
0780nobodyさん2006/03/23(木) 02:58:33ID:???
>>778
2Dや3D、ゲームの世界なら必須
0781nobodyさん2006/03/23(木) 09:44:11ID:???
書き忘れましたがソースのダウンロード一回につき200円になりますので。
0782nobodyさん2006/03/23(木) 10:23:45ID:???
>>778
> 数学なんてプログラミングにいるか・・・?
> 自分で複雑なアルゴリズムでも作るのか

いるに決まってるだろアホ。
てめえみたいなのがいるからプログラマの単価がさがるんだよ。
氏ね
0783nobodyさん2006/03/23(木) 10:28:18ID:???
おまえらまとめてサインコサインタンジェント〜♪って歌っとけ。
0784nobodyさん2006/03/23(木) 10:32:05ID:???
その程度のレベルかよ。
ゲームプログラマですらその程度では
足りね。

くだらね。
0785nobodyさん2006/03/23(木) 11:04:16ID:???
オブジェクト指向が理解できないまま
プログラミング歴6ヶ月の高校生に追い抜かれた
0786nobodyさん2006/03/23(木) 16:02:52ID:???
オブジェクト指向も数学もできない奴はこの業界にはイラン。
0787nobodyさん2006/03/23(木) 16:06:16ID:???
微分や積分をクラスを使って管理できるくらいの能力は養うべき。
0788nobodyさん2006/03/23(木) 18:38:10ID:???
>>782
や、”プログラマ”は底辺ですから
0789nobodyさん2006/03/23(木) 18:44:26ID:???
ちん○は相手にするなと言ってるだろ
0790nobodyさん2006/03/27(月) 11:59:22ID:???
ここに現れる新人は潰されるということでよろしいか
0791nobodyさん2006/03/27(月) 14:33:19ID:???
>>788
底辺はお前だけ。
お前はソフトウェア工学を一生懸命勉強してきた人間に謝れ
0792nobodyさん2006/03/27(月) 15:28:48ID:???
はぁ、プログラマの実態を知らない夢見がちな青年が居るようで
0793nobodyさん2006/03/27(月) 15:40:19ID:???
ちん○は相手にするなと言ってるだろ
0794nobodyさん2006/03/27(月) 15:43:30ID:???
ソフトウェア工学(笑
0795nobodyさん2006/03/28(火) 22:20:19ID:???
>>518
このメールスクリプトもう手に入らないのかな・・
0796nobodyさん2006/03/29(水) 00:03:15ID:???
>>698
これでパスワードにxml使ってる意義って何?
単純に興味があるだけなんだけど
0797nobodyさん2006/03/29(水) 10:35:32ID:???
少佐どこ?
0798nobodyさん2006/03/29(水) 12:38:19ID:???
>>795
どうぞー
http://life.my.land.to/src/Send_Mail.zip
07996462006/03/29(水) 22:22:44ID:???
>>796
確かに、このシステムの場合だったら
パスワードのみが書かれたテキストファイルさえあれば十分なんだけど、
より汎用的な認証モジュールを活用したため、結果的に XML フォーマットになりました。

このモジュールが XML を扱う理由は2つあって、
まず、一番大きい理由が、自分ルールのフォーマットを作りたくなかったこと。
例えば 「ログイン名とパスワードを ":" で区切って、各ユーザー情報を改行で区切る」 
みたいなものです。
自分ルールの何が嫌かと言うと、そのソースを見る人が苦労するかもしれないから。
まあ、上の例で挙げたようなルールだったら簡単に推測できるだろうけど。
その分、XML の場合はフォーマットの中にそのデータの意味を含めることが出来るので
(このモジュールのXMLの場合は、要素名に name や password という単語を使っている)
より分かりやすいフォーマットになると思ったのです。

次に、応用が簡単なフォーマットであること。
W3C から勧告されている、XML 関連の様々な技術の適用対象となるので
例えば、第三者がこのスクリプトを拡張してこのパスワードファイルを別な用途にも使いたい
なんて時に、応用が簡単になる可能性があります。
フォーマットをYAMLにしなかった理由はここにあります。
08006462006/03/29(水) 22:27:21ID:???
ちなみに、このシステムでこの認証モジュールを使う利点も2つあります。

まず、その他の認証システムとモジュールを共有できること。
それぞれのシステムで共通したモジュールを使うすることで、モジュールの数を少なくすることができるし、
もしもこの認証モジュールにバグが見つかって複数の認証システムに影響がおよんだ場合でも、
1つのファイルだけをアップデートすれば済みます。

あと、リファクタリングが容易なこと。
例えば、今はパスワードだけでログインするようになってるけど、
今後のバージョンアップで、ログイン名+パスワードでログインできるような仕様にして
さらに複数の認証情報を登録できるようにしたい、なんてことがあっても
最小限の変更で実現できるようになります。
まあ、実際はそういう変更はしないと思うので、これは利点とはいえないけど。
0801nobodyさん2006/03/30(木) 09:28:10ID:???
Fatal error: Only variables can be passed by reference in c:\program files\apache group\Apache\htdocs\memo\lib\notation_finder.php on line 27

って言われた
08026462006/03/30(木) 15:41:19ID:???
>>801
あー、関数の返り値をそのまま他の関数に参照渡ししてますね。報告thx。
ttp://blog.ohgaki.net/index.php/yohgaki/2005/07/13/

というわけで修正しました。
http://trashtoy.dw.land.to/app/memo/memo.zip ;

この手のエラー、他のところでもやってそうで怖い(´・ω・`)
0803nobodyさん2006/04/02(日) 11:15:08ID:???
なんかリンク先見てもようわからんのだけど、
下のコードのように返り値を直接代入するとエラーで、上のように一旦変数に入れればOKってこと?
0804nobodyさん2006/04/02(日) 13:38:08ID:???
君には勉強が必要だ
0805nobodyさん2006/04/02(日) 13:53:00ID:???
>>803
あくまでも、駄目なのは「参照渡し」ね。

function &hoge(){
    static $x = 1;
    return $x;
}
function increment(&$value){
    $value ++;
}
$a = hoge();
$b =& $a;
increment($b); // これはOK
increment(hoge()); // これは駄目
0806nobodyさん2006/04/02(日) 15:42:20ID:???
矢切の渡しはOK?
0807nobodyさん2006/04/02(日) 16:44:05ID:???
アリの戸渡りはOK?
0808nobodyさん2006/04/02(日) 18:38:47ID:???
矢口の渡に住んでいた事があるので、すべてOKです。
0809nobodyさん2006/04/02(日) 18:45:04ID:???
807はエロい人
0810nobodyさん2006/04/02(日) 19:17:40ID:???
渡哲也と渡瀬恒彦は兄弟
08117722006/04/07(金) 19:27:39ID:jJE5oi/7
772 で公開した URI の validation システムをバージョンアップしました。
相対 URI も解釈可能です。

【設置場所】 http://trashtoy.dw.land.to/app/uri/ ;
【ソース】 http://trashtoy.dw.land.to/app/uri/uri.zip ;
【プログラミング経験】 3年 
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。 
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。 
【実行例】
http://trashtoy.dw.land.to/app/uri/?uri=..%2Fsection%2F1.html%23TOC&base=http%3A%2F%2Fexample.com%2Fsitemap%2Findex.html
http://trashtoy.dw.land.to/app/uri/?uri=file%3A%2F%2F%2FC%3A%2FProgram%2520Files%2FInternet%2520Explorer
http://trashtoy.dw.land.to/app/uri/?uri=mailto%[email protected]
【備考】 花見をもっと楽しみたかった。
0812nobodyさん2006/04/07(金) 20:27:29ID:???
>>811
乙

スクリプト指摘じゃないですが
http://trashtoy.dw.land.to/app/uri/
「省略化」になってる。
08138112006/04/07(金) 20:55:22ID:jJE5oi/7
>>812
うっわ。なんで今まで気づかなかったんだろう・・・orz
サンクス(´・ω・`)
08148112006/04/10(月) 03:54:11ID:DfPzV1/O
このスレで今までに晒したやつをサイトにまとめてみた。

http://trashtoy.dw.land.to/
0815nobodyさん2006/04/15(土) 13:21:58ID:yIhdR1Yt
あげ
0816nobodyさん2006/04/15(土) 16:05:13ID:???
>>814 乙。
0817nobodyさん2006/04/28(金) 21:35:11ID:H79nRM7w
キッズgooのNGワードチェックツール
フォームに入力した内容でURLを生成し、それ踏んで確かめるといった2パス構成

【設置場所】 http://www20.cds.ne.jp/~yugen/kgcheck.php
【ソース】 http://www20.cds.ne.jp/~yugen/pool/kgcheck.php.txt
【プログラミング経験】 2ヶ月(PHP以外も含めるなら15年ぐらい)
【希望評価スタイル】 好きにしてちょ
【自分の性格】 ぬるぽ
【備考】 キッズgooに"秘密"で引っかかってたので 工エェェ(´Д`)ェェエ工 と思いつつ、
     いろいろ調べるために作ってみたです。
0818nobodyさん2006/04/29(土) 12:55:47ID:???
>>817
コメントのしようがない。
0819nobodyさん2006/04/29(土) 13:00:42ID:???
確かにw
0820nobodyさん2006/04/29(土) 14:43:36ID:???
>>817
ちょっと面白くて普通に色々試してしまったw
0821nobodyさん2006/04/29(土) 15:33:05ID:???
ていうかキッズgoo自体使ったことなかった
ふりがな結構おもしろいね
0822nobodyさん2006/05/08(月) 00:29:17ID:???
保守
0823nobodyさん2006/05/10(水) 11:40:06ID:???
また、とまった。
0824nobodyさん2006/05/14(日) 20:36:35ID:llDkDqp8
少佐あげ
0825nobodyさん2006/05/16(火) 13:05:52ID:qj3A4Qdi
少佐はげ
0826nobodyさん2006/05/17(水) 19:00:11ID:???
小差
0827nobodyさん2006/05/17(水) 23:20:13ID:???
少佐がいなくなって過疎ったな
たまに晒されるスクリプトも誰も使わないようなものばっかだし
0828nobodyさん2006/05/17(水) 23:39:10ID:???
僕もここに自作スクリプトを発表できるように、5月ごろから本格的にPHPを勉強しています。
ValidなXHTML 1.1を吐くスクリプトって結構少ないので挑戦してみたんだ。
で、実際にスクリプトを作ってみた。

コーディングも汚いんだろうなぁ…、と思いつつ、テストをしてみたら「500, Internal Server Error」が返された。
原因も分からないし、今日はもう寝る!

http:/kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi35802.txt
0829nobodyさん2006/05/18(木) 04:54:30ID:???
>>828
んと
まずメールのあて先がtrueになりそう。
それから''内に\nは書けないね。
あとは、mb_internal_encoding('SJIS');を入れた方がいいかも

コーディングは、小規模で手を抜くとこうなるかなって感じ。
500はうちの環境では出なかった。
0830nobodyさん2006/05/18(木) 12:45:09ID:???
>>828
みれない
0831nobodyさん2006/05/18(木) 20:18:15ID:???
ttp://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi35802.txt.html
0832 ◆tkyK4yl1H6 2006/05/23(火) 14:15:52ID:???
居なくなったわけてはなく、地獄から皆さんを見てます('A`;)
no-ipのアドレスが繋がらなくなっちゃったのは放置中です。
#携帯からなのでトリップあってるか微妙ですが…
0833nobodyさん2006/05/23(火) 14:27:45ID:???
>>832
少佐、望んでた会社だったんだろ?実情はどうだい?
0834nobodyさん2006/05/26(金) 18:49:03ID:???
今は話したくない。
0835nobodyさん2006/05/28(日) 03:36:46ID:???
少佐生きたよヽ(´ー`)ノ
0836nobodyさん2006/05/30(火) 20:38:24ID:???
<?
class unko{
function unko(){
echo 'がちゃ。';
}
function geri(){
echo 'びゃーーー。';
}
function benpi(){
echo 'ぶぶ、ぶぽっ';
}
function sakatoro(){
echo 'ぱくぱく';
}
}
?>
0837nobodyさん2006/05/31(水) 10:24:26ID:8/NARi8p
sakatoroあげ
0838nobodyさん2006/06/01(木) 14:27:17ID:???
少佐さんのスクリプトってどれも欲しかったけど、結局1個も手に入らなかったなぁ
なんかいっつも流れちゃってた
0839nobodyさん2006/06/01(木) 21:28:52ID:???
少佐のサイトに置いてあるよ(*´ー`)
0840nobodyさん2006/06/01(木) 21:55:31ID:???
>>839
そのサイトがぶっつぶれたんだけどな。
0841ちんこ先生 ◆Qm364jaZpk 2006/06/03(土) 00:59:48ID:0vGoGgYv
<?
include_once("auth.php");

$img_status = array("フオ", "ヘュ");
$charge_status = array("フオホチ", "ヘュホチ");

$all_site_info = get_all_site_info();

include_once("skin/all_site_list.html");
?>
0842ちんこ先生 ◆Qm364jaZpk 2006/06/03(土) 01:03:25ID:0vGoGgYv
<?
include_once("auth.php");
if($_POST["code"] and $_POST["regist"]){
$sql = "INSERT INTO `code_list` (`code`, `comment`) VALUES ('".$_POST["code"]."', '".$_POST["comment"]."')";
if(@mysql_query($sql)){
@symlink(DOCUMENT_ROOT, "../".$_POST["code"]);
$sql = "INSERT INTO `site_info` (`code`, `site_url`, `site_mail`) VALUES ('".$_POST["code"]."', '".
$master_info["root_url"].$_POST["code"]."/', '".$_POST["code"]."@".$master_info["mail_domain"]."')";
@mysql_query($sql);
$msg = " "
}else{
$msg = "ケュケウ。シ・ノ、ホナミマソ、ヒシコヌヤ、キ、゙、キ、ソ。」";
}
}
if($_POST["delete"] and $_POST["delete_check"]){
foreach($_POST["delete_check"] as $key => $value){
@unlink("../".$value);
$where["code[".$key."]"] = $value;
}
$sql_obj->DeleteSet("site_info", $where);
$sql_obj->SQLMake(DELETE, ALL_OR);
$sql_obj->AllResets();
$sql_obj->DB_query();
$sql_obj->DeleteSet("code_list", $where);
$sql_obj->SQLMake(DELETE, ALL_OR);
$sql_obj->AllResets();
$sql_obj->DB_query();
0843nobodyさん2006/06/03(土) 09:57:12ID:???
空気読めない阿保のせいで糞スレになったな
0844nobodyさん2006/06/03(土) 11:16:25ID:???
ちんこ威勢が良かったわりには、つまんねーな
0845nobodyさん2006/06/03(土) 13:15:59ID:???
841-842が見えません!><
0846nobodyさん2006/06/03(土) 13:28:48ID:???
841-842きもい
08478282006/06/03(土) 15:34:31ID:???
>>829
アドバイスありがとう!
もうちょっと頑張って勉強するよ。

コーディングのスキルをあげたいので、これからもスクリプトを書いて発表すると思います。
Internal Server Errorが返されたのは php.ini の設定が悪かったからだ...orz
まずは>829のスクリプトを書き直します。
0848sage2006/06/06(火) 22:48:13ID:rgM9q6dd
>>817のNGワードデータベースみたいなのって
ないんですか?
0849nobodyさん2006/06/11(日) 02:06:37ID:???
中の人の意向で変わり得るものだからねぇ。
そういうのはシステム設置側で公表すべきものなのだが、
gooが珍満文書を晒す姿も想像できん。

やるとすれば、キッズgooフィルタ付きのページをスクリプト側で拾ってきて、
結果を判断して貯めておくという手法が考えられるが、面倒だからやんない。
0850nobodyさん2006/06/15(木) 16:00:57ID:KcH29g6v
投下、アクセスカウントです。
http://life.my.land.to/src/AccessLog.zip
0851nobodyさん2006/06/15(木) 17:41:28ID:???
>>850
form.classの進化に期待します
0852nobodyさん2006/06/15(木) 19:19:43ID:KcH29g6v
>>851
まじで?
0853nobodyさん2006/06/15(木) 19:52:07ID:???
マヂです
同じようなの作ろうと思ってました
フレームワークの導入までは面倒なので

できればフォーム定義はXMLで記述、正規表現で値チェック、
確認画面も出せたらいいな、と無責任な要望書いてみます
0854nobodyさん2006/06/15(木) 23:22:16ID:???
>>853
つFlexy
08558282006/06/19(月) 23:41:37ID:???
やっと今日、スクリプトを書き直してみました。
しかし問題が・・・

$err_msg が TRUE になるような条件を作っても TRUE になっていない…。
今日もこれで寝ますよ... ◯| ̄|_


http://upld3.x0.com/src/upld8180.txt
■ このスレッドは過去ログ倉庫に格納されています