トップページphp
1001コメント281KB

【PHP】下らねぇ質問はID出して書き込みやがれ 98

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/09/18(土) 19:20:37ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0033nobodyさん2010/09/19(日) 14:47:01ID:???
>>32
あ すみません。。。janeなので自動でsageてしまいました

それをつけないでできませんか?
0034nobodyさん2010/09/19(日) 15:25:46ID:???
>>33
$doc = new DomDocument('1.0', 'utf-8');
0035nobodyさん2010/09/19(日) 15:29:31ID:???
>>33
phpinfoの内容うpマダデスカー?
0036nobodyさん2010/09/19(日) 15:31:00ID:???
>>33
コマンドラインに出力してるのかブラウザに出力してるのかはっきり書け
0037nobodyさん2010/09/19(日) 15:43:06ID:RW6Zh2z2
$str = "あ いうえお かきくけ こ";
$str = trim($str);

文字列から半角スペースだけ削除したいのですが消えません
どなたかご教示おねがいします
0038nobodyさん2010/09/19(日) 15:47:53ID:???
>>37
str_replace
0039nobodyさん2010/09/19(日) 15:48:05ID:???
str_replace
0040nobodyさん2010/09/19(日) 15:57:35ID:+3xl6Ak5
テキストエディタでPHPを書いてます
eclipseに移行した場合、どのようなメリットがありますか?
テキストエディタからeclipseに移行することで開発スピードは上がりますか?
0041nobodyさん2010/09/19(日) 16:01:10ID:???
>>40
上がる。メリットはぐぐれ。
0042nobodyさん2010/09/19(日) 16:11:39ID:???
でもファイル数が多いと一々エクスプローラウインドウで選択するのがめんどくさいかもって思った。
0043nobodyさん2010/09/19(日) 16:39:27ID:???
>>16
><form action="" method="post" id="test">

actionはマジで空っぽ?
0044nobodyさん2010/09/19(日) 16:57:53ID:???
※自分自身のファイルに送信するときはaction属性の値は省略できる
0045nobodyさん2010/09/19(日) 17:00:41ID:LNQ8CDVB
$test = "test";
echo $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:???
>>45
そこらへんはCと同じような考え方からきてんじゃないのかね
Cは文字列というものは存在しなくて文字の配列を文字列としてるから

0048nobodyさん2010/09/19(日) 17:14:38ID:???
>>46
オブジェクト指向、MVC、O/Rマッパー、各種フレームワーク等を学ぼう
0049nobodyさん2010/09/19(日) 19:41:04ID:4bBjydvf
>>48
ご回答ありがとうございます。
O/Rマッパーについて調べてみたのですが、Java専用でphpのものはないそうです。
phpでそれに該当するようなものはございますか。

度々のご質問で申し訳ございません。宜しくお願いします。
0050nobodyさん2010/09/19(日) 19:47:19ID:???
>>49
過疎ってるけど
【propel】PHPのORMについて語ろうぜ【peropero】
http://hibari.2ch.net/test/read.cgi/php/1173181854/

ORMの問題ではなく、まずはMVC学んで有名どころのフレームワーク使った方が良いと思うが。
サンプルが参考になるはず
0051nobodyさん2010/09/19(日) 21:05:03ID:2wvRyPkx
>>36
ブラウザに出力です
0052nobodyさん2010/09/19(日) 21:06:51ID:???
>>34
もう諦めたほうがいいのでしょうか・・・
まったくできません
0053nobodyさん2010/09/19(日) 21:11:40ID:???
>>52
>>32
0054nobodyさん2010/09/19(日) 21:26:38ID:???
>>52
もう小出しせずそのまんまのHTML文書とコードを出そうぜ
0055nobodyさん2010/09/19(日) 22:03:35ID:???
ソースは真似されると嫌なので出したくありません。
0056nobodyさん2010/09/19(日) 22:08:46ID:???
動かないコードを誰が真似するんだよw
0057nobodyさん2010/09/19(日) 22:23:54ID:???
小者が書いたコードは既に世界中の誰かが誰かが書いてるんだから気にしすぎ
0058nobodyさん2010/09/19(日) 22:46:55ID:???
preg_match("/検索パターンを表す文字列/", 比較文字列)

/(スラッシュ)って必要?

preg_match("検索パターンを表す文字列", 比較文字列)

だと動作にどういう違いが生じる?
0059nobodyさん2010/09/19(日) 22:50:52ID:???
>>58
やってみた。自分でやってみるほうが早いと思うけどね。

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も書かれていないため、条件分岐でもなさそう
ですので、悩んでます。

