PHP上級者が集まるスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/01/14(日) 16:53:46ID:???我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。
0083nobodyさん
2008/12/14(日) 11:54:39ID:???0084nobodyさん
2008/12/14(日) 13:25:18ID:vrT8sAojformからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、
解凍する前にzipファイルの破損をチェックするのってどうやったらできますか?
0085nobodyさん
2008/12/14(日) 14:07:31ID:???0087nobodyさん
2008/12/14(日) 14:32:36ID:???一概にいえないだろ。
PHPでもView部分はWebオーサリングソフト使ってテンプレートエンジンかませば同様に
GUIで画面のデザインできるし、だいたいView部分だけを根拠に「どう考えても」は飛躍しすぎ。
0089nobodyさん
2008/12/25(木) 06:13:30ID:???(PHP 5.2.3 + PostgreSQL 8.3.1です)
(1)書き込み(insert)時は、bindParamの第3引数にPARAM_LOBを指定して
正常に書き込める。
ex. $sth->bindParam(":data", $data, PDO::PARAM_LOB);
(2)読み出し(select)時は、bindColumnの第3引数にPARAM_LOBを指定すると
バイナリデータの読み出しが正常にできない(サイズが異なる)
ex. $sth->bindColumn(":data", $data, PDO::PARAM_LOB);
(2)でPDO::PARAM_LOBの代わりにPDO::PARAM_STRを指定すると正しく読み出せます。
これはPDOの不具合なんでしょうか?
それとも、これが仕様なのでしょうか?
0091nobodyさん
2009/01/08(木) 05:23:45ID:???PEAR::HTTP_Requestでは未サポートであることがわかりました。
PHPからwgetを起動する方法も考えましたが、シンプルな方法とは
いえないので、PHPだけで実現したいです。
良い方法をご存知の方、教えてください。
0092nobodyさん
2009/03/03(火) 01:30:53ID:hdsn1ZlDちょっと遅いレスだけどflags引数使え
PREG_PATTERN_ORDER
$matches[0] はパターン全体にマッチした文字列の配列、
$matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字列の配列、
といった順番となります。
$match=array(
array('aaa111aaa222','aaa111aaa222','aaa111aaa222','aaa111aaa222',),
array('aaa111','aaa111','aaa111','aaa111',),
array('aaa222','aaa222','aaa222','aaa222',),
);
PREG_SET_ORDER
$matches[0]は 1 回目のマッチングでキャプチャした値の配列、
$matches[1]は 2 回目のマッチングでキャプチャした値の配列、
といった順序となります。
$match=array(
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
);
どっちかっていうとSET_ORDERの方が○行目の\1,\2みたいな感じで俺は好きだ
0093nobodyさん
2009/03/28(土) 02:06:29ID:???PHPのデバッグ実行を行おうとしているのですが、PHPスクリプト内に設定した
ブレークポイントで止りません。
一体どうすればブレークポイントを止める事が出来ますか?
【ブレークポイント上のエラー】
・ブレークポイントは、現在の設定ではヒットしません。
Unbound break point
【IEの設定】
次のチェックを外しています。
・スクリプトのデバッグを使用しない(Internet Explorer)
・スクリプトのデバッグを使用しない(その他)
【php.iniの設定】
[DBG]
debugger.enabled = true
debugger.profiler_enabled = true
debugger.JIT_host = 127.0.0.1
debugger.JIT_port = 7869
debugger.enable_session_cookie = true
extension=php_dbg.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
0095nobodyさん
2009/06/17(水) 22:51:20ID:???0096nobodyさん
2009/11/30(月) 18:40:16ID:???0097nobodyさん
2009/12/01(火) 22:13:32ID:???0098nobodyさん
2010/01/01(金) 22:37:35ID:???0099nobodyさん
2010/01/02(土) 00:26:34ID:???0100nobodyさん
2010/01/04(月) 03:31:33ID:???0103nobodyさん
2010/01/14(木) 19:40:22ID:???0104nobodyさん
2010/03/11(木) 17:14:56ID:???0105nobodyさん
2010/03/27(土) 19:43:37ID:???0106nobodyさん
2010/04/11(日) 19:33:45ID:???ここで聞いたほうがいい。
http://pc11.2ch.net/test/read.so/php/1172205352/
0107nobodyさん
2010/06/12(土) 00:33:14ID:RYMW4bMX0108nobodyさん
2010/06/12(土) 03:36:45ID:???上級者じゃないけど
0109nobodyさん
2010/06/12(土) 06:41:28ID:???PEARとか使うだけでもある意味オブジェクト指向だしな
0110nobodyさん
2010/06/12(土) 09:20:35ID:???PHP5以上なら常に使えよ。
0111nobodyさん
2010/06/12(土) 23:27:14ID:???0112nobodyさん
2010/06/13(日) 04:09:02ID:???<?php
$makehw=new makehw();
$echohw=$makehw->echo_helloworld("hello world!");
echo $echohw;
exit;
class makehw {
function __construct() {
$this->str="hello world!";
return $str;
}
function echo_helloworld($indata) {
echo $this->str;
return '';
}
}
0113nobodyさん
2010/06/13(日) 12:42:32ID:???0115nobodyさん
2010/06/13(日) 14:35:11ID:???0117nobodyさん
2010/06/13(日) 17:17:49ID:???初心者が上級者のふりして書き込む厨房専用スレ?
0118nobodyさん
2010/06/15(火) 09:30:26ID:???0119nobodyさん
2010/06/18(金) 16:40:47ID:???http://livedoor.2.blogimg.jp/agomesu/imgs/4/f/4faec292.png
ばらまこうぜ!
0120nobodyさん
2010/06/21(月) 14:15:37ID:CBlb9XeO0121nobodyさん
2010/06/22(火) 02:37:39ID:???0123nobodyさん
2010/06/22(火) 20:31:27ID:???2chのクローンなんてblogサンプルがそこらじゅうに出回ってるし、
簡単に作れる。寧ろそのサンプルの方が2chより高機能だろ。
0124nobodyさん
2010/06/25(金) 21:53:45ID:???0125nobodyさん
2010/06/26(土) 21:56:49ID:nh7WDbu8いや、んなこと聞いてない・・・・
0126nobodyさん
2010/06/27(日) 15:28:48ID:???0127nobodyさん
2010/06/27(日) 17:00:45ID:???0128nobodyさん
2010/06/28(月) 12:18:08ID:???0129nobodyさん
2010/06/28(月) 13:25:54ID:WPgH34jWそれぞれをグラフのy軸の最大値、最小値としていましたが、それだと配列内の
最大値、最小値のスケールでしかグラフが生成できません。
なので、ある程度範囲を持たせる為に
例えば最大値が1001の場合
1、配列中の最大値の桁数を取得して(=4)
2、桁数の頭に1をつけて(1000)
3、2、の桁数を整数で切り上げ除算して(2)
4、最後に3、に2、の桁数を乗算した(2000)
をy軸の最大値にしたいと思います。
2の部分が不明瞭で皆さんのお知恵をお借りしたく思います。
よろしくお願いします
0130nobodyさん
2010/06/28(月) 15:39:09ID:PXXo1bnrグラフ最大値 = 最大値 + グラフの余白値
グラフ最小値 = 最小値 - グラフの余白値
これぐらいでいんでねーの
グラフ最小値がマイナスになったらゼロにすればいいでしょう
0132nobodyさん
2010/06/28(月) 20:00:36ID:???0134nobodyさん
2010/06/28(月) 20:13:47ID:???0136nobodyさん
2010/06/30(水) 11:55:48ID:???明るいoptional
みんな家中なんでもoptional
0137nobodyさん
2010/07/07(水) 01:15:08ID:???一発で雑魚だと分かるね。
protectedの意味を知らないらしいw
0138nobodyさん
2010/07/07(水) 04:26:58ID:???0139nobodyさん
2010/07/07(水) 08:01:03ID:???PHPでは使わないなぁ。
public と private しか使わない。
PHPごときで何を粋がっているんだか。
0143nobodyさん
2010/07/07(水) 23:02:03ID:???今は、ASP.netだよ。タコ。
0144nobodyさん
2010/07/07(水) 23:45:24ID:???ま、言語でどうこう言ってるようなのは程度が知れてる。
0145nobodyさん
2010/07/07(水) 23:50:32ID:???言語覚え立ての素人っぽくて恥ずかしい。
0146nobodyさん
2010/07/08(木) 13:31:46ID:???この人のプログラム酷い
0148nobodyさん
2010/07/09(金) 01:09:23ID:???http://hoge_domain/test/ でアクセス出来る様にしたいのですが、
mode_rewrite でどういう設定をすれば良いのでしょうか?
0149nobodyさん
2010/07/09(金) 01:12:33ID:???<?php
print "protected";
?>
0150nobodyさん
2010/07/09(金) 01:40:03ID:???protectedの使い方が分からないのは雑魚の証
0151nobodyさん
2010/07/09(金) 02:05:35ID:???0152nobodyさん
2010/07/09(金) 06:34:20ID:???private以上の権限が必要ならprotectedにしてやらんこともないが、
それが美しいとは思えないね。
で、何でprotected如きで上級者判定してんのw?
0153nobodyさん
2010/07/09(金) 06:56:15ID:???0156nobodyさん
2010/07/10(土) 02:37:53ID:???TemplateMethodを適用する時か、
Decoratorを適用した基底クラスを作る際の移譲先を保持する時ぐらいだな。
>>155
ライブラリの外に公開するValue Objectの場合、getter/setter型にしておいた方が仕様変更に追随しやすくできるよ。
0157名無しさん@そうだ選挙に行こう
2010/07/10(土) 10:15:04ID:???ってBASICerが言ってました
0158名無しさん@そうだ選挙に行こう
2010/07/10(土) 11:40:57ID:???global変数はクラス内に定義する事は出来ないのがphpの仕様なのでしょうか?
//文法エラーが発生
class TestClass
{
global $test1;
static public function TestFunction( )
{
echo "test";
}
}
//OK
class TestClass
{
static public function TestFunction( )
{
global $test1;
echo "test";
}
}
0159名無しさん@そうだ選挙に行こう
2010/07/10(土) 11:59:11ID:???クラスの定義にglobalを記述したい理由が分からん。
staticじゃだめなの?
0160名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:03:10ID:???<?php
<html>
<head></head>
<body>
<!-- -->
</body>
</html>
0161名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:10:34ID:???途中で誤爆してしまいました。すみません。
用は以下の用な事をしたいのです。
<< やりたいコード �@ >>
<?php
//POSTデータを取得しグローバル変数へ格納
$test1 = $_POST["name_mei"];
?>
<html><head></head><body>
<?php
TestClass::TestFunctionA();
TestClass::TestFunctionB();
?>
</body></html>
<!--
以下にPHPのコードが続きます。
※改行が多過ぎますエラー回避の為
-->
0162名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:27:26ID:???※>>161の続きです。
<?php
class TestClass
{
global $test1;
static public function TestFunctionA( )
{
$w = $test1;
$w .= "さん";
echo $w;
}
static public function TestFunctionB( )
{
$w = $test1;
$w .= "ちゃん";
echo $w;
}
}
?>
0163名無しさん@そうだ選挙に行こう
2010/07/10(土) 13:45:50ID:???0164名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:45:48ID:???0165nobodyさん
2010/07/12(月) 04:23:32ID:???TestClass::$test1 = $_POST["name_mei"];
staticでなく、globalを使う理由は?
どちらにせよ上級者はやらん設計だと思うがw
0166nobodyさん
2010/07/13(火) 21:18:11ID:gdo55WeBこの関数に文字列を2回通した場合、アンパサンドが二重に変換されてしまいます。
<→&lt;→&amp;lt; のようにです。
Ver5.2.3からは、第四引数「double_encode」が追加されたので、
これを防止する事ができると思いますが、
それ以前のバージョンの場合に回避方法はありませんでしょうか?
0167nobodyさん
2010/07/13(火) 22:10:27ID:???0168nobodyさん
2010/07/14(水) 00:13:58ID:???一度デコードするか、自作関数作ればいいんじゃない?
上級者を自負するなら、そもそも2回通すロジックを見直すべきだとは思うが・・・・・・
0169nobodyさん
2010/07/14(水) 05:54:21ID:???はげどう
0170166
2010/07/14(水) 07:24:12ID:???レスありがとうございます。
上級の方がいそうなスレなのでお尋ねしました。
仰るとおり、2回通すロジックが問題ですが、
誤って2回通してしまうような場合も想定して、他にも方法がないか模索していました。
また、WAFのようなものでサニタイズされた場合、
ソースを修正しなければ、やはり二重に処理されてしまいますので、やはり何か手が打ちたかったのです。
ちなみに、1度デコード(あるいは&だけデコード)する方法も考えましたが、
ttp://www.asp-edita.jp/doda/one/doda5728_17.html
辺りや、リンクされている記事を読んで結局はコチラで質問した次第です。
0171nobodyさん
2010/07/14(水) 13:23:56ID:???「HTML内に出力するときはエスケープしなきゃダメでしょ><!」
って関数なので、htmlとして出力する時にしか使わない。
てことはまったく使わないか、使うとしても1回。
(他作WAFだろうが自作PHPだろうが)「誤って」2回通すとすれば、
それは局所的なバグとかじゃなくて、思想・理解的な間違いだと思われる。
今後の似たようなバグの根絶のためにも、思想の見直しを。
そうは言っても…って話も、まあ、あるんだろうけど(笑)
0172nobodyさん
2010/07/14(水) 15:34:35ID:uN19CneF0173166
2010/07/14(水) 20:41:25ID:???皆さん、レスありがとうございました。
自動的にhtmlspecialcharsと同様にサニタイズするWAFが有る・無しにかかわらず、
同じソースコードを使いたかったのです(--;
「関数を2回通す」というのは悪い例えでした、すみません。
0174nobodyさん
2010/07/15(木) 00:12:50ID:???どうすれば良いですか?
<U>文字の下線</U>
こんな感じのタグをhtmlに入れても
docomoからは下線が表示されません。
0177nobodyさん
2010/07/15(木) 01:14:17ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1213056147
ちったー調べたら?
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<u>アンダーライン引かれる?</u>
hrは?<br />
<hr />
</body>
</html>
ちなみに i モードHTMLシミュレータII で見た引かれてたよ
ktaystyleとか使ってるなら出力みよーよ
0178nobodyさん
2010/07/15(木) 05:22:22ID:???0179nobodyさん
2010/07/20(火) 18:13:27ID:???として通常は動作させるのを
http://test/test1/
として同じ挙動をさせるにはどうすれば良いでしょうか?
0180nobodyさん
2010/07/20(火) 21:09:14ID:???■ このスレッドは過去ログ倉庫に格納されています