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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2010/07/23(金) 06:24:51ID:3G71fl8i
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。


【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0859nobodyさん2010/09/16(木) 22:09:57ID:???
>>856
属性値を取得したいならDOM
http://www.php.net/manual/ja/book.dom.php

file_get_contentsしてDOM操作ね
0860nobodyさん2010/09/16(木) 22:12:59ID:???
>>858
配列のキーと値をひっくり返す

値(ひっくり返したキーが入っている)を置換

配列のキーと値をまたひっくり返す


ひっくり返す関数はマニュアルから探して
http://jp.php.net/manual/ja/book.array.php
0861nobodyさん2010/09/16(木) 22:17:50ID:n8iVW5jh
>>860
ありがとう
良すれすねここ
0862nobodyさん2010/09/16(木) 22:19:38ID:???
キーと要素が逆になるってことは要素が重複していた場合消えるから気をつけろよ
0863nobodyさん2010/09/16(木) 22:26:01ID:n8iVW5jh
あ、そうか確かに
結構面倒すね。気をつけます
0864nobodyさん2010/09/16(木) 22:26:24ID:???
素朴な疑問。キーを置換する事ってある?
0865nobodyさん2010/09/16(木) 23:11:01ID:???
キーを痴漢する
0866nobodyさん2010/09/16(木) 23:21:38ID:???
北野きい
0867nobodyさん2010/09/16(木) 23:35:39ID:???
mb_send_mail関数でたまーに送信されてないことがあるみたいなのですが一体何が原因でしょう
自分も一回だけ経験しましたが済度試したらうまくいって再現できずいまだに原因が分かりません

第五引数には-fオプションでリターンパスを設定してますが
送信されない時も特になにも帰ってきてません
0868nobodyさん2010/09/16(木) 23:36:06ID:???
>>867
>>1
08698672010/09/16(木) 23:40:59ID:hZDhig7v
ごめんなさい。
テンプレです。

【OS名】FreeBSD
【PHPのバージョン】5.2.14
【連携ソフトウェア】
【質問内容】
>>867
0870nobodyさん2010/09/16(木) 23:53:28ID:???
>>869
本題とは関係ないがメールを送るときにmb_send_mail関数は使わない
なぜならmb_send_mail関数は信用できない
この理由はgoogle先生に聞いてね
代わりにmail関数を利用する

ちなみに戻り値がtrueという事ならSMTPの問題でPHPの関係ではない
0871nobodyさん2010/09/16(木) 23:54:02ID:???
フルパスを渡す方法を尋ねてた人は
もう解決したの?
0872nobodyさん2010/09/16(木) 23:55:41ID:???
>>855
質問内容が漠然としてて回答しにくい
0873nobodyさん2010/09/17(金) 08:50:08ID:???
>>860
値が全て異なるって結構厳しい制約だから素直に新しい
配列作ってしまうほうがいいと思うけどな。
0874nobodyさん2010/09/17(金) 09:58:26ID:???
キーを置換しなければいけないようなコードを書くのがきもい
0875nobodyさん2010/09/17(金) 10:19:21ID:???
>>220
お礼言えよ!!!!!!!!!!!!!!!
0876nobodyさん2010/09/17(金) 10:35:50ID:???
うっせーな
0877nobodyさん2010/09/17(金) 11:04:40ID:???
チンピラ荒らすな
お前がきてから荒れてるからバレバレだぞ
0878nobodyさん2010/09/17(金) 11:24:49ID:???
荒れるような状況に持っていく>>887の方が本当はたちが悪い
0879nobodyさん2010/09/17(金) 11:27:56ID:???
黙ってられない奴が一番悪いんだよ
言わせんな恥ずかしい
0880nobodyさん2010/09/17(金) 11:29:21ID:???
なんで荒れるんだよ
レベルひくすぎるだろ
0881nobodyさん2010/09/17(金) 11:32:04ID:???
このスレに生息する人