よろしくお願いいたします。
0062nobodyさん2010/09/20(月) 00:25:33ID:???
>>61
スレタイ
0063nobodyさん2010/09/20(月) 00:29:55ID:???
andの場合は前の結果が真の場合実行
orの場合はその逆で偽なら実行
if文とかでもそうでandとか&&は
先の結果が真の時以外その後は実行されない
0064nobodyさん2010/09/20(月) 00:30:41ID:???
>>61
http://jp.php.net/manual/ja/language.operators.logical.php
0065nobodyさん2010/09/20(月) 00:33:59ID:???
>>59-60
本当だ・・・
warning返された・・・

なんてスラッシュなんて要求するんだろう?
ない方が手間も省けるのに
0066nobodyさん2010/09/20(月) 00:40:14ID:???
>>65
正規表現リテラル
0067nobodyさん2010/09/20(月) 00:44:25ID:zsEPGaUe
>>62
すみません。
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
>>68
ありがとうございます。
大変助かりました。
0070nobodyさん2010/09/20(月) 03:41:18ID:???
realpath()で絶対パスを取得することができるわけだけど
一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0071nobodyさん2010/09/20(月) 05:05:25ID:???
>>70
スレタイ
0072nobodyさん2010/09/20(月) 05:29:32ID:???
realpath()で絶対パスを取得することができるわけだけど
一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0073nobodyさん2010/09/20(月) 08:52:50ID:ZY/coBt6
【OS名】CentOS
【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:???
$obj = file_get_html($url);

ここをfile_get_contentsにしてやってみ
ちゃんと開放されてるから
原因はfile_get_html
require_once('./simplehtmldom/simple_html_dom.php');
こいつの中身にあるんじゃないかと
なんかメモリにキャッシュするようにしてるのかもしれん
0075nobodyさん2010/09/20(月) 10:29:28ID:???
>>70
imgタグのsrcはwebサーバではドキュメントルートからのパスになるし
realpathから$_SERVER["DOCUMENT_ROOT"]を引けばOK
0076nobodyさん2010/09/20(月) 10:36:00ID:???
>>75
そこらへんHTML5では改善されるといいね
些細なことだけどプログラム上の余計な手間なんだよね>imgタグのsrc指定
0077nobodyさん2010/09/20(月) 10:53:27ID:???
それは改善なのか?
0078nobodyさん2010/09/20(月) 10:58:12ID:???
サーバのパスをimgタグのsrcに指定して表示されるわけなかろう
<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
>> 74

「メモリにキャッシュする」というのが、
具体的にどういう処理かがよくわからないのですが。

とりあえず、関数の中で static な変数を保持しているとかはありませんでした。

file_get_html の中では、object を new して返してます。
file_get_html が返した object を unset しても、どんどんメモリが増えていきます。。

file_get_contents なら、増えないことは確認できました。
0081nobodyさん2010/09/20(月) 11:24:32ID:???
>>78
その方式でもちゃんとURL変換した上で表示してほしくね?
0082nobodyさん2010/09/20(月) 11:34:46ID:???
>> 80
マニュアルに書いてありますねぇ
file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。
0083nobodyさん2010/09/20(月) 12:14:06ID:???
>>81
そういうヘルパーを作ればいいんじゃね?
0084nobodyさん2010/09/20(月) 13:22:28ID:Z65z5cwS
>>52です

jcode.phpで文字コードを調べてみると ASCIIコードになっていたようです
0085nobodyさん2010/09/20(月) 13:25:07ID:???
だから文字コードをちゃんと変換できてないからだろバカ
0086nobodyさん2010/09/20(月) 13:28:19ID:???
73と52は同一人物なような気がしてきた
0087nobodyさん2010/09/20(月) 14:21:44ID:???
ちなみに85と86は同一人物
0088nobodyさん2010/09/20(月) 14:28:16ID:M5nqlNJA
すんません。

@を禁止ワードとしてしたいのですが、
strpos($_POST['aho'],"@");
とすると、何故かフォームahoに全角スペースとか入っていると、
falseが返ってきません。

文字コードがshift-jisだからかなとは思うのですが、
何か対策ありますでしょうか。
ちなみに禁止ワードは@以外にも可能性があり、@だけ削ればいいわけではなく、
しっかり禁止ワードを検出して、入力したユーザーはアクセス規制をかけるという処理です。
0089nobodyさん2010/09/20(月) 14:35:47ID:???
>>88
つ mb_strpos()
0090nobodyさん2010/09/20(月) 14:39:08ID:???
@を入力しただけで規制とかシステムの怠惰
0091882010/09/20(月) 14:48:41ID:???
>>90
余計なお世話です。

