【PHP】下らねぇ質問はここに書き込みやがれ 73
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/09/03(水) 20:14:53ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0357350
2008/09/13(土) 18:48:17ID:pzz5TTkeありがとうございます
教えて頂いたのに申し訳ありません。自分の借りているサーバーでは使えないようです
他の方法はありませんか?
0358nobodyさん
2008/09/13(土) 19:10:00ID:???◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0359356
2008/09/13(土) 19:16:42ID:96XvOi4c失礼しました。改めてよろしくお願いします。
0361nobodyさん
2008/09/13(土) 21:35:23ID:???PHPだけでは難しいな
レン鯖ってのも制約になるな
決まったフォーマットのファイルのみアップロード出来るようにするのか?
それならそのファイルのヘッダーを解析してそれで個別に判別するって手がある
png画像なら先頭から16進数で「89 50 4E 47 0D 0A 1A」ってなるしな
0362350
2008/09/13(土) 21:54:03ID:pzz5TTkeありがとうございます。レン鯖でPHPでは難しいですか・・・
>決まったフォーマットのファイルのみアップロード出来るようにするのか?
その通りです、画像のみをアップロードできるようにするつもりです
教えて頂いた方法について調べてきます。ヘッダーの事まで詳しくありがとうございました
0363nobodyさん
2008/09/13(土) 22:27:38ID:???SQLで日本語検索でワイルドカードを使うと返ってくるはずの値がNULLで
返ってきてしまって困っています。
SQL文は
SELECT * from foo where hoge like 'ほげほげ% order by hoge;
と言う感じです。MDB2を使ってqueryメソッド後fetchRowしています。
同じようなSQL文をphpMyAdminに打ち込むとちゃんと返ってくるのですが……。
どうすればいいですか?
0366nobodyさん
2008/09/13(土) 22:59:08ID:???0367nobodyさん
2008/09/13(土) 23:02:16ID:???set names binary で無効化しておくといい
0368nobodyさん
2008/09/13(土) 23:12:34ID:???とりあえずこれでなんとかなりそうです
ありがとうございました
0369nobodyさん
2008/09/13(土) 23:44:26ID:BhYvyZPP0370nobodyさん
2008/09/14(日) 00:14:02ID:???0371nobodyさん
2008/09/14(日) 00:32:38ID:???0372nobodyさん
2008/09/14(日) 00:36:52ID:???方法ってないですか?
0373nobodyさん
2008/09/14(日) 00:52:50ID:???0374nobodyさん
2008/09/14(日) 00:57:52ID:jkZCRRgG>>373
ありがとうございます!
0375nobodyさん
2008/09/14(日) 09:20:12ID:B7I6GMpnphpを勉強するのに何をしたら「俺すげぇ進化したぁ」と感じたかを質問しようと思っていましたが、
ログ読んだら
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
のほうがよさそうなのでそちらで聞いてみます。
質問しませんでしたが、ご案内どうもありがとうございました。
0376nobodyさん
2008/09/14(日) 17:55:44ID:aP+G67AQこの新聞記事って矛盾しませんか?
http://headlines.yahoo.co.jp/hl?a=20080914-00000905-san-soci
東大阪市内の住宅団地に宅配に訪れた男性店員(43)を殴ったりけったりし、現金約4万円入りのポーチを奪った疑い。
店員にけがはなかった。
殴ったり蹴ったりしたのに、怪我がないわけねーだろっw
0380nobodyさん
2008/09/14(日) 19:25:16ID:8YhVvg5g10進に変換するにはどうすればいいでしょうか。
0381nobodyさん
2008/09/14(日) 19:59:44ID:???0382nobodyさん
2008/09/14(日) 20:25:29ID:8YhVvg5g0383nobodyさん
2008/09/14(日) 20:29:49ID:???0384nobodyさん
2008/09/14(日) 20:40:59ID:8YhVvg5g\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a
みたいに10進にしたいのです。
0385nobodyさん
2008/09/14(日) 20:43:10ID:???0386nobodyさん
2008/09/14(日) 20:56:08ID:???0387nobodyさん
2008/09/14(日) 21:49:42ID:8YhVvg5g0388nobodyさん
2008/09/14(日) 22:08:29ID:???0389nobodyさん
2008/09/14(日) 22:22:36ID:???独立したライブラリになる訳がない
自分で作れ、sprintfでラップすれば簡単だろ
0390nobodyさん
2008/09/14(日) 22:23:33ID:???0391nobodyさん
2008/09/14(日) 22:58:25ID:???0392nobodyさん
2008/09/15(月) 00:46:03ID:Z5L8IMAZ毎回見に行くテーブルのデータがあります。
参照するだけなので、たいしたことがないとは思うのですが、
1日数十万件のリクエストがありますので、やはりDBへの接続コストが気になります。
phpのソースに直接書き込んでしまうことも考えたのですが、
1週間に1回程度書き直さなくてはなりません。
高速で参照だけをしたい場合の最適解として、何が一番お勧めですか?
0393nobodyさん
2008/09/15(月) 00:55:08ID:???0394nobodyさん
2008/09/15(月) 01:37:48ID:???0395nobodyさん
2008/09/15(月) 01:39:25ID:???0396nobodyさん
2008/09/15(月) 02:03:35ID:???UTN
機種やFOMAカードに固有のID
通知するかしないかを随時確認
GUID
契約者によって固有のID
通知するかしないかは公式メニューから設定
SSLでは使えない
0397395
2008/09/15(月) 02:10:22ID:???さすが糞スレですね
まじめに答えてくれてありがとさんね^w^
0400nobodyさん
2008/09/15(月) 09:15:16ID:???javascriptのDOMのinnerHTMLのように
文字列を展開して要素内に子要素を作りたいのですが
phpで同じ事をやる方法が分かりません。
javascriptであるidが”hoge”であるDivの中にDivを文字列を挿入する事によって作る場合
document.getElementByID("hoge").innerHTML="<div></div>";
となります。
これと同様の事をPHPでやりたいのです。
DOMDocument->loadHTML()は目的に近いのですが、ノードに対して同じ事をやるにはどうすればいいのでしょうか
ご教示お願いいたします。
0402400
2008/09/15(月) 09:37:30ID:???0404400
2008/09/15(月) 09:55:16ID:fcMLLR5u0408nobodyさん
2008/09/15(月) 10:43:36ID:???ローカルルールに文句があるなら自分で別スレたてるか黙ってろよ
0409nobodyさん
2008/09/15(月) 10:51:09ID:???独善的ではないでしょう。
長い間利用されてきたし合理的なルールだと思うけどね。
余計な混乱を起きないし、質問者、回答者共にメリットがある。
0410nobodyさん
2008/09/15(月) 10:58:22ID:???PHPにいくのと
Rubyにいくのと、
どっちが楽?
0419nobodyさん
2008/09/15(月) 13:49:36ID:???0420>>419
2008/09/15(月) 13:50:36ID:VaCZMoEp0421nobodyさん
2008/09/15(月) 14:16:36ID:???いかにもハマりそうな内容だな
0422nobodyさん
2008/09/15(月) 14:19:49ID:???これ参考にならんか?
0423nobodyさん
2008/09/15(月) 14:22:17ID:???1.array[10]をserializeした文字列A
2.文字列AをunserializeしたarrayB[10]
2.の処理の際、たまにunserializeがfalseを返すことがあります。
成功した時の文字列と失敗した時の文字列を比較しても、どこが異常かわかりませんでした。
ちなみに、arrayには、XML整形済みのデータが入っています。
ここ2日間googleで関連するサイトを調べましたが、原因不明です。
unserializeにはバグのような仕様があるのでしょうか?
ちなみに以前もXML → simplexml形式に変換した文字列はserialize関数のバグにより
正常にシリアライズできないという事態に見舞われました。(これはxmlを直接シリアライズすることで解決)
0424nobodyさん
2008/09/15(月) 14:34:46ID:???以前は100kb制限なんてバグがあったなぁ
少なくともPHP5.2以降はなかったはずだが
文字コードが原因とかも考えられないだろうか
0425423
2008/09/15(月) 14:39:06ID:???レスありがとうございます。
あるサイトに載っていた手法で mb_conver_string をエンコードをUTF-8に強制的に
統一してみましたが、改善しませんでした。
引き続き調査してみます。結果がでましたら、このスレでご報告いたします。
0426nobodyさん
2008/09/15(月) 16:15:02ID:???0427nobodyさん
2008/09/15(月) 16:26:30ID:???0428あのぉ
2008/09/15(月) 16:37:56ID:???このプログラムの作り方を教えていただきたい。
0429nobodyさん
2008/09/15(月) 17:04:09ID:???0430nobodyさん
2008/09/15(月) 17:22:58ID:???力技っぽいけど事故解決しました
idがhogeのDivに新たに文字列からパースした子要素を追加する
$doc = new DOMDocument();
$doc->loadHTML("<html><body></body></html>");
$newDiv=$doc->createElement("div");//id="hoge"のDiv
$newDiv->setAttribute("id","hoge");
$body=$doc->getElementsByTagName("body");
$body->item(0)->appendChild($newDiv); //bodyにDiv要素追加
$str=$doc->saveHTML()//docの内容を文字列として得る;
$pos=strpos($str,'id="hoge"');
$pos=strpos($str,'>',$pos)+1;//idがhogeの要素の閉じ位置を得る
$head=substr($str, 0,$pos);//閉じ位置から頭と足に分割
$foot=substr($str,$pos);
$newStr=$head."<div>ok</div>".$foot;//文字列として連結
$doc1= new DOMDocument();
$doc1->loadHTML($newStr)//これでパースされる;
0431nobodyさん
2008/09/15(月) 17:38:27ID:???わけのわかんない説明ですけどnumber_formatのカンマをつけないバージョンみたいな
0433nobodyさん
2008/09/15(月) 17:47:23ID:???rtrimで0を除去したらどうか
元がfloatだろうから、一時的にstringにしないと上手く行かん気はする
0434nobodyさん
2008/09/15(月) 17:52:22ID:???データとしては3500.0が格納されているのですがechoなんかで表示の際には3500にしたいんです
number_formatもそうですが小数点以下の桁数を指定すると0だろうと必ず表示しちゃうんですね
こういうのって関数一つで簡単に切り捨てたりできるんでしょうか?
0437nobodyさん
2008/09/15(月) 18:10:37ID:???0438nobodyさん
2008/09/15(月) 18:16:47ID:???それ、stringになってね?floatにキャストしてからechoしてみ
0439nobodyさん
2008/09/15(月) 18:22:34ID:???fetchやfetch_allで結果セットを最後まで取得しきったあとに
次のステートメントをセットしたとき、
その前に見てた結果セットは内部的には自動的にクローズ
されているのでしょうか
それとも、実は生き残ってたりしますか?
0440nobodyさん
2008/09/15(月) 18:31:31ID:???0441nobodyさん
2008/09/15(月) 18:32:59ID:???上書きしない限りはPHP終了まで残るだろ
0444nobodyさん
2008/09/15(月) 18:39:21ID:???ID出してない奴に答えたい回答者は別スレ立てるか移動してくれ
ハッキリいって邪魔
0445nobodyさん
2008/09/15(月) 18:40:35ID:???ていうか、自動じゃなくて手動でもいいんだけど
結果セットを解放する手段ってあるのかな
closeCursor()だと別に解放するわけじゃないし
0446nobodyさん
2008/09/15(月) 18:42:33ID:???http://pc11.2ch.net/test/read.cgi/php/1221471692/
0449431
2008/09/15(月) 18:49:00ID:???number_formatとかのカンマ付でゼロ切り捨ては難しいでしょうか?
1234.0なら1,234
1234.5なら1,234.5みたいな
0450nobodyさん
2008/09/15(月) 18:50:36ID:???0451nobodyさん
2008/09/15(月) 18:50:04ID:???0452nobodyさん
2008/09/15(月) 18:51:41ID:???0453nobodyさん
2008/09/15(月) 18:53:02ID:???0454nobodyさん
2008/09/15(月) 18:57:53ID:???1時間くらいマニュアル見てたんだけど見当たらなくてさ
まあマニュアルに書いてあるってのがわかっただけでも
助かったよ
0455423
2008/09/15(月) 21:48:18ID:JMFXV6K4結論から言うとunserializeの問題ではありませんでした。
pg_escape_stringを通すと、同じ文字列でもなぜか違う結果
('を''と返したり、''''と2個返したり、動作不安定)を返すことが原因でした。
現在、なぜ違う結果を返すのかを確認中ですが、バイト単位でみても
違いはなく、同じデータソースを使って10回escapeすると、1-2回違う結果を
返すようですので、バグなのではないかと見ています。
が、現在、他のシステムでもescapeしていますが、そちらは問題ありません。
引き続き調査する予定です。
まずは報告まで。
0456423
2008/09/15(月) 21:53:32ID:???吐き出されたシリアライズスキーム内の文字列長さ(s:xxx)が実際の文字長より多く(’’が重複した分)
なってしまい、unserializeに失敗しているようです。
解決するには、s:xxxの文字列長さを直接編集して、適切な長さにしてあげると
ちゃんとunserializeできました。
■ このスレッドは過去ログ倉庫に格納されています