・ちんぴら
・OCN
・自治厨のつもりだけど周りから見たら荒らしにしか見えない人
・回答もロクにしない癖に標的を見つけると待ってましたとばかりに登場する人
0882nobodyさん2010/09/17(金) 11:46:57ID:???
礼も書けないのもどうかと思うけど
0883nobodyさん2010/09/17(金) 13:31:41ID:???
>>875-882
そんな下らないレスする暇あるなら>>855に答えてやれよ・・・・
0884nobodyさん2010/09/17(金) 13:52:04ID:???
認証系のシステムを作る場合、下手に自分でセッション系の処理を組むよりも
Auth.php を使用した方がやはり安全でお手軽でしょうか?
0885nobodyさん2010/09/17(金) 13:56:25ID:???
>>884
>>1
0886nobodyさん2010/09/17(金) 14:00:46ID:zQJEoB3m
Pear::Authを使用してログインシステムを作っているのですが
"db_fields" => "*" を使用して、ログインID/PASS以外のカラム
(日本語で保存されているユーザ名)を取得しようとすると
文字化けしてしまいます。

そこでAuthを使用した場合に発生する文字化け回避策を
調べたところ

$db->query('SET NAMES sjis');

と記述すれば良いとの事でしたが、
これは、MDBパッケージを使用している場合対処方法であり、
私はMDB2を使用している為、この方法を使う事が出来ません。

因みにDB接続時のDSNの設定では、
mysql://test_user:test_pass@localhost/TEST_DB?charset=sjis

しっかりとcharsetとしてsjisを指定しています。
どうすれば文字化けを回避出来るかご教示下さい。
0887nobodyさん2010/09/17(金) 14:16:40ID:???
884と886はイコールで回答していいのですか?
0888nobodyさん2010/09/17(金) 14:22:33ID:zQJEoB3m
>>887
はい、その通りです。
IDを出すのを忘れていたので出しました。
0889nobodyさん2010/09/17(金) 14:28:04ID:???
データは何の文字コードで保存されてんの?
0890nobodyさん2010/09/17(金) 14:29:17ID:???
とりあえずここ
ttp://wiki.livedoor.jp/wanderingse/d/PEAR%3A%3AMDB2%A4%C7%A5%B5%A5%F3%A5%D7%A5%EB
0891nobodyさん2010/09/17(金) 14:35:28ID:B0xV1VRr
WindowsでPHPからsendmailが使いたいんですけどないですか?
もしくはsendmailと互換があるものってありませんか?
0892nobodyさん2010/09/17(金) 14:36:22ID:ZenZaYAa
PHPを書くときにお勧めの環境(デバックとかも含む)を教えてください
0893nobodyさん2010/09/17(金) 14:39:27ID:???
>>892
おすすめじゃないけど
netbeans+xdebugつかってる
0894nobodyさん2010/09/17(金) 14:40:05ID:???
>>886
わざわざSET NAMES sjis'とやろうとしてたという事は
PHPはsjisで作成しているという事であってる?

もしよくわかってないなら
MySQL側の文字コード関連(show variables like 'character_set%';)
PHP側の文字コード関連(phpinfo()のmbstringの設定)を確認して

ようは、MySQLの文字コード・PHPの文字コードが自分が想定している文字コードかどうかの確認。
0895nobodyさん2010/09/17(金) 15:41:11ID:???
>>892
emeditor
0896nobodyさん2010/09/17(金) 16:15:08ID:???
次スレ
【PHP】下らねぇ質問はIP出して書き込みやがれ 98
【PHP】下らねぇ質問はIDとIP出して書き込みやがれ 98
【PHP】下らねぇ質問はID出して書き込みやがれ 98
【PHP】下らねぇ質問はID出して分かりやすく書き込みやがれ 98
0897nobodyさん2010/09/17(金) 16:17:42ID:???
>>4
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。


今からEUC-JPなんて使わないしほとんどそういうサイトも見かけない
Shift_JISは携帯サイトで使うし書き換えたほうが良いと思うんだがどうだろう
0898nobodyさん2010/09/17(金) 16:26:40ID:???
内部エンコードは別にShift_JIS使う必要はない
というかUTF8一択で良いだろ
0899nobodyさん2010/09/17(金) 16:27:31ID:???
>>897
初心者が内部エンコーディングとスクリプト自体をShift_JISするとトラブルだらけになるだろ。
携帯サイトも普通はDBやPHPをUTF-8で統一した上で
出力直前でShift-JISに変換するのが良いよ
09008862010/09/17(金) 16:32:21ID:zQJEoB3m
>>889 >>894
utf-8です。PHPは、sjisです。

>>890
解決しました。ありがとうございます。


