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

【PHP】下らねぇ質問はここに書き込みやがれ 73

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/09/03(水) 20:14:53ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
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カテゴリ)の各スレで
03573502008/09/13(土) 18:48:17ID:pzz5TTke
>>355
ありがとうございます
教えて頂いたのに申し訳ありません。自分の借りているサーバーでは使えないようです
他の方法はありませんか?
0358nobodyさん2008/09/13(土) 19:10:00ID:???
>>356
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
03593562008/09/13(土) 19:16:42ID:96XvOi4c
>>358
失礼しました。改めてよろしくお願いします。
0360nobodyさん2008/09/13(土) 19:26:21ID:???
>>356
フォームからデータを送信
↓
サーバでデータをファイルに書き込む
↓
記録したファイルを読み込む


以上
0361nobodyさん2008/09/13(土) 21:35:23ID:???
>>357
PHPだけでは難しいな
レン鯖ってのも制約になるな

決まったフォーマットのファイルのみアップロード出来るようにするのか?
それならそのファイルのヘッダーを解析してそれで個別に判別するって手がある
png画像なら先頭から16進数で「89 50 4E 47 0D 0A 1A」ってなるしな
03623502008/09/13(土) 21:54:03ID:pzz5TTke
>>361
ありがとうございます。レン鯖でPHPでは難しいですか・・・

>決まったフォーマットのファイルのみアップロード出来るようにするのか?
その通りです、画像のみをアップロードできるようにするつもりです
教えて頂いた方法について調べてきます。ヘッダーの事まで詳しくありがとうございました
0363nobodyさん2008/09/13(土) 22:27:38ID:???
PHP5+MySQL5でWebページを作成しているのですが
SQLで日本語検索でワイルドカードを使うと返ってくるはずの値がNULLで
返ってきてしまって困っています。
SQL文は

SELECT * from foo where hoge like 'ほげほげ% order by hoge;

と言う感じです。MDB2を使ってqueryメソッド後fetchRowしています。
同じようなSQL文をphpMyAdminに打ち込むとちゃんと返ってくるのですが……。
どうすればいいですか?
0364nobodyさん2008/09/13(土) 22:34:17ID:???
>>363
文字コードあってるか?
0365nobodyさん2008/09/13(土) 22:56:53ID:???
>>364
コードはUTF-8で書いていますし
データベースもUTF-8にしています
0366nobodyさん2008/09/13(土) 22:59:08ID:???
set names utf8
0367nobodyさん2008/09/13(土) 23:02:16ID:???
mysql5ならhandshakeが怪しいな
set names binary で無効化しておくといい
0368nobodyさん2008/09/13(土) 23:12:34ID:???
>>366をメインオブジェクトのコンストラクタでexecしたところ、検索が出来るようになりました
とりあえずこれでなんとかなりそうです
ありがとうございました
0369nobodyさん2008/09/13(土) 23:44:26ID:BhYvyZPP
ユーザー定義関数でリターン書くのと書かないのってどう違うん?
0370nobodyさん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:???
get_defined_functions
0374nobodyさん2008/09/14(日) 00:57:52ID:jkZCRRgG
id出すの忘れてました
>>373
ありがとうございます!
0375nobodyさん2008/09/14(日) 09:20:12ID:B7I6GMpn
>>227
phpを勉強するのに何をしたら「俺すげぇ進化したぁ」と感じたかを質問しようと思っていましたが、
ログ読んだら

くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/

のほうがよさそうなのでそちらで聞いてみます。
質問しませんでしたが、ご案内どうもありがとうございました。
0376nobodyさん2008/09/14(日) 17:55:44ID:aP+G67AQ
phpの質問がないようなので、ちょっと質問です。
この新聞記事って矛盾しませんか?

http://headlines.yahoo.co.jp/hl?a=20080914-00000905-san-soci
東大阪市内の住宅団地に宅配に訪れた男性店員(43)を殴ったりけったりし、現金約4万円入りのポーチを奪った疑い。
店員にけがはなかった。



