【PHP】下らねぇ質問はID出して書き込みやがれ 104
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/14(月) 16:45:59ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
003837
2011/02/15(火) 15:42:32ID:Ta3hU+9tID出すのを忘れていました。
0040nobodyさん
2011/02/15(火) 16:07:43ID:???>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
誰が読んでもsendmailを関数だと勘違いしてるのは明らかなわけだが
0042nobodyさん
2011/02/15(火) 16:22:59ID:???誰へのレスかは明記しないけど
0043nobodyさん
2011/02/15(火) 16:31:18ID:???決め付けはよくないと 思います学校でならわなかったか?
私がいつ誤解しましたか 何時何分何秒ですか
出るところに出てもいいぞ
> 中学生でもお前よりは読解力あるよね
あんたが中学生?厨房ということは よくわかった
だからもう引っ込め カス
0047nobodyさん
2011/02/15(火) 16:36:55ID:???日本語には句読点というものがあるんだよ。今通ってる小学校で
習ったでしょう?
大切なことだからちゃんと覚えておこおうね
0048nobodyさん
2011/02/15(火) 16:38:13ID:Ta3hU+9tはい、その通りです。
更新されてしまいます。
0049nobodyさん
2011/02/15(火) 16:41:10ID:hHfehwNIあと池沼ね
>それがどうあkしましたか
日本語でおk
0050nobodyさん
2011/02/15(火) 16:42:33ID:???0051nobodyさん
2011/02/15(火) 16:43:22ID:???この区切り方w
ガチの池沼に遭遇したのは久しぶりだわ
0052。
2011/02/15(火) 16:46:02ID:???そのサンプルでは問題ないように見えますが、
http://www.ilovex.co.jp/blog/system/projectandsystemdevelopment/pearmdb2mysql.html
のようなことが起きているのかもしれません。
0053nobodyさん
2011/02/15(火) 16:47:37ID:???意味がわかりません、句読点くらいしっています、バカですか
0054nobodyさん
2011/02/15(火) 16:47:54ID:???はいはい。興奮しないようにね。入力が遅いことは全然恥ずかしいことじゃないからね
今度は「せいしんてき」を漢字で書けるように頑張ろうな
先生も応援してるからな
0056nobodyさん
2011/02/15(火) 16:53:00ID:???9いやらしいですね 変体ですかあなたは
0057nobodyさん
2011/02/15(火) 16:54:37ID:???そういう 根拠のないこと を描くなら
本当に 出るところに出てもいいんだぞ0
005937
2011/02/15(火) 16:57:18ID:Ta3hU+9tありがとうございます。
参考のURLを見ました。
URL先の方はMDB2のソースを直接編集していらっしゃいますが
レンタル鯖でありますので、おそらく直接編集ができないと思い
トランザクションの開始と、ロールバック、コミットについては
MDB2のメソッドを使わずに、SQLを直接実行させてみました。
//$mdb2->beginTransaction();
$mdb2->query("START TRANSACTION;");
//$mdb2->rollback();
$mdb2->query("ROLLBACK;");
のように、それぞれを修正しました。
結果、思った通りの動作をしてくれました。
本当にありがとうございました。
心より感謝致します。
0060nobodyさん
2011/02/15(火) 17:01:43ID:???このスレでは定期的にあることだから気にしないけどなw
0061nobodyさん
2011/02/15(火) 17:04:18ID:???こんなにレベルの低い人達しかいないなんて がっかりです、
37の答えだって本当は教えてあげてもよかったんだが
こういうあつかいを、されるなら考え直します
0063nobodyさん
2011/02/15(火) 17:06:25ID:???なんか差別語みたいですが
そういうのって使っちゃいけないと教わったんですが
あんたらほんとうに大人?
0067nobodyさん
2011/02/15(火) 17:14:37ID:???最初から全部大根役者だったんじゃね?
0068nobodyさん
2011/02/15(火) 17:22:08ID:???よくわかったな。前スレの終盤からここまで俺が
PC+スマホ+αを駆使して暇人を釣ってたんだよw
ちなみに+αは、俺の部屋で世紀末リーダー伝たけし!を読みながら
参戦した友人のK君ね
「お前が一番暇だろwww」っていうレスは受け付けないのであしからず
0070nobodyさん
2011/02/15(火) 19:45:26ID:???007170
2011/02/15(火) 19:49:31ID:???が恥をかくことになっちゃうけど
0072nobodyさん
2011/02/15(火) 20:44:41ID:???0073nobodyさん
2011/02/15(火) 21:23:29ID:???0074nobodyさん
2011/02/15(火) 22:09:48ID:???0075nobodyさん
2011/02/15(火) 23:19:58ID:Z0gRK6Gz$sth = $pdo->prepare("SELECT col_1,col_2 FROM hoge");
$sth->execute();
$result_1 = $sth->fetchALL(PDO::FETCH_COLUMN, 0);
$result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1);
とやると
$result_1はちゃんと配列が取れますが
$result_2は何もありません
カーソルが最後まで行ったからかと思うのですが
どうすれば$result_2にも配列を取れるでしょうか
これを書き足して新スレを立ててくださいね。
$result_2にも配列を欲しがる理由を教えてください。
0078nobodyさん
2011/02/16(水) 02:30:55ID:???PDOにはmysql_data_seekみたいな機能は無さそうだから無理っぽいね
普通に考えると、そういうときは
$result = $sth->fetchALL();
として、
$result_1に相当する部分は$result[n][0]で、
$result_2に相当する部分は$result[n][1]でアクセスするべきだと思う
0079nobodyさん
2011/02/16(水) 08:04:38ID:???> $result_1はちゃんと配列が取れますが
申し訳ないが、$sth->fetchALL直後の$result_1と$result_2をvar_dumpした結果を教えてくれないか?
0081。
2011/02/16(水) 12:24:32ID:???$result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1);
の前でもう一回
$sth->execute();
を実行して下さい。
008275
2011/02/16(水) 12:47:11ID:???釣りって言葉はありえなくね
ということで
var_dumpすると$result_2は空でした
再度executeするよりは二次元配列から取り出す方がいいかな
それでやってみます
ありがとうございました
0083nobodyさん
2011/02/16(水) 13:12:31ID:bzYdcF36$int = $_REQUEST[int];
$caption = $value->item[$int]->title;
では表示されず、
$int = "0";
$caption = $value->item[$int]->title;
でなら表示されるという不具合に悩まされています。
$int = $_REQUEST[int];
echo $int;
とすると数字が 1 などと表示されるのですが
$caption = $value->item[$int]->title;
では表示されません。
何故でしょうか?
0084nobodyさん
2011/02/16(水) 13:13:37ID:???0085nobodyさん
2011/02/16(水) 13:30:24ID:???0087。
2011/02/16(水) 13:34:59ID:???0089。
2011/02/16(水) 13:42:50ID:???Notice: はでるけど $_REQUEST[int]; でも ?int=1 で 1が取れるんだよな。
まず、 var_dump( $value->item ) を確認してください。
itemに 0はあるけど 1ないとかそういう単純な話かも。
0091nobodyさん
2011/02/16(水) 15:56:11ID:???/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < なわけねぇだろ!
/| /\ \__________
009283
2011/02/16(水) 17:10:14ID:bzYdcF36item[1]などはちゃんとあるのですが
$_REQUEST[int]からだと表示されません。
GETで値を渡しているのですがもっといい方法があるんでしょうか。
0093nobodyさん
2011/02/16(水) 17:32:14ID:???0094nobodyさん
2011/02/16(水) 17:32:22ID:0JcE1KEJ【PHPのバージョン】5.1
【連携ソフトウェア】無し
【質問内容】 正規表現でマッチした(<title>〜</title>)以外の所の置き換えをしたいのですが判定方法をどうすればいいか考えてます。
$text = "hogehoge<title>title</title>mogemoge";
このhogehogeやmogemogeにあたる部分のみを置き換えしたいのですが方策が思いつかず困ってます。
流れとしてどうすればいいかアドバイスもらえないでしょうか。
009583
2011/02/16(水) 17:33:32ID:bzYdcF36009783
2011/02/16(水) 17:46:35ID:bzYdcF36しかし、試しに
$int = $_GET[int];
$int = $int+1;
こうしてみると$caption = $value->item[$int]->title;が表示されます。
これはどういう事でしょうか。
009883
2011/02/16(水) 17:49:13ID:bzYdcF36$int = $int+1;
$int = $int-1;
これで表示されるのでとりあえずこれで行ってみます。
しかし激しく格好わるいですね。
009994
2011/02/16(水) 17:59:12ID:0JcE1KEJありがとうございます。
preg_split("/\<title\>(.*?)\<\/title\>/", $text)
としてhogehogemogemogeを取り出す事は出来たんですが、置き換え後にどう元に戻せばいいのかと考えてます。
作業前:hogehoge<title>title</title>mogemoge
を置き換えて
作業後:example<title>title</title>example
としたいわけです。
preg_splitで取り出してpreg_replaceで置き換えたあとにどうすれば作業後の結果に戻せるのか方策が思いつかないです・・・。
0100nobodyさん
2011/02/16(水) 18:01:48ID:vtmLK1PS$query = mysql_query($sql);
このようなSQL文のクエリからmysql_fetch_name($query,0)のようにして
フィールド名を取得しようとしたのですが、ASで変換している箇所は取得できません。
どうやって変更したフィールド名を取得すればいいのでしょうか?
0101nobodyさん
2011/02/16(水) 18:09:32ID:???コードがミスっていました。スレ汚しすみません。
0102。
2011/02/16(水) 18:37:04ID:???$text = preg_replace( "/.*(?=<title>)/", "前",$text,1);
$text = preg_replace( "/(?<=<\/title>).*/", "後",$text,1);
0104nobodyさん
2011/02/16(水) 19:11:33ID:xv6q7uMH【PHPのバージョン】5.1.6
ob_get_level()でレベルを取得すると2となります。
クライアントに即座にデータをおくりたいのですが、
ob_get_level()で1がかえってくるようにするには
どのようにすればよろしいでようか?
0105nobodyさん
2011/02/16(水) 19:12:24ID:???試してないけど
preg_replace("/\<title\>(.*?)\<\/title\>/", "example<title>$1</title>example" , $text)
0110nobodyさん
2011/02/16(水) 19:24:14ID:???ob_get_levelの意味はわかってるよね
ob_startを2回したからネストレベルが2になったんだろ
ob_end_flushやob_end_cleanでバッファリングを1段終了できるよね
ていうか何のためにob_startしてるか理解してるの?
0112107
2011/02/16(水) 19:34:13ID:???ありがとう
>>110
すみません。意味がやっとわかりました。
おかげで期待通りの動きになりました。
ありがとうございました。
011394
2011/02/16(水) 19:44:25ID:0JcE1KEJ4つ目の引数に1って指定できるの知りませんでした。
正規表現も勉強になります。
実際のデータにはエンティティ化された文字がはいっててtitileタグ内はそのままで
エンティティ化された部分だけを置き換え出来るようにしたいと考えてます。
<""><title>title</title><"//">
を
<""><title>title</title><"//">
としたいので<title>の前の部分の内容によって置き換え条件を変更したいわけです。
explodeみたいなので配列に分割できればラクそうだったんですが。
[0]=> <""> [1]=> <title>title</title> [2]=> <"//">
こんな風に出来れば指定部分だけそのままで配列0と2だけ置き換えしてimplodeでもすれば出来るんじゃないかと。
こういうことが出来るのかどうか、代替手法があるのかどうかちょっとまだ見えてないんですが。
0114nobodyさん
2011/02/16(水) 20:01:42ID:???0115nobodyさん
2011/02/16(水) 20:04:22ID:???コマンドプロンプトからPHPを実行した場合、
後者のほうがパフォーマンスはいいのですかね?
0116nobodyさん
2011/02/16(水) 20:06:43ID:???0118nobodyさん
2011/02/16(水) 20:08:10ID:???if (preg_match('#(.*?)(<title>.*?</title>)(.*)#i', $text, $match)) {
$text = str_replace('"', '"', $match[1])
. $match[2]
. str_replace('"', '"', $match[3]);
}
echo $text;
0119nobodyさん
2011/02/16(水) 20:15:59ID:???0120nobodyさん
2011/02/16(水) 20:56:51ID:DO+wFNocどうするのがスタンダードですかね?
0122nobodyさん
2011/02/16(水) 22:47:21ID:DO+wFNocEUC-JPかUTF-8ってのは分かってるんですけど
それでもどっちがスタンダードかなと思いまして。
あと、改行コードはCRLFとLFどっちですかね?
0123nobodyさん
2011/02/16(水) 23:03:20ID:???そうすりゃ文字コードで悩む事は無くなる
0125nobodyさん
2011/02/17(木) 10:29:53ID:T4c0Fhk0json_encode json_decode を使えば簡単なんですがメモリ消費が激しく
今はしのげるものの、今後増え続ける変換処理でメモリ不足になります。
もっと動作的にもメモリ的にも軽く使う方法があれば教えてください。
0126nobodyさん
2011/02/17(木) 10:44:17ID:???クソ深いネスト構造だとあまり効果が見込めないが
http://php.net/manual/ja/class.splfixedarray.php
具体的なデータの構造と用途を披露したら別のアプローチも出るんじゃね
0127nobodyさん
2011/02/17(木) 10:51:57ID:???そんな手抜きするやつはビンタだな
0128。 ◆oDupeixhZv52
2011/02/17(木) 11:17:46ID:???serializeとかvar_exportでも同じだろうから、
配列読みながらファイルに書き込むのを作るしか。
0129nobodyさん
2011/02/17(木) 12:12:10ID:DXaPju3P0130nobodyさん
2011/02/17(木) 12:40:14ID:fkwoRsvLrequire "config.php";
として呼び出されているconfig.phpの中身が丸ごと画面に出力されていました
で、よくみるとconfig.phpには
<?php と ?> の、頭とお尻のphp宣言がない状態でした。
?>を書かないというのは聞いたことありますが、<?phpを省略するなんて可能なんですか?
結局両方とも書き足したら動くようになったんですが、「<?phpを書かなくても動くようにする」には
どうしたら良いんでしょうか?
0131nobodyさん
2011/02/17(木) 12:51:59ID:???0132。 ◆oDupeixhZv52
2011/02/17(木) 13:10:14ID:???0133nobodyさん
2011/02/17(木) 13:12:17ID:guOwmBH1require "config.php";
って書いただけで、それが書かれたファイルがある場所とは別の
ライブラリ専用フォルダの中から探してきてくれるようにするにはどうすればいい?
0134。 ◆oDupeixhZv52
2011/02/17(木) 13:15:14ID:???http://www.php.net/manual/ja/ini.core.php#ini.include-path
0135nobodyさん
2011/02/17(木) 13:57:09ID:???どうもです。アプリケーションの書き間違いだったんですかね。
不具合のレポートとか調べてみることにします。ありがとう
0136nobodyさん
2011/02/17(木) 14:37:52ID:hXN9jln4【PHPのバージョン】5.1.6
【連携ソフトウェア】
【質問内容】
実行されているPHPのプログラムが
CLIモードで動いているかどうかを
取得する方法はありますか?
0137。 ◆oDupeixhZv52
2011/02/17(木) 14:51:12ID:???■ このスレッドは過去ログ倉庫に格納されています