【PHP】下らねぇ質問はここに書き込みやがれ 59 at PHP
[2ch|▼Menu]
[1からを表示]
50:nobodyさん
07/11/17 11:22:31
>>49
識別番号が無かったら識別番号取得ページに飛ばし那覇れ

51:nobodyさん
07/11/17 12:36:11
PHPERのみなさんはシェルスクリプトもPHPで書いてやがるのですか?
shでシェルスクリプト書いてるのですがPHP以上に糞なので困ってます
grepで使える正規表現貧弱すぎワロタ
やはりRubyとか覚えた方がいいのでしょうか

52:nobodyさん
07/11/17 12:47:01
シェルスクリプトなんて使わん

53:nobodyさん
07/11/17 12:49:55
>>51
Ruby儲ワロス

54:nobodyさん
07/11/17 12:50:06
>>51
シェルスクリプトの場合Perlが比較的おおいんじゃないかと
RubyよりはPythonのほうがいいですよ

55:nobodyさん
07/11/17 13:00:43 q8xDPAKo
PHPはオーバロードを使えないのでしょうか?
それとも書き方が悪いのでしょうか?
もしできないのなら、どうにかして実現するような方法はありませんでしょうか?

class OverloadTest {
  private $var;
  function ConstructTest() {
    $this->var = null;
  }
  function ConstructTest($_var) {
    $this->var = $_var;
  }
  function getVar() {
    return $this->var;
  }
}
$obj = new OverloadTest();
var_dump($obj->getVar());

56:55
07/11/17 13:02:15 q8xDPAKo
あ、すみません

ConstructTest()をOverloadTest()か__construct()に置き換えて下さい。

57:前945
07/11/17 13:30:40
>>45
ありがとうございます。
でも自分の頭じゃUTF8のコードを算出できそうにないなorz

>エスケープしなくともそのまま書き込んでいい。
>$arr = array('@' => '(1)', ...);
macなどwindows以外で表示されるものも弾きたいので
@ではなくUCSコードを使いたいのです。

そのような関数があればいいのですが・・・
むしろ変換だけならPHP以外でやればいいのか・・・スレ違いになってきた・・・
もしご存知の方いましたら教えてください。

58:nobodyさん
07/11/17 14:06:49
>>55
function __construct($_var = null){
 $this->var = $_var;
}

このくらいならシンプルに書けるけど
オーバーロードに関してはPHPは不便

59:nobodyさん
07/11/17 15:02:55
一般的にクラス内の関数とかシンプルにすべきなんでしょうか。
今はクラス内に徹底的に分岐処理なども全てつめこんで、
クラス使用する際に、
関数並べるだけ、みたいな感じにしてますが、
なんか間違ってるような。


60:nobodyさん
07/11/17 15:26:48
>>59
意味わからないでつかってるならクラス使う必要ないし、無理して使わなくていい。
PHPはJavaと違ってオブジェクトにする必要ないんだから。

61:nobodyさん
07/11/17 15:30:41
$var = 'abc';
$this->($varの値)
を実行したい場合、
つまりこの場合は
$this->abc を実行したい場合、
どのように記述すればよいでしょうか?

$this->$var ではあぼーんでした

62:nobodyさん
07/11/17 15:43:13
あなたたちのPHP暦を教えてください

63:nobodyさん
07/11/17 15:47:55
>>61
$this->var

>>62
それを聞いてお前の中で何か変わるのか?ID非表示のスレで

64:nobodyさん
07/11/17 16:26:58
1万年と2000年前から使っています

65:nobodyさん
07/11/17 16:36:09
>>59
別に間違ってはないと思う。
下手にクラス使うよりそっちの方がいい。
OOPしたいなら、Javaとかやりなよ。

66:nobodyさん
07/11/17 16:43:18
必要があるからするんじゃなくてしたいからするってどういう状況なんだろう

67:nobodyさん
07/11/17 17:09:24
>>63
頭の固いクズは味噌汁のんでやわらかくしてこいw

68:nobodyさん
07/11/17 17:40:05
クラス使ったら多分楽になるんだろうなとは思うけど、何をクラスにするかで悩むので
普通に関数化して誤魔化してます。

69:nobodyさん
07/11/17 18:08:04
楽にはならんよ。手続きのほうが断然楽。
よく言われ手続き型は再利用性がなかったり保守性がなかったりというのも、
無理にクラスを使ったところで余計にそういう傾向になるだけだし、
OOPについて理解のないひとが無理にクラスを使ってもろくなことがない。

別に無理して使わなくていいんだよ。PHPってそういう言語だし。

70:nobodyさん
07/11/17 18:36:54
WHOISの結果を表示するphpの書き方を教えてください。

71:61
07/11/17 18:43:46
$this 使ったから誤解された希ガス

たとえば、create delete update
という3つのメンバ関数もってるclassクラスなら
$function = "create"
$class->($functionの値)、
つまり$class->create() を実行したいのです。

72:nobodyさん
07/11/17 18:51:48
>>70
ここに問い合わせクエリーをPOSTして、その結果を取得すればいい
URLリンク(whois.jprs.jp)


73:nobodyさん
07/11/17 18:58:27
>>70
Unix環境今いれてないから試してないが、
execとかsystem関数でwhoisしたらなんか返ってくる?

74:45
07/11/17 19:03:27
>>57
手抜きで良かったら。

$ucs2be = pack('n*', 0x2460);
$utf8 = mb_convert_encoding($ucs2be, 'UTF-8', 'UCS-2BE');
echo '文字列: ' . $utf8 . PHP_EOL;
echo '文字列リテラル: "\\x' . implode('\\x', str_split(bin2hex($utf8), 2)) . '"';

>>71
class Example {
  public function call($method) { $this->$method(); }
  public function create() { echo __METHOD__ . ' called.'; }
  public function update() { echo __METHOD__ . ' called.'; }
  public function delete() { echo __METHOD__ . ' called.'; }
}
$example = new Example();
$example->call('create');


75:nobodyさん
07/11/17 19:43:43
すいませんデリヘルの店長ですが、姫たちの出勤表のプログラム作ってもらえませんか?

予算は20万です。



76:nobodyさん
07/11/17 19:51:40
メアド出して。んで詳細を送って。

77:nobodyさん
07/11/17 19:56:04
前スレのやつは確か店長じゃなかったけどな

78:nobodyさん
07/11/17 19:57:36
>>75
デリ姫は時間にだらしないから一人一人電話入れた方がいいぞ

79:nobodyさん
07/11/17 20:06:17
マルチじゃね?しかも安すぎるわ。最低三百万だな

80:nobodyさん
07/11/17 20:21:57
>>75
手渡しできるならやります。

81:nobodyさん
07/11/17 20:56:53
>>75

トップの娘と100回無料でまんちょさせてくれたらやります。

82:nobodyさん
07/11/17 21:38:13
>>75
俺が作ったる。メアド欄のメアドにメールよろ

83:nobodyさん
07/11/17 21:42:44
ここをなんのスレだと思ってるんだか

84:nobodyさん
07/11/17 21:52:01
>>83
貧乏プログラマの巣窟です。


85:nobodyさん
07/11/17 21:56:46 ZVacPykJ
mysql に対してinsert文飛ばしてるんだけど、データが追加されません。
php中のサーバやパスワードの指定を確認してもちゃんとつながってます。
どういう原因が考えられるでしょうか?  普通の
insert into testtable (a,b,c,d,e…) values('$a','$b','$c','$e',…); って書式で、
コレをコマンドラインや phpMyadmin のSQLにコピペして打ち込んだら
ちゃんと反映される状況です…

86:nobodyさん
07/11/17 21:57:51
mysql_error()で確認してみれ

87:nobodyさん
07/11/17 22:10:10
>>86
どうもです それ、試してみます
phpのmysql文を delete from saloon_kihon where sId=100 っていうデリート文に
直したらこっちは動作しました サーバやパスワードの設定は変えてないのに、、


88:nobodyさん
07/11/17 22:14:26
なんでinsert文がdelete文に置き換わるんだw

89:nobodyさん
07/11/17 22:16:31 JYfUue/9
>>84
ま、少しでも流れを戻すためにw
>>75みたいに「大したコトしないけどやっぱDBはほすぃよねー」って時、何選ぶ?
コレ読んで「ああ、そーいえばSQLiteなんてモノがあったっけ」と思い出して少し調べてみたのだが、最近のディストリじゃ--without-sqliteでコンパイルしてるのな。
--with-pdo-sqliteとぶつかるからってコトでこーしてるらしいのだが、PDOってどうよ?

以下余談。
フーゾク屋さんのWebを見てると、面白いまでに画一化してるのがなんとも楽しい。
フリーのフーゾク店Webツールとか作ったら面白いかもしれんな、イロイロと黒いイミも込みでw

90:nobodyさん
07/11/17 22:20:38
phpってソースからコンパイルして使うものじゃないのか?

91:nobodyさん
07/11/17 22:20:40
mysqlとpdo使ってるよ。良いよ。

92:nobodyさん
07/11/17 22:23:31
>>89
MySQLが使えるなら規模問わずMySQL。
SQLiteなんてDBがインストールされてないような特殊な環境じゃないと使わない。
Oracleが使えるならOracle使うし、使えるDB使うのが基本だろ。

>フリーのフーゾク店Webツール
こんなの作ったら圧力かけてくるよ

93:nobodyさん
07/11/17 22:42:29 TDJjbBfG
>>92
フリーのふー族店Webツール

姫のデータを入れるツールをつくり、地図の図を入れるツールを作り
コース・オプション・料金を入れるツールを作り、DBもろともインストーラで
インスコするようにすればおk。

以外に簡単総社ね?

94:nobodyさん
07/11/17 22:43:28
勤怠管理とWeb予約を紐付けたCMSぐらいなら、有り物組み合わせたら簡単にできそうだ

95:nobodyさん
07/11/17 22:46:50 TDJjbBfG
ってか、まじで簡単そうだな。。

よくよく考えてみれば顧客の注文も似たような部分がたくさんあるから
それを作ればいいような。。車輪の再開発がだいぶ短縮できる。

VB使えりゃパッケージ開発できそうな気がしてきた。。

96:39
07/11/17 23:01:04 8mjUgZP5
誰か解りませんか?

97:89
07/11/17 23:03:49
>>90
正論だが>>75にソレを言っても始まるまいw

>>91
ふむ、ちょっとイジってみるか>PDO

