【PHP】下らねぇ質問はID出して書き込みやがれ 110
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2011/08/30(火) 17:23:31.78ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0856nobodyさん
2011/09/22(木) 00:49:51.04ID:4MH/JO69$piyo_array = array_diff( $hoge_array, array( "" ) );
$out = array_merge(array_diff($in, array("")));
どちらがいいのでしょうか?
0857853
2011/09/22(木) 00:52:35.29ID:3wgxkSpf>>855
回答有り難うございました。count試してみます。
fetchを使うと行数が長くなるのでスマートな書き方があるのかな?
と思って質問させて頂きました。
0858nobodyさん
2011/09/22(木) 02:09:20.51ID:???カウントするのがメインでぐるぐる回してたのなら石井さんがトチ狂ったんだろうと思う
でも石井さんはトチ狂わないので>>855が何か勘違いしている
0859nobodyさん
2011/09/22(木) 03:41:06.87ID:???一致するレコードがあるかどうかを総当たりする以外に方法はないと思うので、ぐるぐる回しはやむを得ないのでは?
0861nobodyさん
2011/09/22(木) 06:03:16.97ID:???>>856
http://php.net/manual/ja/function.array-filter.php#example-4210
もしくは明示的に
$a = array('a', '', 'b', 'c');
$b = array_filter($a, 'strlen');
キーを振りなおしたいなら更に
$c = array_values($b);
0862nobodyさん
2011/09/22(木) 12:41:44.45ID:4MH/JO69ありがとうこざいます
0863nobodyさん
2011/09/22(木) 14:21:43.73ID:???0864nobodyさん
2011/09/22(木) 14:57:56.86ID:wgnnkyS+PHPで絵文字対応の日記サイトみたいなのを作っています。
携帯からも投稿出来るようにしており、携帯のウェブフォームから入力するときに、絵文字は[[hare]]みたいな感じに変換して
PC上ではそれに対応した画像を表示するようにしています。
携帯のメールでも日記が書けるように対応したのですが、絵文字関連で困っています。
メールを送ったら日記が登録出来る部分は完成したのですが、絵文字を入れてしまうと絵文字の部分が「(太い)=」(ゲタというのかな)になってしまいます。
携帯Webフォームと携帯メールでは絵文字の送出コードが違うのでしょうか?
ちなみにWebサイトはUTF-8で作っており、絵文字コードもUTF-8を使っています。
0865nobodyさん
2011/09/22(木) 15:04:36.80ID:???回答できなくてもうしわけないんだけれど
> 携帯Webフォームと携帯メールでは絵文字の送出コードが違うのでしょうか?
これに関しては、そこで保存されてるデータを見れば分かるんじゃないですか
0866nobodyさん
2011/09/22(木) 15:18:48.13ID:???恐らくauで問題が出てるんだろうが
PHPに関係ないから他の板で聞いて
http://www.au.kddi.com/ezfactory/tec/spec/3.html
0867nobodyさん
2011/09/22(木) 17:17:56.46ID:GYZEFe+Rこういう風に複数個指定したいのですが↑これではエラーになります。
どういう風に記述したら良いんでしょうか?
0868nobodyさん
2011/09/22(木) 17:31:32.29ID:???strstr($_SERVER['HTTP_USER_AGENT'],"Android") ||
strstr($_SERVER['HTTP_USER_AGENT'],"blackberry")){
0869nobodyさん
2011/09/22(木) 18:00:11.60ID:wgnnkyS+ありがとうございます。
あれから色々調べてみましたが、どうもドコモとSBではPC宛のメールで絵文字が使われていた場合、絵文字を「=」に変換してしまうそうで、
完全に絵文字に対応させる事は出来なさそうですので、あきらめました・・・。
絵文字は奥が深いなぁ・・・。
0870nobodyさん
2011/09/22(木) 18:25:42.65ID:???0871nobodyさん
2011/09/22(木) 18:38:32.54ID:GYZEFe+Rやはりそれしかだめですか・・・
ありがとうございました!
0872nobodyさん
2011/09/22(木) 19:08:12.41ID:???0873nobodyさん
2011/09/22(木) 19:19:48.23ID:???・正規表現を使う
・iPhone Android blackberryを配列にいれて、ループでまわす
代替手段としてこういうのがありはするけれど、UA判別ならベタでいいんじゃないかなーと
0874nobodyさん
2011/09/22(木) 22:38:37.73ID:oifAShVU100行以内ぐらいのサンプルスクリプトとか乗ってるお勧めのサイトおしえてください
0875nobodyさん
2011/09/22(木) 23:08:34.61ID:???0876nobodyさん
2011/09/22(木) 23:10:43.08ID:???トチ狂っててスマンカッタ。
カウントするのがメインじゃない事は覚えてたんだが、$i++が印象に残っていたもんでついつい書いちまっただけなんだ。
よくよく思い出すと、データベースのoffset対応が怪しかった時代に、ページネートするソースの一部だった気がする。
オレがPostgresいじりだした時にはすでにoffset対応してたから、石井さんのソースだったじゃなかったかもしれん。
0877nobodyさん
2011/09/23(金) 00:44:14.87ID:Qj3Cu7pD$str=”60*60*24”;
のように、文字列型になってしまったものを、再度、60*60*24 のように数式に変換することは可能でしょうか
具体的には、Queryで渡って来た文字列を数式として実行し、60*60*24 の解を返したいんですが
0878nobodyさん
2011/09/23(金) 00:44:24.57ID:y6S3nqex鬼のように怖い図書室のおばちゃんにどんな言い訳したらいいですか?
0879nobodyさん
2011/09/23(金) 01:29:11.83ID:???どういうバトルが繰り広げられるんだ?
0880nobodyさん
2011/09/23(金) 01:29:46.81ID:???0881nobodyさん
2011/09/23(金) 02:14:10.27ID:/HZvV+Unfunction doFire(){
httpoj = new XMLHttpRequest();
httpoj.open("POST","do.php",true);
httpoj.setRequestHeader("content-type","application/x-www-form-urlencoded");
httpoj.onreadystatechange = function(){
var res="readyState="+httpoj.readyState+" / response="+httpoj.response;
console.log(res);
}
httpoj.send("key=hoge&file=DESKTOPBASENAME");
}
サーバーサイドで
header("Content-Type:text/html;charset=UTF-8");
header("Cache-Control: no-cache, must-revalidate");
if(!$_POST["key"]){print("NG");}else{print("OK");}
print("/".date(DATE_ISO8601));
exit();
と、あります。
クライアント側でdoFire()を十分な時間を開けて(httpoj.readyStateが4になって受信完了したのを確認して)何度か実行しているのですが
OKとNGが全く規則性なく、酷い時は交互に返って来るのですがどうすれば確実に$_POSTを渡せるのでしょうか
ググると"application/x-www-form-urlencoded"のヘッダーを付けるんだよというのが沢山引っかかるのですが、付けても確実に値を渡すことは出来ませんでした
0882nobodyさん
2011/09/23(金) 02:45:20.82ID:???for Linux
<?php
//php で四則演算を解読させるのが面倒臭いので
//計算自体はシェルコマンド(expr)にやらせる。
//但し、exprが解読出来るように整形する必要がある
//
//注:exprは、整数しか処理できない。
$str = "60*60*25";
$pattern = array('#\+#', '#-#', '#\*#', '#/#');
$replace = array(' + ', ' - ', ' \* ', ' / ');
$formatted = preg_replace($pattern, $replace, $str);
$result = exec ('expr ' . $formatted);
echo $result;
?>
Windows の場合はシラネ
0883nobodyさん
2011/09/23(金) 02:47:06.18ID:???http://php.net/manual/ja/function.eval.php
0884nobodyさん
2011/09/23(金) 04:20:43.21ID:???構文解析でやるのが妥当かと
0885nobodyさん
2011/09/23(金) 06:09:58.76ID:???見たところ、シェルにやらせるよりはスマートだと思ったけど。
0886nobodyさん
2011/09/23(金) 08:37:04.75ID:???(評価させる変数が外部から来ている場合、なんやらinjectionとか発生するってーこと)
まぁ、そんなの関係なく「構文解析はロマンだぜ!」という意図なら、オレも同意だがw
0887nobodyさん
2011/09/23(金) 15:05:42.33ID:???ヘキサダンプの文字列をバイナリに変換して、ファイルに保存したいのですが、ヘキサダンプをバイナリに変換する方法
がわかりません。ご存知の方がいましたら教えていただけないでしょうかm(_ _)m
0888nobodyさん
2011/09/23(金) 16:42:00.94ID:???0889887
2011/09/23(金) 17:37:21.67ID:HYX5LAkU0890nobodyさん
2011/09/23(金) 18:48:51.64ID:???0891nobodyさん
2011/09/23(金) 19:21:42.21ID:???http://php.net/manual/ja/function.unpack.php
0893nobodyさん
2011/09/23(金) 20:12:37.91ID:???mysql_connect('localhost','root','パスワード');
にすると思うけど、パスワード設定していないときはどう書けばいいのでしょうか?
ちなみにWindowsにXammpインスコして勉強中です。
パスワード設定してないので今は
対象のコンピュータによって拒否されたため、接続できませんでした。と表示されてます
0895nobodyさん
2011/09/23(金) 20:17:01.69ID:h0s7sYZM0896nobodyさん
2011/09/23(金) 21:48:25.58ID:???ただ、mysql側の設定でパスワード無しの場合にはじかれて往生したような気がする
localの場合にはパスワード無しでいい、というような設定がたぶんできる
0897nobodyさん
2011/09/23(金) 23:08:33.29ID:???側設定無場合往生気
場合無設定
0899nobodyさん
2011/09/24(土) 00:35:57.94ID:???でいけると思うが
0900nobodyさん
2011/09/24(土) 01:26:24.92ID:???0901nobodyさん
2011/09/24(土) 02:07:28.88ID:3Mrta0ISif (preg_match("/^(.*)\r\n\r\n/s", $response_body, $header)) {
$response_header = $header[0];
$response_body = preg_replace("/^.*\r\n\r\n/s", '', $response_body);
}
これだとLocationで飛ばされた場合ヘッダーが残ってしまいます。
どう分けるべきでしょうか
0902nobodyさん
2011/09/24(土) 02:26:34.74ID:MalQcT1dPHPにありますか?
0903nobodyさん
2011/09/24(土) 02:27:18.04ID:MalQcT1d&#12288; こんなコードです。
0904nobodyさん
2011/09/24(土) 03:04:25.67ID:???echo 'あ' . mb_convert_encoding(' ', 'UTF-8', 'HTML-ENTITIES') . 'ん';
0905894
2011/09/24(土) 07:56:58.91ID:b87ynDOuありがとうございます、できました。
0907nobodyさん
2011/09/24(土) 18:12:37.99ID:???皆さんのご意見を聞かせてくだせい。
0908nobodyさん
2011/09/24(土) 18:37:47.26ID:???0909nobodyさん
2011/09/24(土) 18:46:57.66ID:???0910nobodyさん
2011/09/24(土) 18:50:45.30ID:???0911nobodyさん
2011/09/24(土) 22:42:19.26ID:???0912877
2011/09/24(土) 22:57:34.10ID:k/GpB/4mありがとうございます。参考になりました。
とりあえず以下のようなコードでやりたいことは実現できることが分かりました。
(スマートな方法では無いんでしょうけど///)
何かもっといい方法がありましたらアドバイスお待ちしてます。
$str="60*60*24";
$func="function test(){return ". $str .";}";
eval($func);
echo (test());
0913nobodyさん
2011/09/24(土) 23:25:38.62ID:???eval使うなら外部から任意のコードを実行されないようにセキュリティに気をつけて。
事前に$strを調べて数式に利用される文字以外を許容しないようにするとか。
0914nobodyさん
2011/09/25(日) 00:56:33.14ID:???echo eval('return ' . $str . ';');
0915nobodyさん
2011/09/25(日) 04:30:21.43ID:???それを踏まえたうえで、入っているものとみなしていいかという質問をしたのであれば、
入っているとみなしてはいけないと答えるしかないが。
クライアントOSがWindows7の場合、IEは入っているとみなしていいか?という質問に置き換えられると思う。
0916nobodyさん
2011/09/25(日) 05:12:01.74ID:???0922nobodyさん
2011/09/25(日) 17:47:45.82ID:lSLAMoo3$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$memcache->set('key', date('Y-m-d h:m:s'), false, 1000) or die ("データをサーバに保存できませんでした");
$rs = $memcache->get('key');
//検証
var_dump($rs);
という形で動作チェックしてるんですが、$rsの値がブラウザリロードする度に変わります
1000秒間同じ値が維持されるはずですよね?
どこかに間違いやチェックすべき点があれば教えてください
よろしくお願いします
0923nobodyさん
2011/09/25(日) 17:53:38.39ID:???0924nobodyさん
2011/09/25(日) 18:21:08.36ID:???2回目は「$memcache->set('key', date('Y-m-d h:m:s'), false, 1000)」の部分を削って見てみれ
memcacheは知らんが、普通この種のAPIには、値がセットされているか?を調べるメソッドがあるはずだからそれ使えばよろし
0925nobodyさん
2011/09/25(日) 18:25:24.62ID:LQyKU57vこれって何が原因でしょうか?
0926nobodyさん
2011/09/25(日) 20:02:04.88ID:???それと、flagsにfalseを指定している由来はどこから
0929926
2011/09/25(日) 20:08:29.75ID:???>>922
setでfalseに云々はスルーしてください
>>926
よくわからないけど、引数の順番を間違えたとか、全角の数字文字列を渡したとか。
0930nobodyさん
2011/09/25(日) 20:53:54.15ID:UUy9A1ACおっしゃる通りです。で、対策を考えたのですが、「文字列に$記号、括弧が出たら削除する」というのでどうでしょうか?
>>914
参考になります。使わせていただきます
0931nobodyさん
2011/09/25(日) 20:57:22.77ID:???いやいや、linuxコマンドとか実行されたらどうすんのよ。
数字と数学記号以外が含まれてたら無効にしないとやばいでしょ。
数式だけだったら括弧が含まれてても大丈夫だろ。
0932nobodyさん
2011/09/25(日) 20:58:22.97ID:???マヌアルのevalとかsystemとか書いてるセクション一通り読んでおくといいよ
0933nobodyさん
2011/09/25(日) 21:04:06.20ID:???0934nobodyさん
2011/09/25(日) 21:14:20.93ID:???0935nobodyさん
2011/09/25(日) 21:19:33.92ID:UUy9A1AC$str="60*60*24 phpinfo()";
$str=mb_ereg_replace("[^0-9*+-/%]","",$str);
echo eval("return $str ;");// 86400 が返る
0936nobodyさん
2011/09/25(日) 22:02:52.41ID:???0937nobodyさん
2011/09/25(日) 22:57:10.01ID:???数学関数が使われていたら?
0938nobodyさん
2011/09/25(日) 23:17:42.81ID:UUy9A1ACpreg とmb_eregの違いをよく理解してないんですが、より処理の軽い方を使いたいと思います。
>>937
今回は、時間を秒数単位で取得するのに、可読性のいい書式にしたかったので・・・
60*60*24*7 =7日 みたいな感じ
その意味では剰余のケースも要らないんですけど、
今後、他の用途に使うことがあれば考慮しないと駄目ですね。
0939nobodyさん
2011/09/25(日) 23:22:22.02ID:???でもこういうアプリはjavascriptで出来たほうが軽いと思うけどね。
0940nobodyさん
2011/09/25(日) 23:48:02.78ID:???その上でpregつかうならu必須かな
0941nobodyさん
2011/09/26(月) 00:53:19.75ID:???0942nobodyさん
2011/09/26(月) 01:51:44.94ID:???【連携ソフトウエア】なし
PHPのヒアドキュメントを、PHP アプリケーションが対応しているのに一回もまともに使えた試しが無いのですが、どうすれば良いでしょうか?
例えば。
<?php
$hDoc = <<< EOF
It is <strong>very important</strong> to study.
EOF;
echo(hDoc);
?>
なんてスクリプトを書いてサーバーにアップロード。
そしてこれを実行すると全く無反応(ヒアドキュメント自体は外部スクリプトに書いてあって、それをrequire()しているため)です。
何故でしょうか?
0943nobodyさん
2011/09/26(月) 02:08:35.93ID:???ここの部分どう書いてるかちゃんと書いてくれないかな
あとID出さないとうるさい人多いよ
0944nobodyさん
2011/09/26(月) 02:12:46.46ID:???echo($hDoc);
では?
0946nobodyさん
2011/09/26(月) 07:07:36.93ID:???0947nobodyさん
2011/09/26(月) 08:48:28.85ID:gM/XS757解決しました、ありがとうございました
0949nobodyさん
2011/09/26(月) 10:49:20.78ID:4HUDHxKv【PHPのバージョン】5.2
【連携ソフトウェア】なし
【質問内容】
session_start() せずにセッションの有無を判定する方法はありますか?
0951949
2011/09/26(月) 11:21:57.57ID:4HUDHxKvありがとうございます。できました。
0953nobodyさん
2011/09/26(月) 15:28:11.95ID:???<<<□EOF
うちの環境では<<<の後に半角スペースが入っててもエラーにならないよ。
>>942のソースの$hDocだけ直したらちゃんと表示されたけどね。
0954nobodyさん
2011/09/26(月) 18:18:18.48ID:aEjSFzjcspecファイルが付属しておらず、
そのテンプレートらしきphp5.spec.inが付属しています。
これを手作業で書き換えるのでしょうか?
それともこれを入力ファイルとして処理するツールみたいなものがあるのでしょうか?
レス数が950を超えています。1000を超えると書き込みができなくなります。