殴ったり蹴ったりしたのに、怪我がないわけねーだろっw
0377nobodyさん2008/09/14(日) 18:02:02ID:???
>>376
板違い氏ねクソ野郎がっ!!!
関係ねえ話題をもってくるなクソガキがっ!!
0378nobodyさん2008/09/14(日) 18:03:54ID:???
>>376
殴って蹴って怪我がないってどんだけ無知なんだ氏ね
自分で腹殴って怪我するか確かめろzkが!
0379nobodyさん2008/09/14(日) 18:57:51ID:???
>>376
また大阪か!
0380nobodyさん2008/09/14(日) 19:25:16ID:8YhVvg5g
日本語の文字列、例えば「あいうえお」を、
10進に変換するにはどうすればいいでしょうか。
0381nobodyさん2008/09/14(日) 19:59:44ID:???
(int)'あいうえお'
0382nobodyさん2008/09/14(日) 20:25:29ID:8YhVvg5g
>>381 0になってしまいます。
0383nobodyさん2008/09/14(日) 20:29:49ID:???
どうなってほしいのですか
0384nobodyさん2008/09/14(日) 20:40:59ID:8YhVvg5g
16進で変換すると
\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:???
16進を10進に変換しろや
0387nobodyさん2008/09/14(日) 21:49:42ID:8YhVvg5g
一回で変換できる関数とかライブラリは無いのですか
0388nobodyさん2008/09/14(日) 22:08:29ID:???
作れば?
0389nobodyさん2008/09/14(日) 22:22:36ID:???
必要性のないものがコアに含まれたり
独立したライブラリになる訳がない

自分で作れ、sprintfでラップすれば簡単だろ
0390nobodyさん2008/09/14(日) 22:23:33ID:???
やりかた教えろよks回答者
0391nobodyさん2008/09/14(日) 22:58:25ID:???
1バイトずつバラしてord()でもできそうだな。
0392nobodyさん2008/09/15(月) 00:46:03ID:Z5L8IMAZ
リクエストが1回発生するたびに、
毎回見に行くテーブルのデータがあります。

参照するだけなので、たいしたことがないとは思うのですが、
1日数十万件のリクエストがありますので、やはりDBへの接続コストが気になります。
phpのソースに直接書き込んでしまうことも考えたのですが、
1週間に1回程度書き直さなくてはなりません。

高速で参照だけをしたい場合の最適解として、何が一番お勧めですか?
0393nobodyさん2008/09/15(月) 00:55:08ID:???
キャッシュ
0394nobodyさん2008/09/15(月) 01:37:48ID:???
か、cronで
0395nobodyさん2008/09/15(月) 01:39:25ID:???
IモードのUtnとGuidのOnって何が違うんすか?
0396nobodyさん2008/09/15(月) 02:03:35ID:???
PHPと関係ないけど

UTN
機種やFOMAカードに固有のID
通知するかしないかを随時確認

