第二回 自作スクリプト発表会【PHP】
自分が書いたPHPスクリプトを発表するスレ。 初心者が書いた入門スクリプト、ベテランが書いたすげースクリプトを発表してね。 予めスクリプトの内容を明記してURLを貼り付けるのがよろしいかと。 マターリ進行でいきませう。 【PHP】自作スクリプト発表会 http://pc8.2ch.net/test/read.cgi/php/1017456911/all Warning: 発表の場は、学びの場。クレクレ君は他所へ。 >>1 早漏乙 勉強系なのか批判系なのか自慢系なのかそのへん決めた方がいいんじゃね? テンプレ: 【設置場所】 http://example.com/test.php 【ソース】 http://example.com/test.txt 【プログラミング経験】 3ヶ月 / 1年 / 3年 【希望評価スタイル】 悪い部分を指摘して欲しい / 良い部分を指摘して欲しい 【自分の性格】 かかってこいや! / またーり / 叩かれると自殺しちゃうかも 【備考】 B90/W58/H86 です。 >>14 係り受けがおかしい。 本来は「全然〜ない」のような形で全否定を表すのが正しい。 「全然OK」→「全然問題ない」 <?php for($i=1;$i<1001;$i++){ print ">>$i"; print "ぬるぽ"; } ?> >>17 さん すいません、仕事が忙しくて遅々として進まないのでorz まだ2%ぐらいしかできてないんで、もうちょい作ってからにしますorz 今はソースしか出せない状況だけどソースだしたら添削してくれるかい? ちなみに環境はlinux+mysql+symfonyで作ったsymfony用のサンプルコードなんだが >>26 まあ、じゃあひとまず晒してみるよ。 解凍パスはsampleね ttp://www.csync.net/service/file/view.cgi?id=1176107178 ソースしか出せないから動作確認とかは各人でやってみてくれると嬉しい。 pearとsymfonyのパスの設定ファイルを各人の環境に書き換えて DB接続のconfファイル書き直して data/sql/lib.model.schema.sqlをDBに流し込んで ちなみに俺の環境はDBの名前はsymfonySampleな、変える場合は各人設定ファイルの変更よろ DBはmysql以外を使う場合は設定ファイルを書き直してくれ ドキュメントルートはweb/index.phpで.htaccess読むように設定してrewriteモジュール入れて、 バーチャルホストで Alias /sf symfonyパス/web/sf あとキャッシュフォルダとかはパーミッション777ね ぱっと思いつく設定書いたけど不十分かもしれないからあとは各々自分の環境にあわせてくださいな。 自分的にはindexのアクション1つで作ったのとかアホとしか思えない作りになってしまった点がかなり問題くさいと思う あとログイン認証がおそまつすぎるかな 何でユーザー認証つきの掲示板かというとDBからselectする時にjoinのやり方も勉強したかったから 意味なさげだったけど無理やりテーブル2個にして表示も2個のテーブルからデータ拾う形にした symfony使って何か作るの初めてだったから何か問題点とかあったら教えてくれれ 正直、めんどくさい 具体的に、どこ見て欲しいとかあったほうがいいのでは サーバーからクライアントのファイルの取得 質問ですが、サーバーからクライアントの特定のフォルダーのテキストファイルをアップする方法がわかりません。 通常アップロードするときに良くある「参照」と書かれたボタンをクリックするとファイルの選択の画面が開き ファイルを指定して「アップロード」ボタンを押してアップロードさせる方法がありますが、 一連の作業(「参照」、「アップロード」)をしないでクライアントの特定のフォルダーのテキストファイルをアップする方法を教えてください。 因みに通常のアップロード print("<form enctype=\"multipart/form-data\" action=\"xxxxxxxx.php\" method=\"post\">"); print("<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"5000000\">"); print("<INPUT TYPE=\"file\" name=\"UserFile\">"); print("<INPUT TYPE=submit name=\"sub\" value=アップロード>"); print("</form>"); FOX★公認!今世紀最大の祭り!!! 俺たちのクリックで日本を一位にしようぜ!! “30年は日本に手は出せないな”という勝ち方をしたい http://wwwww.2ch.net/test/read.cgi/news4vip/1178602852/ 1. チリ 136,836,018 2. ポーランド 135,173,390 3. イスラエル 80,308,719 4. ★日本 71,029,997★ 5. スロベニア 56,818,986 6. フィンランド 40,275,252 石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった 人間はさらに発展し兵器を使う戦争を始めた そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・ 皇国を勝利へと導くには貴様らの参戦が不可欠である ・戦場 http://www.clickclickclick.com/default.asp ・まとめサイト http://www33.atwiki.jp/clickvip/ ・mixi http://mixi.jp/view_community.pl?id=2141035 * * * あげです + n ∧_∧ n + (ヨ(* ´∀`)E) Y Y * * * * あげです + n ∧_∧ n + (ヨ(* ´∀`)E) Y Y * * * * メガデス + n ∧_∧ n + (ヨ(* ´∀`)E) Y Y * * * * ジャコパス + n ∧_∧ n + (ヨ(* ´∀`)E) Y Y * ?> Parse error: parse error, unexpected T_STRING 'ワラタ' in line >>43 【PHP】下らねぇ質問はここに書き込みやがれ 51 http://pc11.2ch.net/test/read.cgi/php/1185521566/ ここから誘導していただきました。ありがとうございました。 初めてPHPに挑戦してみたのですが、 どうしても動かない関数がでてきてしまいました。 自分では何度もチェックをしているのですが、 プログラム自体が初心者なのでなに根本的な間違いを 犯しているかもしれません。 恐れ入りますがどなたかお力添えを頂けないでしょうか? ttp://www-2ch.net:8080/up/download/1185537177159734.kDjOMz >>48 foreachの使い方が間違ってる気がする。 >>49 ありがとうございます。 ご指摘の通り間違っていました。 そのあと色々大きな間違いや小さな間違いを直したりして、 どうにか一応は改良できました。 あとは編集したデータが何故か書き込めないという問題さえ解決できれば完成です。 とりあえず今夜は眠って、明日またパーミッションなどを勉強し直します。 本当にありがとうございました。 一応、現在のものをおいておきます。 ttp://www-2ch.net:8080/up/download/1185555098879782.h1mh74 解決しました。 ……ファイルのパスが間違ってましたorz お騒がせして申し訳ありません。 本当にありがとうございました。 【設置場所】 http://wing2.jp/ ~lineage2revenge/d/uproda.php 【ソース】 http://example.com/test.txt 【プログラミング経験】 5ヶ月 【希望評価スタイル】 悪い部分を指摘して欲しい / 良い部分を指摘して欲しい 【自分の性格】 かかってこいや! / またーり / 叩かれると自殺しちゃうかも 【備考】 エロ画像弾くうpローダー >>53 バロスwww フィルタ部分ソースキボンwww 水着とかもダメだったから、肌の部分?が多いとダメなんだと思われ。 hogehoge.abc.jpgみたいなファイル名だと弾かれるね >>53 フィルタ部分わかれば逆バージョン作れそうだ >>53 一年以上前のだけど、まだ稼動してるんだなw こういう発想大好きだww 【内容】 ファイルアップローダ 【設置場所】 http://lcdata.ddo.jp:8080/2ch/upload/ 【ソース】 これから作るんです 【プログラミング経験】 ないしょ 【希望評価スタイル】 機能のアイディアがほしいな(シンプル指向で考えてます) 【自分の性格】 またーり 【備考】 B90/W58/H86 です。 じゃあ、 【PHP】下らねぇ質問はID出して書き込みやがれ 76 http://pc11.2ch.net/test/read.cgi/php/1226517332/ このスレッドを1時間に1回監視して、 書き込みがあったら、 番号、名前、さげ、年月日時間、ID、内容 をテキストファイルに追記していく。 アボーンがあったら、何番がアボーンになったと記録する。 そんな、PHPスクリプトを自作してここで発表して下さい。 お願いします!! >>68 それって、スレを丸ごとファイルに保存するのと何か違うの?? >>69 ・PHPの技術力が違う ・エレガントさが違う それに一番大事なのは、 1日1回、スレを丸ごと保存し、古いのを捨てる、ってやり方があるけど、 それだと、アボーンに何が書いてあったかわからないのです。 よろしくお願いします!! >>70 要するにあぼーんされた部分を残しときゃいいってこと? あぼーん以外を保存しときゃあとから参照できるような気がするけど・・・ ■番号、名前、さげ、年月日時間、ID、内容をテキストファイルに追記していく。 ■アボーンがあったら、何番がアボーンになったと記録する。 ↑この2つはフォーマットが全然違うと思うけど、そのへん何か考えてます? あと、1時間に1回って処理をしようと思ったらcronとか使うと思うけど大丈夫ですか? >>71 > 要するにあぼーんされた部分を残しときゃいいってこと? そうです。 > ■番号、名前、さげ、年月日時間、ID、内容をテキストファイルに追記していく。 > ■アボーンがあったら、何番がアボーンになったと記録する。 > > ↑この2つはフォーマットが全然違うと思うけど、そのへん何か考えてます? いえ、考えてません。 > あと、1時間に1回って処理をしようと思ったらcronとか使うと思うけど大丈夫ですか? cronを知らないのでなんとも言えません。 ただ、winXPのパソコンを24時間立ち上げておくことは可能です。 >>72 http://lcdata.ddo.jp:8080/2ch/1156116687/68/ ↑ここで作ってます。 7時までにできなかったら仕事に出動orz ニートになって趣味プログラミングに没頭したいなぁ。 メアドがテスト用にあぼーんになってたことに気づいたorz >>74 ごめん、あぼーんって動作テストできないってことに気づいた。 肝心のあぼーん部分がほとんど検証できてないです。 一応ソース↓ http://lcdata.ddo.jp:8080/2ch/1156116687/68/index.phps 1.自分のPCにWeb鯖を立てる。 2.↑のスクリプトを設置する。 3.ブラウザから何度かアクセスして、以下のCSVファイルを吐くことを確認する。 (1)現在のスレの内容(ただしあぼーん以外/あぼーんされたレスは「あぼーん」って文字が追加される) (2)前回のアクセスから増えているレスの内容 4.cronが使えない環境みたいなので、「コントロールパネル>タスク」を使って1時間ごとにアクセスするようにがんばる。 スクリプトがまともに動くなら、CSVファイルからあぼーんされたレスを 抽出するスクリプトを組むのは簡単だと思う。 ごめん、あぼーんのとこミスしてた。 たぶんもう大丈夫だと思います。 ソースは↑のやつを更新しました。 >>75 おお、有り難うございます。すごいですね。 なにはともあれ、1226517332_new.txtというファイルが出来て、そこにデータが全部入ってるみたいです。感謝、感謝です。 ただ、↓のエラーがどっちゃりでてます。 Notice: Undefined offset: 1 in C:\php\ThreadKeep.php on line 34 Notice: Undefined index: abone in C:\php\ThreadKeep.php on line 72 $new_csv[$num]["mail"] = $matches[1]; これが34行目です。 if (!$value["abone"]) { これが72行目です。 >>77 Noticeなのでエラーではなく通知ですね。 PHPの設定で、エラーを拾うレベルが高すぎるんだと思います。 php.iniの「error_reporting」の箇所を↓に修正して、Noticeがでないようにできます。 error_reporting = E_ALL & ~E_NOTICE エラーはふつうに表示されるのでご安心を。 ホントはNoticeも出ないように作るべきなんだろうけど時間切れです、すいません。 >>79 了解しました。有り難うございました。感謝、感謝です。 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる