【PHP】下らねぇ質問はここに書き込みやがれ 59
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/11/16(金) 18:09:05ID:kurqBmt1PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0094nobodyさん
2007/11/17(土) 22:43:28ID:???0095nobodyさん
2007/11/17(土) 22:46:50ID:TDJjbBfGよくよく考えてみれば顧客の注文も似たような部分がたくさんあるから
それを作ればいいような。。車輪の再開発がだいぶ短縮できる。
VB使えりゃパッケージ開発できそうな気がしてきた。。
009639
2007/11/17(土) 23:01:04ID:8mjUgZP5009789
2007/11/17(土) 23:03:49ID:???正論だが>>75にソレを言っても始まるまいw
>>91
ふむ、ちょっとイジってみるか>PDO
>>92
正論だが(以下tbs
「MySQLが使えるレンタルサーバと契約してIDとpassもらって……」って言い出した時点で「アンタやって」って○投げするに決まってるやんw
これはフーゾクに限らず、中小企業のエラいさんなんてみんなそんなモン。
>>フリーのフーゾク店Webツール
>こんなの作ったら圧力かけてくるよ
だから楽しいのだろうw
>>93
地図ツールは単体ならフリーのである。
コース・オプションあたりはビミョウだな。これはWeb屋に任せた方がいいかもしれん
DBコミのインストーラはECコマースツールあたりのソースを見れば出来るだろうが、その手間を省きたいのでSQLiteを持ち出したのだよ。
>>94
そそ。嬢がケータイで勤怠を登録できるように出来れば意外と評判イイかもしれん
>>95
いや、本当にパッケージにするならPC本体コミで売りつけるべきだろうw
ただし、流石にソコまでやるとスジの人が怖いな
……ていうか、おまいらPDOの話題書き込んでください。
何でコッチにばっかり食いついてくるよw
0098nobodyさん
2007/11/17(土) 23:28:16ID:???0099nobodyさん
2007/11/17(土) 23:57:43ID:???010089
2007/11/18(日) 00:03:15ID:???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
0101nobodyさん
2007/11/18(日) 00:03:35ID:???0102nobodyさん
2007/11/18(日) 00:26:22ID:???0103nobodyさん
2007/11/18(日) 00:40:50ID:???いやー、すみません
まったくphpからのSQLコマンドを受け付けないような状況なのかと思って、とりあえずdelete文を
試してみました。 こっちはちゃんと動作するんですよね。
>>86さんの言うとおり、mysql_error()試したんですが、エラーが出ないようです
どうなってるんだ・・・
0104103
2007/11/18(日) 00:52:02ID:???それをそのままダブルクォーテーションに突っ込んでました レスくれた人ありがとう
0106nobodyさん
2007/11/18(日) 05:50:42ID:hVWGJ0jChttp://php.benscom.com/manual/ja/configure.php
ここを見るとPHP4のしかないです
PHP5のはどこにありますか?
0107nobodyさん
2007/11/18(日) 06:26:56ID:???0109nobodyさん
2007/11/18(日) 06:34:19ID:???分かる人だけお答え下さい
0110nobodyさん
2007/11/18(日) 06:36:27ID:???.ヽ`Д´) ッ
(ヽ`Д). キ
( ヽ`) ア
( ヽ ゲ
ヽ( )ノ. ス
.ヽ ) ペ
(ヽ ) シ
(Д´ヽ) . ャ
(`Д´ヽ ル
ヽ(`Д´)ノ ト
.ヽ`Д´) ル
(ヽ`Д). ネ
( ヽ`) l
( ヽ ド
ヽ( )ノ. サ
.ヽ ) イ
(ヽ ) ク
(Д´ヽ) . ロ
(`Д´ヽ ン
ヽ(`Д´)ノ ! !
0111nobodyさん
2007/11/18(日) 08:15:34ID:???2行にまとめろ
0112nobodyさん
2007/11/18(日) 09:02:45ID:???困ったものです
0113nobodyさん
2007/11/18(日) 09:21:53ID:???ヽ(`Д´)ノ ト .ヽ`Д´) ル (ヽ`Д). ネ ( ヽ`) l ( ヽ ド ヽ( )ノ. サ .ヽ ) イ (ヽ ) ク (Д´ヽ) . ロ (`Д´ヽ ン ヽ(`Д´)ノ ! !
0114nobodyさん
2007/11/18(日) 09:24:13ID:???0115nobodyさん
2007/11/18(日) 12:16:56ID:???glob("mydir/" . "**/Test*.php")
ってやったら1階層下のしか取れてない。
rubyのglobは再帰的に下までとったはずだが。
0116nobodyさん
2007/11/18(日) 12:43:26ID:KAZWW8eo楽しみを見出せない40代になってそうだ。
ヽ(`Д´)ノ ボ
.ヽ`Д´) ッ
(ヽ`Д). キ
( ヽ`) ア
( ヽ ゲ
ヽ( )ノ. ス
.ヽ ) ペ
(ヽ ) シ
(Д´ヽ) . ャ
(`Д´ヽ ル
ヽ(`Д´)ノ ト
.ヽ`Д´) ル
(ヽ`Д). ネ
( ヽ`) l
( ヽ ド
ヽ( )ノ. サ
.ヽ ) イ
(ヽ ) ク
(Д´ヽ) . ロ
(`Д´ヽ ン
ヽ(`Д´)ノ ! !
0117nobodyさん
2007/11/18(日) 12:53:34ID:KAZWW8eo俺は学歴ないから(高卒)、ソースで採ってもらうようなものなんだ。
昨日、色々考えをめぐらせたんだけど、ありきたりのじゃ面白くないから
上で書いてあった風俗Webツール作ってもっていこうかな。。
姫の自己紹介とか出勤とか全部自由に登録できる高機能な奴。でも、女性社員の受けは悪いだろうなあ。
0118nobodyさん
2007/11/18(日) 12:57:55ID:???理不尽な言いがかりを付けられて一生ただ働きさせられるのですねw
人生まともに過ごしたいなら893や部落、在日朝鮮人には関わらない方がいいぞw
0119nobodyさん
2007/11/18(日) 13:21:54ID:???0120nobodyさん
2007/11/18(日) 13:40:46ID:???0121nobodyさん
2007/11/18(日) 13:43:21ID: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
0122nobodyさん
2007/11/18(日) 13:47:06ID:???0123nobodyさん
2007/11/18(日) 13:56:33ID:???0124nobodyさん
2007/11/18(日) 14:05:46ID:???そんなものなのかな。
似たような関数が複数できてしまった場合、クラスに入れていった方が共通部の直しとかきっと
楽なんだろうとか妄想してしまうんだが。
もちろんOOP解っていない自分が無理に使う気はないけど、AJAXだのJSONだのが流行っている
のをみるとOOPできないと幅が狭くなっていく気はしてるorz
0125121
2007/11/18(日) 14:55:53ID:0/SvFAMMレスありがとうございます。
頂いたアドバイスを元に試行錯誤しているのですが、
どうにもうまくできませんでした。
while(false !== ($dirName = readdir(ディレクトリハンドル))) {
system("chmod -R *** {$dirName}");
}
と書いたのですが、パーミッションは期待通りに変更できずにいます。
お手数ですが、再度詳しくご教示のほどお願いいたします。
0126nobodyさん
2007/11/18(日) 15:02:51ID:???プログラムが助長になるようなら使えばいいし、そうでなければあえて使う必要もねーな。
視野を広げたければOOPを勉強すりゃいいだろ。
0127nobodyさん
2007/11/18(日) 15:31:55ID:???ここをクラスにできないかな?って試行錯誤するのはいいことだけど、
無理に使おうとしなくても、沢山経験積んでいけばおのずと使いどころが見えてくるよ。
0129nobodyさん
2007/11/18(日) 16:54:46ID:???function hoge(string x)
とか。文字列渡してもstring型じゃねぇって。
0130nobodyさん
2007/11/18(日) 16:56:54ID:???int および stringのような 通常の型でのタイプヒンティングはサポートされません。
0132129
2007/11/18(日) 17:22:08ID:???サンクス。クラスである型じゃないと駄目って事かな。
自分で定義したクラスは引数指定できるようだし。
string,intはコメントにかいとけってことですね。
0133nobodyさん
2007/11/18(日) 17:53:11ID:9XGZcI1lURLが存在するか調べる場合は何を使えばいいのでしょうか?
fopen, file_get_contentsなどさまざまな方法がなくはないんですが、
これだと存在しないときにWarningが出るので、
存在しない場合にfalseを返すような関数ないですか?
function url_exists($url) {
if ($fp = fopen($url, "r")) {
fclose($fp);
return true;
} else {
return false;
}
}
としても当然のごとくWarningが出るので・・・
@で制御するのもいいのですが、@を使わないで出来る方法があったら教えてください。
0135133
2007/11/18(日) 18:01:37ID:9XGZcI1lユーザーノートとは見落としていました。
curlなんて初めて聞いた関数なので思いもつかなかったです。
早速勉強してきたいと思います。
どうもありがとうございました。
0136nobodyさん
2007/11/18(日) 18:03:13ID:???"(半角)にされてしまうのですが、
何が原因でしょうか?
0137nobodyさん
2007/11/18(日) 18:10:54ID:???0138nobodyさん
2007/11/18(日) 19:43:04ID:???0139nobodyさん
2007/11/18(日) 21:38:28ID:???eBayで出品者と連絡取ろうと思ってeBayのメッセージ機能でメッセージ送ったら、
「'」が「?」に化けちゃう。それも毎回。
●例 「I can't」→「I can?t」
これって何で??
もちろん文字入力時はIMEをOFFにして半角モードにしてるんだけど・・・。
0140nobodyさん
2007/11/18(日) 21:40:05ID:???0141139
2007/11/18(日) 21:51:00ID:???「?」じゃなくて「'」の半角ね(^^;
「'」は「?」の実体参照だったのかぁ。
それにしてもなんで「'」が「'」(の半角ね)になっちゃうんだろうか。
>SQLインジェクション対策
ええ?? それはDBに入れるときにやればいいんであって、
HTMLに表示するときにエスケープしても意味ないっしょ。
それとも投稿された生データじゃなくて、エスケープ済みのデータをDBに保存してるんだろうか?
だとしたらeBay終わってるな。
0142nobodyさん
2007/11/18(日) 23:07:25ID:7wolHM+i$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接続→データ取得を繰り返しているわけですが、
こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか?
もしそうなら、別のやり方を教えて下さい。
0143nobodyさん
2007/11/18(日) 23:27:18ID:???function hoge() {
print('test');
}
?>
↑上のファイルを読み込む
<?php
include_once('aaa.php');
hoge();
?>
ってのと、静的メソッドの違いがわかりません。
<?php
public static function hoge() {
print('test');
}
?>
↓こうやった場合、上記のパターンとどう違うの?
<?php
include_once('aaa.php');
Hoge::hoge();
?>
どっちのやり方が普通なのでしょうか?
0144nobodyさん
2007/11/18(日) 23:38:16ID:???l | /
〆⌒ヽ
⊂(#‘д‘)<誰が禿げやねん!!
/ ノ∪
し―-J |l| |
@ノハ@ -=3 ペシッ!!
0145nobodyさん
2007/11/19(月) 00:12:16ID:???とりあえず動くか試してから出してくれ。そしてちゃんと>>1を読んでくれ。
関数にpublic,static修飾子は使えない。
クラスを使う気がないのなら上の書き方が正解。
静的メソッド(クラスメソッド)とついになるのはインスタンスメソッドでクラスの話。
メソッドはクラス内での関数のようなもので、オブジェクトの振る舞いを決めるもの。
一般的な関数とは似て非なるもの。
0146nobodyさん
2007/11/19(月) 00:32:35ID:???SELECT * FROM bbs LEFT JOIN category USING(category_id)
0147142
2007/11/19(月) 01:48:45ID:???すみません、言葉足らずでした。。
複数JOINして、アクセスが重くなっているので、
表示面は>>142のようにして分けようと思っています。
その際に、何度もクエリが送信してもいいのか?と思いまして。
0148nobodyさん
2007/11/19(月) 02:57:57ID:???>●例 「I can't」→「I can?t」
俺もeBayで実験してみたら再現した(Firefox2.0.0.9)。
なんだろうね?これ。
検索ボックスから入力した場合には「'」も文字化けしないで表示されるな。
0149nobodyさん
2007/11/19(月) 03:03:24ID:???純粋な興味心から聞くんだけど、
表結合したときと、示してくれたような個別クエリ発行するときと、実行時間にはどれくらい差あるの?
0151nobodyさん
2007/11/19(月) 03:35:34ID:IR8ctjgO0152151
2007/11/19(月) 03:37:17ID:IR8ctjgO0153nobodyさん
2007/11/19(月) 03:39:17ID:???プログラム板のネットワークプログラムスレでも池
0154nobodyさん
2007/11/19(月) 04:25:41ID:???ルータがlinuxとかだったら教えてくれるようには出来そうだけど
とにかくルータさんに聞くしかないんじゃね
0155nobodyさん
2007/11/19(月) 05:47:20ID:???0156nobodyさん
2007/11/19(月) 07:10:59ID:NjBKqL/fEUC環境では次で除去できているのですが
(例)$name = trim($_POST['name'], " \t\n\r\0x0B ");
※わかりづらいかもしれませんが、デフォルトの対象文字に全角空白を追加してます。
UTF-8環境で同じコードだと先頭と末尾の日本語が文字化けします。(半角英数字だと正常)
全角空白を文字コードに置き換えて指定するなど試してみたのですが
無視されるなどしてうまくいきません。
ググるとあらかじめ全角空白を半角に置き換えて・・という方法が多いようですが
trimで解決されてる方いましたら是非おしえてください。
0157nobodyさん
2007/11/19(月) 08:27:22ID:???0158nobodyさん
2007/11/19(月) 09:09:12ID:???0159nobodyさん
2007/11/19(月) 10:22:59ID:???日付を年号で出力したいんですけど
どこをどう改造すればいいんですかね
平成+漢数字を出力したいです。
0161159
2007/11/19(月) 10:30:53ID:siEG6swa改造したいのはこのCGIです。
ttp://www.web-liberty.net/download/gallerypro/index.html
0162nobodyさん
2007/11/19(月) 10:34:59ID:???0163nobodyさん
2007/11/19(月) 10:39:14ID:???そういうのは言語の種類もわからない奴だし。
0164nobodyさん
2007/11/19(月) 10:46:59ID:???せめて出力形式を選択できるようにしておいて欲しいよ
掲示板もブログも そうすれば一々苦労しなくていいのに
じゃあCGIスレで質問してくることにします。
0165159
2007/11/19(月) 10:52:14ID:NjBKqL/fありがとうございます。
>trimはマルチバイトに対応していないだろうから
頭の片隅に覚えてたんだけど、EUCでできたので飛んでしまってました。
mb_ereg_replaceでやってみます。
0166159
2007/11/19(月) 10:58:46ID:siEG6swaやはりここのスレが相応しいようです。
よろしくお願いします。
0167nobodyさん
2007/11/19(月) 11:11:14ID:ltz9ymV3$_SESSION['data'] = 0; クリア
<form action='a.php' method='post' onsubmit='aaa()'>
<input type='submit' value='送信'>
</form>
Javascriptのabc()でセットするんでしょうか?でもどうやって?
0168nobodyさん
2007/11/19(月) 12:54:57ID:???このスレは丸投げの質問は受け付けていません
どこをどうしてみたのかを書いてください
ソースを出さないことにはアドバイスのしようがありません
0169159
2007/11/19(月) 13:20:25ID:siEG6swaど素人の自分にはどこをどうすればいいかわかりません、
お手数ですが>>161のCGIをダウンロードして中身を見ていただければわかると思います。
一応それっぽい処貼っておきます。
http://neetsha.net/bbs/up/vip17931.txt
0170nobodyさん
2007/11/19(月) 13:29:22ID:???0171nobodyさん
2007/11/19(月) 13:57:56ID:???板内に改造依頼スレがいくつかあるでしょ
自分で作る気のない人の質問はここではNG
というより散々指摘されてる通りここはPHPのスレであってPerlはお帰り下さい
0172nobodyさん
2007/11/19(月) 14:04:21ID:S2JtxA6nPHP関連・使ってるエディタとか、PHPに役立ちそうなメルアドあったら教えてください。
他にもWebアプリ全般でもいいです。
よろしく><;
0174nobodyさん
2007/11/19(月) 14:13:18ID:S2JtxA6nMLでもなくて、メルマガのことです><;
メルマガに凝ってて><;
0175nobodyさん
2007/11/19(月) 14:19:21ID:???昔懸賞サイトに登録しまくってスパムのごとく毎日100通以上送られてきた経緯から、
メルマガなんて大嫌いだ。
宣伝行為になりかねないので自分でよさそうなの探して下さい。
0176nobodyさん
2007/11/19(月) 14:25:48ID:???0177nobodyさん
2007/11/19(月) 14:33:37ID:???0178nobodyさん
2007/11/19(月) 14:36:37ID:S2JtxA6n結構おもしろいYO!
0179nobodyさん
2007/11/19(月) 15:38:49ID:???同様の機能で
変数に代入できるものはないでしょうか。
0182181
2007/11/19(月) 16:17:23ID:???0183nobodyさん
2007/11/19(月) 16:18:18ID:???0184nobodyさん
2007/11/19(月) 16:25:14ID:???> こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか?
もちろんそうです。
> もしそうなら、別のやり方を教えて下さい。
>>146
遅くなっている原因を突き止めてからにした方がいいと思います。
一般的にはクエリ発行回数を減らした方がパフォーマンスも上がると思います。
0186尾なし鳥
2007/11/19(月) 18:47:05ID:VBgYce8AFreeBSD6.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()のバグでしょうか?
0187nobodyさん
2007/11/19(月) 19:17:20ID:???mb_regex_encoding
0188尾なし鳥
2007/11/19(月) 19:41:30ID:VBgYce8A回答ありがとうございます。
mb_regex_encoding ( "EUC-JP" ); を入れてみましたが結果同じでした。
0189nobodyさん
2007/11/19(月) 19:55:53ID:???http://jp2.php.net/manual/ja/function.wordwrap.php#78846
http://jp2.php.net/manual/ja/function.wordwrap.php#78352
0190nobodyさん
2007/11/19(月) 20:26:46ID:???出力してくれるソフトとか無いすか?
デバッグ文を全部の行に埋め込むのはアレなんで・・・
php.exeで読み込んでる時出してくれるとかそういう
機能があれば・・・
0191nobodyさん
2007/11/19(月) 21:00:53ID:???0192nobodyさん
2007/11/19(月) 21:40:16ID:OzFCTvWZこういうCGI(?)っていくらぐらいで作ってもらえる物でしょうか?
自分で作るのがかんたんなら自作したいですが…。
CGIは本当にちょこっとしかいじったことないです。HTMLは独学でタグ手打ちですが…。
0193nobodyさん
2007/11/19(月) 21:51:32ID:???この程度のものなら5万ぐらいじゃないかね。
本格的に作るとなるとだいぶ高くなるが。
自分で作るとなるとDBの知識が最低でも必要。
0194nobodyさん
2007/11/19(月) 21:59:20ID:???■ このスレッドは過去ログ倉庫に格納されています