0901nobodyさん2010/09/17(金) 17:33:21ID:na186H29
>>859
ありがとうございました
0902EM111-188-12-75.pool.e-mobile.ne.jp2010/09/17(金) 18:03:43ID:rm9K3xNr
>>877
おい俺に何か用か小僧
昨日の>>804-809のレスで荒らし扱いされるとは心外だな
0903nobodyさん2010/09/17(金) 18:04:57ID:???
低レベル乙
0904nobodyさん2010/09/17(金) 18:16:51ID:???
http://hibari.2ch.net/test/read.cgi/php/1167984858/513-588

あれから1年か
久々に見たが痛いなこれはwwwww

ていうかこっちのスレに出張しなくていいから(・∀・)カエレ!
0905nobodyさん2010/09/17(金) 18:22:48ID:???
>>903
じゃあお前かわりに答えろ^^
0906nobodyさん2010/09/17(金) 18:24:30ID:na186H29
DOMでやりたいことをやろうとしていきなり詰まりました

land.toでPHPを実行したら
DOMDocument::loadHTML() expects parameter 1 to be string, array given in /省略

と出ました


$doc = new DOMDocument();

これがエラーになっているようですが 何かおかしいところがあるのでしょうか
09077372010/09/17(金) 18:31:13ID:???
>$doc = new DOMDocument();
>これがエラーになっているようですが 何かおかしいところがあるのでしょうか

エラーメッセージは、そうは言ってないようなんだが。
0908nobodyさん2010/09/17(金) 18:34:21ID:???
>>906
取得したいFormのサンプルをここに書いて
0909nobodyさん2010/09/17(金) 18:35:33ID:na186H29
すみません コピペする行を間違えていました


<?php
require_once "HTTP/Client.php";
$login_url = "url";
$client =& new HTTP_Client();
$client->get($login_url);
$Res=$client->currentResponse();

$doc=& new DOMDocument();
$doc->loadHTML($Res);
$test=$doc->getElementsByTagName('a');
echo $test;
?>

です
0910nobodyさん2010/09/17(金) 18:37:49ID:na186H29
>>908

<form action=" " method="post" >
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="hidden" name=" " value=" " class="">
<input type="submit" name=" " value=" " class="">
<input type="submit" value=" " class="">
</form>
0911nobodyさん2010/09/17(金) 18:45:29ID:???
>>909-910
$Resをvar_dumpで見てみればわかるかと
欲しいのは$Res['body']じゃないの?
0912EM111-188-12-75.pool.e-mobile.ne.jp2010/09/17(金) 18:57:19ID:???
>>909
$doc->loadHTML($Res);の後に$doc->saveHTML()を書いてみ
0913nobodyさん2010/09/17(金) 19:01:49ID:na186H29
>>911
申し訳ありません
$Res['body']のことを失念していました
直して

<?php
require_once "HTTP/Client.php";
$login_url = "http://www.mbga.jp/.pc/_t?_from=lg&login_id=0sm3262c0-2249k@ezweb.ne.jp&login_pw=dattin72";
$client =& new HTTP_Client();
$client->get($login_url);
$Res = $client->currentResponse();
$Res = $Res['body'];
$doc=& new DOMDocument();
$doc->loadHTML($Res);
$test = $doc->getElementsByTagName('a');
echo $test;
?>

これで一応できるようになりましたが…
まだエラーがありました
HTMLをロードしている間にエラーが発生しているようです

まだ修正する必要があるようですが 頑張ってみます
0914EM111-188-12-75.pool.e-mobile.ne.jp2010/09/17(金) 19:13:23ID:???
>>913
サンプルね
文字コードもエラーに関係するからちゃんと変換してあげる事
■test.php
$url = "index.html";
$toEnc = "UTF-8";
$file = file_get_contents($url);
$enc = mb_detect_encoding($file, "auto", true);
$file = mb_convert_encoding($file, $toEnc, $enc);
$doc = new DOMDocument();
$res = $doc->loadHTML($file);
echo $doc->getElementById("test")->tagName;

