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

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

レス数が900を超えています。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等)・フレームワークは各該当スレへ
0840nobodyさん2010/09/16(木) 18:37:24ID:???
とりあえずバージョンとかも書いたら?
thread版とnon thread版のどちらの使ってるのかも書いてくれないと回答に困るかな
0841nobodyさん2010/09/16(木) 18:39:40ID:???
835=>>838
解決したらデカイ態度になるのイクナイ
08428392010/09/16(木) 18:44:32ID:???
>>840
PHP 5.2.10 (cli) (built: Jun 17 2009 16:16:57)
php-5.2.10-Win32.zip です。thread版だと思います。
0843nobodyさん2010/09/16(木) 18:47:13ID:UCptVaL2
>>836

ありがとうございましたm(__)m
徹夜で半分気を失ってたところです。
ほんとにすいません。
本当に気絶していました。
すいません。
すいません。
0844nobodyさん2010/09/16(木) 18:48:04ID:???
>>839
ttp://bugs.php.net/bug.php?id=39438
0845nobodyさん2010/09/16(木) 18:51:44ID:???
>>843
仕事?気をつけなよ
0846nobodyさん2010/09/16(木) 19:13:55ID:???
>>844
5.3.3に変えても、約11.3MB消費します。
減った分も、Unlha などのモジュールが無効になった為ではないかと思います。
0847nobodyさん2010/09/16(木) 19:26:07ID:???
いやまだバグ直ってないよ
0848nobodyさん2010/09/16(木) 20:44:12ID:???
>>804-809
ありがとう。
では自分の例だと、こういう風になるのかな。

params.php

<?php
$test = array(
array('id' => 1, 'name' => 'yui'),
array('id' => 2, 'name' => 'mio'),
...
);

test_model.php
<?php
class TestModel extends AppModel{
public $test;
...
}

test_controller.php
<?php
function some_func(){
include "params.php";
$testObj = new TestModel();
$testObj->test = $test;
...
}

つまりクラス内部でのincludeをやめて、外から代入してやると。
クラス内部でincludeしてはいけない理由は、PHPではできないからでしょうか?
0849804-8092010/09/16(木) 20:59:07ID:???
いや、クラス内部からincludeすることはできる
constructを使えばな
でもしないほうがいい
0850nobodyさん2010/09/16(木) 20:59:56ID:1fMzrbOR
Amazon EC2 の Windows Server 2008 Datacenter に
Zend Server CE (ZendServer-CE-php-5.3.3-5.0.3-Windows_x86.exe) を入れようとしたんですが、
インストール途中で、「Error: -1622 インストールのログ ファイルを開くときに、エラーが発生しました。
指定されたログ ファイルの場所が存在し、書き込み可能であることを確認してください。」
というエラーメッセージが表示され、インストールに失敗します。
何か分かる方いますでしょうか?
0851nobodyさん2010/09/16(木) 21:01:41ID:???
権限がないからじゃねえの
0852nobodyさん2010/09/16(木) 21:10:27ID:???
>>849
試しにコンストラクタでやってみたら、できました
何故しない方がいいんでしょうか?
0853804-809=EM111-188-45-97.pool.e-mobile.ne.jp2010/09/16(木) 21:17:54ID:???
>>852
いずれ分かるときがくるさ
ぽまえならたぶん意味が分かる日はそう遠くないと思う
0854nobodyさん2010/09/16(木) 21:22:53ID:???
この流れなら貼れる
http://www.youtube.com/watch?v=P5sWncFiYnA
0855nobodyさん2010/09/16(木) 21:40:10ID:zUsTEVn5
session_start() を実行すると相対パスリンクに対しては全てsession情報が付き、絶対パスリンクに対しては
session情報が送られないという決まりがあります。

それをさらに突き進め、相対パスのリンクでも事前に指定した特定のリンクだけにsession情報を送り、
それ以外のリンクはたとえ相対パスの形であっても絶対パスのリンクと同様にsession情報は
送らないように設定することは可能でしょうか?
0856nobodyさん2010/09/16(木) 21:41:08ID:???
PEARのHTTP_Request2でWebページのレスポンスを取得した後
そのページにあるFormの〜番目にあるValue値を取得することは可能でしょうか

もし無理ならば 他の方法を教えてください
08578562010/09/16(木) 21:42:15ID:qlMmQX9a
ID出し忘れてました
>>856です
0858nobodyさん2010/09/16(木) 22:05:44ID:n8iVW5jh
連想配列のキー名をstr_replaceで一括置換する方法を教えてください。
書き方がわからなくて困っています。
foreachでキー名は取れますが、新しいキー名を連想配列に戻す方法がわかりません・・・。


array(2)
{
["Name1.id"]=> int(1)
["Name1.param"]=> int(45)
}
をこうしたい
array(2)
{
["Name2.id"]=> int(1)
["Name2.param"]=> int(45)
}
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:???
はてなで聞いたほうがいいんじゃないの?
レス数が900を超えています。1000を超えると表示できなくなるよ。