【PHP】下らねぇ質問はID出して書き込みやがれ 123
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/09/25(火) 23:39:55.21ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
PHP】下らねぇ質問はID出して書き込みやがれ 122
http://kohada.2ch.net/test/read.cgi/php/1344963135/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0382nobodyさん
2012/10/09(火) 19:14:36.30ID:???0383nobodyさん
2012/10/09(火) 20:00:14.54ID:???まず、マニュアル
http://www.php.net/manual/ja/function.preg-replace.php
大事なことは下のnoteにある。
全部読んどけとは言わないが、困ったときはまずここ。
この件も当然記載がある。
0384379
2012/10/09(火) 20:38:49.42ID:VNPxmGjBマニュアルにも記載された長大文字列については検証済みで、
一部の変数をunset()するなどして文字数を減らしたりしたのですが、
unsetする変数の組み合わせによっては文字長に関係なく成功したり、文字数が長いほうが成功したり、
かといって特定の変数の文字列の中身が悪さをしているかと言えばそうでもなさそうで、
ほとほと困っていたところでした。
しかし、>>381のURLに載ってるpcre設定を5000000にしたところ、
どんな文字列の場合でも成功するようです。
試行錯誤でなかなか実態を掴めなかったのは、preg関数に渡す文字列長そのものと言うより、
正規表現マッチ処理中に使われるメモリ使用量(?)的な制限だからなのかなと思いました。
なお、( *)(.*)は、あとで$1,$2を使って再利用する目的です。省略せずに書くとこんな感じ。
preg_replace('/^( *)(.*)(Object|Array)$/m', "$1<li><code class=\"parent\">{$marker}$2$3</code>", $content);
0386379
2012/10/09(火) 22:26:58.97ID:VNPxmGjBpreg_replace()一発で、たくさん、何ヶ所も置換されますよ。
デバッグ用の関数なので、$content = print_r($GLOBALS,true);を処理させたりもします。
0387nobodyさん
2012/10/09(火) 22:46:44.02ID:???0388nobodyさん
2012/10/10(水) 07:49:07.96ID:???peal厨きめぇ
0389nobodyさん
2012/10/10(水) 12:45:38.28ID:???0390nobodyさん
2012/10/10(水) 13:15:14.74ID:???0391379
2012/10/10(水) 17:35:07.15ID:OLkF+uBv下記のように正規表現をはしょらず丁寧に書き直したところ、デフォルトのpcre設定のままでも動作するようになり、パフォーマンスも向上しました。
preg_replace('/^( *)(\[.+?\] => )?([a-zA-Z0-9_]+ Object|Array)$/m', "$1<li><code class=\"parent\">{$marker}$2$3</code>", $content);
.* を使う時は気をつけようと思います。
0392nobodyさん
2012/10/10(水) 17:36:12.99ID:???新規セッションでウインドウを開いた場合でもログインしたままになっているのですが
"ログインしたままにする"にチェックを入れた場合にはどのようにしてログイン情報を保ってるんでしょうか。
0393nobodyさん
2012/10/10(水) 17:38:01.53ID:???0394nobodyさん
2012/10/10(水) 17:54:23.89ID:???0395nobodyさん
2012/10/10(水) 17:55:34.14ID:???0396nobodyさん
2012/10/11(木) 22:48:51.21ID:GCYs23S0PDOを勉強したいのですが、「php_pdo.dll」「php_pdo_mysql.dll」「php_pdo_pgsql.dll」「php_pdo_sqlite.dll」どれもエクステンションの中に見当たりません。
PDOを使うにはどのようにすれば良いのでしょうか。
解説があるサイトなどはないでしょうか。
よろしくお願いします。
0399nobodyさん
2012/10/11(木) 23:20:15.95ID:hqHZjz9Dデフォルトで有効だろ。使えない?
あと、PHPの解説は公式マニュアルの右に出るものはないよ。
0400nobodyさん
2012/10/11(木) 23:24:42.80ID:GCYs23S0同じソースがWindows7上のxamppではPDOの設定をしてあるので表示されます。
レンタルサーバーに上げてテストしたところこちらも大丈夫でした。
なのでmacのxamppにPDOの設定をしたいと思ったのです。
0401nobodyさん
2012/10/11(木) 23:47:42.97ID:???DLLはWindows限定
0403nobodyさん
2012/10/12(金) 01:11:01.88ID:6SGPVweuなるほど。
0404nobodyさん
2012/10/12(金) 01:17:16.11ID:???0405nobodyさん
2012/10/12(金) 01:17:41.52ID:???soファイルがあるか調べろ
あったら有効にしろ
0406nobodyさん
2012/10/12(金) 02:37:27.07ID:6eWOLMKNoauthの認証ページを自動で許可する方法を教えて下さい。
0407nobodyさん
2012/10/12(金) 03:15:23.72ID:???0408nobodyさん
2012/10/12(金) 06:47:24.24ID:???0409nobodyさん
2012/10/12(金) 22:57:54.39ID:???0410nobodyさん
2012/10/12(金) 23:02:53.08ID:???同じやつが未だに解決できなくてチラチラきてる予感
0411nobodyさん
2012/10/13(土) 14:39:29.18ID:NEaW8d8Mphpで空メール→自動返信→専用URL→ユーザ情報入力→登録
とう手順で会員登録システムを作っております
で、最後の登録処理で、ユーザには登録完了通知、あわせて登録用にシステム側に
ユーザ情報をサーバ内でメールを送信しています(DBは使っていない為)
その際に、ログ用として、システム宛の登録情報をCCでログ専用アドレスに飛ばしているのですが、
その際Fromをユーザーのメールアドレスにしてもよいものでしょうか
ログをチェックする際にFromがユーザのアドレスだと便利というだけなのですが
自システム内でFromを詐称するはまずいでしょうか
0412nobodyさん
2012/10/13(土) 16:31:49.17ID:???テキスト作成すればいいだけなのでは
0413nobodyさん
2012/10/13(土) 17:16:33.17ID:???本当に下らない質問だな
0414nobodyさん
2012/10/13(土) 17:39:15.29ID:???登録用のメール確認でDO_NOT_REPLY@example.comとかで送ってきたりするじゃん
0415nobodyさん
2012/10/14(日) 00:58:44.28ID:vwg2PQzBフォームでエラー表示ってどうするのが一番良いんでしょう
入力画面のphpにpostでデータを送り、エラーがなければ
セッションにデータを入れて確認画面にリダイレクト、
確認画面ではセッションのデータを元に入力データを表示、というので問題ないでしょうか
確認画面のphpで入力画面のphpをincludeすると言うのも見ましたが、強引だし悪い方法に思えます
JavaScriptは無効にしている人がもしかしたら居るかもしれないので、サーバー側でチェックしたいです
さすがにクッキーまで無効にしている人は居ないと思うので、この方法しか無いかなーと思ったんですが
どうなんでしょう
0417nobodyさん
2012/10/14(日) 04:59:11.22ID:qXT79ZBF一気に全部保存するブログラムをphpで書いているのですができません助けてください
0419nobodyさん
2012/10/14(日) 08:25:42.01ID:???入力->チェック->-正常->確認->-OK->送信
入力->チェック->-正常->確認->-修正->入力
入力->チェック->-異常->入力
0420nobodyさん
2012/10/14(日) 09:17:30.58ID:or/+zGD9こういう方針で。
<form action="check.php">
check.php:
if(no_error){
include 'confirm.php';
}
else{
include 'input.php';
}
0421nobodyさん
2012/10/14(日) 10:59:53.83ID:qXT79ZBFこのように作ったのですが上手く動作しません
ttp://www1.axfc.net/uploader/Sc/so/385545
スレの画像を一括でダウンロードがしたいんです
ご教授お願いします
0422nobodyさん
2012/10/14(日) 12:14:35.44ID:???0423nobodyさん
2012/10/14(日) 12:49:06.02ID:qXT79ZBF私自身のPHP経験が浅く今はロカールサーバーで作業しています
0424nobodyさん
2012/10/14(日) 13:13:20.04ID:???お前は日本語からやり直せゴミチョンが
0425nobodyさん
2012/10/14(日) 14:19:09.70ID:???どこ参考にしたんだ?
0426nobodyさん
2012/10/14(日) 16:04:03.65ID:qXT79ZBFPHP歴3日目なので分からない事だらなのですいません
>>425
http://www.php.net/manual/ja/index.php
ここです
0427nobodyさん
2012/10/14(日) 16:07:08.48ID:???スキルを持った人間が踏み外してクズなことをすると思ってたが
クズは最初からクズなんだな
そして自己満足のためだけに回答してそれを幇助するマジキチ
0428nobodyさん
2012/10/14(日) 16:13:13.93ID:???0429nobodyさん
2012/10/14(日) 19:09:01.16ID:???0430nobodyさん
2012/10/14(日) 19:15:21.47ID:???0433nobodyさん
2012/10/15(月) 00:54:50.16ID:eqYw7CgDdata[0][0]←偶数
data[0][1]←奇数
data[0][2]←偶数
data[0][3]←奇数
data[0][4]←偶数
data[0][5]←奇数
イメージ的にはこのような感じです
0438nobodyさん
2012/10/15(月) 15:55:02.13ID:???> 2次元配列に格納されている配列を偶数と奇数に分けて
>>435 の指摘のとおりに配列を偶数と奇数に分けるとは何かを、まずは教えてください。
> 別々の入れるに格納
別々の入れるが何かを、まずは教えてください。
0439nobodyさん
2012/10/15(月) 17:31:34.42ID:???生きてて恥ずかしくないのかね
0440nobodyさん
2012/10/15(月) 17:41:33.39ID:???0441nobodyさん
2012/10/15(月) 18:04:50.82ID:???何がやりたいのかより、先生が出した課題の原文そのまま載っける方がいいよ
0442nobodyさん
2012/10/15(月) 22:21:18.20ID:Z/nx/LGUで、30個くらい 同時にアップロードできるフォームをつくったんですけど
どうがんばっても次のページで
$_FILESで取得出来る枚数が20個です。
<input name="photo<?= $i ?>" type="file" /> は20個が限界ですか?
0443nobodyさん
2012/10/15(月) 23:16:54.16ID:???0444nobodyさん
2012/10/16(火) 00:12:37.17ID:???5.2.12から
max_file_uploadsのオプションで設定されて、
デフォルトが20です。
0445nobodyさん
2012/10/16(火) 11:17:52.30ID:???0446nobodyさん
2012/10/16(火) 17:45:32.16ID:???0447nobodyさん
2012/10/17(水) 11:04:54.96ID:???0448終わってるな
2012/10/17(水) 18:16:53.23ID:???0449nobodyさん
2012/10/17(水) 21:33:17.94ID:???0450nobodyさん
2012/10/18(木) 01:50:13.76ID:ZUhtOgWufunction hoge(Foo foo) {
みたいに引数に型をしていできるようになりましたが、
この引数の型を取得するにはどうしたらいいでしょうか?
あるクラスのあるメソッドの引数の型は何かというのを取得したいのです。
0451nobodyさん
2012/10/18(木) 02:03:51.83ID:???適当回答だけどReflectionでどうにかならんか?
0452nobodyさん
2012/10/18(木) 02:15:35.05ID:???レスありがとうございます。
ReflectionParameterクラスがかなり近い感じですが、
型を取得するメソッドが見当たらないみたいです。。。
0453450
2012/10/18(木) 02:18:39.47ID:???ReflectionParameter::getClass()
↑こいつで行けるみたいですね。
ありがとうございました。
0454nobodyさん
2012/10/18(木) 05:04:51.03ID:Vg/ocySG下記のような文字列を持った変数があり、
$a = '<h1><?php echo "Hello"; ?></h1>';
こいつのphp部分を展開して「<h1>hello</h1>」という文字列にしたいです。
一旦外部ファイルに変数を書き出してincludeするとphp部分が展開されるのですが、
いちいち外部ファイルに書き出さないで展開できる方法ありますか?
file_put_contents( 'test.txt', $a);
ob_start();
include 'test.txt';
$a = ob_get_clean(); //展開されてる
0455nobodyさん
2012/10/18(木) 06:00:37.70ID:???確かメモリで展開するような方法
0456nobodyさん
2012/10/18(木) 06:31:59.37ID:Vg/ocySG早朝からありがとうございます。
ヒントもらって調べて、こんなやり方がありました。がincludeできません。
$fp = fopen('php://memory', 'r+');
fwrite($fp, $a);
fclose($fp);
include('php://memory'); // ダメ
include $fp; //ダメ
このストリームっていうものを初めて触ったんですが、
たしかにメモリ上に一時ファイルはできてるっぽいんですが、
どうやってincludeすればいいんでしょうか?
0457nobodyさん
2012/10/18(木) 06:56:23.32ID:Vg/ocySGob_start();
include "data://text/plain;base64,".base64_encode($a);
$a = ob_get_clean();
0458nobodyさん
2012/10/18(木) 07:02:19.16ID:Kix8858Bhttp://php.net/manual/ja/function.eval.php
0459nobodyさん
2012/10/18(木) 09:57:52.63ID:???>>458
phpタグがあるとevalできないです。
0460nobodyさん
2012/10/18(木) 10:06:27.16ID:???$a = '<h1><?php print "Hello"; ?></h1>';
print preg_replace_callback('/<\?php(.*?)\?>/',function($r){ ob_start(); eval($r[1]); $ret=ob_get_contents();ob_end_clean();return $ret; },$a);
0461nobodyさん
2012/10/18(木) 14:05:49.40ID:???クズすぎる
0462nobodyさん
2012/10/18(木) 16:53:07.56ID:T12STdKlphp_value include_path "path1:path2"
ウェブアクセスではこれで済みますが、コマンドラインからテストするようなときのため
スクリプト中にset_include_path()で追加するコードを追加したいんですが
そうするとウェブアクセス時には重複してパスが追加されてしまいます。
追加済みであることを区別する方法はないでしょうか。
例えばperlで.htaccessに記述しようとする場合なら、PERL5LIBという環境変数にセットするので
これを見ることで判定できます。
なにかそういう方法があればと思ってるんですが・・
0463nobodyさん
2012/10/18(木) 16:59:12.05ID:wQYl1awA元のリンク先からページを開いた際に、うまく表示されるときと表示されない時があり、
それも不定期にその現象がでます(何も表示されない時は真っ白)
error_reportingで全てのエラー表示を設定し、サーバーのアクセスログやエラーログも
チェックしているのですが、何も表示されず・・・
他に原因を探るのにチェックすべき点などはありますでしょうか?
なお、認証は失敗するとセッションを削除して強制的にログアウトさせています
表示されないときも引き続きリンク先をクリックしていると表示されるようになるので
認証は引き続き行われていると思うのですが
0464nobodyさん
2012/10/18(木) 17:07:28.84ID:T12STdKl画面が真っ白っていうのは、えてしてdisplay_errorsが無効になってるからだよ。
php.iniを編集するかini_set()かで有効にすれば
なんらかのエラーメッセージが画面上に表示されるんじゃないかな
0465nobodyさん
2012/10/18(木) 17:32:56.49ID:???0466nobodyさん
2012/10/18(木) 17:36:34.39ID:wQYl1awAレスありがとうございます
display_errorsはOnでした
glob("*.jpg")でディレクトリ内のファイル名を取得してflashで読み込んでいて
自分なりに検証してましたが、どうも大量の写真があるページにその現象がでるようで
ページを分けて一度に読み込む写真の枚数を減らしたところ、表示が確実にできるようになりました
大量の読み込みによって、表示ができなくなるのはどういった理由でしょうか?
メモリ関連なのかなと思ったりもするのですが、よくわからず・・・
0467nobodyさん
2012/10/18(木) 17:49:14.40ID:???get_include_path()でチェックは?
それか、set_include_path()で「追加」ではなく必要なパスを「設定」するとか
.htaccessは削除してプログラムだけで設定すれば?
0470nobodyさん
2012/10/18(木) 22:59:45.41ID:???0471nobodyさん
2012/10/19(金) 02:41:50.91ID:???0472nobodyさん
2012/10/19(金) 02:57:50.01ID:???0473nobodyさん
2012/10/19(金) 04:27:46.05ID:???0475nobodyさん
2012/10/20(土) 14:21:14.34ID:ZMpEOeTKSQL(今はSQLite3、将来的にMySQL)で条件に合致する全件数とそのうちのa〜b件目のデータを表示したいです。
この場合、SQL側には合致するもの全件のデータを出力させてPHP側で数えつつ該当するデータを表示させるか、
一度SQLにCOUNTさせて全件数を取得し、再度a〜b件目のみデータを出力させPHP側で何もせずそのまま表示するか、
レコード数等で一概に言えないと思いますが、パフォーマンスやデータの安全性の観点からどちらにすべきでしょうか?
0478nobodyさん
2012/10/20(土) 16:04:06.31ID:???PHPとRubyはほぼ出始めから産廃
0479nobodyさん
2012/10/20(土) 17:13:52.30ID:mvm6LY/HCSRF対策はするべきでしょうか?
「ログインや商品注文の時だけで良い」という意見や
「全てのフォームで対策するべき」という意見もあり、
どちらの方が一般的なのか悩んでいます。
出来れば余計なコードは省きたいため、ご意見下さい
0481nobodyさん
2012/10/20(土) 18:00:00.23ID:???■ このスレッドは過去ログ倉庫に格納されています