GUID
契約者によって固有のID
通知するかしないかは公式メニューから設定
SSLでは使えない
03973952008/09/15(月) 02:10:22ID:???
関係ない質問ってわかって回答するのなwwwww
さすが糞スレですね
まじめに答えてくれてありがとさんね^w^
0398nobodyさん2008/09/15(月) 02:21:29ID:???
>>392
日数十万件のリクエストで現状運営できているなら、
そのままでいいだろw
0399nobodyさん2008/09/15(月) 07:21:13ID:???
>>397
お前は、もしかして星野監督に泥を塗ったGG佐藤さんですか?
0400nobodyさん2008/09/15(月) 09:15:16ID:???
phpのDOMについて質問したい事があります
javascriptのDOMのinnerHTMLのように
文字列を展開して要素内に子要素を作りたいのですが
phpで同じ事をやる方法が分かりません。
javascriptであるidが”hoge”であるDivの中にDivを文字列を挿入する事によって作る場合
document.getElementByID("hoge").innerHTML="<div></div>";
となります。
これと同様の事をPHPでやりたいのです。
DOMDocument->loadHTML()は目的に近いのですが、ノードに対して同じ事をやるにはどうすればいいのでしょうか
ご教示お願いいたします。
0401nobodyさん2008/09/15(月) 09:36:12ID:???
>>397
おまえは自分で質問しといてその言い草は、さてはゆとりだな
04024002008/09/15(月) 09:37:30ID:???
マルチしたおかげで解決しました
0403nobodyさん2008/09/15(月) 09:44:48ID:???
400です
このスレッド以外には>>400の内容を書き込んでいません
04044002008/09/15(月) 09:55:16ID:fcMLLR5u
すいません、ID出していませんでした
0405nobodyさん2008/09/15(月) 09:57:26ID:???
>>401
馬鹿だな、お前。俺はゆとりじゃなくて、GG佐藤だよ。ばかじゃねーの?
0406nobodyさん2008/09/15(月) 10:15:01ID:???
>>1も読まずにIDも出せないクソゆとりが多いスレだな
0407nobodyさん2008/09/15(月) 10:39:06ID:???
>>406
独善的なルールを作って従わせようとするお前の方が痛い。
何様のつもりw
0408nobodyさん2008/09/15(月) 10:43:36ID:???
お前が何様のつもりだろ
ローカルルールに文句があるなら自分で別スレたてるか黙ってろよ
0409nobodyさん2008/09/15(月) 10:51:09ID:???
>>407
独善的ではないでしょう。
長い間利用されてきたし合理的なルールだと思うけどね。
余計な混乱を起きないし、質問者、回答者共にメリットがある。
0410nobodyさん2008/09/15(月) 10:58:22ID:???
perlを学んだ後、
PHPにいくのと
Rubyにいくのと、
どっちが楽?
0411nobodyさん2008/09/15(月) 11:06:08ID:???
この流れで>>410みたいな奴は挑発してるとしか思えん
とりあえず>>410は放置
はい次の質問どうぞ
0412nobodyさん2008/09/15(月) 11:06:26ID:???
>>400
PHPってサーバサイドだけど、そういうことできるの???
0413nobodyさん2008/09/15(月) 11:56:35ID:???
>>412
できるわけねえだろzk
0414nobodyさん2008/09/15(月) 11:56:39ID:???
>>410
動けばいい というコードを書くのならPHPが断然圧倒的に楽。
0415nobodyさん2008/09/15(月) 12:00:22ID:???
>>414
なるほど。まったく役に立たなかったけど、イメージだけは分かった。
0416nobodyさん2008/09/15(月) 11:59:43ID:???
>>412
htmlをパースして挿入すれば出来る
HTML Parser for PHP でググレ
0417nobodyさん2008/09/15(月) 12:31:55ID:???
>>407
ID出せというだけでなく、
わざわざID出さない人の自演をしたりするのが痛いよね〜。
0418nobodyさん2008/09/15(月) 12:37:39ID:???
>>416
俺には難し過ぎる。
0419nobodyさん2008/09/15(月) 13:49:36ID:???
PHPでFFMPEGの処理状況(何%)って表示できる?
0420>>4192008/09/15(月) 13:50:36ID:VaCZMoEp
sageとるの忘れてた
0421nobodyさん2008/09/15(月) 14:16:36ID:???
ffmpegの標準出力を監視すれば進捗を計算出来ないことはないだろうが、
いかにもハマりそうな内容だな
0422nobodyさん2008/09/15(月) 14:19:49ID:???
ttp://blog.katsuma.tv/2007/07/php_ffmpeg_stdout.html
これ参考にならんか?
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:???
>>423
以前は100kb制限なんてバグがあったなぁ
少なくともPHP5.2以降はなかったはずだが
文字コードが原因とかも考えられないだろうか
04254232008/09/15(月) 14:39:06ID:???
>>424
レスありがとうございます。

あるサイトに載っていた手法で mb_conver_string をエンコードをUTF-8に強制的に
統一してみましたが、改善しませんでした。

引き続き調査してみます。結果がでましたら、このスレでご報告いたします。

0426nobodyさん2008/09/15(月) 16:15:02ID:???
しかし本当にゆとりが多いなw
0427nobodyさん2008/09/15(月) 16:26:30ID:???
文字コードを変換するなら内部エンコードと合わせないとだめだろ
0428あのぉ2008/09/15(月) 16:37:56ID:???
http://srea.jp/cmt/ic.php

このプログラムの作り方を教えていただきたい。

0429nobodyさん2008/09/15(月) 17:04:09ID:???
GD関数を使えば簡単
0430nobodyさん2008/09/15(月) 17:22:58ID:???
400です
力技っぽいけど事故解決しました

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:???
小数点以下でそれ以降が0になった時点で切り捨てる関数ってありますか?
わけのわかんない説明ですけどnumber_formatのカンマをつけないバージョンみたいな
0432nobodyさん2008/09/15(月) 17:47:14ID:???
>>431
よくわかんねーよ。
具体的に言ってくれ。
0433nobodyさん2008/09/15(月) 17:47:23ID:???
>>431
rtrimで0を除去したらどうか
元がfloatだろうから、一時的にstringにしないと上手く行かん気はする
0434nobodyさん2008/09/15(月) 17:52:22ID:???
>>432
データとしては3500.0が格納されているのですがechoなんかで表示の際には3500にしたいんです
number_formatもそうですが小数点以下の桁数を指定すると0だろうと必ず表示しちゃうんですね
こういうのって関数一つで簡単に切り捨てたりできるんでしょうか?
0435nobodyさん2008/09/15(月) 17:56:32ID:???
>>434
sprintfの存在を忘れちゃいかん
0436nobodyさん2008/09/15(月) 18:00:14ID:???
>>435
馬鹿ですみません