>>92
正論だが(以下tbs
「MySQLが使えるレンタルサーバと契約してIDとpassもらって……」って言い出した時点で「アンタやって」って○投げするに決まってるやんw
これはフーゾクに限らず、中小企業のエラいさんなんてみんなそんなモン。

>>フリーのフーゾク店Webツール
>こんなの作ったら圧力かけてくるよ
だから楽しいのだろうw

>>93
地図ツールは単体ならフリーのである。
コース・オプションあたりはビミョウだな。これはWeb屋に任せた方がいいかもしれん
DBコミのインストーラはECコマースツールあたりのソースを見れば出来るだろうが、その手間を省きたいのでSQLiteを持ち出したのだよ。

>>94
そそ。嬢がケータイで勤怠を登録できるように出来れば意外と評判イイかもしれん

>>95
いや、本当にパッケージにするならPC本体コミで売りつけるべきだろうw
ただし、流石にソコまでやるとスジの人が怖いな


……ていうか、おまいらPDOの話題書き込んでください。
何でコッチにばっかり食いついてくるよw

98:nobodyさん
07/11/17 23:28:16
姫プロジェクト誕生の瞬間を見た

99:nobodyさん
07/11/17 23:57:43
じゃあそろそろ要求定義に入ろうか

100:89
07/11/18 00:03:15
流れを戻したくて必死にPDOの話題を書き込んでみるw
PDO、とりあえずWEB+DB Vol.30見てサクっと動かしてみた。
そんなに難しくはなさそうだがリファレンスは必須だな。
手元の青マンモス本では流石に古すぎる。なんかいい本シラネ?

ちなみに若干の注意点。Webやプラグラミング本、青マンモス本とかの古い資料だと、定数をPDO_・・・(例:PDO_ATTR_CASEとかPDO_CASE_LOWER)と書いてあるけど、これは今はクラス「PDO」の中に隠蔽されてる。
PDO::ATTR_CASEとかPDO::CASE_LOWERと書かないと動かない。
あと、SQLiteでは自動コミットをOffに出来んらしい。
ちなみに環境はCentOS5上での5.1.6

101:nobodyさん
07/11/18 00:03:35
おまえらほんと893すきだね

102:nobodyさん
07/11/18 00:26:22
ヤクザマネーください


103:nobodyさん
07/11/18 00:40:50
>>88
いやー、すみません
まったくphpからのSQLコマンドを受け付けないような状況なのかと思って、とりあえずdelete文を
試してみました。 こっちはちゃんと動作するんですよね。
>>86さんの言うとおり、mysql_error()試したんですが、エラーが出ないようです
どうなってるんだ・・・

104:103
07/11/18 00:52:02
自己解決しました テーブル名を定数で表現してたんですが、
それをそのままダブルクォーテーションに突っ込んでました  レスくれた人ありがとう

105:nobodyさん
07/11/18 01:36:39
>>39
お茶でも飲んでおちつけよ

106:nobodyさん
07/11/18 05:50:42 hVWGJ0jC
PHP5のconfigureオプションについて知りたいのですが
URLリンク(php.benscom.com)
ここを見るとPHP4のしかないです
PHP5のはどこにありますか?


107:nobodyさん
07/11/18 06:26:56
これがゆとり世代というものか

108:セックスレス夫婦
07/11/18 06:27:55
>>106
うちの金庫に厳重に保管してあります。あしからず。



109:nobodyさん
07/11/18 06:34:19
分からない人は無理して答えなくていいです
分かる人だけお答え下さい

110:nobodyさん
07/11/18 06:36:27
  ヽ(`Д´)ノ   ボ
   .ヽ`Д´)   ッ
   (ヽ`Д).  キ
   (  ヽ`)   ア
   (   ヽ   ゲ
  ヽ(   )ノ.  ス
   .ヽ   )  ペ
   (ヽ  )   シ
   (Д´ヽ) .  ャ
   (`Д´ヽ  ル
  ヽ(`Д´)ノ   ト
   .ヽ`Д´)   ル
   (ヽ`Д).  ネ
   (  ヽ`)   l
   (   ヽ   ド
  ヽ(   )ノ.  サ
   .ヽ   )  イ
   (ヽ  )   ク
   (Д´ヽ) .  ロ
   (`Д´ヽ  ン
  ヽ(`Д´)ノ   ! !

111:nobodyさん
07/11/18 08:15:34
長い
2行にまとめろ

112:nobodyさん
07/11/18 09:02:45
40代無職の人は質問者の邪魔してばかりですね・・・
困ったものです

113:nobodyさん
07/11/18 09:21:53
  ヽ(`Д´)ノ   ボ   .ヽ`Д´)   ッ   (ヽ`Д).  キ   (  ヽ`)   ア   (   ヽ   ゲ  ヽ(   )ノ.  ス   .ヽ   )  ペ   (ヽ  )   シ   (Д´ヽ) .  ャ   (`Д´ヽ  ル
  ヽ(`Д´)ノ   ト   .ヽ`Д´)   ル   (ヽ`Д).  ネ   (  ヽ`)   l   (   ヽ   ド  ヽ(   )ノ.  サ   .ヽ   )  イ   (ヽ  )   ク   (Д´ヽ) .  ロ   (`Д´ヽ  ン  ヽ(`Д´)ノ   ! !

114:nobodyさん
07/11/18 09:24:13
40代自重しろ

115:nobodyさん
07/11/18 12:16:56
phpのglobって再帰的に取得できたりしないの?
glob("mydir/" . "**/Test*.php")
ってやったら1階層下のしか取れてない。
rubyのglobは再帰的に下までとったはずだが。

116:nobodyさん
07/11/18 12:43:26 KAZWW8eo
>>114 いや。俺もよくわかる。このまま、40代になったら、こんな事にしか
楽しみを見出せない40代になってそうだ。

  ヽ(`Д´)ノ   ボ
   .ヽ`Д´)   ッ
   (ヽ`Д).  キ
   (  ヽ`)   ア
   (   ヽ   ゲ
  ヽ(   )ノ.  ス
   .ヽ   )  ペ
   (ヽ  )   シ
   (Д´ヽ) .  ャ
   (`Д´ヽ  ル
  ヽ(`Д´)ノ   ト
   .ヽ`Д´)   ル
   (ヽ`Д).  ネ
   (  ヽ`)   l
   (   ヽ   ド
  ヽ(   )ノ.  サ
   .ヽ   )  イ
   (ヽ  )   ク
   (Д´ヽ) .  ロ
   (`Д´ヽ  ン
  ヽ(`Д´)ノ   ! !


117:nobodyさん
07/11/18 12:53:34 KAZWW8eo
派遣に登録にいくたび、ソースもってくんだけど、
俺は学歴ないから(高卒)、ソースで採ってもらうようなものなんだ。

昨日、色々考えをめぐらせたんだけど、ありきたりのじゃ面白くないから
上で書いてあった風俗Webツール作ってもっていこうかな。。

姫の自己紹介とか出勤とか全部自由に登録できる高機能な奴。でも、女性社員の受けは悪いだろうなあ。

118:nobodyさん
07/11/18 12:57:55
そして販売した先の893社長にちょっとしたバグを付け込まれて、
理不尽な言いがかりを付けられて一生ただ働きさせられるのですねw
人生まともに過ごしたいなら893や部落、在日朝鮮人には関わらない方がいいぞw

119:nobodyさん
07/11/18 13:21:54
高機能っつってもなぁ。やってる事は単純だし。

120:nobodyさん
07/11/18 13:40:46
妄想で高機能にしても使えないシステムができるだけ。

121:nobodyさん
07/11/18 13:43:21 0/SvFAMM
質問です。

以下のディレクトリ構造

root -+- hoge01 --- hoge02
+- hoge03 -+- hoge04
+- hoge05

で、root に設置した「change.php」に用いて、全ての下位ディレクトリの
パーミッションを一気に変更したいと思っています。
そこで「change.php]に、

while(false !== ($dirName = readdir(ディレクトリハンドル))) {
chmod($dirName , 0***)
}

と書くと、「hoge01」と「hoge03」のパーミッションは期待通りに変更されるのですが、
「hoge02」と「hoge04」、「hoge05」のパーミッションは変更されません。
複数階層以降の下位ディレクトリ全てのパーミッションを
一括変更する方法はありますでしょうか?
よろしくご教示ください。

PHPバージョン: 4.4.7

122:nobodyさん
07/11/18 13:47:06
宿題臭いなw

123:nobodyさん
07/11/18 13:56:33
system()でchmod -Rしとけ

124:nobodyさん
07/11/18 14:05:46
>>69
そんなものなのかな。
似たような関数が複数できてしまった場合、クラスに入れていった方が共通部の直しとかきっと
楽なんだろうとか妄想してしまうんだが。

もちろんOOP解っていない自分が無理に使う気はないけど、AJAXだのJSONだのが流行っている
のをみるとOOPできないと幅が狭くなっていく気はしてるorz

125:121
07/11/18 14:55:53 0/SvFAMM
>>123
レスありがとうございます。
頂いたアドバイスを元に試行錯誤しているのですが、
どうにもうまくできませんでした。

while(false !== ($dirName = readdir(ディレクトリハンドル))) {
system("chmod -R *** {$dirName}");
}

と書いたのですが、パーミッションは期待通りに変更できずにいます。
お手数ですが、再度詳しくご教示のほどお願いいたします。

126:nobodyさん
07/11/18 15:02:51
>>124
プログラムが助長になるようなら使えばいいし、そうでなければあえて使う必要もねーな。
視野を広げたければOOPを勉強すりゃいいだろ。

127:nobodyさん
07/11/18 15:31:55
OOPやらデザインパターン勉強しても、使いどころが分かってない奴多いね。
ここをクラスにできないかな?って試行錯誤するのはいいことだけど、
無理に使おうとしなくても、沢山経験積んでいけばおのずと使いどころが見えてくるよ。

128:nobodyさん
07/11/18 16:20:00
>>127
読むだけ無駄なレスはいらないよ

129:nobodyさん
07/11/18 16:54:46
引数の型にstringやintってつかえないんだっけ?
function hoge(string x)
とか。文字列渡してもstring型じゃねぇって。

130:nobodyさん
07/11/18 16:56:54
タイプヒントは、object型やarray型 (PHP5.1以降) でのみ使用できます。
int および stringのような 通常の型でのタイプヒンティングはサポートされません。

131:nobodyさん
07/11/18 16:58:34
>>128
読むだけ無駄なレスはいらないよ

132:129
07/11/18 17:22:08
>>130
サンクス。クラスである型じゃないと駄目って事かな。
自分で定義したクラスは引数指定できるようだし。
string,intはコメントにかいとけってことですね。

133:nobodyさん
07/11/18 17:53:11 9XGZcI1l
ファイルが存在するか調べるのはfile_existsですが、
URLが存在するか調べる場合は何を使えばいいのでしょうか?
fopen, file_get_contentsなどさまざまな方法がなくはないんですが、
これだと存在しないときにWarningが出るので、
存在しない場合にfalseを返すような関数ないですか?

function url_exists($url) {
if ($fp = fopen($url, "r")) {
fclose($fp);
return true;
} else {
return false;
}
}

としても当然のごとくWarningが出るので・・・
@で制御するのもいいのですが、@を使わないで出来る方法があったら教えてください。

134:nobodyさん
07/11/18 17:56:12
>>133
file_existsのユーザノートにわんさか書かれてるよ

135:133
07/11/18 18:01:37 9XGZcI1l
>>134
ユーザーノートとは見落としていました。
curlなんて初めて聞いた関数なので思いもつかなかったです。
早速勉強してきたいと思います。
どうもありがとうございました。

136:nobodyさん
07/11/18 18:03:13
"をPOSTすると勝手に
"(半角)にされてしまうのですが、
何が原因でしょうか?

137:nobodyさん
07/11/18 18:10:54
鯖缶

138:nobodyさん
07/11/18 19:43:04
ダブルクォート何かをPOSTしなきゃいい

139:nobodyさん
07/11/18 21:38:28
PHPを使ってるかどうか分からないんだけど、
eBayで出品者と連絡取ろうと思ってeBayのメッセージ機能でメッセージ送ったら、
「'」が「?」に化けちゃう。それも毎回。
●例 「I can't」→「I can?t」

これって何で??
もちろん文字入力時はIMEをOFFにして半角モードにしてるんだけど・・・。

140:nobodyさん
07/11/18 21:40:05
SQLインジェクション対策だとは思うんだが、本当に全角の「?」なんだろうな?

141:139
07/11/18 21:51:00
あ、ごめん。
「?」じゃなくて「'」の半角ね(^^;

「'」は「?」の実体参照だったのかぁ。
それにしてもなんで「'」が「'」(の半角ね)になっちゃうんだろうか。


>SQLインジェクション対策
ええ?? それはDBに入れるときにやればいいんであって、
HTMLに表示するときにエスケープしても意味ないっしょ。

それとも投稿された生データじゃなくて、エスケープ済みのデータをDBに保存してるんだろうか?
だとしたらeBay終わってるな。

142:nobodyさん
07/11/18 23:07:25 7wolHM+i
function categoryName($category_id){
$sql = "select * from category where category_id='$category_id' ";
$res = mysql_query($sql,$conn);
$row = mysql_fetch_array($res);
return $row;
}
$sql = "select * from bbs";
$res = mysql_query($sql,$conn);
while($bbs = mysql_fetch_array($res)){
$category = categoryName($bbs["category_id"]);
echo $category["name"];
}
※DB接続部分は省いています

として、カテゴリ用のテーブルにアクセスして
IDが一致すれば、その読み方を取得して一覧に表示しています。

関数内でDBに接続するコードを書いているので、bbsテーブルの登録数によって
何度もDB接続→データ取得を繰り返しているわけですが、
こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか?
もしそうなら、別のやり方を教えて下さい。

143:nobodyさん
07/11/18 23:27:18
<?php
function hoge() {
print('test');
}
?>

↑上のファイルを読み込む
<?php
include_once('aaa.php');
hoge();
?>

ってのと、静的メソッドの違いがわかりません。

<?php
public static function hoge() {
print('test');
}
?>

↓こうやった場合、上記のパターンとどう違うの?

<?php
include_once('aaa.php');
Hoge::hoge();
?>

どっちのやり方が普通なのでしょうか?

144:nobodyさん
07/11/18 23:38:16
  ( ⌒ )
   l | /
  〆⌒ヽ
⊂(#‘д‘)<誰が禿げやねん!!
 /   ノ∪
 し―-J |l| |   
     @ノハ@ -=3 ペシッ!!


145:nobodyさん
07/11/19 00:12:16
>>143
とりあえず動くか試してから出してくれ。そしてちゃんと>>1を読んでくれ。

関数にpublic,static修飾子は使えない。
クラスを使う気がないのなら上の書き方が正解。

静的メソッド(クラスメソッド)とついになるのはインスタンスメソッドでクラスの話。
メソッドはクラス内での関数のようなもので、オブジェクトの振る舞いを決めるもの。
一般的な関数とは似て非なるもの。

146:nobodyさん
07/11/19 00:32:35
>>142
SELECT * FROM bbs LEFT JOIN category USING(category_id)

147:142
07/11/19 01:48:45
>>146
すみません、言葉足らずでした。。

複数JOINして、アクセスが重くなっているので、
表示面は>>142のようにして分けようと思っています。
その際に、何度もクエリが送信してもいいのか?と思いまして。

148:nobodyさん
07/11/19 02:57:57
>>139
>●例 「I can't」→「I can?t」

俺もeBayで実験してみたら再現した(Firefox2.0.0.9)。
なんだろうね?これ。

検索ボックスから入力した場合には「'」も文字化けしないで表示されるな。

149:nobodyさん
07/11/19 03:03:24
>>147
純粋な興味心から聞くんだけど、
表結合したときと、示してくれたような個別クエリ発行するときと、実行時間にはどれくらい差あるの?

150:nobodyさん
07/11/19 03:24:03
>>149
しらねえよバカ

151:nobodyさん
07/11/19 03:35:34 IR8ctjgO
(ルータなどの)グローバルIPアドレスを外部とは一切通信せずに取得する方法ってないですか?

152:151
07/11/19 03:37:17 IR8ctjgO
プラットフォームは Windows です

153:nobodyさん
07/11/19 03:39:17
ここでする話じゃねえよ
プログラム板のネットワークプログラムスレでも池

154:nobodyさん
07/11/19 04:25:41
>>151
ルータがlinuxとかだったら教えてくれるようには出来そうだけど
とにかくルータさんに聞くしかないんじゃね

155:nobodyさん
07/11/19 05:47:20
板違い。最近覚えたての用語使いたいだけの回答者も逝ってよし

156:nobodyさん
07/11/19 07:10:59 NjBKqL/f
trimでの全角空白除去についておしえてください。

EUC環境では次で除去できているのですが
(例)$name = trim($_POST['name'], " \t\n\r\0x0B ");
※わかりづらいかもしれませんが、デフォルトの対象文字に全角空白を追加してます。

UTF-8環境で同じコードだと先頭と末尾の日本語が文字化けします。(半角英数字だと正常)

全角空白を文字コードに置き換えて指定するなど試してみたのですが
無視されるなどしてうまくいきません。
ググるとあらかじめ全角空白を半角に置き換えて・・という方法が多いようですが
trimで解決されてる方いましたら是非おしえてください。

157:nobodyさん
07/11/19 08:27:22
trimはマルチバイトに対応していないだろうから無理じゃね?

158:nobodyさん
07/11/19 09:09:12
mb_ereg_replace つかえば?

159:nobodyさん
07/11/19 10:22:59
全くの初心者で申し訳ないんですが
日付を年号で出力したいんですけど
どこをどう改造すればいいんですかね

平成+漢数字を出力したいです。

160:nobodyさん
07/11/19 10:26:13
>>1 すら読まない質問はスルーです

161:159
07/11/19 10:30:53 siEG6swa
了解

改造したいのはこのCGIです。
URLリンク(www.web-liberty.net)

162:nobodyさん
07/11/19 10:34:59
ここは PHP のスレな訳だが…

163:nobodyさん
07/11/19 10:39:14
「初心者」って単語はNGワードに登録をしておこうぜ。
そういうのは言語の種類もわからない奴だし。

164:nobodyさん
07/11/19 10:46:59
そもそも日本に於いて年号出力が標準になってないのがおかしいよね
せめて出力形式を選択できるようにしておいて欲しいよ
掲示板もブログも そうすれば一々苦労しなくていいのに

じゃあCGIスレで質問してくることにします。

165:159
07/11/19 10:52:14 NjBKqL/f
>>157-158
ありがとうございます。
>trimはマルチバイトに対応していないだろうから
頭の片隅に覚えてたんだけど、EUCでできたので飛んでしまってました。
mb_ereg_replaceでやってみます。

166:159
07/11/19 10:58:46 siEG6swa
CGIと謂ってもプログラムがpmなので
やはりここのスレが相応しいようです。
よろしくお願いします。

167:nobodyさん
07/11/19 11:11:14 ltz9ymV3
submitする時にセッション変数の値を更新したいんですが、どうすればいいんでしょうか?


$_SESSION['data'] = 0; クリア

<form action='a.php' method='post' onsubmit='aaa()'>
<input type='submit' value='送信'>
</form>

Javascriptのabc()でセットするんでしょうか?でもどうやって?

168:nobodyさん
07/11/19 12:54:57
>>159
このスレは丸投げの質問は受け付けていません
どこをどうしてみたのかを書いてください
ソースを出さないことにはアドバイスのしようがありません

169:159
07/11/19 13:20:25 siEG6swa
包含されてるファイルの数が厖大で
ど素人の自分にはどこをどうすればいいかわかりません、
お手数ですが>>161のCGIをダウンロードして中身を見ていただければわかると思います。

一応それっぽい処貼っておきます。
URLリンク(neetsha.net)

170:nobodyさん
07/11/19 13:29:22
だからどこがPHPなんだよスカタン

171:nobodyさん
07/11/19 13:57:56
cgiの改造依頼はスレ違い
板内に改造依頼スレがいくつかあるでしょ

自分で作る気のない人の質問はここではNG
というより散々指摘されてる通りここはPHPのスレであってPerlはお帰り下さい

172:nobodyさん
07/11/19 14:04:21 S2JtxA6n
みんなはメルアド何か登録してる?

PHP関連・使ってるエディタとか、PHPに役立ちそうなメルアドあったら教えてください。
他にもWebアプリ全般でもいいです。

よろしく><;

173:nobodyさん
07/11/19 14:10:32
>>172
え、えむえるかな・・・

174:nobodyさん
07/11/19 14:13:18 S2JtxA6n
まちがえた。メルアドじゃないや><;

MLでもなくて、メルマガのことです><;

メルマガに凝ってて><;

175:nobodyさん
07/11/19 14:19:21
メルマガなんてまともに見てる人いるのか・・・
昔懸賞サイトに登録しまくってスパムのごとく毎日100通以上送られてきた経緯から、
メルマガなんて大嫌いだ。

宣伝行為になりかねないので自分でよさそうなの探して下さい。

176:nobodyさん
07/11/19 14:25:48
MLのPHP-Usersですら読む気がしないのに

177:nobodyさん
07/11/19 14:33:37
登録だけして一切読んでないな。登録した時はwktkしてたのに。

178:nobodyさん
07/11/19 14:36:37 S2JtxA6n
ええええ、みんな読んでないの?

結構おもしろいYO!

179:nobodyさん
07/11/19 15:38:49
printf は出力しますが、
同様の機能で
変数に代入できるものはないでしょうか。

180:nobodyさん
07/11/19 16:01:52
>>179
sprintf

181:nobodyさん
07/11/19 16:16:45
>>179
printf($hoge,1)

182:181
07/11/19 16:17:23
まちがったprint_rね。

183:nobodyさん
07/11/19 16:18:18
?

184:nobodyさん
07/11/19 16:25:14
>>142
> こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか?
もちろんそうです。

> もしそうなら、別のやり方を教えて下さい。
>>146

遅くなっている原因を突き止めてからにした方がいいと思います。
一般的にはクエリ発行回数を減らした方がパフォーマンスも上がると思います。

185:143
07/11/19 18:18:30
>>145さん
ありがとうございました。
なんとなく理解できました。

186:尾なし鳥
07/11/19 18:47:05 VBgYce8A
全半角混在したデータをmb_strcutを使って一定の文字数で改行を入れようと思ったのですが、期待通りに動いてくれません
FreeBSD6.1+PHP5.2.1で文字コードはEUC-JPです


とりあえずテストコードを書いてみました

<?php

mb_internal_encoding ( "EUC-JP" );

$src="xあいうえお";
echo mb_strcut($src,0,6); //(a)
echo " <> ";
echo mb_strcut($src,6); //(b)

?>

(a)については、先頭から6バイト目の「う」の欠片を捨てて「xあい」となりましたが、
(b)は「うえ」となり、最後の「お」がどうしても取れません。(「えお」ならまだわからなくもないですが・・・)
echo mb_strcut($src,6,6); や echo mb_strcut($src,6,6,"EUC-JP"); 等でもだめです。
何か勘違いしているでしょうか?
それともFreeBSDかmb_strcut()のバグでしょうか?


187:nobodyさん
07/11/19 19:17:20
省略されましたの中よんでなけど
mb_regex_encoding

188:尾なし鳥
07/11/19 19:41:30 VBgYce8A
>>187
回答ありがとうございます。

mb_regex_encoding ( "EUC-JP" ); を入れてみましたが結果同じでした。


189:nobodyさん
07/11/19 19:55:53
>>186
URLリンク(jp2.php.net)
URLリンク(jp2.php.net)

190:nobodyさん
07/11/19 20:26:46
PHPのソースコードで1行ごとに実行速度をミリ秒で
出力してくれるソフトとか無いすか?
デバッグ文を全部の行に埋め込むのはアレなんで・・・

php.exeで読み込んでる時出してくれるとかそういう
機能があれば・・・

191:nobodyさん
07/11/19 21:00:53
必要なところだけ測れ

192:nobodyさん
07/11/19 21:40:16 OzFCTvWZ
URLリンク(www.kohori.com)
こういうCGI(?)っていくらぐらいで作ってもらえる物でしょうか?
自分で作るのがかんたんなら自作したいですが…。
CGIは本当にちょこっとしかいじったことないです。HTMLは独学でタグ手打ちですが…。

193:nobodyさん
07/11/19 21:51:32
>>192
この程度のものなら5万ぐらいじゃないかね。
本格的に作るとなるとだいぶ高くなるが。
自分で作るとなるとDBの知識が最低でも必要。

194:nobodyさん
07/11/19 21:59:20
もしかして手動CGIwなんじゃね?

195:nobodyさん
07/11/19 22:03:05
予約管理システムとかも込みだったり、
メールが正常に受信したことを知らせる自動送信機能つけたり、
定員超えないようにセッションで予約重複しないように管理したりとか、
必要最低限と思われる機能つけたら軽く十万は超えると思うけどな・・・
手動部分が多ければ5万で済みそうだけど

196:nobodyさん
07/11/19 22:07:27 EHezjkQL
PHPでのXML宣言について質問です。
サーバーの仕様が原因なのか、echoやprintで記述すると2行目に宣言が記述されてしまいます。
コードの見栄えが悪いしリントで怒られるので、なんとか1行目に記述できないかと探していました。
php_flag short_open_tag Offをhtaccessに記述すれば良いという文章を散見したので実行してみましたが、
それを.htaccessに書き足すと500エラーになってしまいます。
1行目にXML宣言を記述する良い方法は他にないのでしょうか?
サーバーはland.to、PHPのバージョンは 5.2です。

どのスレに書き込んで良いかがわからなかったのですが、似たような拘りを持っていらっしゃる方が1番いそうなこちらで質問させて頂きました。
スレ違いでしたらお手数ですが誘導お願い致します。

197:nobodyさん
07/11/19 22:13:10
>>196
スレ違いなので自力で該当スレ探せ

198:nobodyさん
07/11/19 22:18:01
>>196
おそらく自動広告挿入のせいだろう。
land.toなんて使ったことないがxreaで似たような経験をしたことがある。
htaccessが使えて、手動広告が許されているなら、
LayoutIgnoreURI *
というコードをいれて、手動広告を挿入すればいい。

199:192
07/11/19 22:58:58
うーん、意外と高くつきそうですかね。
5万くらいなら深く考えずに外注でもいいかとおもったのですが
数十万となるとちょっと真剣に考えなくては…。

要は自動か手動かで違いが出るのですよね。
先にあげたものは自動更新っぽいから、見た目の安っぽさとは裏腹に
案外高くつくシステムかも?

200:nobodyさん
07/11/19 23:02:01
>>199
メール見た人が手動で更新しているとしか思えませんが。
さすがにカレンダーは自動生成だと思いますが。

201:nobodyさん
07/11/19 23:03:15
どうせ大した量じゃないんだろうから自力で頑張れ。
自力がきつくなってきたらスクリプトをちとかじればおk

202:192
07/11/19 23:18:15
>>200
数秒で自動更新されるってなっていたのでてっきり自動受付かと思い込んでました。
でもよく見てみれば(よく見なくても)確かにメールで受け付けて
それを誰かサイト管理者側の人が手動更新してるだけっぽいですね。
何となく自作できそうな気がしてきました。
というか、これってCGIつかわず、まさに全部手動っぽいでしょうか…。

何か雛形になっていて、少しいじれば近い物を作れそうなCGI(多少有料でも可能)
はないでしょうか?


203:nobodyさん
07/11/19 23:21:33
更新全部手動なのに、7秒おきに自動更新させるのってどうなんだろうな。
まぁ、どうでもいいけど。

祝日とかも表示できる細かいカレンダーとなると難しいけど、192のような単純なものならググれば出ると思う。
CGI探しは別スレにあった気がする。

204:nobodyさん
07/11/19 23:25:03
更新内容を直に手動で編集したりしないで、
DBに格納して、動的にデータをロードするのが普通。
DBに登録するのは当然手動になるだろうけど、
航空券のように料金先払いのシステムならその作業も自動化できるだろう。
カード決済とかはいると諸費用がかさむけど。

205:192
07/11/20 00:17:26
ちょっと内容が見えてきました。

>>203さん、そうなんですよね。なぜそんな頻繁に自動更新なのか謎です。
因みにCGI探しの別スレってこの板にありましたでしょうか…。

>>204さん、CGIのカレンダーに手動でデータを書き込んでいくという感じでしょうか?

206:nobodyさん
07/11/20 03:05:02
.>205
ちょっとあなたには難しいかもしれない。
データベースってなんのことかわからないでしょ?

データベースのイメージとして
日付と営業フラグ(1で営業日0で休業日)と最大予約可能数と現時点での予約数が書いた
テキストファイルをイメージしてほしい(データの区切りはカンマとする)

2007/11/20,1,100,100 ←2007/11/20は営業日で既に満員ということを示すデータ
2007/11/21,1,100,90 ←2007/11/21は営業日であと10人予約可能ということを示すデータ
2007/11/22,1,100,50 ←2007/11/22は営業日であと50人予約可能ということを示すデータ
2007/11/23,0,0,0 ←2007/11/23は休業日ということを示すデータ

このテキストファイルをphpで読み込んでうまく整形して表示する。
カレンダーに手動でデータを書き込む必要はなく、
このデータをいじればいい。
これはテキストだけどデータベースの概念はこれに近い。

207:nobodyさん
07/11/20 03:15:51
全然ちげーよ

208:nobodyさん
07/11/20 03:22:30
>>207
違うならどう違うのか指摘してほしい。

209:nobodyさん
07/11/20 03:23:54
データベースとしての概念の説明なんだろ
別に間違ってない
csvだってデータには変わりないしな

210:nobodyさん
07/11/20 03:29:08
DBとしては大きな間違いは無いような気がする
が、RDBでは無いな

211:nobodyさん
07/11/20 03:33:06
検索機能つけるとか、多人数で共有するとか、条件書いてないとこをみると
一人で手動でできる範疇なんだろ
だったら手動でやればいいじゃん
それともなにか是が非でもフォームからスクリプトに送って表示させたいってか


212:nobodyさん
07/11/20 03:35:21
インデックスは?二分木探索は?型は?制約は?結合は?ビューは?トランザクションは?集約は?ストアドは?レプリケーションは?

213:nobodyさん
07/11/20 03:39:39
>>212
そういう話をしてるんじゃないんだけどね。
RDBMSでできることではなく、データベースそのものの概念。
データを格納して取り出すという基本的な話。

214:nobodyさん
07/11/20 03:42:11
何でもDBに放り込む癖が付いてると、DB使えない環境だとどうやってファイル読み書き
するんだっけと迷うことがある。

が、CSV程度ならテキストファイルに書き出した方が手っ取り早いな。

215:nobodyさん
07/11/20 03:49:24
>>213
んなこと言ったら俺がメモ帳に書き込んだ今夜の献立だってデータベースだよ

216:nobodyさん
07/11/20 03:57:54
それはデータベースじゃなくてただのデータだろ

217:nobodyさん
07/11/20 04:00:52
さすがゆとり言語のスレだな。データベースの定義が各々曖昧だろw
それを明確にしてから話進めろ。

218:nobodyさん
07/11/20 04:03:17
とりあえずwikipediaみとけ
Wikipedia項目リンク

219:nobodyさん
07/11/20 04:12:57
DBMSのようにSQLがなくとも
PHPを使ってテキストからデータの抽出検索なんていうのはできる
そういうことを言ってるんじゃないかと

220:nobodyさん
07/11/20 04:20:28
データベースでできることは、テキストでも同じようなことはできる。
何が違うかというとそれを誰か説明してくれるはずなんだ

つずき↓

221:nobodyさん
07/11/20 04:26:53

sprintf('\u%04s', bin2hex(mb_convert_encoding($char, 'UTF-16', 'UTF-8')));

で変換された文字列があるですけど、これを戻すにはどうすればいいでしょうか。


222:nobodyさん
07/11/20 04:35:57
文字列16進数配列に変換してからUTF-8→UTF-16する

223:192
07/11/20 08:07:51
>>206
めっちゃわかりやすい説明ありがとうございます。
概念がわかってきました。

>>211
是が非でもフォームから自動で、とは思っていません。
例と同じような感じで予約をとる仕事なのですが(本業は受付ですが、受付の片手間に予約をとるということです)
予約状況をWEBで示せたらと思っています。

自作するにせよ、外注するにせよ、予約状況を書き込むのはど素人の受付の子なので
簡単に更新できるものがほしいです。

224:nobodyさん
07/11/20 08:11:43
作ってほしいなら専用のスレがあるのでは

225:221
07/11/20 09:10:30

221ですが、文字列16進数配列ってどうやるのでしょうか。
下記のような、文字列をデコードしたいです。
\u307b\u3052\u307b\u3052

226:nobodyさん
07/11/20 09:32:14 6/Z3yWhF
>>197
>>198
日付が変わっていますが、196です。
そうなんですよね、xeraの質問掲示板みたいなのばかりが検索でヒットしますorz
似たようなものだと思って試してみたのですが、ダメみたいでした。
とりあえず手動広告に切替えてみます。
アドバイスありがとうございました。

227:nobodyさん
07/11/20 12:29:15
$hoge = array();
$hoge['a'] = 'aa';
isset($hoge['b']) <- falseを返す
is_null($hoge['b']) <- undefined index: bとなる
これは、issetは実際は関数じゃなくてキーワードだからうまくいって
is_nullは関数だから失敗するという認識で合ってるかな?

$_GETとかでフォームに値が入ってくるかどうかわからないときも、
if (isset($_GET['hoge'])) {
}
で判断するのが良いかな?
array_key_exists()は長ったらしいので使いたくなかったり・・・

228:nobodyさん
07/11/20 12:41:33 uBto/nCB
>>214
DB使い始めたころってまさにそんな感じだった。もうfopen解らないよママン。

今ならSQLiteっていう手もあるが。


229:nobodyさん
07/11/20 12:48:13
sage忘れたスマソ

>>227
>array_key_exists()は長ったらしいので使いたくなかったり・・・

つ function ake($key,$search) {
return array_key_exists($key,$search);
}

本当にこんなこと教える本を見たことがある。
関数名を短くして見通しを良くするらしい。



230:nobodyさん
07/11/20 12:55:37
>>228
>もうfopen解らないよ
やっぱ使ってないとそうなるか〜
漏れはPerlやらCやらで小物を作る機会が多いから一応覚えてるお

231:nobodyさん
07/11/20 13:03:23
>>229
C言語で
#define { BEGIN
#define } END
 ・
 ・
 ・
って見通しをよくした例を思い出したw


232:nobodyさん
07/11/20 13:11:30
だってfopenの手続きめんどいんだもの・・・

233:nobodyさん
07/11/20 14:42:12
>>227
isset()は変数がセットされているかどうか。
is_null()は変数がセットされている前提で値がnullかどうか。
もちろんステートメントか関数かの違いもあるけど。

ユーザー入力のチェックはisset()の方がポピュラーかな?
array_key_exists()との違いはセットされていてもnullの場合falseを返す所くらいかな。

234:nobodyさん
07/11/20 15:19:48
今はめんどくさいfopenなんて使わなくとも
file_put_contentsなんていう便利な関数があるぜ

235:nobodyさん
07/11/20 15:20:22
fileでいいし

236:nobodyさん
07/11/20 15:27:36
fileでどうやって書き込むのかぜひソースをお見せ願いたいwwwwww

237:nobodyさん
07/11/20 15:38:27
fileは亀田家のボクシング用語や。

238:227
07/11/20 16:25:09
>>229
そんな標準関数か亀田用語か何か分からんようになる略は嫌です・・・
Arrayクラス作って配列系関数全部メソッドにしちゃおうかと考えてる最中。

>>233
なるほど〜。じゃあissetでいきます。
Zend Studioでもissetはキーワード色になりますね。is_nullはならない。

239:nobodyさん
07/11/20 17:34:49
PHPでMySQLのデータの更新をする際なんですが、

$sql = "UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 1"
$sql2="UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 2"
.
.
.
.
$sql200="UPDATE database名 SET data_a='$a_data200' , data_b='$b_data200'............where no = 200"

上のようなSQL文を簡単に書くにはどうすればいいでしょうか。



240:nobodyさん
07/11/20 17:35:37
mysqlスレ逝け

241:239
07/11/20 17:36:29
× $sql = "UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 1"

訂正)
○ $sql = "UPDATE database名 SET data_a='$a_data1' , data_b='$b_data1'............where no = 1"

でした。


どなたかご教授下さい。


242:nobodyさん
07/11/20 17:39:15
mysqlスレ逝けアホ

243:nobodyさん
07/11/20 17:42:12
>>239
それを動的に生成したいだけならfor文使えばいいじゃん

244:nobodyさん
07/11/20 17:48:14 DPtN+/Mb
$ip = $_SERVER['REMORD_ADDR'];
$table_name = "access_logs";
$fields_values = array(
"id" => $id,
"mobile" => $ip,
"date" => date("Y-m-d H:i:s"),
);

$res = $db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);
if (PEAR::isError($res)) {
die($res->getMessage());
}

PEARを使ってデータベースにアクセスログを書き込みたいのですが、
上記のようにすると、「DB Error: constraint violation」と表示されます。
翻訳してみたところ「規約違反」と出たのですが・・・。
id,mobile,dateのフィールドは既に作成してあります。
他に原因が思いつかないのですが、なんでこのようになってしまうのでしょうか?

245:nobodyさん
07/11/20 17:49:13
データベース板いけや

246:nobodyさん
07/11/20 17:54:48
PHP関係ねーじゃん
おまえらほんとアホばっかだな

247:nobodyさん
07/11/20 17:56:45
答えられないものは全てDB板におまかせですか

248:nobodyさん
07/11/20 18:03:23
というか全部PHPの基本じゃん。データベース知らなくてもわかるだろ。

249:nobodyさん
07/11/20 18:04:09
>>248
じゃあ、お前が答えてやれよ

250:nobodyさん
07/11/20 18:06:46
>>249
どこがわからないかもっと詳しく言ってごらん。
教えてあげるからさ。

251:244
07/11/20 18:10:14 DPtN+/Mb
$ipがNULL値だったのが原因でした。
記述箇所は「$ip = $_SERVER['REMORD_ADDR']; 」だったのでどう見てもPHPの問題でした。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5375日前に更新/92 KB
担当:undef