【PHP】自作スクリプト発表会
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/03/30 11:55ID:M/C/V7hb初心者が書いた入門スクリプト、ベテランが書いたすげースクリプト。
発表してね。
予めスクリプトの内容を明記してURLを貼り付けるのがよろしいかと。
マターリ進行でいきませう。
PHPが使える無料サーバ情報(レッツPHP!):
http://php.s3.to/php/
0320少佐 ◆tkyK4yl1H6
2005/06/23(木) 20:39:36ID:???だんだん奈落の底へ向かって遠ざかってますorz
いつも生暖かく見守ってばかりでは申し訳ないので、
ソースを一部だけ公開します。
少佐の画像あぷろだLite 0.0.1aです。
Liteなので、機能限定版です。
ttp://php-script.no-ip.org:525/sample/mfu/
[機能の違い]
・.jpg, .jpeg, .gif, .bmp, .pngしか対応していない。
・ランキングの種類が少ない(対応ファイルが少ないせいで)
・メールでの投稿ができない。
・アルバム表示に対応していない。
・ユーザの投稿数やコメント数が記録されない。
・通常版よりバグ多いかもorz
そのぐらいだっけかな…
かなり使えないスクリプトになってます。
[ソース]
ttp://php-script.no-ip.org:525/script/upload/?mode=download&key=8b83e6b29056c877642ac4c9ae1c6491
パスワード:major
今はこれの公開が限界なので許してくださいorz
0321少佐 ◆tkyK4yl1H6
2005/06/23(木) 20:43:38ID:???0322少佐 ◆tkyK4yl1H6
2005/06/23(木) 20:55:40ID:???ttp://php-script.no-ip.org:525/script/upload/?mode=download&key=37636f11cc286b67fe632247cd2e18ad
パスワード:major
です。
orz
0323nobodyさん
2005/06/23(木) 22:46:53ID:???0325nobodyさん
2005/06/23(木) 23:35:01ID:???DLのボタン押すと出る
もち
37636f11cc286b67fe632247cd2e18adもパスも間違ってない
ちなみに以前も結局DLできなかった>>199
0326少佐 ◆tkyK4yl1H6
2005/06/24(金) 00:37:44ID:???あれ、まじですか?
パスワードは「major」です。
コロン無しの。
まぁなんていうか、あぷろだがウンコなのかも。
ttp://php-script.no-ip.org:525/script/upload/file/37636f11cc286b67fe632247cd2e18adf1425da40a9f2d21ab702a1c7feae026.zip
よかったらこっちから落としてください(という直リンができちゃうのがウンコたる所以)。
0328少佐 ◆tkyK4yl1H6
2005/06/24(金) 08:17:08ID:???ttp://php-script.no-ip.org:525/script/upload/file/5f547414003b7cadc2875db916ceb199f1425da40a9f2d21ab702a1c7feae026.zip
index.phpだけ上書きしてくださいorz
>>327
ホントにあほなソースなので心配ご無用です。
見たら分かるけど、ほとんどifのみで処理してます。
elseが抜けてるとこが多いと思うので、
「あれ?何も処理されないよ?」って部分があるかもです。
mysql_query("ほにゃらら"); の行はMySQLのクエリ発行です。
…それだけのスクリプトw
いかにも初心者らしいソースなので、ある意味読みやすいですorz
0329少佐 ◆tkyK4yl1H6
2005/06/24(金) 19:00:45ID:???なので、申し訳ないのですが画像あぷろだのソースは公開できそうにありません。
orz
0330nobodyさん
2005/06/25(土) 15:33:15ID:???せっかくの機会だからユーザ密着型会社に変えちゃいなよ
0331少佐 ◆tkyK4yl1H6
2005/06/25(土) 18:36:07ID:???僕の行きたいとこも超零細ベンチャーなので、さらに密着だと思います。
ディーフェンス!ディーフェンス!
0332nobodyさん
2005/06/26(日) 02:11:53ID:???0333nobodyさん
2005/06/26(日) 02:59:00ID:???すいません。
僕が黙ればいい話であって、削除依頼は全然関係ないと思います。
また何か作ったらお邪魔します。
今度こそ公開できる形でorz
0334nobodyさん
2005/07/01(金) 20:41:57ID:???とりあえず動きますお程度でしが。。。
0335nobodyさん
2005/07/01(金) 21:09:43ID:???0336nobodyさん
2005/07/01(金) 22:15:53ID:???upld6541.zipです
0337nobodyさん
2005/07/01(金) 23:30:19ID:???0338nobodyさん
2005/07/01(金) 23:48:53ID:???0339nobodyさん
2005/07/01(金) 23:59:38ID:???0340nobodyさん
2005/07/02(土) 00:18:59ID:???正しく動いていれば、3ペイン表示で、めぬーが表示されるです。
で、右上がスレ一覧。右下がスレッド。
メニュー内でリンクになってる項目をクリックすれば、スレ一覧が表示されます。
ここら辺からちゃんと動くか微妙ですが、
スレ一覧のリンクになっている項目をクリックすれば、そのスレのdatが表示されます。
開発環境はMacOSX10.3.9(PHP4.3.11)
mbstringが有効になってないと動かないかも
0341nobodyさん
2005/07/02(土) 04:06:50ID:???datを出力せずに、ちゃんと整形してます。。。
upld6574.zip
0342nobodyさん
2005/07/02(土) 09:40:58ID:???Undefined property: Thread::$name in <b>C:\home\php\tashiro2ch\Subject.class.php
$uri .= '&name=' . rawurlencode($this->name);
$this->nameが無いんですけど$this->numの間違い?
0343nobodyさん
2005/07/02(土) 09:43:34ID:???でもtitleは別にあってそっちはurlencodeしてないというオチだし
0344nobodyさん
2005/07/02(土) 11:53:43ID:???$uri .= '&name=' . rawurlencode($this->name);
いらないですね、この行。
>>343
でもtitleは別にあってそっちはurlencodeしてないというオチだし
そうですね。。。('A`)
0345nobodyさん
2005/07/21(木) 23:52:46ID:4e4JAntIttp://trashtoy.hp.infoseek.co.jp/php-api/char_reader.zip
マルチバイト処理関数を扱うモジュールはデフォルトで存在しているのですが、
レンタルサーバーによっては、モジュールのON/OFFの設定が自由に出来なくて、
PHPソース100%のモジュールが欲しかったので作りました。
Javaで生まれ育った技術者が書いたPHPのソースなので、人によっては読みにくいかも・・・。
0346少佐 ◆tkyK4yl1H6
2005/07/28(木) 14:41:10ID:???ので、ご報告まで(;゚д゚)
ttp://uploader.fc2.com/
0347nobodyさん
2005/07/28(木) 22:52:02ID:???採用オツカレチャーン!
ちょっとまだ個人サイトっぽい雰囲気?
0348少佐 ◆tkyK4yl1H6
2005/07/28(木) 23:12:22ID:???このままじゃ全く使えませんw
っとお邪魔しました。
0349nobodyさん
2005/07/29(金) 00:16:22ID:???少佐立派になったなぁ。デザインも使ってくれてるみたいで兄さん泣きそうだ。
少佐が出世して会社作ったら俺を入れてくれ。
じゃあガンバテー。
0350少佐 ◆tkyK4yl1H6
2005/07/31(日) 08:57:37ID:???>>349
むしろ「兄さんがデザインを提供して頂いたおかげ」ですよ。
ホントに感謝してますw
また今度よろしくお願いします。
|)))
0351nobodyさん
2005/08/08(月) 17:30:40ID:???phpの常識なんてまったく知らないので優しく突っ込んでね・・ :D
<?php
$xml = simplexml_load_file("http://heeha.ws/cgi-bin/blog/index.rdf");
//print_r($xml); // 配列を出力してみる。
//表示する記事数
$kijisu = 10;
//表示を開始する記事
$kijino = 0;
while( $kijisu != $kijino ){
print "<br><br>";
print "<a href=";
print $xml->item[$kijino]->link;
print ">";
print $rss_title = $xml->item[$kijino]->title;
print "</a>";
$kijino++;
}
?>
0352nobodyさん
2005/08/09(火) 07:37:44ID:???にした方が良い気がするのはワタスだけでしょうか
いや、生理的に
0353nobodyさん
2005/08/09(火) 09:38:55ID:???いくらくらいもらえるんだろう
0354nobodyさん
2005/08/11(木) 03:31:17ID:???0355nobodyさん
2005/08/11(木) 12:45:53ID:???結局は誰かが書いてるの引っ張ってきていぢってるだけの自分がいやだ。。
0356nobodyさん
2005/08/11(木) 17:32:13ID:???と自分に言い聞かしております
最初からフルスクラッチなんか難しいし
0357nobodyさん
2005/08/11(木) 19:29:33ID:???何点か気になることがあるので漏れなりに書き直してみた。
1.aタグのhref属性は"で囲んだ方が安全
2.「print $rss_title = $xml->item[$kijino]->title;」の一文がバグっぽい(?)
3.「n回繰り返す」という場合はfor構文を使う方が自然
4.HTML出力する時は文字列に入れて最後にまとめてが好き
3と4は好みの問題もあるんで、気に入らなければスルーしてくれ。
<?php
$xml = simplexml_load_file("http://heeha.ws/cgi-bin/blog/index.rdf");
//print_r($xml); // 配列を出力してみる。
//表示する記事数
$kijisu = 10;
//表示を開始する記事
$kijino = 0;
$html=""; //HTML生成用文字列
for ($i=0; $i<$kijisu; $i++){
$item = $xml->item[$kijino];
$html .= "<br><br>"
.'<a href="' .$item->link. '">'
.$item->title
."</a>";
$kijino++;
}
print $html;
?>
0358nobodyさん
2005/08/17(水) 16:24:47ID:???これでもよくない?
<?php
$xml = simplexml_load_file("http://heeha.ws/cgi-bin/blog/index.rdf");
//表示する記事数
$kijisu = 10;
for ($i=0; $i<$kijisu; $i++){
echo "<a href={$xml->item[$i]->link}>".$xml->item[$i]->title."</a><br><br>";
}
?>
0359nobodyさん
2005/08/20(土) 20:39:48ID:???href属性を引用符で囲ってないのと
元のプログラムと動作ってか設計思想
(具体的には開始記事を0で決め打ちしてるところ)
が変わって来てるのがちょっと気になるな。
まあ、仕様がどうだかわからんし、
プログラムは一目見てすっきりしてるしいいんじゃね。
0360nobodyさん
2005/08/24(水) 01:11:26ID:???http://upld2.x0.com/upload.php の
upld12326.zipです。
0361nobodyさん
2005/08/24(水) 11:02:07ID:???0363nobodyさん
2005/11/22(火) 23:25:07ID:6UoElGik0365nobodyさん
2005/12/16(金) 18:01:58ID:???どしどしご教授ください。
<form>を簡単に作るclassです。なのに実際のコード量は増えております。
http://life.my.land.to/class.zip
0366nobodyさん
2005/12/16(金) 18:08:44ID:???phpinfo();
?>
0367nobodyさん
2005/12/16(金) 18:34:00ID:E9pCzORG0368nobodyさん
2005/12/17(土) 02:24:33ID:???画像あぷろだです。
ttp://sv1.no-ip.org:9999/mms/
0370nobodyさん
2005/12/17(土) 11:11:33ID:???少佐就職先決まった?
それとpyaみたいな画像アプロダ完成度高くなったね。
ただ、まんまpyaなのでどこで差をつけられるかが重要かと。
0371nobodyさん
2005/12/17(土) 11:12:59ID:???バレた(;゚д゚)
相変わらずクソ汚いソースで、そろそろ自分でも理解できなくなってきました。
僕はクラスなんて知らないので毎度セコい書き方でごまかしてますorz
/*どうでもいいけど、昨日ようやく就職が決まりました。
どんだけ時間かかってるんだ(´゚w゚`;)*/
0372nobodyさん
2005/12/17(土) 11:15:43ID:???あ、書いてる間に書き込みが…
あくまで「pyaみたい」であって、それ以上のものはとても作れません。
というか、以前のやつより劣化してます。
見た目がちょっとマシになったかな?ぐらいでw
しかし同じもの書くのは飽きてきたので、そろそろペースが落ちてきましたorz
0373nobodyさん
2005/12/17(土) 13:00:25ID:zD/7oFyE晒して!
0374373
2005/12/17(土) 13:00:54ID:???スマソorz
0376nobodyさん
2005/12/17(土) 22:11:04ID:???ちゃいますw
前々から行こう行こうと思ってたとこです。
ソースはこの一番ショボいやつを見せましたw
ttp://php-script.no-ip.org:525/
0377nobodyさん
2005/12/18(日) 10:15:18ID:???0378nobodyさん
2005/12/18(日) 13:05:17ID:???そんなジンクスがあるんすか…
雑談だけじゃ怒られそうなので、昨日20時間ぐらいかけて書いたものを…
ttp://sv1.no-ip.org:9999/mns/
0379nobodyさん
2005/12/18(日) 14:40:09ID:???0380nobodyさん
2005/12/18(日) 19:54:20ID:???4のクラスの糞っぷりはもう・・
0381nobodyさん
2005/12/19(月) 02:22:48ID:???0382nobodyさん
2005/12/19(月) 03:42:14ID:???0383nobodyさん
2005/12/19(月) 12:40:50ID:???すまそ、ダウンロードのリンクははずしました(;゚д゚)
>>382
まだまだです(´゚д゚`)
現在80%ぐらい完成かなぁと思ってるんですが、
残りの20%が携帯の絵文字と最終確認です。
しかしさっぱりわからないので放置してますw
ちなみに、うぷえもんという名前は
ttp://pc8.2ch.net/test/read.cgi/hp/1126154615/244-256
で決めてもらいましたw
0385nobodyさん
2005/12/19(月) 19:23:41ID:???//URL自動リンク
function Auto_HyperLink_Tags($somevar){
$URLSearch="/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/";
preg_match_all($URLSearch, $somevar, $Matches);
$Search=$Matches[0];
foreach( $Search as $val){
$Replace[]="<a href='{$val}'>{$val}</a>";
}
$result=str_replace($Search,$Replace,$somevar);
return $result;
}
?>
0386nobodyさん
2005/12/19(月) 19:52:44ID:???//URL自動リンク
function Auto_HyperLink_Tags($somevar){
$URLSearch="/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/";
preg_match_all($URLSearch, $somevar, $Matches);
$Search=$Matches[0];
foreach( $Search as $val){
$Replace[]="<a href='{$val}'>{$val}</a>";
}
$result=str_replace($Search,$Replace,$somevar);
return $result;
}
$a=Auto_HyperLink_Tags("http://example.com/<br>http://example.com/");
print $a;
0387nobodyさん
2005/12/19(月) 22:40:49ID:???>残りの20%が携帯の絵文字と最終確認
携帯絵文字はウンコ、携帯厨は氏ねですよ。
バタバタ
〃〃∩ _, ,_
⊂⌒( `Д´) < はやくうぷえもん頂戴
`ヽ_つ ⊂ノ
0388nobodyさん
2005/12/20(火) 11:35:10ID:???友達にアイコンを描いてもらってるので、もうちょい待ってください(「・ω・)「
携帯の絵文字はほっといて、とりあえず版のソースをそのうち出しますorz
0389nobodyさん
2005/12/20(火) 17:59:17ID:???0391385
2005/12/21(水) 19:28:39ID:???いきなりバグだ…orz
どうも同じURLだとなるみたいなんだけど…
なぜだ、分からん。str_replaceの挙動?
0393nobodyさん
2005/12/24(土) 19:28:03ID:???http://life.my.land.to/send_mail.zip
0394nobodyさん
2005/12/25(日) 00:57:04ID:???mb_language( "ja" ) の後に mb_internal_encoding( "SJIS" ) とした方がいいと思う。
あと、body と subject の JIS 化はいらない。
配列をコンマ区切りにするのはちゃんと関数があるのでそれを使うべき。
join( ", ", $this->cc ) って感じで。
to cc bcc を追加する関数は
function to( $to ) {
$this->to[] = $to;
}
でいいと思う。
0396393
2005/12/25(日) 10:38:10ID:???394の指摘を変更と、コンストラクタがとんちんかんな事をしてたの修正。
あと、「body と subject の JIS 化」を解除したら、
漏れの環境ではsubjectが化けるようなので、それは保留。
0397394
2005/12/25(日) 16:35:03ID:???ちゃんとメアドが存在してるかどうか。
メアドが無くても、最低限、サーバーが存在してるかどうか。
function Check( $address ) {
$flag = FALSE;
list( $user, $host ) = preg_split( "/@/", $address );
unset( $user );
$ip = gethostbyname( $host );
if( preg_match( "/^[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}$/", $ip ) ) {
$flag = TRUE;
}
return $flag;
}
これをアドレスを追加するメソッドに組み込んで、TRUE ならアドレス追加、ってことにすればいいと思う。
0398394
2005/12/25(日) 16:39:13ID:???しなきゃならんときがあるので、メール送信をソケットで行う関数を作ってる。
さすがにこれは悪用できるので晒さないけど。
あぁそうそう。
基本的なことだけど、クラス変数名とメソッド名は分けた方がいい。
var $body;
function SetBody( $body ) {
}
こういう感じで。
また、body の追加だけど、1 行追加タイプにするほうがいいかも。
function body( $body ) {
$this->body .= $body . "\n";
}
これくらいかなぁ。
0399393
2005/12/25(日) 18:11:12ID:???なるほどねぇ。早速修正してうpした。
toやらccやらbccやらを一つの関数にして、細かいとこ手直ししたお。
ttp://life.my.land.to/send_mail.zip
ってクリスマスに何してんだ…orz
0400394
2005/12/25(日) 18:56:06ID:???クラス変数の宣言時に初期化しておいて、コンストラクタで mb をセットしたらいいかも。
var $from = '';
var $body = '';
var $subject = '';
function send_mail() {
mb_language( 'Japanese' );
mb_internal_encoding( 'SJIS' );
}
また、メールの追加ヘッダはきちんと書いた方がいいね。
\n じゃなくて \r\n にして。
これでメソッド名をわかりやすくしてやると、かなり使い勝手いいかも。
あ、send_mail.php の方だけど、$obj->cc = file( 'xxx.txt' ); はやめた方がいい。
PHP4 には private の概念が無いからクラス変数を直接操作できるけど・・・
0401nobodyさん
2005/12/25(日) 22:14:55ID:???俺にはちんぷんかんだけど(^ω^;)
0402nobodyさん
2005/12/25(日) 23:28:55ID:???0405393
2005/12/26(月) 16:12:40ID:???>>402 理由説明してくれてるじゃないか。
で、バージョンうp
・コンストラクタ変更
・追加ヘッダ記述修正
・メソッド名変更
・host_exists()の機能にメールアドレスかどうかのチェックも入れた。
・send()で結果報告が返ってくるようにした。
良ければ使ってやってください。
0407394
2005/12/26(月) 21:47:54ID:???メールサーバーに送信データを投げれたかどうかしかわからない。
メールが送信されたかどうかは判別できないのよね。
まぁ普通はメールサーバーに投げれたら、メールは送信できるけど。
このクラスは結構使いやすいんじゃないかな。
こうした方がいい、ってのはもう無いはず。
後は俺の自己満足で。
SetBody1 ってメソッドだけど、俺なら SetBodyln にするかな。
Java を見習って。
これはほんとに自己満足なんで、どーでもいいとこやけど。
393、お疲れ様でした。
0408nobodyさん
2005/12/26(月) 22:20:25ID:???あとは少佐のうぷえもん完成を松とするかw
0409nobodyさん
2005/12/26(月) 22:21:08ID:???俺ならSetXXXのメソッドはAddXXXにするなあ。
FromとSubjectはSetでわかるけど、Toや本文は追加じゃん。
あとはSetMailに配列でアドレスを渡せるように出来たら嬉しい。
Send(string from, array to, string subject, string message)
的なシンプルなインターフェースもあると便利な時もあるかも。
以上、ワガママでした。
0410nobodyさん
2005/12/27(火) 00:45:54ID:???何百と送信先があるときにいちいちgethostbyname()するのはwebアプリでは
待てんからチェックしないオプションを付けるといいかもね。
0411393
2005/12/27(火) 13:00:12ID:???mb_send_mailの結果>
そうなんだよね。あったら使いやすいかなって。
本当にお世話になりました。
どうみても先生です。本当にあr)ry
>>409
メソッドはAddXXX>
漏れも悩んだんだよねぇ。どっちかに統一した方がいいと思ってさ。
もしくは、上書きと追加で別に作った方がいいのだろうか?
SetMailに配列>
だよね!それやろう。
>>410
gethostbynameオプション>
間違いないね!それやろう。
0412nobodyさん
2005/12/27(火) 14:42:59ID:???便利だな!
ありがとん。
自分もここでスクリプト発表出来るように今から勉強します。
ノシ
0413393
2005/12/27(火) 16:26:00ID:???使ってやってくだされ!がんばってー
で、バージョンうp
http://life.my.land.to/send_mail.zip
・メソッド名変更
・SetMail()を配列でもOKなようにした。
・アドレスチェックするかどうか選べるようにした。
・重くなった希ガス…
つかいやすいかなぁ(´・ω・`)
0414nobodyさん
2005/12/27(火) 17:06:58ID:???今はアイコンを待ってるだけです。
もう絵文字はわからんから諦めました('A`)
次はこんなもんを作り中です。
ttp://sv1.no-ip.org/minilog/
完成しない可能性が高いけど(;゚д゚)
0415nobodyさん
2005/12/27(火) 18:38:42ID:???乙 俺だけかもしんないけど重さは感じないよ
>>414
少佐すげー 俺、mt使いだけど比べてどうなん?
minilogの特徴あったら教えて
それとね、前に国連式みたいなアプロダあったやん
あれ「CGI探してます」スレ等でも需要度高いから復活きぼん
0416少佐 ◆tkyK4yl1H6
2005/12/27(火) 19:04:48ID:???>>415
ありがとうw
しかし、MTと比較しようとするのが(ry
minilogの特徴:ショボい
どんなスクリプトでもそうだと思うんですけど、
メインページ : 管理ページ = 2 : 8
ぐらいの比率ですよね。
ということで、まだ2割しかできてません('A`)
あぷろだは↓にあります。
ttp://sv1.no-ip.org/d/?q=node/1
0417nobodyさん
2005/12/28(水) 20:17:56ID:???厳しい(><)
さくらもXREAも無理じゃないですか!
0418nobodyさん
2005/12/28(水) 20:18:33ID:???0419nobodyさん
2005/12/28(水) 20:39:28ID:???適当に開いて読んでるけど
up_check.php
7行目でextractしているのに、10, 11行目で$_POSTを使うのはなぜ?
9行目、htmlspecialcharsは不要。というかしちゃいけない気が。(例えばtest&test.txtならtest%quot;test.txtになって、44行目pathinfo($_FILES['upload_file']['name'])でNo such fileで落ちる)
■ このスレッドは過去ログ倉庫に格納されています