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

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

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

PHPが使える無料サーバ情報(レッツPHP!):
http://php.s3.to/php/
0478少佐 ◆tkyK4yl1H6 2006/01/24(火) 22:40:36ID:???
>>477
似たようなのでよければ(´゚д゚`)
http://sv1.no-ip.org/mcs/
ソースはhttp://sv1.no-ip.org/download/mcs.zipです。
短時間で作ったので不完全だったらごめんなさい。
04794772006/01/24(火) 22:55:14ID:???
>>478
神過ぎる。
ありがたく使わせて頂きます。
0480少佐 ◆tkyK4yl1H6 2006/01/24(火) 23:04:17ID:???
>>479
どういたしまして過ぎます。
1カ所だけ修正したので、DLしなおしてもらえるとうれし過ぎます。
04814772006/01/24(火) 23:21:50ID:???
>>480
早速DLし直させて頂きました!
ありがとうございま過ぎる。
0482nobodyさん2006/01/24(火) 23:32:13ID:???
少佐(*´Д`)´`ア´`ア
0483少佐 ◆tkyK4yl1H6 2006/01/25(水) 01:05:59ID:???
たびたびごめんちゃい。
ログの上限を超えた場合の自動削除で、ファイルを削除し忘れてますたorz
修正しときますた。
あと、>>80氏のより遙かにヘボいと思われます。
保守できないサイトの多いこと多いこと。
0484popo2006/01/25(水) 07:39:44ID:???
高性能テキストカウンターをつくっているんですが高機能と言ったらどんな機能が必要でしょうか?
0485nobodyさん2006/01/25(水) 09:18:32ID:???
>>484
高性能なのか高機能なのかどっちだ?
どちらにせよ、機能的にはアクセス解析で何ができるかが肝となるわけだが。
0486nobodyさん2006/01/25(水) 10:03:40ID:???
>>484
面白い。サイコーに面白いよ。
0487nobodyさん2006/01/25(水) 14:19:04ID:???
>>484
スレ治外
0488nobodyさん2006/01/25(水) 15:03:13ID:???
>>484

強固なロック(環境に依存しない unix windows)
今日、昨日、全部
二重ログ(トラブル時自動復帰)
ログのバックアップ(上記の自動復帰の予備)
時間指定で連続カウントしない設定可能
画像、画像連結、GD、テキスト設定可能
桁数設定可能
javascript ssi img php それぞれの呼び出しに設定可能

こんな感じでどう?
0489nobodyさん2006/01/25(水) 15:37:40ID:???
>>488
>>484 はテキストカウンタって言ってるわけだが
0490nobodyさん2006/01/25(水) 15:42:30ID:???
>>483
削除パス付きにするのは難しいこと?
0491少佐 ◆tkyK4yl1H6 2006/01/25(水) 18:01:09ID:???
>>490
難しいというか、え?何のこと?というあれです。
そのようにしておきました。
ログデータの互換性が無くなったかもしれません。
.htaccessを追加しましたが、確認してないのでよくわかりません。
DLは同じURLからお願いします。
0492nobodyさん2006/01/25(水) 19:16:02ID:???
>>491
お先においらが頂いた ムフ♥