ゼロ切り捨てでググるとギアスが出てきてうざい…
0437nobodyさん2008/09/15(月) 18:10:37ID:???
roundの存在を忘れちゃいかん
0438nobodyさん2008/09/15(月) 18:16:47ID:???
というかfloatをechoしても右端のゼロは出ないっしょ
それ、stringになってね?floatにキャストしてからechoしてみ
0439nobodyさん2008/09/15(月) 18:22:34ID:???
PDOの質問です

fetchやfetch_allで結果セットを最後まで取得しきったあとに
次のステートメントをセットしたとき、
その前に見てた結果セットは内部的には自動的にクローズ
されているのでしょうか

それとも、実は生き残ってたりしますか?
0440nobodyさん2008/09/15(月) 18:31:31ID:???
自動で破棄される。ってか試せよ、釣りか?ゆとりか?
0441nobodyさん2008/09/15(月) 18:32:59ID:???
ステートメントは変数単位で返されんじゃん
上書きしない限りはPHP終了まで残るだろ
0442nobodyさん2008/09/15(月) 18:37:22ID:???
皆様どうもありがとう
>>438の言う通りfloatにキャストしたらうまくいきました
04434392008/09/15(月) 18:37:48ID:???
>>440
試してもわからないから聞いたんだろカス

>>441
そうなんですか回答ご苦労
0444nobodyさん2008/09/15(月) 18:39:21ID:???
>>443みたいなクソ質問野郎がいるから回答も萎える
ID出してない奴に答えたい回答者は別スレ立てるか移動してくれ
ハッキリいって邪魔
0445nobodyさん2008/09/15(月) 18:40:35ID:???
>>440
ていうか、自動じゃなくて手動でもいいんだけど
結果セットを解放する手段ってあるのかな
closeCursor()だと別に解放するわけじゃないし
0446nobodyさん2008/09/15(月) 18:42:33ID:???
【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
http://pc11.2ch.net/test/read.cgi/php/1221471692/
0447nobodyさん2008/09/15(月) 18:42:48ID:???
>>440 と >>441 は完全に逆の答えだね・・・
0448nobodyさん2008/09/15(月) 18:45:04ID:???
初心者が初心者に回答するスレなんだから仕方ないだろ
人はそうやって成長していくものさ
で、質問者は>>1読めよ
04494312008/09/15(月) 18:49:00ID:???
何度も申し訳ないんですが
number_formatとかのカンマ付でゼロ切り捨ては難しいでしょうか?
1234.0なら1,234
1234.5なら1,234.5みたいな
0450nobodyさん2008/09/15(月) 18:50:36ID:???
この流れでID出さないとはGG佐藤さんですか?
0451nobodyさん2008/09/15(月) 18:50:04ID:???
同じくPDOで フェッチするときにカーソルを戻す方法ってある?
0452nobodyさん2008/09/15(月) 18:51:41ID:???
あるよ
0453nobodyさん2008/09/15(月) 18:53:02ID:???
マニュアルに書いてあることを答える必要はないな
0454nobodyさん2008/09/15(月) 18:57:53ID:???
>>453
1時間くらいマニュアル見てたんだけど見当たらなくてさ
まあマニュアルに書いてあるってのがわかっただけでも
助かったよ
04554232008/09/15(月) 21:48:18ID:JMFXV6K4
原因が判明しました。

結論から言うとunserializeの問題ではありませんでした。

pg_escape_stringを通すと、同じ文字列でもなぜか違う結果
('を''と返したり、''''と2個返したり、動作不安定)を返すことが原因でした。

現在、なぜ違う結果を返すのかを確認中ですが、バイト単位でみても
違いはなく、同じデータソースを使って10回escapeすると、1-2回違う結果を
返すようですので、バグなのではないかと見ています。

が、現在、他のシステムでもescapeしていますが、そちらは問題ありません。

引き続き調査する予定です。

まずは報告まで。
04564232008/09/15(月) 21:53:32ID:???
ちなみに補足ですが、先ほどの’’が重複した文字列をserializeすると
吐き出されたシリアライズスキーム内の文字列長さ(s:xxx)が実際の文字長より多く(’’が重複した分)
なってしまい、unserializeに失敗しているようです。

解決するには、s:xxxの文字列長さを直接編集して、適切な長さにしてあげると
ちゃんとunserializeできました。
■ このスレッドは過去ログ倉庫に格納されています