■ index.html
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>New Document</title></head>
<body>
<div>
<form action="" method="post" id="test">
<input type="hidden" name="a" value="1">
<input type="hidden" name="b" value="2">
<input type="hidden" name="c" value="3">
<input type="hidden" name="d" value="4">
<input type="hidden" name="e" value="5">
<input type="submit" value="send">
</form>
</div>
</body>
</html>
0915EM111-188-12-75.pool.e-mobile.ne.jp2010/09/17(金) 19:15:42ID:???
文字コードがおかしいと以下のエラーが出るからね
Warning: DOMDocument::loadHTML(): htmlParseStartTag:
0916nobodyさん2010/09/17(金) 19:28:29ID:???
>>914
なるほど・・・こういう使い方もありましたか
参考になりました ありがとうございます
0917nobodyさん2010/09/17(金) 19:44:38ID:na186H29
getElementById("test")->getAttribute("a");
で値を取得しようとしたらできませんでした・・・
0918nobodyさん2010/09/17(金) 19:51:14ID:???
そりゃできねえだろ・・・
0919nobodyさん2010/09/17(金) 19:51:48ID:???
>>917
何の値取ろうとしてんだ
0920nobodyさん2010/09/17(金) 19:52:07ID:???
>>917
ヒントfirstChild
0921nobodyさん2010/09/17(金) 19:52:58ID:???
>>917
これよめ
ttp://www.openspc2.org/JavaScript/JavaScript_DOM/method/getAttribute/index.html
0922EM111-188-48-213.pool.e-mobile.ne.jp2010/09/17(金) 19:58:04ID:???
まあ標準関数じゃなくてパーサー使ったほうが楽なんだけどな
ttp://sourceforge.net/projects/simplehtmldom/
0923nobodyさん2010/09/17(金) 19:58:50ID:???
自己解決したのでもういいです。
0924nobodyさん2010/09/17(金) 20:19:50ID:na186H29
違ってたのですかorz


aの値を取得しようとしていたのですが…

>>920
0925EM111-188-48-213.pool.e-mobile.ne.jp2010/09/17(金) 20:28:15ID:???
>>924
さっきと書き方換わるけどHTMLはさっきのやつでサンプル

$url = "index.html";
$file = file_get_contents($url);
$doc = new DOMDocument();
$doc->encoding = "UTF-8";
$res = $doc->loadHTML($file);

$items = $doc->getElementsByTagName('input');
$cnt = $items->length;
echo $items->item(1)->getAttribute('value')."\n";
echo $items->item(4)->getAttribute('value')."\n";


0926nobodyさん2010/09/17(金) 20:36:56ID:???
>>924
DOM使うならDOMのことをもうちょっと勉強した方が良い
もしこのDOMパーサがJSと同じ動作をするのであればnameがaのをとるのは
>>920が書いてるようにfirstChildでいい

getElementById("test")->firstChild

もしくは

getElementById("test")->children[0]

こんな感じだ
あとはnameから直接取得とかな

getElementsByName("a")->item(0)

0927nobodyさん2010/09/17(金) 22:15:06ID:???
>>926
上から目線、カッコ悪いよ