少佐(*´Д`)´`ア´`ア
0493nobodyさん2006/01/25(水) 22:21:32ID:???
>>491
ggggggggggggggggggggggggggggggggggggggggggj

纏めサイト運営してるんでd
0494nobodyさん2006/01/26(木) 01:25:47ID:???
>>491
logも問題ないです、少佐ありがとう。
0495少佐 ◆tkyK4yl1H6 2006/01/26(木) 13:57:03ID:???
>>492-494
適当にやったものに限って使ってもらえてうれしいです。
明日引っ越しするので、しばらく鯖の電源を切ることになります。
引っ越し先でネットが繋がったら、またよろしくお願いしますm(_ _)m
0496nobodyさん2006/01/26(木) 17:02:00ID:???
ふむ、全裸で少佐の復活待ってる
0497nobodyさん2006/01/26(木) 17:48:31ID:???
少佐のサイトへ行くとfc2の無料鯖へ繋がる。
しかも、
>リアル引っ越し中です。そのうち復活する予定です
の文字。

少佐、つまりfc2へ入社すると暗に示しているんですね?
0498少佐 ◆tkyK4yl1H6 2006/01/26(木) 18:51:24ID:???
>>496
じゃあ僕も全裸で新幹線に乗りますね。
これで偶然すれ違ってもお互いに一目瞭然で安心です。

>>497
僕はfc2ちゃいます('A`)
NotFoundじゃマズいかなぁと思ったので適当に手軽なWebスペースをレンタルしただけです('A`)

ということで、PCを梱包してきます。
0499nobodyさん2006/01/26(木) 19:26:52ID:???
いてら〜 ノシ
0500nobodyさん2006/01/26(木) 23:12:52ID:???
少佐・・・どこへ・・・少佐(*´Д`)´`ア´`ア
0501nobodyさん2006/01/26(木) 23:33:36ID:P4JZCK77
思いっきり我流のphpフレームワークで恐縮ですが公開して見ました。

もしよろしかったらご覧いただければ幸いです。

http://pharon.lolipop.jp/

0502nobodyさん2006/01/27(金) 15:51:18ID:???
姉歯物件悲惨だな
0503nobodyさん2006/01/27(金) 19:10:28ID:???
>>501
hyoji がワロタ
05045032006/01/27(金) 19:16:05ID:???
でもすごいと思う。尊敬する。
0505nobodyさん2006/01/31(火) 15:03:45ID:???
これだけでっかいプログラム組むのすごいなぁ
俺なんかfunctionすら使わないで掲示板(ぽいの)作ったこともあるよぅ。

だからオブジェクトとか言われてもピンとこない(´・ω・)
0506nobodyさん2006/01/31(火) 16:03:46ID:???
1つの処理で1関数、1つの役割で1オブジェクトって感じで作ってるな。
個人的に関数はパッと見て理解出来る数行にしときたいけど、2・3行の関数を大量に作ると見難くなるし何より名前が雑に・・英語か、英語力の無さが原因なのかァァァァァ

まぁ休日に趣味っぽい感じでやってるだけだから、そんなに気を使う必要はないけど
0507nobodyさん2006/01/31(火) 16:59:18ID:???
501が何に使えるのかさっぱりわからん
誰か簡単に説明してくれ
0508nobodyさん2006/01/31(火) 20:58:26ID:???
心意気は買ってあげたい。中の人、頑張れ。
0509nobodyさん2006/01/31(火) 21:35:57ID:???
最近2chで良く聞くけど「中の人」って何?
0510nobodyさん2006/01/31(火) 22:00:19ID:???
>>509
「中の人など居ない!!」

最近て言うか、かなり前からあるだろ
0511nobodyさん2006/02/01(水) 11:02:09ID:???
>>507
簡単にコーディングできる。
0512nobodyさん2006/02/03(金) 07:41:33ID:???
      .|┃
 スス--ッ .|┃""ヽ、
      .|┃゚ ▼)
    .●..|┃゚Д゚) …少佐復活まだ?
_____|┃ ..|)
      .|┃_,,ノ
_____|┃U_
0513nobodyさん2006/02/07(火) 04:21:41ID:???
class File_Io {
private $filename = null;
private $fp = null;
const Read_Type = "r";
const Write_Type = "a";
public function __construct($fn) {
$this->filename = $fn;
}
private function File_Open($type) {
$this->fp = fopen($this->filename,$type)
flock($this->fp, LOCK_EX);
}
private function File_Close() {
fclose($this->fp);
}
public function File_Read() {
$this->File_Open(self::Read_Type);
$ret = fread($this->fp, filesize($this->filename));
$this->File_Close();
return $ret;
}
public function File_Write($value) {
$this->File_Open(self::Write_Type);
$ret = fwrite($this->fp, $value);
$this->File_Close();
return $ret;
}
}
0514nobodyさん2006/02/07(火) 19:27:07ID:???
>>513
何に使ったらいいの><?
0515nobodyさん2006/02/07(火) 20:00:29ID:???
スルーしとけ
0516nobodyさん2006/02/08(水) 16:37:51ID:O7y2qCCz
うごかねーから直した。
ファイル操作なんだなこれ
<?
class File_Io {
  var $filename  = '';
  var $fp     = '';
  var $Read_Type = "r";
  var $Write_Type = "a";
  function File_Io($fn) {
    $this->filename = $fn;
  }
  function File_Open($type) {
    $this->fp = fopen($this->filename,$type);
    flock($this->fp, LOCK_EX);
  }
  function File_Close() {
    fclose($this->fp);
  }
  function File_Read() {
    $this->File_Open( $this->Read_Type);
    $ret = fread($this->fp, filesize($this->filename));
    $this->File_Close();
    return $ret;
  }
  function File_Write($value) {
    $this->File_Open( $this->Write_Type);
    $ret = fwrite($this->fp, $value);
    $this->File_Close();
    return $ret;
  }
}
?>
0517nobodyさん2006/02/08(水) 18:10:45ID:???
全然関係ないけど
IOとかって「I」と「O」で別の単語だから、FileIOって書いたほうがいいんかんうぇ?
05184132006/02/08(水) 18:21:10ID:8f4tRzkY
バージョンうp!
http://life.my.land.to/send_mail.zip
添付ファイルも使えるようになったよ。
0519nobodyさん2006/02/08(水) 18:22:21ID:O7y2qCCz
>>517
IOってそれぞれ何の意味があるの?
in,out?
0520nobodyさん2006/02/08(水) 18:50:55ID:???
C言語やC++言語の
stdioとiostreamのioと同じ意味だよ。
0521nobodyさん2006/02/08(水) 19:56:09ID:???
>>518
404 orz
05225182006/02/08(水) 21:01:58ID:???
失礼!
http://life.my.land.to/src/send_mail.zip
0523nobodyさん2006/02/08(水) 21:28:14ID:???
>>522
dd
0524nobodyさん2006/02/08(水) 22:16:00ID:???
そうか…
File_Io->File_Write("filename");
とかやりたいってことなのね。
個人的には
fileIO->write("filename");
と極力記号など打ちたくない気もするけども。
0525nobodyさん2006/02/08(水) 22:31:57ID:???
ようやくfunctionばっかりのプログラムを書くことができますた
これからOOPをはじめまつ
0526nobodyさん2006/02/09(木) 01:29:40ID:???
>>513
PHP5の記述。

>>516
PHP4の記述。
0527nobodyさん2006/02/10(金) 14:00:56ID:???
ソース貼り付けられる場所を教えてください。。
0528nobodyさん2006/02/10(金) 15:41:08ID:???
>>527
( ゚д゚)ポカーン
0529nobodyさん2006/02/10(金) 15:42:12ID:???
>>526

>>516 はPHP5でうごく?
0530nobodyさん2006/02/10(金) 17:06:10ID:???
>>518

/usr/sbin/sendmail

せめてsendmailのパスくらいは指定出来るようにしようぜ。
他にも突っ込みたいところ結構あるが。
0531nobodyさん2006/02/10(金) 17:23:37ID:???
>>530
折角だから全部教えたれ。
その方がよくなるだろうし。
0532nobodyさん2006/02/10(金) 17:30:16ID:???
>>518

i18n_mime_header_encode
i18n_convert

って何の関数?
0533nobodyさん2006/02/10(金) 17:32:16ID:???
mb_encode_mimeheaderとmb_convert_encodingのエイリアスか。
自己解決。
05345182006/02/10(金) 20:21:39ID:???
>>530 >>531
ぜひ聞きたいです。よろしくお願いします(`・ω・´)
0535nobodyさん2006/02/11(土) 03:09:53ID:???
>>529
動く
0536nobodyさん2006/02/11(土) 10:41:08ID:???
>>535
dクス
0537nobodyさん2006/02/11(土) 15:48:57ID:???
エラー処理まったく無いのもどうかと思うがな
0538nobodyさん2006/02/13(月) 10:20:05ID:???
少佐とかっていうコード汚すぎる
0539nobodyさん2006/02/13(月) 11:38:37ID:???
見本希望。
0540nobodyさん2006/02/13(月) 13:09:33ID:???
>>539 禿同
0541nobodyさん2006/02/13(月) 13:32:47ID:???
少佐信者降臨!
0542nobodyさん2006/02/13(月) 15:23:56ID:???
538じゃないけど、俺もそう思う。まだ1ファイルしか見てないけど。
少佐のソース、upload_check.phpの150行目。
ImageCreateFromwbmp()って関数だけど、
これってWindowsのビットマップファイル用の関数じゃないから
.bmpの画像ファイル受け取っても正常に処理できるのかな?
たしかWBMPって「wireless bitmap」とかだった気がする。特殊端末向けの。
この関数にwindows系のBMPファイル与えたらどうなるのか試してないけどさ。

あと、そもそもアップロードされてきたファイルの拡張子を信頼する形で
ソースが書かれてるから、実際には違う形式のものとかをアップできてしまう気もする。

それから同じ処理を何度も書きすぎ。具体的には・・・
サムネイル(小)〜(大)の部分。200行近くあるけど、小も大もひとつに出来る。

それからimageCreateTrueColor()関数とImageCopyResampled()関数。
TrueColorじゃないGIF形式にも使ってるのが謎。上記二つはTrueColor向け関数。
TrueColorじゃないならimageCreate()、ImageCopyResized()あたりな気がする。

それからDB接続とかの基本的な部分はクラス化するなり関数化するなりして、
別ファイルにまとめてrequire_once()して使ったほうがいい。
文字数チェックや禁止語句チェックなんかも関数化とかして別ファイル行き。
これらはパラメータ変更するだけで何度も色んなソースで使えるから。
機能追加、修正のときにそのほうが見やすいし楽。1ファイルにしかないからそこを修正すればいい。

俺も大したことないからでかいこと言えないんだけど。
初期からこういうソースの書き方に慣れていると絶対苦労する。
でも彼はこうやって成果物を出しているから立派だと思う。
これから色々学んで成長していくのだろうから、生暖かく見守りたい。

前まで職場にいたPHP職人(経験3年以上?とかだったと思う)は、
こういうソースの書き方だったけど、ひどすぎてメンテとかできない、パフォーマンスもひどい。
時間と相談しつつ設計からやり直してどんどん書き直してるよ。
0543nobodyさん2006/02/13(月) 18:19:55ID:???
>>538
お前の日本語がおかしい
0544nobodyさん2006/02/13(月) 20:07:17ID:???
>>542
添削おながいしまつ…(´・ω・)
0545nobodyさん2006/02/14(火) 06:16:12ID:???
>>542
542ですけど、添削してもらうとか考えないでとりあえず造ったものを
みんなに見せたらいいんじゃないかな。
そういうスレだと思い込んでる俺がいる。
それに「100点満点のソースは実在しない」と思うよ。

とりあえず晒しとけば、アイデアはいいが設計やソースの書き方がアレだなーとか、
いい筋してるがもうひと頑張りだとかコメント付く気がする。
もしかしたらココこうしたほうがいいんじゃない?とか誰かが言ってくれるかもだし。
0546少佐 ◆tkyK4yl1H6 2006/02/14(火) 06:39:26ID:???
>>538
汚くてごめんなさい自覚してますorz

>>542
まさにこれ、という感じです。
wbmpについては後から気づいたんですが、
ほとんど関数化とかしてないので、めんどくさくて残してました。
config.phpの設定ではbmpは削除しておいたと思います。
サムネイルについてはもう完全に自己流でルーズリーフに書きながら考えたので、
ものすごくグチャグチャだと思います。
頭が追いつかないので、「これをこうして、こっちをこうして…」という感じで、
ひとつひとつ完結させながらやってるのが問題だと思います。
逆にminilogの方は関数使いすぎで自分でもわけわかんなくなってきました。

>>512
今月から毎日18時間働いております('A`)
今は徹夜中の小休止ですorz
0547nobodyさん2006/02/14(火) 06:45:08ID:???
キタ━━━━━━( ´∀`)━━━━━━ !!
0548nobodyさん2006/02/14(火) 07:41:01ID:???
  _、_
( ,_ノ` )y━・~~~ 少佐、動けばいいんだよ動けば
0549その12006/02/14(火) 11:26:45ID:O2fgq8yY
自分もファイル操作用クラスを作ってみた。
長いので分割します。
------------------------------------
<?php
/**
 * 特定のディレクトリ内のファイルの読み書きを行うクラスです.
 */
class file_manager {
  /**
   * ディレクトリを表す文字列です.
   */
  var $dir;
  
  /**
   * 指定されたディレクトリ内のファイルを操作する新しい file_manager を構築します.
   * 引数が省略された場合はカレントディレクトリ(./)を扱います.
   * 
   * なお、指定されたディレクトリが見つからない場合は作成を試みます.
   * 作成に失敗した場合は警告を発生させます.
   *
   * @param $dir 操作対象のディレクトリ. 相対パスまたは絶対パス. ただし末尾に '/' は含めない.
   */
  function file_manager($dir = ''){
    $this->dir = (0 < strlen($dir)) ? $dir : '.';
    // 指定されたディレクトリが存在しない場合は作成を試みる.
    if(!file_exists($this->dir)){
      $success = @mkdir($this->dir);
      if(!$success) 
        trigger_error('FILE_MANAGER_ERROR:('.$dir.')は利用することができません', E_USER_WARNING);
    }
  }
0550その22006/02/14(火) 11:28:38ID:O2fgq8yY
  /**
   * 指定されたファイルの中身を返します.
   * ファイルが存在しない場合は NULL を返します.
   */
  function read_file($filename){
    $file = $this->dir.'/'.$filename;
    $lines = @file($file);
    if(!$lines) return NULL;
    $str = '';
    foreach($lines as $line){
      $str .= $line;
    }
    return $str;
  }
  
  /**
   * 指定されたファイルの中身を与えられた文字列で上書きします.
   * ファイルが存在しない場合は新たに作成します.
   *
   * @param $filename ファイル名
   * @param $contents ファイルに書き込むデータ
   */
  function write_file($filename, $contents){
    $file = $this->dir.'/'.$filename;
    $fp = fopen($file, 'w');
    fwrite($fp, $contents);
    @chmod($file, 0666);
    fclose($fp);
  }
0551その32006/02/14(火) 11:29:52ID:O2fgq8yY
  /**
   * 指定されたファイルの名前を新しいファイル名に変更します.
   *
   * @param $oldfile リネーム対象のファイル名
   * @param $newfile 対象のファイルの新しい名前
   */
  function rename_file($oldfile, $newfile){
    return rename($this->dir.'/'.$oldfile, $this->dir.'/'.$newfile);
  }
  
  /**
   * 指定されたファイルを削除します.
   */
  function delete_file($filename){
    return unlink($this->dir.'/'.$filename);
  }
  
  /**
   * 指定されたファイルが存在するかどうかを調べます.
   * ファイルが存在する場合に TRUE を返します.
   */
  function file_exists($filename){
    return file_exists($this->dir.'/'.$filename);
  }
}
?>
0552nobodyさん2006/02/14(火) 14:21:08ID:???
>>549
すごくいいと思う。
こういうのは無しなんだろうか
function read_file($filename){
$file = $this->dir.'/'.$filename;
$str = @file_get_contents($file);
if( $str) return $str;
else return NULL;
}


0553nobodyさん2006/02/14(火) 14:45:56ID:???
>>552
どうもです。
file_get_contents にすればもっとシンプルに出来たんですが、
PHPのバージョンが古いと対応してないので、
代替手段としてこういう実装にしました。

PHPを導入してるレンタルサーバーって、
自分の知っている限りではみんなバージョンが4系なんだけど、
その中でも4.1*だったり4.3*だったりバラバラなんですよね。
0554nobodyさん2006/02/14(火) 19:34:08ID:???
foreach($lines?as?$line){
??$str?.=?$line;
}
これよりimplode使ったほうが速いよ
$str = implode('', $lines);
0555nobodyさん2006/02/14(火) 19:37:24ID:???
文字化けしちまったスマソ
0556nobodyさん2006/02/15(水) 08:33:21ID:???
返り血の無い関数の場合でもtrueとか返すようにした方がいいの?
0557nobodyさん2006/02/15(水) 10:12:28ID:???
>>556
本来なら返り値が必要ない関数であっても、
処理がうまくいったら TRUE、失敗した場合は FALSE を返すみたいな実装にしたほうが、
エラー処理が簡単になる場合がある。ケースバイケースだけどね。例えば、
■before■
function hoge(){
    first_process();
    second_process();
    third_process();
}
function first_process(){ /* 何か処理をする */ }
function second_process(){ /* 何か処理をする */ }
function third_process(){ /* 何か処理をする */ }

■after■
function hoge(){
    return first_process() & second_process() & third_process();
}
function first_process(){ /* 何か処理をして、成功したら TRUE を返す */ }
function second_process(){ /* 何か処理をして、成功したら TRUE を返す */ }
function third_process(){ /* 何か処理をして、成功したら TRUE を返す */ }
0558nobodyさん2006/02/15(水) 19:31:58ID:???
//自動リンク改良版
function Auto_HyperLink_Tags($text, $target='_blank') {
if (!empty($text)) {
$search = "(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www\.))+(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9\&%_\./-~-]*)?";
return ereg_replace( $search,"<a href=\"\\0\" target=\"".$target."\">\\0</a>", $text);
}else {
return FALSE;
}
}
0559ちんこ先生 ◆Qm364jaZpk 2006/02/16(木) 11:55:20ID:YzGNHh7H
少佐のソースやばいからw


お前がなにしてるかおしえてあげようか?w

つーか一番笑ったのはソースSJISかよwww

レベルひくwwwwwwwwwwwwwどんだけ低いの?

#-------------
@mysql_connect($db_host, $db_user, $db_password);
@mysql_select_db($db);

ここがmysqlにつないでるとこだが、普通こうかく


$conn =@mysql_connect($db_host, $db_user, $db_password) or die("MySQLの接続に失敗しました。");
@mysql_select_db($db, $conn) or die("DB選択時にエラーが発生しました。");


この2行だけでも、こうやってエラー処理をかくよw しかもなんでrequireに@つけてんの?w

超馬鹿じゃんwww どんだけ低レベルwwエラー処理もしてないwww
0560nobodyさん2006/02/16(木) 12:14:14ID:???
>>559
あなたは猿ですか?
0561nobodyさん2006/02/16(木) 12:36:36ID:???
>>559
sjisだと何が悪いんだ
0562nobodyさん2006/02/16(木) 12:48:58ID:???
559はEUCしか知らない低脳
0563nobodyさん2006/02/16(木) 13:03:24ID:???
このスレで完璧を求めるのはおかしいだろ
まずは自分の人格のエラー処理をコーディングしてらっしゃい
0564nobodyさん2006/02/16(木) 13:20:58ID:???
>>557
ありがd
&の使い方が解りませぬ
return (first_process() === true && second_process() === true && third_process() === true)
と等価ですか?
0565ちんこ先生 ◆Qm364jaZpk 2006/02/16(木) 13:29:18ID:YzGNHh7H
雑魚が傷をなめあうなよキショいからwww

つーかお前ら少佐以下なんだろ?www死ねよ
0566ちんこ先生 ◆Qm364jaZpk 2006/02/16(木) 13:43:27ID:???
しかもここ初心者スレじゃなかったしww

なんだこれwww
0567nobodyさん2006/02/16(木) 13:56:47ID:???
ちんこ先生 ◆Qm364jaZpk

そろそろこの池沼をNGにぶち込むか
05685572006/02/16(木) 14:01:03ID:???
>>564
間違えた。よく調べてみたら、& は PHP ではビット積の演算子だったわ。
C や Java と同じ感覚で書いたもんで・・・。
申し訳ない。 >>557 の & は && に置き換えてください。

意味としては、>>564 で合ってると思います。
ただし、この場合はもしも first_process() が FALSE を返した場合、
second_process() と third_process() を処理せずに終了します。
first_process() の結果いかんに関わらずに続きの関数を実行させたい場合は

function hoge(){
    $success = TRUE;
    $success &= first_process();
    $success &= second_process();
    $success &= third_process();
    return $success;
}

みたいに書いたほうがいいかな。
0569ちんこ先生 ◆Qm364jaZpk 2006/02/16(木) 14:02:53ID:???
いやいや教えてもらえるだけ喜べよwww

なんも知らないくせに少佐非難してるやつよかマシだろ
0570ちんこ先生 ◆Qm364jaZpk 2006/02/16(木) 14:06:49ID:???
ってかまったくincludeもされてないソースで発表会されてもね。

初心者スレで書いたら?
0571nobodyさん2006/02/16(木) 14:21:22ID:???
あぼーん
0572nobodyさん2006/02/16(木) 14:35:11ID:???
> ただし、この場合はもしも first_process() が FALSE を返した場合、
> second_process() と third_process() を処理せずに終了します。
これは知らなかった。チューンできるんだー。
05735572006/02/16(木) 14:36:26ID:???
>>559
条件反射的に Shift_JIS に反応するのはどうなんですかね?
確かに Shift_JIS はマルチバイト文字の中に0x7F以下のコードを含む場合があるから、
文字列や正規表現に日本語を含むようなスクリプトに Shift_JIS を採用すると危険な場合があるけど
逆に言えば、そういう危険性さえなければ Shift_JIS でも全く構わないということになる。
Windows付属のエディタで編集できるっていう強みもあるしね。(まぁ利点といえばそのぐらいしかないが)

あと、言わせてもらうとそのコードもめっちゃレベル低い。
そのエラー処理は、あくまでもシステム側の都合であって、ユーザー側の立場になってない。
もしもあんたが Java をやったら、きっと、コンパイルエラーを回避するためだけの
try 〜 catch とかやるんだろうな。
当然 catch の中身が空だったり適当な System.out.println だけだったり。
(Java 知らない人には訳の分からない話で申し訳ない)

ところで、error_reporting とか set_error_handler とか trigger_error とか、知らないの?
そういうのをフル活用すれば、

@mysql_connect($db_host, $db_user, $db_password); 
@mysql_select_db($db); 

だけでも全然アリなんだけど。
0574nobodyさん2006/02/16(木) 15:58:37ID:???
>>557は無性に説得力あるな
0575nobodyさん2006/02/16(木) 18:24:09ID:???
ちんこなんてコテつける奴とは格が違うって感じだなw
0576nobodyさん2006/02/16(木) 18:33:35ID:???
リアルで相当ダメージ食らってるな>ちんこ先生

失業でもしたか?w
05775422006/02/16(木) 18:57:01ID:???
言うだけもあれなんで、恥ずかしいけどソース晒しとく。
俺が趣味で作って使ってるクラスの抜粋(一部改変)だけど。(PHP5系,MySQL4.1系)
@は使ってないよ。error_reporting = E_ALL、display_Errors = Off、log_errors = Onで、
全部エラー用ログファイルに書き出してる。ユーザー画面には簡単なエラーメッセージ出してるだけ。
エラー時の挙動は全部Db_Error()の中で書いてる。(中まで貼ると長いので↓には書いてない)
DB接続部分って普通こんな感じじゃない?正解はないけど。知識・技術共にレベル低くてごめん。
---------------------------------------------------------
private $err = true;
private $errmsg = null;
public function Db_Connect() {
$this->dbcon = mysql_connect('HOST', 'USER', 'PASSWORD');
if ( !$this->dbcon ) {
$this->err = false;
$this->errmsg = "DB接続エラー";
} else {
$this->dbname = 'DB_NAME';
//MySQL固有
if ( !mysql_select_db($this->dbname, $this->dbcon) ) {
$this->err = false;
$this->errmsg = "DB選択エラー";
} else {
//文字化け対策
$this->Db_Query("set names ujis");
}
}
//エラー画面へごー
if ( !$this->err ) {
$this->Db_Error();
}
}
----------------------------------------------------------
抜粋だから分かりづらくてすんません。あと、俺は少佐非難したつもりはないぞ。エールを送ったつもり。
■ このスレッドは過去ログ倉庫に格納されています