のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,332,077人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ第二回 自作スクリプト発表会【PHP】

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    51 : 48 - 2007/07/28(土) 13:13:30 ID:ErWRhjGm.net (-20,+29,-33)
    解決しました。
    ……ファイルのパスが間違ってましたorz
    お騒がせして申し訳ありません。
    本当にありがとうございました。
    52 : nobodyさん - 2007/07/28(土) 13:35:46 ID:???.net (-3,-21,-12)
    ズコー
    54 : nobodyさん - 2007/08/16(木) 21:29:05 ID:???.net (+50,+27,+0)
    ソース見れねーよバーヤ
    55 : nobodyさん - 2007/08/16(木) 21:29:18 ID:???.net (-4,-21,-3)
    >>53
    バロスwww
    フィルタ部分ソースキボンwww
    56 : nobodyさん - 2007/08/18(土) 14:01:53 ID:???.net (+43,+29,-1)
    >>53
    乳首まではセーフなのか?
    57 : nobodyさん - 2007/08/18(土) 15:20:40 ID:???.net (+57,+29,-32)
    水着とかもダメだったから、肌の部分?が多いとダメなんだと思われ。
    58 : nobodyさん - 2007/08/18(土) 17:50:00 ID:???.net (+48,+25,-2)
    確かにAVのパッケージは駄目だった
    59 : nobodyさん - 2007/08/18(土) 22:46:03 ID:Zb55oXWt.net (+11,+21,-1)
    これは面白いなw
    60 : nobodyさん - 2007/08/19(日) 19:10:17 ID:???.net (-1,-29,-19)
    hogehoge.abc.jpgみたいなファイル名だと弾かれるね
    61 : nobodyさん - 2007/10/06(土) 05:01:11 ID:???.net (+48,+28,+0)
    >>53
    フィルタ部分わかれば逆バージョン作れそうだ
    62 : nobodyさん - 2007/10/08(月) 09:31:32 ID:???.net (+57,+29,-4)
    血とおばあちゃんを弾くようにしないとな
    64 : nobodyさん - 2008/11/07(金) 14:55:45 ID:4VTuoj+z.net (+17,+29,-6)
    >>53
    一年以上前のだけど、まだ稼動してるんだなw
    こういう発想大好きだww
    65 : nobodyさん - 2008/11/15(土) 22:57:08 ID:???.net (+75,-30,-76)
    【内容】 ファイルアップローダ
    【設置場所】 http://lcdata.ddo.jp:8080/2ch/upload/
    【ソース】 これから作るんです
    【プログラミング経験】 ないしょ
    【希望評価スタイル】 機能のアイディアがほしいな(シンプル指向で考えてます)
    【自分の性格】 またーり
    【備考】 B90/W58/H86 です。
    66 : nobodyさん - 2008/11/15(土) 23:15:43 ID:???.net (+26,-4,-10)
    >>65
    スレ違い
    67 : nobodyさん - 2008/11/16(日) 16:05:49 ID:???.net (+45,+18,+2)
    >>66
    失礼しました。
    69 : nobodyさん - 2008/11/17(月) 04:09:29 ID:???.net (+41,+29,-4)
    >>68
    それって、スレを丸ごとファイルに保存するのと何か違うの??
    70 : 0 - 2008/11/17(月) 05:05:35 ID:DKgH+i/4.net (-13,+29,-23)
    >>69
    ・PHPの技術力が違う
    ・エレガントさが違う
    それに一番大事なのは、
    1日1回、スレを丸ごと保存し、古いのを捨てる、ってやり方があるけど、
    それだと、アボーンに何が書いてあったかわからないのです。
    よろしくお願いします!!
    72 : 0 - 2008/11/17(月) 05:22:04 ID:???.net (+9,+29,-57)
    >>71
    > 要するにあぼーんされた部分を残しときゃいいってこと?
    そうです。

    > ■番号、名前、さげ、年月日時間、ID、内容をテキストファイルに追記していく。
    > ■アボーンがあったら、何番がアボーンになったと記録する。
    >
    > ↑この2つはフォーマットが全然違うと思うけど、そのへん何か考えてます?
    いえ、考えてません。

    > あと、1時間に1回って処理をしようと思ったらcronとか使うと思うけど大丈夫ですか?
    cronを知らないのでなんとも言えません。
    ただ、winXPのパソコンを24時間立ち上げておくことは可能です。
    73 : nobodyさん - 2008/11/17(月) 05:30:09 ID:???.net (+7,-30,-27)
    >>72
    http://lcdata.ddo.jp:8080/2ch/1156116687/68/
    ↑ここで作ってます。
    7時までにできなかったら仕事に出動orz
    ニートになって趣味プログラミングに没頭したいなぁ。
    74 : 0 - 2008/11/17(月) 05:34:40 ID:???.net (+11,+27,+3)
    >>73
    おお、よろしくお願いします。
    75 : nobodyさん - 2008/11/17(月) 05:52:05 ID:???.net (+0,-30,-211)
    メアドがテスト用にあぼーんになってたことに気づいたorz

    >>74
    ごめん、あぼーんって動作テストできないってことに気づいた。
    肝心のあぼーん部分がほとんど検証できてないです。

    一応ソース↓
    http://lcdata.ddo.jp:8080/2ch/1156116687/68/index.phps

    1.自分のPCにWeb鯖を立てる。
    2.↑のスクリプトを設置する。
    3.ブラウザから何度かアクセスして、以下のCSVファイルを吐くことを確認する。
      (1)現在のスレの内容(ただしあぼーん以外/あぼーんされたレスは「あぼーん」って文字が追加される)
      (2)前回のアクセスから増えているレスの内容
    4.cronが使えない環境みたいなので、「コントロールパネル>タスク」を使って1時間ごとにアクセスするようにがんばる。

    スクリプトがまともに動くなら、CSVファイルからあぼーんされたレスを
    抽出するスクリプトを組むのは簡単だと思う。
    76 : nobodyさん - 2008/11/17(月) 06:02:37 ID:???.net (+7,+29,-12)
    ごめん、あぼーんのとこミスしてた。
    たぶんもう大丈夫だと思います。
    ソースは↑のやつを更新しました。
    78 : 0 - 2008/11/17(月) 06:52:49 ID:???.net (-2,-30,-33)
    $new_csv[$num]["mail"] = $matches[1];   これが34行目です。
    if (!$value["abone"]) {          これが72行目です。
    79 : nobodyさん - 2008/11/17(月) 06:57:43 ID:???.net (+6,-30,-69)
    >>77
    Noticeなのでエラーではなく通知ですね。
    PHPの設定で、エラーを拾うレベルが高すぎるんだと思います。
    php.iniの「error_reporting」の箇所を↓に修正して、Noticeがでないようにできます。

    error_reporting = E_ALL & ~E_NOTICE

    エラーはふつうに表示されるのでご安心を。
    ホントはNoticeも出ないように作るべきなんだろうけど時間切れです、すいません。
    80 : 0 - 2008/11/17(月) 07:05:46 ID:???.net (+54,+29,-38)
    >>79
    了解しました。有り難うございました。感謝、感謝です。
    81 : nobodyさん - 2008/11/17(月) 12:27:58 ID:???.net (+63,+29,+0)
    >>65はどうなったの?
    82 : nobodyさん - 2008/11/17(月) 20:12:35 ID:???.net (+66,+29,-46)
    >>81
    まだ作りはじめたとこで、アップローダのアもできてない状態です。
    おもっくそスレ違いで申し訳なかったです。
    84 : nobodyさん - 2008/11/18(火) 00:00:51 ID:???.net (+63,+30,-105)
    ファイルアップローダ程度でDB使うのってどう思いますか?
    できるだけ環境を選ばず設置できるようにしたいので使いたくないんですが、
    コーディングの煩雑さとパフォーマンスの誘惑に負けそうです。
    僕もそうだったけど、「DBって何?聞いたことあるけど」って人は多いですよね。
    敷居下げるならDBなしなのかなぁ・・・。
    85 : nobodyさん - 2008/11/18(火) 02:18:16 ID:???.net (+72,+29,-64)
    ファイルベースが特段煩雑とも思わんが・・・。
    素人向けのレンタルスペースでも動くスクリプトを配布したいんなら無しでしょうね。
    ただPHPが動くレンタルサーバでDBが入ってないとこなんてあんの?知らないけど。
    どちらも押さえときたいなら両方作って配布するとか。
    86 : nobodyさん - 2008/11/18(火) 07:15:17 ID:???.net (+70,+29,-88)
    >>85
    なるほど。
    でもやっぱSELECTの手軽さは魅力だと思います。
    DBばっか使ってるからファイルベースだとCSVしか思いつかなくて・・・。
    ただ、アップローダは自鯖ってのが基本だと思ってます。
    XAMPPとか使ってとりあえずDB入れたけど、使い方はさっぱりって人は多いと思うなぁ。
    ってことでファイルベースでやってみます。
    どうでもいいけど、前スレ見てたら以前もアップローダ作ってたこと思い出したw
    完成したんだっけかなぁ・・・。
    87 : 0 - 2008/11/24(月) 21:25:23 ID:???.net (+8,-30,-45)
    ものすごくどうでもいいことですが、
    ルータを買ったらDDNSに対応してたので、URLを変更しちゃいました。
    >>65のアップローダは↓で作成中です。
    http://lcdata.ath.cx:8080/2ch/upload/
    88 : nobodyさん - 2008/11/25(火) 20:18:05 ID:???.net (+66,+27,-3)
    >>87
    見れねーよ?
    完成したん?
    89 : 0 - 2008/11/25(火) 22:54:07 ID:???.net (+71,+29,-44)
    >>88
    すいません、またまたURLを変更しました。
    http://lcdata.ath.cx/2ch/upload/
    こっちでやってます。
    まだ作りかけです。
    なんでポート80番が使えないんだろ?
    とか思ってたんですが、スカイプが使ってることに気づいたのでorz
    90 : 0 - 2008/11/26(水) 15:39:46 ID:yZjcfnV8.net (+0,+0,+0)
    // レスごとに分解
    $thread = @file_get_contents($url);
    preg_match_all("/<dt>(.*)/", $thread, $matches);
    $res = $matches[1];
    if ($res) {
    foreach ($res as $key => $value) {
    // レス番号
    preg_match("/^(\d*)/", $value, $matches);
    $num = $matches[1] - 1;
    $new_csv[$num]["num"] = $matches[1];
    // メールアドレス
    preg_match("/<a href=\"mailto:([^\"]*)/", $value, $matches);
    $new_csv[$num]["mail"] = $matches[1];
    // 名前
    preg_match("/<b>([^<]*)/", $value, $matches);
    $new_csv[$num]["name"] = $matches[1];
    // 名前
    preg_match("/<b>([^<]*)/", $value, $matches);
    $new_csv[$num]["name"] = $matches[1];
    // 時刻
    preg_match("/(<\/a>|<\/font>):(.[^I]*)ID:/", $value, $matches);
    $new_csv[$num]["time"] = $matches[2];
    // ID
    preg_match("/(ID:)(.*?)<dd>/", $value, $matches);
    $new_csv[$num]["id"] = $matches[2];
    // レスの内容
    preg_match("/<dd>(.*)/", $value, $matches);
    $new_csv[$num]["res"] = $matches[1];
    $abone = preg_match("/あぼ.*?ん<\/b><\/a>:あぼ.*?ん<dd>/", $value, $matches);
    if ($abone) {
    $new_csv[$num]["abone"] = true;
    }}}
    91 : 0 - 2008/11/26(水) 15:45:19 ID:yZjcfnV8.net (+0,-30,-76)
    >>90>>75さんのhttp://lcdata.ddo.jp:8080/2ch/1156116687/68/index.phpsのソースの一部分です。
    で、
    preg_match_all("/<dt>(.*)/", $thread, $matches);
    この行で1レスづつ、配列に入れる。
    で、
    $res = $matches[1];
    この行の意味がわからないです。
    $matchesの変数、$matches[1]の変数、$resの変数のそれぞれの違いがわからないのです。
    92 : 0 - 2008/11/26(水) 22:59:01 ID:???.net (+0,-30,-95)
    >>90-91
    いやあの晒されると恥ずかしいですが。
    特にそこ適当なんでw
    http://jp2.php.net/manual/ja/function.preg-match-all.php
    意味はマニュアルに書いてあるとおりです。
    どっか動きがおかしいのを修正したいのか、改造したいのか、単純に意味がわからなかったのか、
    コードが汚すぎて読みにくいって指摘なのか、PHPを覚えてみようと思ってるのか、
    いったいどれでしょうか?

    ふと思い出したけど、php.iniのerror_reportingを書き換えなくても、
    ----------------------------------------
    <?php
    error_reporting(0);  ←これ追加
    ----------------------------------------
    だけでNoticeは出なくなると思います。
    93 : 0 - 2008/11/26(水) 23:04:25 ID:???.net (+3,-30,-58)
    超適当に説明しておくと・・・
    まず、このスレのソースコードを見てみてください。
    各レスが「<dt>~」って1行になってるのがわかると思います。
    まず、$matchesにその各レスが入ります。
    $matches[1]には、「"/^(\d*)/"」などの1番目のカッコの中身が入ります。
    そんでもって、さらにそのレスに対してpreg_matchをすることによって、
    レス番号とか名前とかを切り出してるんです。
    $matches[1]をわざわざ$resって変数に入れてるのは特に意味はありません。
    94 : 0 - 2008/11/26(水) 23:56:10 ID:yZjcfnV8.net (+0,-30,-154)
    >>92
    有り難うございます。 確かに、http://jp2.php.net/manual/ja/function.preg-match-all.php に
    ↓が書いてありました。 すみません。

    >$matches[0] はパターン全体にマッチした文字列の配列
    >$matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字

    > どっか動きがおかしいのを修正したいのか
    動きは、ちゃんと動いてくれて感動しました。

    >単純に意味がわからなかったのか、
    はいそうです。

    >PHPを覚えてみようと思ってるのか
    そうです、これがメインで1行づつ読み解かしてもらってます。

    > ふと思い出したけど、php.iniのerror_reportingを書き換えなくても、
    > ----------------------------------------
    > <?php
    > error_reporting(0);  ←これ追加
    > ----------------------------------------
    > だけでNoticeは出なくなると思います。
    有り難うございます。
    96 : 0 - 2008/11/27(木) 20:06:40 ID:???.net (+48,+29,-25)
    >>95
    僕も余裕があればデバッグ中はそうするように心がけてみます。
    PHPしか知らないから、変数の宣言とか型とかいい加減な扱いするクセついちゃったなぁ。
    97 : nobodyさん - 2008/11/27(木) 20:12:41 ID:???.net (+1,-27,-6)
    開発機のphp.iniで設定しときゃいいじゃん
    98 : 0 - 2008/11/27(木) 20:18:28 ID:???.net (+3,-30,-42)
    >>97
    そうですね。
    他に何に使ってるわけでもないWeb鯖だし、それでいいと思います。
    僕はいつも、↓みたいな感じでログを流しながら作業してます。
    tail -f /apache/log/error_log
    Windowsで似たようなことってできるのかなぁ。
    Cygwinとか試してみよう。
    99 : nobodyさん - 2009/05/19(火) 20:17:57 ID:D1418Uic.net (+40,+29,-55)
    【設置場所】 http://u9.getuploader.com/kiren/
    【ソース】 http://u9.getuploader.com/kiren/download/1/chat.7z
    【プログラミング経験】 3ヶ月
    【希望評価スタイル】 悪い部分を指摘して欲しい
    【自分の性格】 またーり
    【備考】
    表示部分はJQUERYで、サーバーの部分はPHPで作りました。どうも保守性が悪いような気がするので、
    悪い部分があったら指摘してほしいです。
    100 : nobodyさん - 2009/05/21(木) 01:39:47 ID:???.net (+43,+25,-3)
    悪い部分って?
    ←前へ 1 2 3 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について