AC公共広告き(ry
0928nobodyさん2010/09/17(金) 22:20:11ID:???
>>917
htmlにaという属性はないから取得できる訳ないでしょw
0929nobodyさん2010/09/17(金) 22:22:54ID:???
>>917
htmlにaという属性はないから取得できる訳ないでしょw
0930nobodyさん2010/09/17(金) 22:25:44ID:???
>>917
htmlにaという属性はないから取得できる訳ないでしょw
0931nobodyさん2010/09/17(金) 22:32:23ID:???
>>917
htmlにaという属性はないから取得できる訳ないでしょw
0932nobodyさん2010/09/17(金) 22:37:26ID:???
全然おもしろくない
0933nobodyさん2010/09/17(金) 22:39:28ID:???
>>928
暇だな、お前
0934nobodyさん2010/09/17(金) 23:03:05ID:???
>>929-931は荒らし
09359282010/09/17(金) 23:17:33ID:???
荒らしかw
aって属性はない事をしたのに何だこいつらw
どうせgetAttributeの使い方知らないんだろうなw
0936nobodyさん2010/09/17(金) 23:22:57ID:???
setAttribute使えば属性作れる
0937nobodyさん2010/09/17(金) 23:35:06ID:???
自己解決したのでもういいです。
0938nobodyさん2010/09/18(土) 00:39:14ID:fDVENpH6
既存のシステムにphpで15万行(コメント、空行を除く)のソースがあるのですが、
これを他の言語(rubyが第一候補)に置き換えようとした場合、
何人月くらい掛かるか、だいたいの目安を教えて頂けますか?

発注する金額のおおよその目安が知りたいです。
過去ログ見ると、1人月で1万行以上書けるという人も見掛けますが、
そうすると大体15人月で1500万円程度でシステム開発会社に発注可能でしょうか?
0939nobodyさん2010/09/18(土) 00:41:03ID:???
はてなで聞いたほうがいいんじゃないの?
0940nobodyさん2010/09/18(土) 00:44:23ID:???
15万行で1500万w
0941nobodyさん2010/09/18(土) 00:52:46ID:fDVENpH6
>>939
最近はてなで聴いても、以前よりも質が良くない回答ばかりなので、
利用者数が多いこちらでお聞きしました。

>>940
少し、安いでしょうか?
ただ、単価も100万円で想定していますので、
かなり腕がいい人に、やって貰えるのではと思っています。

今のシステムは使いにくく、又仕様バグで一部手動でやっているところもあるので、
この際、全て作り変えようと思っています。
腕が良い人3人くらいで、5ヶ月でやって貰えると業務的には大変助かります。
0942nobodyさん2010/09/18(土) 01:05:29ID:???
地域とかにもよるけど妥当なとこじゃないかな
しかし何故ruby?
0943nobodyさん2010/09/18(土) 01:08:50ID:???
全て作り変えるって、ほとんど作り直し?
0944nobodyさん2010/09/18(土) 01:14:58ID:???
>>942
ありがとうございます。
Rubyにしたのは、最近の主流になりつつあると日経の雑誌を読んだのと、
あとは、生産性が高いらしいという点です。

ちなみに、金額は妥当ということですが、もう少し安くなったりしますか?
会社は、東京ですが、田舎の会社に発注すれば交渉次第で1000万円程度になりますか?

>>943
今のシステムは、画面も良くないし、分かりにくいし、バグもあるので、
それらを一般的なレベルに直してもらい、あとは他の会計パッケージと連動して決算処理までできればと思っています。
ドキュメントはあまりありませんが、ソースは納品時の一式があります。
0945nobodyさん2010/09/18(土) 01:15:54ID:???
>>941
悪い事は言わない。
やめとけ。手動でやってるところだけ自動化した方が良い。
0946nobodyさん2010/09/18(土) 01:16:32ID:fDVENpH6
すみません、age忘れました。
0947nobodyさん2010/09/18(土) 01:25:03ID:???
rubyの方が明らかに単価高いだろ
不満ある部分の改修と自動化できてない部分の自動化を
どこかもっと優秀な所に頼めば?

あとシステム的な所でどうなのかっていうのを
どこかコンサルに入ってもらうとかさ・・・
0948nobodyさん2010/09/18(土) 01:41:19ID:???
Rubyが主流になりつつあるってホント?現場でも他社の社長からも聞いたことないが。
ほぼPHP一色に感じるが。違うなら、俺の見てる世界が狭いんだな。

システムやバグの改善も含めるなら、移植じゃなくて作り直したほうがいい。
0949nobodyさん2010/09/18(土) 03:22:36ID:???
安く上げようとすると逆にバグ埋め込まれたりするから困る
0950nobodyさん2010/09/18(土) 04:16:26ID:???
Rubyは、phpの4分の1の行数で書けるらしいから、生産性は良いだろうね。
ただ、技術者がphpと比べて少ない。
0951nobodyさん2010/09/18(土) 04:34:38ID:???
1/4の行数で書けるっていっても
メソッドをつなげて書けるからじゃないの?
0952nobodyさん2010/09/18(土) 06:45:55ID:???
ステップ数は変わらん罠
0953nobodyさん2010/09/18(土) 07:10:40ID:???
rubyだと、例えばDBへの更新処理もSQLを書かなくても自動でやってくれるから、
コードそのものが不要になって、コード量が激減するという話だけど。
0954nobodyさん2010/09/18(土) 07:48:58ID:???
アホや
フレームワークと言語を同列に考えるアホがおったで
rubyやってるやつはほんまアホやのぉ
0955nobodyさん2010/09/18(土) 07:52:23ID:???
今や言語とFWは一体だろ。切り離して考える方がアホ。
精神分裂病じゃないの?
0956nobodyさん2010/09/18(土) 08:30:48ID:???
お前らがどんだけアホかを確認するために、rubyを勉強してみたくなった
0957nobodyさん2010/09/18(土) 09:46:47ID:???
RailsのORMは便利だけど速度を犠牲にするのはなぁ
0958nobodyさん2010/09/18(土) 09:47:35ID:???
最近の
SQL書いたら負け
みたいな風潮はどうにかならんもんかね
レス数が950を超えています。1000を超えると書き込みができなくなります。