【PHP】下らねぇ質問はID出して書き込みやがれ 98
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/09/18(土) 19:20:37ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0042nobodyさん
2010/09/19(日) 16:11:39ID:???0043nobodyさん
2010/09/19(日) 16:39:27ID:???><form action="" method="post" id="test">
actionはマジで空っぽ?
0044nobodyさん
2010/09/19(日) 16:57:53ID:???0045nobodyさん
2010/09/19(日) 17:00:41ID:LNQ8CDVBecho $test[0];
これがtを表示するのは何故ですか?
0046nobodyさん
2010/09/19(日) 17:08:14ID:4bBjydvfデータベースと接続する部分は共通化していますが、
各データを扱う部分は、直接各クラス毎に、
$sql = "SELCT COLUMN FROM TABLE_NAME WHERE CONDITION = '123'"
という風に書いています。
こういう書き方って、皆さんから見るとどうでしょうか?
データ取得部分だけクラス化するという話もききますが、
それだと、SQLの数だけクラスが増えて相当なクラス数になると思います。
どのような方法が一般的なのか、お伺いできればと思います。
宜しくお願いします。
0047nobodyさん
2010/09/19(日) 17:11:14ID:???そこらへんはCと同じような考え方からきてんじゃないのかね
Cは文字列というものは存在しなくて文字の配列を文字列としてるから
0049nobodyさん
2010/09/19(日) 19:41:04ID:4bBjydvfご回答ありがとうございます。
O/Rマッパーについて調べてみたのですが、Java専用でphpのものはないそうです。
phpでそれに該当するようなものはございますか。
度々のご質問で申し訳ございません。宜しくお願いします。
0050nobodyさん
2010/09/19(日) 19:47:19ID:???過疎ってるけど
【propel】PHPのORMについて語ろうぜ【peropero】
http://hibari.2ch.net/test/read.cgi/php/1173181854/
ORMの問題ではなく、まずはMVC学んで有名どころのフレームワーク使った方が良いと思うが。
サンプルが参考になるはず
0051nobodyさん
2010/09/19(日) 21:05:03ID:2wvRyPkxブラウザに出力です
0055nobodyさん
2010/09/19(日) 22:03:35ID:???0056nobodyさん
2010/09/19(日) 22:08:46ID:???0057nobodyさん
2010/09/19(日) 22:23:54ID:???0058nobodyさん
2010/09/19(日) 22:46:55ID:???/(スラッシュ)って必要?
preg_match("検索パターンを表す文字列", 比較文字列)
だと動作にどういう違いが生じる?
0059nobodyさん
2010/09/19(日) 22:50:52ID:???やってみた。自分でやってみるほうが早いと思うけどね。
Warning: preg_match() [function.preg-match]: No ending delimiter '.' found in ......
で false を返したよ。@5.2.13
0060nobodyさん
2010/09/19(日) 23:09:42ID:???0061nobodyさん
2010/09/20(月) 00:01:59ID:???mysql_query("rollback") and $this->db['autocommit']= 1;
や
mysql_query("begin") or $this->dberr("トランザクション開始エラー");
はどういった意味になるのでしょうか。
ifも書かれていないため、条件分岐でもなさそう
ですので、悩んでます。
よろしくお願いいたします。
0063nobodyさん
2010/09/20(月) 00:29:55ID:???orの場合はその逆で偽なら実行
if文とかでもそうでandとか&&は
先の結果が真の時以外その後は実行されない
0064nobodyさん
2010/09/20(月) 00:30:41ID:???http://jp.php.net/manual/ja/language.operators.logical.php
0065nobodyさん
2010/09/20(月) 00:33:59ID:???本当だ・・・
warning返された・・・
なんてスラッシュなんて要求するんだろう?
ない方が手間も省けるのに
0067nobodyさん
2010/09/20(月) 00:44:25ID:zsEPGaUeすみません。
ID出してませんでした。
>>63 >>64
ありがとうございます。
つまり、
if (!$this->db['autocommit']){
mysql_query("commit") and $this->db['autocommit']= 1;
}
は、書き換えると
if (!$this->db['autocommit']){
if(mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になり、
if (!$this->db['autocommit']){
mysql_query("commit") or $this->db['autocommit']= 1;
}
は
if (!$this->db['autocommit']){
if(!mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になるという解釈で宜しいでしょうか。
度重なる質問ですみません。
0068nobodyさん
2010/09/20(月) 00:47:16ID:???0069nobodyさん
2010/09/20(月) 01:39:01ID:zsEPGaUeありがとうございます。
大変助かりました。
0070nobodyさん
2010/09/20(月) 03:41:18ID:???一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0072nobodyさん
2010/09/20(月) 05:29:32ID:???一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0073nobodyさん
2010/09/20(月) 08:52:50ID:ZY/coBt6【PHPのバージョン】5.2.13 (cli)
【質問内容】
CLI版のPHPは自動でメモリの開放はしてくれないのでしょうか?
ループしているだけで、メモリ使用量がどんどん増えていって、最終的に
メモリが足りなくなって落ちてしまいます。
原因や、回避策をご存知でしたら、教えてください。
例)
<?php
require_once('./simplehtmldom/simple_html_dom.php');
for ($i = 0; $i < 100; $i++) {
$url = "http://www.yahoo.co.jp";
$obj = file_get_html($url);
unset($obj);
var_dump(memory_get_usage(1));
sleep(3);
}
int(5505024)
int(9961472)
int(14942208)
int(19660800)
int(24117248)
int(29360128)
int(33816576)
int(38535168)
0074nobodyさん
2010/09/20(月) 10:02:34ID:???ここをfile_get_contentsにしてやってみ
ちゃんと開放されてるから
原因はfile_get_html
require_once('./simplehtmldom/simple_html_dom.php');
こいつの中身にあるんじゃないかと
なんかメモリにキャッシュするようにしてるのかもしれん
0075nobodyさん
2010/09/20(月) 10:29:28ID:???imgタグのsrcはwebサーバではドキュメントルートからのパスになるし
realpathから$_SERVER["DOCUMENT_ROOT"]を引けばOK
0076nobodyさん
2010/09/20(月) 10:36:00ID:???そこらへんHTML5では改善されるといいね
些細なことだけどプログラム上の余計な手間なんだよね>imgタグのsrc指定
0077nobodyさん
2010/09/20(月) 10:53:27ID:???0078nobodyさん
2010/09/20(月) 10:58:12ID:???<img src="/home/takashi/public_html/img/hoge.jpg">とか書くつもりか
0079nobodyさん
2010/09/20(月) 11:01:18ID:???〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
>( c´_ゝ`) |
|
>( c´_ゝ`) J
>( c´_ゝ`)
|
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
| >( c´,_ゝ`)
|
J >( c´,_ゝ`)
>( c´,_ゝ`)
0080nobodyさん
2010/09/20(月) 11:09:18ID:ZY/coBt6「メモリにキャッシュする」というのが、
具体的にどういう処理かがよくわからないのですが。
とりあえず、関数の中で static な変数を保持しているとかはありませんでした。
file_get_html の中では、object を new して返してます。
file_get_html が返した object を unset しても、どんどんメモリが増えていきます。。
file_get_contents なら、増えないことは確認できました。
0082nobodyさん
2010/09/20(月) 11:34:46ID:???マニュアルに書いてありますねぇ
file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。
0084nobodyさん
2010/09/20(月) 13:22:28ID:Z65z5cwSjcode.phpで文字コードを調べてみると ASCIIコードになっていたようです
0085nobodyさん
2010/09/20(月) 13:25:07ID:???0086nobodyさん
2010/09/20(月) 13:28:19ID:???0087nobodyさん
2010/09/20(月) 14:21:44ID:???0088nobodyさん
2010/09/20(月) 14:28:16ID:M5nqlNJA@を禁止ワードとしてしたいのですが、
strpos($_POST['aho'],"@");
とすると、何故かフォームahoに全角スペースとか入っていると、
falseが返ってきません。
文字コードがshift-jisだからかなとは思うのですが、
何か対策ありますでしょうか。
ちなみに禁止ワードは@以外にも可能性があり、@だけ削ればいいわけではなく、
しっかり禁止ワードを検出して、入力したユーザーはアクセス規制をかけるという処理です。
0090nobodyさん
2010/09/20(月) 14:39:08ID:???0092nobodyさん
2010/09/20(月) 14:54:36ID:???0094nobodyさん
2010/09/20(月) 15:05:27ID:???0096nobodyさん
2010/09/20(月) 15:07:43ID:???009888
2010/09/20(月) 15:14:07ID:???だからしっかり教えてあげただけです
010392
2010/09/20(月) 15:40:03ID:???0106nobodyさん
2010/09/20(月) 15:44:01ID:???↓
バカを釣るためです
さすが
0107nobodyさん
2010/09/20(月) 15:58:27ID:???PHPを使ったパスワード認証をお教えください。
HPにyahooのリンクがあったとします。
そのリンクをクリックした際に(ポップアップ等で)パスワード認証を
かける方法を探しております。
0108nobodyさん
2010/09/20(月) 15:59:30ID:???0111nobodyさん
2010/09/20(月) 16:21:01ID:???スレタイと>>1を読んで、やりたい事をもっと具体的に書いて。
「yahooのリンク」のリンク先(yahoo)は自分のサイト(PHPを動作させているサーバ)なのかい?
それとも自分のサイトでPHPで認証させて、外部(yahoo)に飛ばすという意味なのかい?
0112nobodyさん
2010/09/20(月) 16:21:43ID:???つ detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1346334528
0114nobodyさん
2010/09/20(月) 16:23:27ID:???色々ありすぎるんだよ。
どの程度のレベルのものを必要としているのかわからないけど、
要するにファイルなりデータベースなりに暗号化したパスワードを保存しておいて、入力してもらったパスワードが正しいか確かめるだけ。
簡単なものなら、少し勉強すればすぐ書けるけれど、この手のものはセキュリティ云々も当然あるだろうから、とてもじゃないが全部は説明しきれない。
それだけで本が書けてしまうよ。
ちなみにポップアップさせるのはPHPではなくてJavascript等の守備範囲。
0116nobodyさん
2010/09/20(月) 16:24:35ID:???0120nobodyさん
2010/09/20(月) 16:28:19ID:???0121nobodyさん
2010/09/20(月) 16:31:38ID:???0122nobodyさん
2010/09/20(月) 16:31:56ID:???釣りとかしてたら回答してくれる人がいなくなるぞ
それと回答者もテンプレ守らない質問はスルーしろ
0123nobodyさん
2010/09/20(月) 16:32:16ID:???0125nobodyさん
2010/09/20(月) 16:34:49ID:???Perlの勉強会後の懇親会でPHPスレ荒らしてると公言!
0126nobodyさん
2010/09/20(月) 16:37:16ID:???0127nobodyさん
2010/09/20(月) 16:39:26ID:???PHPがどれだけ嫌われてるかはここにいる連中ならわかってるだろ?
0128nobodyさん
2010/09/20(月) 16:39:29ID:???0129nobodyさん
2010/09/20(月) 16:43:33ID:???∧_∧ (´<_` ;) ・・さ、流石だな、兄者
( ´_ゝ`) / ⌒i
/ \ / ィ | |
/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
__ _/ Prius // FMV // VAIO // Mebius // LaVie /____
\/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
_ /ThinkPad //WinBook//DynaBook//Libretto // Presario/
\/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
_ / Inspiron //Endeavor//InterLink // Evo //Let'sNote/
\/____//____//____//____//____/
0130nobodyさん
2010/09/20(月) 16:48:12ID:???それで何なのか聞きたい
全くもって悔しくないから困る
あ、これで悔しいんですねm9みたいなレスはいらんよ
0131nobodyさん
2010/09/20(月) 16:55:21ID:???なんでID出さないスレを無くしたのか考えろよ
0132nobodyさん
2010/09/20(月) 17:03:22ID:???0133nobodyさん
2010/09/20(月) 17:14:14ID:???0134nobodyさん
2010/09/20(月) 17:48:40ID:???↑この一行が書かれたテキストファイルをfgetsで文字列に読み込んだ場合、読み込んだ文字列はどうなっていますか?
0135nobodyさん
2010/09/20(月) 17:53:13ID:???0136nobodyさん
2010/09/20(月) 18:01:49ID:???abc\ndef
と表示されました。そこでHTMLで改行されて表示されるよう
nl2br($string)
としてみました。これで\nが<br>\nに置換されるはずなんですがなぜかechoコマンドで
ブラウザに表示したところ
abc\ndef
のままだったんです。
fgetsでテキストファイルから読み込んだ際になにか特殊処理を施されちゃったのかなとおもって
その解除方法に思案しているところです(´・ω・`)
0137nobodyさん
2010/09/20(月) 18:03:24ID:???0138nobodyさん
2010/09/20(月) 18:15:44ID:???0139nobodyさん
2010/09/20(月) 18:23:19ID:25juxIoU> だって\nって改行じゃないし
preg_replaceを使って "\\n" を "<br>" に置換することを試みましたがダメでした。
どういう文字列として読み込まれているんでしょうか・・・
少なくとも
abc\ndef
の表記通りでは無い気がします
0140nobodyさん
2010/09/20(月) 18:26:12ID:???■ このスレッドは過去ログ倉庫に格納されています