無職のあなたほど怠惰ではありません。
0092nobodyさん2010/09/20(月) 14:54:36ID:???
postて連想配列じゃないの
0093882010/09/20(月) 15:01:12ID:???
>>92
無知は黙ってろ消えろ
0094nobodyさん2010/09/20(月) 15:05:27ID:???
postて連想配列だけどなにか?
0095882010/09/20(月) 15:06:41ID:???
>>94
無知乙
print_r($_POST['aho'])で試してみろ
0096nobodyさん2010/09/20(月) 15:07:43ID:???
フィーーーーーーーーーッシュ
0097nobodyさん2010/09/20(月) 15:10:46ID:???
>>95
説明

HTTP POST メソッドで現在のスクリプトに渡された変数の連想配列です。
0098882010/09/20(月) 15:14:07ID:???
>>92はpostは連想配列だからstrposの第一引数に指定できないって言いたかったんでしょ?
だからしっかり教えてあげただけです
0099nobodyさん2010/09/20(月) 15:28:42ID:???
>>98

>>92のレスを勝手に深読みして一人でさわぐのはやめましょうw
0100nobodyさん2010/09/20(月) 15:30:42ID:???
>>98
暇乙。誰も教えてくれと頼んでないのにご苦労様です
0101882010/09/20(月) 15:32:39ID:???
じゃあ>>92は何の為にレスしたのか説明よろしくたのんます
0102nobodyさん2010/09/20(月) 15:38:37ID:???
>>82
マッピングとガベージコレクションは別物やで
0103922010/09/20(月) 15:40:03ID:???
バカを釣るためです
0104nobodyさん2010/09/20(月) 15:42:50ID:???
>>103
www
0105nobodyさん2010/09/20(月) 15:43:28ID:???
>>103
なん・・・だと・・・
0106nobodyさん2010/09/20(月) 15:44:01ID:???
postて連想配列じゃないの

バカを釣るためです

さすが
0107nobodyさん2010/09/20(月) 15:58:27ID:???
PHP初心者ですがご質問致します。

PHPを使ったパスワード認証をお教えください。
HPにyahooのリンクがあったとします。
そのリンクをクリックした際に(ポップアップ等で)パスワード認証を
かける方法を探しております。
0108nobodyさん2010/09/20(月) 15:59:30ID:???
よくわからんが、パスワード認証を教えてくださいと言われても困ってしまうな
0109nobodyさん2010/09/20(月) 16:05:26ID:???
>>108
できれば教えてください
0110nobodyさん2010/09/20(月) 16:20:17ID:???
>>109
できないので教えません
0111nobodyさん2010/09/20(月) 16:21:01ID:???
>>107=109
スレタイと>>1を読んで、やりたい事をもっと具体的に書いて。

「yahooのリンク」のリンク先(yahoo)は自分のサイト(PHPを動作させているサーバ)なのかい?
それとも自分のサイトでPHPで認証させて、外部(yahoo)に飛ばすという意味なのかい?

0112nobodyさん2010/09/20(月) 16:21:43ID:???
>>111

つ detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1346334528
0113nobodyさん2010/09/20(月) 16:22:52ID:???
>>111
コピペにやさしいんですねwww
0114nobodyさん2010/09/20(月) 16:23:27ID:???
>>109
色々ありすぎるんだよ。
どの程度のレベルのものを必要としているのかわからないけど、
要するにファイルなりデータベースなりに暗号化したパスワードを保存しておいて、入力してもらったパスワードが正しいか確かめるだけ。
簡単なものなら、少し勉強すればすぐ書けるけれど、この手のものはセキュリティ云々も当然あるだろうから、とてもじゃないが全部は説明しきれない。
それだけで本が書けてしまうよ。

ちなみにポップアップさせるのはPHPではなくてJavascript等の守備範囲。
0115nobodyさん2010/09/20(月) 16:23:47ID:???
>>111
お前さっきからどんだけ釣られてんだよ。。。
0116nobodyさん2010/09/20(月) 16:24:35ID:???
ああ、釣りなのね…バカス
0117nobodyさん2010/09/20(月) 16:25:03ID:???
>>114
コピペに偉そうにレスするなんて>>111より痛いぞ
0118nobodyさん2010/09/20(月) 16:26:50ID:???
>>114
ちょwwおまwwww

釣り師相手に長文とかw 必死すぎだろw
01191112010/09/20(月) 16:27:22ID:???
釣りだったのかスマン。

>>115
今日初めての書き込みだよ・・・
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:???
こんなんばっかりだからスレが3桁近くまで続くのか
0124nobodyさん2010/09/20(月) 16:33:55ID:???
>>122
>それと回答者もテンプレ守らない質問はスルーしろ

>>92>>107も律儀にsageてるな
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:???
田所のソースをただここに張ったぐらいで釣りと言えるのか
■ このスレッドは過去ログ倉庫に格納されています