【PHP】下らねぇ質問はここに書き込みやがれ 70
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/25(水) 10:14:08ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0405nobodyさん
2008/07/05(土) 21:45:38ID:???自分のサイトのフォームから外部検索エンジンで検索したいってことだから、
phpの範囲に含めても問題ないと思う。
ただ、検索サイトを見に行けばいいだけなのに
わざわざここで質問する意味もわからんが。
まぁ、>>394が答えを出してるから終了した質問だな。
0406nobodyさん
2008/07/05(土) 21:52:36ID:7nNiVjXj一つ一つコードを時間計測しましたが、
時間がかかっているところは、参照用のSQLを発行してデータを戻す関数が原因だとわかりました。
$rs = mysql_query($sql, $dblink);
このmysql_queryの実行だけに10秒かかっています。
ただ、これでは並行処理ができません。
mysql_queryを速くする方法はありますか?
0408nobodyさん
2008/07/05(土) 22:08:14ID:???その$sqlの文字列の中身が悪いんだろw
0409nobodyさん
2008/07/05(土) 22:09:26ID:???SQLのスレに逝ってください。ここにはもうレスしなくていいです。
誰も答えませんから。
0410nobodyさん
2008/07/05(土) 22:18:23ID:???Webシステムの経験が足りないんだから焦っても上手くいかないよ
基礎からちゃんと学んだほうがいいよ
それから質問者なんだから立場をわきまえて嫌味とか言わないようにね。社会でやってけないよ。
0411nobodyさん
2008/07/05(土) 22:24:03ID:???最初から意味無いって応え出て(馬鹿にして)たじゃん。
判りにくくて無視したのかもしれないが>>324が良回答だよ。
0412nobodyさん
2008/07/05(土) 22:25:31ID:???・mysqlデータベースのチューニング
・mysqlサーバを別のマシンに移す
解決手順
・他社に依頼
0413nobodyさん
2008/07/05(土) 22:36:20ID:???0414nobodyさん
2008/07/05(土) 22:46:55ID:7nNiVjXjMYSQLは今回初めてなので、よくわかりません。
通常は、DBチームがSQL文を作成したりDAOを作成するため、関与しないのですが、
今回は予算の関係で人が足りず、一人で作りました。
とりあえず、クライアントには、導入したMySQLの性能に問題があるということで理解を得たいと思います。
選定の際に、導入コストが安いMySQLを選んだクライアント側にも責任の一端はあるわけですから。
ここのスレは役に立つ情報も有ると思いますが、
雑音が多くて、せっかくの情報が埋もれてしまうのが残念です。
何かと問題が多い2chですから、それを承知で投稿させて頂きましたが、
使い方次第ですね。
とりあえず、感謝の気持ちは表しておきます。
ありがとうございました。
0416nobodyさん
2008/07/05(土) 22:53:13ID:???0418nobodyさん
2008/07/05(土) 22:55:35ID:???同僚でこんなのいたら最悪だなwww
0419nobodyさん
2008/07/05(土) 22:56:48ID:???0420nobodyさん
2008/07/05(土) 23:21:24ID:???0421nobodyさん
2008/07/05(土) 23:22:50ID:???0422nobodyさん
2008/07/05(土) 23:27:55ID:???0423nobodyさん
2008/07/05(土) 23:28:37ID:f4JIQhYU上記のとき、カラム名を [`]で囲む必要はあるのでしょうか?
[`]をつけないとエラーになるときがあり、その理由がわかりません。
0425nobodyさん
2008/07/05(土) 23:35:49ID:T4jgJP6eフォームの流れを、「入力→確認→完了」としているのですが、
画像を確認する為に、一度ファイルをアップロードして
確認画面で問題なければ正規のディレクトリに移動させています。
おそらく大多数の方がこのような確認方法をとっているのかと思いますが、
一度ファイルをアップロードして、再度ファイルをアップロードし直す時、
古いファイルが残ってしまいます。
これも一定時間置きに、確認ディレクトリ内を削除すると思うのですが、
どうも非効率だと思います。
そこで質問ですが、上記の方法以外にアップロードしたい画像を
確認する方法はないでしょうか?
0426nobodyさん
2008/07/05(土) 23:56:01ID:???回答に必要な情報が足りない。
$sql
$dblink
それぞれの内容及びdbのtable構成、レコード数
それ位は最低限必要。
0428nobodyさん
2008/07/06(日) 00:03:46ID:???DB板のMySQLのスレでDB構造とどんな感じのSQL発行してるか書いてみ
あとループ内で数1000件のSQL発行してるとかは無いよね?
DBチームが居てあまりSQLに精通してないなら
悲惨なSQLやDB構造になってる可能性が高い
0429nobodyさん
2008/07/06(日) 00:07:02ID:???0430nobodyさん
2008/07/06(日) 00:08:22ID:???同一人物がアップしてできるテンポラリのファイル名を
固定しちゃえば?
まぁどっちにしろゴミファイルを削除しないとだけど
0431nobodyさん
2008/07/06(日) 00:17:16ID:???セッションと組み合わせて、セッションがGCされるタイミングで
同じくコレクションするしかないんじゃないかな。
0432nobodyさん
2008/07/06(日) 00:27:04ID:???俺だと、tmpファイルか否かと、tmpファイルのライフタイムが分かるのを前提にして、
次回処理時にtmpディレクトリを走査していらないファイルは消すだな
0433nobodyさん
2008/07/06(日) 01:32:55ID:???を消すってやり方してるじょ。ちんぽちんぽ
0434nobodyさん
2008/07/06(日) 04:11:06ID:???10秒は異常。よくある話だけどね。
どんな遅くたって1秒以内に返るようにすることはできるが
キミがそのスキルが無いんじゃ無理かも。
普通に金取るならそんな問題瞬時に解決できるよ。
0435nobodyさん
2008/07/06(日) 05:18:10ID:Uta9DmJUこれは、「,」があるところで分割していますが、2種の分割条件を設定したい場合は
どのようにしたらいいんでしょうか?
たとえば「きょう、はれ。あしたは、くもり。」とあった場合に、「、」「。」と両方で区切りそれぞれ
変数に格納したいのですが。。よろしくお願いいたします。
0436nobodyさん
2008/07/06(日) 05:37:40ID:???0438nobodyさん
2008/07/06(日) 09:01:51ID:???Array([0]=>きょう,[2]=>はれ,[3]=>あしたは,[4]=>くもり)
Array(
[0]=>Array([0]=>きょう,[1]=>はれ),
[1]=>Array([0]=>あしたは,[1]=>くもり)
)
0439nobodyさん
2008/07/06(日) 12:07:03ID:???[。]の場合は三点リーダー(…)の変換しそこね[ 。。。]があるから単純に分割すると予期せぬ動きが出る。
「今日は。。。はれ。あしたは、くもり。」
Array(
[0]=>Array([0]=>きょう,は),
[1]=>Array([0]=>null),
[2]=>Array([0]=>null),
[3]=>>Array[0]=>あしたは,[1]くもり)
)
こんな感じ。
このような問題に大して対処する必要はあるの?
0440nobodyさん
2008/07/06(日) 15:32:22ID:???Eclipseというコンパイラを使いたいのですが、
プロジェクトを作成する際、「メモリ不足」というエラーが出てしまいます。
メモリを足して1024までふやしても、同じです。
このコンパイラを使えるようにするために他にできることは何がありますか。
0441nobodyさん
2008/07/06(日) 15:33:52ID:u0xbCZgfEclipseというコンパイラを使いたいのですが、
プロジェクトを作成する際、「メモリ不足」というエラーが出てしまいます。
メモリを足して1024までふやしても、同じです。
このコンパイラを使えるようにするために他にできることは何がありますか。
0442nobodyさん
2008/07/06(日) 16:24:51ID:???0443nobodyさん
2008/07/06(日) 18:59:55ID:kCPlCvkdCPUとかも。
あと一度再インストールを実行しましょう。
0444nobodyさん
2008/07/06(日) 19:57:34ID:???とりあえず、例外が発生しない前提だったら
$a = split('、|。', "きょう、はれ。あしたは、くもり。");
でいいんじゃない。
splitは正規表現使えるわけですし。
0445nobodyさん
2008/07/06(日) 20:04:43ID:OiP9S+tKcoreserverでphpからsendmailを使おうとすると
error 127っていうのがでます。
↓のを参考にしてMail::factoryをつかったのですが
http://www.s-memo.net/blog/2007/03/pearmail_1.php
これはどうすれば解決するのですか?
0447nobodyさん
2008/07/06(日) 21:37:13ID:???何を使えばいけるんでしょうか。
0448nobodyさん
2008/07/06(日) 21:37:54ID:7trC5Wsc0451nobodyさん
2008/07/06(日) 23:19:34ID:???0452nobodyさん
2008/07/06(日) 23:51:55ID:???0453nobodyさん
2008/07/06(日) 23:54:30ID:OiP9S+tKsmtpになげたら成功しました。
ありがとうございます。
0454nobodyさん
2008/07/07(月) 03:13:50ID:v4RGtv07Linux(ubuntu7.1)、PHP5で動かしています。
$tst = "select";
if ( preg_match( "/[text|textarea|file|pass]$/i", $tst ) ) print "hit - {$tst}<br />\n";
このような正規表現を書いた場合に、真となり、hit - select と出力してしまうのですが何故でしょうか?
動作としては、
$tst = "text";
$tst = "textarea";
$tst = "file";
$tst = "pass";
の場合のみ、プリント文を出力させたいのです。
正常に出力されないので私が間違っているとは思うのですが、正規表現ドキュメントを見たり、このコードと睨めっこしても間違いに気づくことが
できませんでした。
お力添え頂ければ幸いです。
宜しくお願い致します。
0455nobodyさん
2008/07/07(月) 03:16:37ID:???0456454
2008/07/07(月) 03:31:08ID:???レスありがとうございます。
ぇっ・・・これってpreg_matchもしくはphp特有のケースでしょうか?
それとも正規表現における私の完全な勘違い?
試してみると期待通りの動作を確認しました。
とても感謝なのですが、何か頭の中でモヤモヤが。()ってパターンマッチ変数を格納する為の符号だと思っていました。
もしよろしければ少し説明もしくは該当箇所についてのサイト、ドキュメント等ありましたご紹介頂けないでしょうか。
度々申し訳ありません。
宜しくお願い致します。
0457nobodyさん
2008/07/07(月) 03:56:00ID:???0458nobodyさん
2008/07/07(月) 04:00:55ID:???[]の中に置かれた文字のいずれかにマッチします。
よくある勘違い
[^foo]bar という正規表現は、「fooではない文字列に続いてbarという文字列が続くもの」 ではありません。
「fでもoでもない文字に続いてbarという文字列が続いたもの」です。
[]で囲んだものが表しているのは文字列ではなく文字の集合(その中に含まれる/含まれない文字のどれか) だということに注意してください。
http://www.kt.rim.or.jp/~kbk/regex/regex.html
0460nobodyさん
2008/07/07(月) 04:26:31ID:???私の運用能力による所もありますが、
400日も連続して働いてくれるサーバーの部品たちに感謝。
すぐ切れる子供が多いというのに、サーバーは全く切れない。
幼児教育のネタにしてほしいと思う今日この頃です。
明日は、燃料高騰とサーバー運営費との関係性についてお話します。
0462nobodyさん
2008/07/07(月) 07:53:27ID:???0463nobodyさん
2008/07/07(月) 08:02:12ID:???httpd.confには
Options FollowSymLinks ExecCGI IncludesNOEXEC
を指定しています。
htmlファイル内に
<!--#include virtual="/common/header.html" -->
が記述されていて、
ちゃんと、includeされて画面表示できます。
ここで、phpが使いたくなり、
phpをインストール・環境設定を
行い、phpinfo.phpは正しく表示されます。
htmlの拡張子でもphpを動かしたく、
httpd.confに
AddType application/x-httpd-php .php .html
を追記し、apacheを再起動しました。
その結果、
ブラウザ画面上には
an error occurred while processing this directive
とメッセージがでて、
apacheのログには、
unable to include potential exec "/common/header.html" in parsed file hoge
と出力され、正常に動作しません。
SSI使用及びPHPを拡張子htmlで実行したいのですが、
どこが間違っているか分かる方、ご教授ください。
0465nobodyさん
2008/07/07(月) 10:04:02ID:???枯れたkernelなら400日くらいの稼働もめずらしくないがな
daemonのアップデートなんて再起動は必要ないんだし
0466nobodyさん
2008/07/07(月) 10:04:21ID:???>>464
>>442はWindowsみたいにサーバ再起動を要求する
セキュリティフィックスばかりだと思うなって事だとオモ
0468nobodyさん
2008/07/07(月) 11:21:19ID:???0469nobodyさん
2008/07/07(月) 11:21:34ID:???アップデートぐらいあるだろ。常識で考えて。
0470nobodyさん
2008/07/07(月) 11:23:56ID:???0471nobodyさん
2008/07/07(月) 11:38:38ID:hqpY620v携帯サイトを構築してるのですが、画像のダウンロードボタンを
作成する場合、どのようにしたらいいのでしょうか?
ググったけど分からずに困っています・・・。
もしかして、携帯で画像の自動ダウンロードはできないのでしょうか?
PCサイトみたいにheaderで作成してもできませんでした。
よかったらご教授願います
0472nobodyさん
2008/07/07(月) 11:45:04ID:???0474nobodyさん
2008/07/07(月) 13:54:05ID:???pngやjpgはちゃんと真っ白(#ffffff)になります
gifでも真っ白にしたいのですがどうすればいいでしょうか?
ご教授ください
0475nobodyさん
2008/07/07(月) 13:58:47ID:hqpY620v表示されて、メニューから保存ではなく、
自動的にダウンロードされるようにしたいのですが
動画などは<a>タグや<input>で問題ないのですが
画像は別画面になるだけですので・・・
0477nobodyさん
2008/07/07(月) 14:07:07ID:hqpY620vphpのheaderで
header("Content-Disposition: attachment; filename=hoge.jpg");
これを指定してもだめでした
0478nobodyさん
2008/07/07(月) 14:11:36ID:???http://oshiete1.watch.impress.co.jp/qa3994529.html
http://oshiete1.goo.ne.jp/qa2511541.html?ans_count_asc=1
http://mwweb.cocolog-nifty.com/blog/2008/01/softbank3gp_7f43.html
キャリアにもよるんじゃね?
0479nobodyさん
2008/07/07(月) 14:19:14ID:???すでにリンクが赤くなってますw
.htaccessなども色々試したのですが、言われてる通り
キャリアによってできたりできなかったりしますね。
<object type="image/jpeg">などもやったのですが、
auだけ動いて、他のキャリアは動かなかったりとか・・・
headerの指定で、携帯用などがあるのであれば、
どなたかご存知の方がいるかなと思いレスさせていただきました
0480471
2008/07/07(月) 14:20:15ID:hqpY620v0481nobodyさん
2008/07/07(月) 14:23:35ID:???0482nobodyさん
2008/07/07(月) 14:23:57ID:???出来合いのカーネルならね。
>>465 は自前でリビルドしたやつ使ってるんでしょ。
セキュリティフィックスに該当する部分が
最初から入ってなければ、問題は出ない。
0483nobodyさん
2008/07/07(月) 16:25:04ID:???> 最初から入ってなければ、問題は出ない。
で、セキュリティフィックスに該当する部分を
最初っから入れないようにするにはどうするの?
0484nobodyさん
2008/07/07(月) 16:30:07ID:???0485nobodyさん
2008/07/07(月) 17:26:04ID:???いろいろ弄っていて気づいたのですが以下の場合ではcountが目的通り機能しません。
配列要素の最後の配列数を取得するような関数は御座いませんでしょうか?
$a[0] = "";
$a[1] = "1";
$a[3] = "3";
$count = count( $a );
print "{$count}<br />\n";
print_r( $a );
$countは3になり、print_rでも$a[2]は欠落した状態で表示されます。
事前に$a[2] = "2";と定義すれば$countも4となり、print_rでも$a[2]は空変数として表示されます。
このような配列を
$c = count( $a );
for( $i = 0; $i < $c; $i++ ) {
print "{$i} - {$a[$i]}<br />\n";
}
の式でループすると$iの配列ポインタが一致せずに
0 -
1 - 1
2 -
と表示されてしまいます。
0 -
1 - 1
2 -
3 - 3
と表示するようにしたいのです。
アドバイスの程、どうぞ宜しくお願い致します。
0486nobodyさん
2008/07/07(月) 17:28:59ID:???お客さんが勘違いしますし、日本語としても間違っています。
使うなら、「熟した技術」という言葉をお使い下さい。
お願いします。
0487nobodyさん
2008/07/07(月) 17:29:23ID:???0488nobodyさん
2008/07/07(月) 17:30:17ID:???0490nobodyさん
2008/07/07(月) 17:55:20ID:???枯れた女
大違いだ
0492nobodyさん
2008/07/07(月) 18:57:25ID:cOv9SSky<select name="color1">
<option value="白">ホワイト</option>
<option value="赤">レッド</option>
<option value="黄">イエロー</option>
<option value="青">ブルー</option>
<option value="緑">グリーン</option>
</select>
これで例えば黄を選んだとき300円
緑を選んだとき200円
といったnedanと言う値をPOST値に加える場合どうしたらいいんですかね
0493nobodyさん
2008/07/07(月) 19:12:27ID:YMIYH7F4// Singletonパターン
static function get_instance() { /* 略 */ }
function main() {$instance = self::get_instance(); $instance->exec()}
}
class Ex extends Base {
function exec() { /* 略 */ }
}
このとき、ある場所からEx::main()と呼び出したときに、"Ex"という継承クラスの名前を
Baseクラスで知ることができる方法がありましたら、ご教授お願いします。
もしあれば、継承クラスのget_instance()などをまとめて指定できて、すっきりできるのですが…。
0494nobodyさん
2008/07/07(月) 19:16:48ID:???POST値に加える必要ないだろ
サーバー側で黄→300円、緑→200円の変換をかけるんだ
HTMLに手を加えられて
0円とか、-100,000,000円とか
送られてきたらどうするんだよ
0495nobodyさん
2008/07/07(月) 19:17:00ID:???value=200,黄色
でなんとか出来たらいいよね。
0497492
2008/07/07(月) 19:22:20ID:cOv9SSkyOKなんですが、別鯖に送るときはきちんとデータを
送らないといけないんですよね>>494-496
自鯖内でもいっかいPOSTしてswitchするのが
一番ですかね。
0500nobodyさん
2008/07/07(月) 19:38:32ID:???0501492
2008/07/07(月) 19:42:00ID:cOv9SSkyどの変が分からないですか?
0502493
2008/07/07(月) 19:46:32ID:YMIYH7F4回答ありがとうございます。やはり無理でしたか…。
今のところは我慢して継承クラスに書くことにします。
0504nobodyさん
2008/07/07(月) 20:09:12ID:???俺も判らん。
突然別サーバの話とか出されても
先にどういうシステムか説明してよ。
自鯖内でもいっかいPOSTって何言ってんのさ。
正しい値で別サーバに送ればいいじゃん。
てか改ざんチェックして別サーバに送るなら
最初から200円とか面倒を起こす必要ない情報をPOSTしなければいい。
■ このスレッドは過去ログ倉庫に格納されています