PHP上級者が集まるスレ
ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。 私こそが真のPHPの上級者だ! だからこのスレッドは私のものだ……。 お前たちはここにくるべきではないのだ。 ところで、私は誰ですか? mail関数を使うための設定がわかりません。WindowsXPです。よろしくおねがいします。 >>3 お前みたいな初心者はくだスレにでも引きこもってろ。 ここは上級者の集うスレだ。 >>4 メールサーバはxmailです。導入する前はWindows付属のSMTP使ってました。popも使いたいのでメールサーバとしてxmailを選択したのですがphp.iniのどこになんて記述したらいいのかわからなくて立ち往生してます。 PHP上級者の定義、条件は何ですか? 例) ・PHP使用歴10年以上 ・PECLを自作できる ・PHPを使って月収100万円以上 月収100万には届かないが、PHPを使って3ヶ月で240万円稼いだよ。 Zend certificationは受験料をもっと下げた方が人気が出ると思います。 1回の受験は3150円くらいがいいのではないでしょうか? http://www.zend.co.jp/certification/ PHP開発技術者のスキル証明書 ポイントが良心的なサイト http://1107.cc/?af3390521 ワンクリじゃないから安心せぃ GETってセキュリティー的にはどうなの? POSTのほうがマシとかあるの? POSTにしとけば少なくともアドレスからのイタズラは無くなる。 受け取りに対策しとけば問題ないし、対策なしじゃどっちもアウト。 ブックマークを考慮するならGETのが良いし。 以上上級者スレの非常に高度なFAQでした。 >>18 サニタイズ言うなキャンペーンは上級者向けの話題ですか? strtrって遅くない? 何回計ってもstr_replaceの方が倍以上速い >>21 用途が全然違うので、比べる意味などないですよ [public_html] | |----[image]---index.php | |----index.php たとえばこんなディレクトリ構成が存在するとします。 imageディレクトリのindex.phpにアクセスするとルート元の index.phpに飛ぶように処理したいのですが、 imageディレクトリ内のindex.phpに次の記述をしました。 header("Location: http://www.example.com/" ;); このheader関数内の書かれたURLをサーバによって書き換えないと いけないので、この面倒をなくすために自動で取得したいのですが なにかヒントをお願いいたします。 >>23 header("Location: ../index.php"); じゃだめか? >>25 rfc的にはだめだけどPCブラウザは対応してるからいいのかな だからサーバー関数でホスト名等取得して連結しればいいだろ ここまでヒントでてんだからしらべれよ…なんで努力しないんだ?調べてわからなかったら聞けよ >>10 PHSを使っている(旧名称 Personal Handy Phone=PHP) 1、id passを自由に記入して登録してもらい、 2、その後、ログインする機能をつけたいと思っています 1でフォームを通じてデータベースに登録するところまではできました 2ではどうしたらいいのでしょうか ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか? >>36 スレタイ読んでないよね? だめだよ。スレタイはちゃんと読まなきゃ。 関数は使用する行よりも前に書かないといけないのですか? わざわざPHP上級者と言っているということは、PHPについては上級者でも プログラミング全般に関しては上級者ではないということですか? ああ、いるいる。 PHPで print "Hello!World"; はすぐ書けるくせにPerlになると書けない奴。 Halo World - ディープインパクトの系譜 - なんだ。 結局Hello Worldが書ければPHP上級者になるのか。 上級者じゃない俺はHello Worldも記述できないのか・・・ 上級者の皆様に質問です。 文字列を50音順で並び替えたいのですが、 どうしたらよいでしょうか? やはり一文字ずつ配列で確認した方がいいですか? >>50 頭数文字を数値化して並べ替え後、同じ数値が並んでるかどうか比較して並べ替え。 >>51 頭数文字の数値化というのは、(あ)なら1で(い)なら2という意味ですか? preg_match_all()で得られる結果の多元配列を、 count()に渡したときのカウント数について教えて頂けないでしょうか。 カウント数がどうにも解せないのです。 ↓これを実行すると、なぜか結果として4が表示されてしまいます。 $s = "aaa111aaa222\naaa111aaa222\naaa111aaa222\naaa111aaa222"; preg_match_all('/(.+111)(.+222)/', $s, $match); echo count($match[0], COUNT_RECURSIVE); では、preg_match_all()が返す多元配列と同等の多元配列を作って、 それをcount()に渡してみます。 ↓この結果は3になる。この結果は正しい。 $match = array( array(0, 1, 2), array(0, 1, 2), array(0, 1, 2), array(0, 1, 2) ); echo count($match[0], COUNT_RECURSIVE); preg_match_all()の返す多元配列は特殊なものなのでしょうか? (うーん、そんな馬鹿な・・・) 質問スレがあるのにこんなところで聞くというセンスもどうかと思うが、 まずなぜ$match[0]をvar_dumpしてみようと思わないのかな ↓結果 array(4) { [0]=> string(12) "aaa111aaa222" [1]=> string(12) "aaa111aaa222" [2]=> string(12) "aaa111aaa222" [3]=> string(12) "aaa111aaa222" } レンザバでiconvを使おうとしたらモジュールに組み込まれてなくて phpからJavaのJNIみたいに直接libiconv.soを呼び出せないかと思ったのですが 出来ますか? >>55 さん preg_match_all()の結果と同じ配列を作るには $match[0]=array("全体1","全体2","全体3"); $match[1]=array("部分1","部分2","部分3"); $match[2]=array("部分A","部分B","部分C"); と、しないといけなかったんですね・・・。 ありがとうございます。なぞが解けました。 多元配列を正しく理解していませんでした。 >>60 何を言ってるんだ? まとめて代入しても同じ >>61 さん すいません。どういう意味なのでしょうか? >>62 61じゃないけど>>60 のほうが意味わからない。 何を想定してどんなふうに想定外だったのかということがはっきりしないな。 >>63 さん 要するに、preg_match_all()でマッチしたときに返される多元配列と 同じ形の多元配列を自分で作るにはどうしたらいいのか? ということがわからなかったです。 $match = array(array(array(... >>64 array(4) { [0]=> string(12) "aaa111aaa222" [1]=> string(12) "aaa111aaa222" [2]=> string(12) "aaa111aaa222" [3]=> string(12) "aaa111aaa222" } のcountは4になって当然。 なのに3になると思ってたのはなぜ? 要点だけ言われても余計分からないから全部言ってくれ。 いや解決したんならもういいんだけど、単なる雑談として。 サンプルコードをもう一度きちんと書きました。 //@/////////////////////// $s = "aaa111aaa222\naaa111aaa222\naaa111aaa222\naaa111aaa222"; preg_match_all('/(.+111)(.+222)/', $s, $match); echo count($match[0], COUNT_RECURSIVE).'<br>'; //A/////////////////////// $match[0]=array("aaa111aaa222", "aaa111", "aaa222"); $match[1]=array("aaa111aaa222", "aaa111", "aaa222"); $match[2]=array("aaa111aaa222", "aaa111", "aaa222"); $match[3]=array("aaa111aaa222", "aaa111", "aaa222"); echo count($match[0], COUNT_RECURSIVE).'<br>'; //B/////////////////////// $match = array( array("aaa111aaa222", "aaa111", "aaa222"), array("aaa111aaa222", "aaa111", "aaa222"), array("aaa111aaa222", "aaa111", "aaa222"), array("aaa111aaa222", "aaa111", "aaa222")); echo count($match[0], COUNT_RECURSIVE).'<br>'; >>66 さん たびたびすいません。 まだ解決していませんでした。 @は4が出力されます。 Aは3が出力されます。 Bは3が出力されます。 私は@ABはすべて、3が出力されるのが正しいと思っていました。 なぜなら$match[0]に入っている配列要素は3つなので。 >>65 さん Bのケースと同じでしょうか? これだと@と同じ結果にはなりませんでした。 申し訳ありませんが、もう少し具体的にお願いできないでしょうか? >>68 いや66で書いたのと同じことを繰り返すことになるけど @の$match[0]に入っているのは array(4) { [0]=> string(12) "aaa111aaa222" [1]=> string(12) "aaa111aaa222" [2]=> string(12) "aaa111aaa222" [3]=> string(12) "aaa111aaa222" } だろ?なんでそれが3になると? 正規表現を誤解しているのか、count関数の挙動を誤解しているのか、さっぱり分からん。 まさか$matchと$match[0]の区別がつかないとか・・・ PHP5.3 (PHP6)の新機能についていけないです 無名関数とかラムダ関数とかクロージャとか静的遅延束縛とか、 理解できないです そういったキーワードを検索して楽しそうに書いてたり、 愚痴ったりしてるブログを見ると、理解できない自分が寂しいです 情報系の大学に行った方がいいんでしょうか 独学は無理っぽいです >>71 PHPは手っ取り早くWebアプリを開発するためのツールという側面が強いから、 そこらへんのことを学びたいなら他の言語で勉強した方がいいと思う。 PHPは最初は取っつきやすいけど、プログラミングの本質を学ぼうとするとすぐに壁に突き当たる。 最近の言語ではPythonが学習に向いていると思うけど、なにしろ日本語の情報が少ないしな。 IDE何使ってる? Eclipse+phppluginは微妙に使いづらそうな印象を受けるし sjisじゃないと文字化けするとか不穏な情報もある(古いが) phpエディタはよさそうな印象だが使ってはいない 経験者情報plz phpとASP.net両方得意な人に質問があります。 生産性という面で言うとやはりASP.netの方が高いのでしょうか? >>80 >>81 あんた方本気で言ってるの? ASP.netだと画面のデザインなんてマウスのドラッグで簡単に出来るよ。 であとはサーバ側の処理を記述するだけで完了する。 どう考えてもASP.netの方が生産性が高い、としか思えないのですが。 もっともASP.netの場合にはライセンス料とかの兼ね合いもあって 同じスペックのレンタルサーバを借りたとしても高いけどね。 ぐぐってもみつけられなかったんで上級者さん教えてください formからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、 解凍する前にzipファイルの破損をチェックするのってどうやったらできますか? >>82 一概にいえないだろ。 PHPでもView部分はWebオーサリングソフト使ってテンプレートエンジンかませば同様に GUIで画面のデザインできるし、だいたいView部分だけを根拠に「どう考えても」は飛躍しすぎ。 >>87 VSを抜く Webオーサリングソフト使ってテンプレートエンジン はありますか? 話はそれからだ。 PHPでPostgreSQLのbytea型へのバイナリデータアクセスについて教えてください。 (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の不具合なんでしょうか? それとも、これが仕様なのでしょうか? PHPで、proxy経由でSSL通信をしたいです。 PEAR::HTTP_Requestでは未サポートであることがわかりました。 PHPからwgetを起動する方法も考えましたが、シンプルな方法とは いえないので、PHPだけで実現したいです。 良い方法をご存知の方、教えてください。 >>68 ちょっと遅いレスだけど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みたいな感じで俺は好きだ Visual Studio2005( VS.Php 2.6 試用版 )を使用して 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 ; ;;;;;;;;;;;;;;;;;;; >>75 IDEはZS エディタはTextmate 私はPHP上級者ですがどうしてもわからないことがありますか? PHPで指定したディレクリにあるjpg|jpeg|gif|pngの画像枚数を取得したいんだが、教えてくれ。 readdir()で検索してpreg_match()で照合すればよくない? php6のオブジェクト指向ってphp5と同じですか? ここの上級者ってやっぱりオブジェクト指向でPHPプログラム作ってるんですか? 必要に応じて。 PEARとか使うだけでもある意味オブジェクト指向だしな 規模による?必要に応じて? PHP5以上なら常に使えよ。 オブジェクト指向は常に使うべきである <?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 ''; } } てかこのスレ、下スレと何が違うの? 初心者が上級者のふりして書き込む厨房専用スレ? >>121 2chのクローンなんてblogサンプルがそこらじゅうに出回ってるし、 簡単に作れる。寧ろそのサンプルの方が2chより高機能だろ。 私は上級者なのにechoとprintの違いがわかりません。どうしてですか? PHPで VB.netみたく optional 的な記述方法はありませんか? 今、phpでグラフを作成しておりまして、配列中にある最大値と最小値を求めて それぞれをグラフのy軸の最大値、最小値としていましたが、それだと配列内の 最大値、最小値のスケールでしかグラフが生成できません。 なので、ある程度範囲を持たせる為に 例えば最大値が1001の場合 1、配列中の最大値の桁数を取得して(=4) 2、桁数の頭に1をつけて(1000) 3、2、の桁数を整数で切り上げ除算して(2) 4、最後に3、に2、の桁数を乗算した(2000) をy軸の最大値にしたいと思います。 2の部分が不明瞭で皆さんのお知恵をお借りしたく思います。 よろしくお願いします グラフの余白値 = 最大値 × 0.5 グラフ最大値 = 最大値 + グラフの余白値 グラフ最小値 = 最小値 - グラフの余白値 これぐらいでいんでねーの グラフ最小値がマイナスになったらゼロにすればいいでしょう 明るいoptional 明るいoptional みんな家中なんでもoptional クラス作るときにpublicとprivateしか使わないのは 一発で雑魚だと分かるね。 protectedの意味を知らないらしいw 型指定が曖昧なPHPにおいてprotectedは危険因子だと思ってあまり使っていない。 .Net開発の場合には、protectedとかは普通に使うけど、 PHPでは使わないなぁ。 public と private しか使わない。 PHPごときで何を粋がっているんだか。 >>139 雑魚の典型だな。 なんでPHPの時だけprotected使わないんだよ。 理由を簡潔に述べよ。 >>140 使う必要が無い。 phpだけしか使えない馬鹿へ。 >>141 仕事では殆どJavaだよ。 使う必要が無い?オブジェクト指向の基本も分からん雑魚は消えろ。 Javaなんて古くせー 今は、ASP.netだよ。タコ。 なんだガキか。 ま、言語でどうこう言ってるようなのは程度が知れてる。 protectedを使うか使わないかで上級者判定しちゃうあたりが、 言語覚え立ての素人っぽくて恥ずかしい。 tp://cmf.ohtanz.com/blog/archives/category/php/page/3#post-82 この人のプログラム酷い >>145 でも実際お前は使い方分からないんだろ? 当たってんじゃんw http://hoge_domain/test.php として通常アクセスするのを http://hoge_domain/test/ でアクセス出来る様にしたいのですが、 mode_rewrite でどういう設定をすれば良いのでしょうか? protectedを使えるのは上級者の証 <?php print "protected"; ?> 上級者の証じゃねーよ。当たり前のことだ。 protectedの使い方が分からないのは雑魚の証 むしろpublicとprotectedしか使わない俺が来ましたよ。 privateとgetter/setter派が来ましたよ。 private以上の権限が必要ならprotectedにしてやらんこともないが、 それが美しいとは思えないね。 で、何でprotected如きで上級者判定してんのw? >>153 うちの職場 public wwwwwwww protectedなんて、 TemplateMethodを適用する時か、 Decoratorを適用した基底クラスを作る際の移譲先を保持する時ぐらいだな。 >>155 ライブラリの外に公開するValue Objectの場合、getter/setter型にしておいた方が仕様変更に追随しやすくできるよ。 全部publicでいいよもう ってBASICerが言ってました phpのglobal変数について質問があります。 global変数はクラス内に定義する事は出来ないのがphpの仕様なのでしょうか? //文法エラーが発生 class TestClass { global $test1; static public function TestFunction( ) { echo "test"; } } //OK class TestClass { static public function TestFunction( ) { global $test1; echo "test"; } } >>158 クラスの定義にglobalを記述したい理由が分からん。 staticじゃだめなの? >>159 <?php <html> <head></head> <body> <!-- --> </body> </html> >>159 途中で誤爆してしまいました。すみません。 用は以下の用な事をしたいのです。 << やりたいコード @ >> <?php //POSTデータを取得しグローバル変数へ格納 $test1 = $_POST["name_mei"]; ?> <html><head></head><body> <?php TestClass::TestFunctionA(); TestClass::TestFunctionB(); ?> </body></html> <!-- 以下にPHPのコードが続きます。 ※改行が多過ぎますエラー回避の為 --> << やりたいコード A >> ※>>161 の続きです。 <?php class TestClass { global $test1; static public function TestFunctionA( ) { $w = $test1; $w .= "さん"; echo $w; } static public function TestFunctionB( ) { $w = $test1; $w .= "ちゃん"; echo $w; } } ?> >>162 TestClass::$test1 = $_POST["name_mei"]; staticでなく、globalを使う理由は? どちらにせよ上級者はやらん設計だと思うがw htmlspecialchars関数についてお尋ねします。 この関数に文字列を2回通した場合、アンパサンドが二重に変換されてしまいます。 <→&lt;→&amp;lt; のようにです。 Ver5.2.3からは、第四引数「double_encode」が追加されたので、 これを防止する事ができると思いますが、 それ以前のバージョンの場合に回避方法はありませんでしょうか? >>166 一度デコードするか、自作関数作ればいいんじゃない? 上級者を自負するなら、そもそも2回通すロジックを見直すべきだとは思うが・・・・・・ >>168-169 レスありがとうございます。 上級の方がいそうなスレなのでお尋ねしました。 仰るとおり、2回通すロジックが問題ですが、 誤って2回通してしまうような場合も想定して、他にも方法がないか模索していました。 また、WAFのようなものでサニタイズされた場合、 ソースを修正しなければ、やはり二重に処理されてしまいますので、やはり何か手が打ちたかったのです。 ちなみに、1度デコード(あるいは&だけデコード)する方法も考えましたが、 ttp://www.asp-edita.jp/doda/one/doda5728_17.html 辺りや、リンクされている記事を読んで結局はコチラで質問した次第です。 htmlspecialcharsはあくまで 「HTML内に出力するときはエスケープしなきゃダメでしょ><!」 って関数なので、htmlとして出力する時にしか使わない。 てことはまったく使わないか、使うとしても1回。 (他作WAFだろうが自作PHPだろうが)「誤って」2回通すとすれば、 それは局所的なバグとかじゃなくて、思想・理解的な間違いだと思われる。 今後の似たようなバグの根絶のためにも、思想の見直しを。 そうは言っても…って話も、まあ、あるんだろうけど(笑) >>171 皆さん、レスありがとうございました。 自動的にhtmlspecialcharsと同様にサニタイズするWAFが有る・無しにかかわらず、 同じソースコードを使いたかったのです(--; 「関数を2回通す」というのは悪い例えでした、すみません。 docomo携帯から閲覧した時に文字に下線が引かれる様にするには どうすれば良いですか? <U>文字の下線</U> こんな感じのタグをhtmlに入れても docomoからは下線が表示されません。 >>174 <hr>しか無理じゃね? wordpressとかなら消えるんじゃね? >>175 <U>タグが使え無いのは、docomo仕様なのでしょうか? >>174 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とか使ってるなら出力みよーよ http://test/test1.php として通常は動作させるのを http://test/test1/ として同じ挙動をさせるにはどうすれば良いでしょうか? >>181 「mod_rewrite」でググってこい PHPで車は動かせますか? 上級者なら出来るって聞いたものでここで質問させていただいてます。 このスレのレスはPHPで自動化されているって本当ですか? なんでpdoモジュールを書いてる奴らはソースをどっちかに纏めないんだ? PHPいいですよね〜クソさ加減が PHPつかっててきずいたんですが PHPのコミュって 珍言ばっかりほざいてる人たちがいてとても素晴らしいと思いますよ 年齢層が低くて 頭の低レベルな人たちと交流できるので素晴らしいです ustreamでPHPユーザのクソ発言をみると喜んじゃいます!!おお それとPHPが無いと死にそうです PHPはド素人でもできるので html=PHPですよね PHPの良さはPHPがわかればhtmlとCSSがわかるってところですよね 脆弱性が多いところもいいんですよ ワタシはPHP 20年つかってるんですが 最高なのでやめれませーーーーーーーーーーーん!!!!!!!!!! 趣味はPHPユーザーの珍言、クソブログを見る事です^^ Perlやってる人ってバカですよね この前Perlやってる人に話かけられました Perlユーザー「君、Unixとかしってるかい?PHPみたいなくそ言語やってておもしろい?」 ワタシ「unixとか時代遅れですね そんなの知りません! いまどきPHPですよ! perlとか本当時代遅れですね!! 何年前の人ですか?」 Perlユーザー「あんたなめてんの?」 ワタシ「キャーこわい! PHPをばかにしないでください! PHPがあればwebアプリつくれるんですよ?」 Perlユーザー「ねえ ターミナルひらいて sudo rm -rf / ってうって」 ワタシ「怖いわ!ははい! やめてください 開きました うちました」 Perlユーザー「そのまま放置しといて」 ワタシ「なんかパソコン起動しなくなっちゃいました〜泣」 >>190 てめえはPHPユーザーだろ? はやく氏ねよwwwwwwてめえみたいなPHPユーザーが消えれば平和になる 名前の通りです(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑) 道ばたに落っこちているウンコに対して、 「ウンコ!このウンコ!・・・おまえはウンコ(笑)・・・ウンコ(笑笑笑)」 と一人叫んでいる >>194 さんを想像したら心がほっこりした その余裕が顔に出たのか、モテキ到来で彼女が出来ました。 本当にありがとうございました。 だからなに?てめえは彼女が出来てなんなの? バカじゃん?それがどうかしたの?いちいち報告しなくていいよなあ? 御前等みたいなゴミは仲良しグループで仕事してんだろこら? なあ?てめえみたいなゴミは死ねよ今すぐ死ねよ まじしねよ!!!!!!コネコネしてんじゃねえよ死んでほしい てめえブログとかに沢山言語自慢してそうなやつだな かっこつけてhaskellとか 沢山言語やってそうな御前は八方美人なんだろうな うぜえんだごみ まじきえろ クソクソ言ってる方がキレがあったな。 >>198 Zendのやつ?あれってまだあるの? A.htmlに名前(文字列)を入力し、 A.html内の実行ボタンがクリックされたら、 GETパラメータに入力値(文字列)をエンコーディングした上で 連結しA.html内に定義した<iframe>のsrcにurlを JavaScriptで動的に作成(指定)する事により、 B.php画面の処理結果をA.html内に定義した<iframe>内に描画 したいと思っています。 しかし、srcにはURLエンコードを正常に行い指定しているにも関わらず、 入力値に「#」が入っていると「#」以降の文字列が失われてしまいます。 一体なぜでしょうか? ■A.html [名前] あいうえお#かきくけこ [実行(ボタン)] ※JavaScriptにより内部的に生成されるURL http://test_site/B.php&name= あいうお#かきくけこ ■B.php //名前 $name = $_GET["name"]; →ここで $name には、 あいうえお しか入らないです。 本当は、 あいうえお#かきくけこ まで取得したいのですが。 宜しくお願い致します。 >>202 どうやったら「#」という文字列を渡す事が出来ますか? フォームからファイルアップロードするときに、 大きいサイズだとけっこう時間がかかります。 アップロード状況をプログレスバー等でリアルタイムに視覚化するには どのような処理をすればよいのでしょうか? PHP_APCってレンタルサーバでもインストールできます?? php.ini弄らないといけないみたいなので、ムリっぽいですね>< 掲示板のようなシステムで、投稿内容に JavaScriptやIframeなどのタグがあったらNGにするには どのように処理されてますか? 単純な文字列検索だけだと、逃げ道がいろいろありますよね。。。 適当でいーんじゃね? 抜けられて困る事もあまり無いし スパムだったら都度フィルタ調整するしか無いだろうし 許可タグはホワイトリストだべ。 適当ってどれくらい?? こんなんでいいの? if (preg_match("/<script/i", $body)) { return false; } たとえば掲示板プログラムで、 投稿本文にタグの閉じ忘れがあったらレイアウト崩れますよね。 プロのみなさんは、どうやって対応されていますか? 1. そもそもタグを許可するような仕様を提案することはない。 2. やむなく作るなら、閉じ忘れを警告し、閉じないと投稿できないようにする。 タグありにしたいんです>< 閉じ忘れの検出はどのように実装しますか? JavaScriptで実装する。 送信ボタンを押したときか、テキストエリアからフォーカスが外れるタイミングで。 正規表現で<tagと</tagをペアで数えていけばいいんじゃね? 自分なら厳密にやるよりはソースがシンプルなほうを選んで実装するな。 「親切で指摘してあげるんですよ^^^」的な上から目線を根拠に。 ん?チェックする対象にしなけりゃいいんじゃない? それとも<br>が100個書かれたときのレイアウト崩れまで考慮すんの? それやるとキリがないからやりたくないな…。 >>211 strip_tags() で不満なら HTML Purifier strip_tagじゃjavascriptのコードは消せませんよ >>222 だからその後まで書いてるんじゃん。バカ? PC iPhone 携帯 いずれからアクセスされたも指定したURLへ飛ばすにはどうすれば良いでしょうか? 当然携帯電話の場合には、JavaScriptが使えないので Location等を使う事になると思うのですが、 携帯キャリアを問わず正常にページ遷移させる事が出切るのか不安です。 PHP5のオブジェクト指向開発で protectedを一切使わない奴はすべからく雑魚PGである。 雑魚PGの俺に、protetedとprivateの使う場面の違いを教えてくれ do-while と Exception を使わない奴は間違い無く雑魚PG 最近覚えた単語を使いたいのか 組み込み系では使うがPHPで使う機会ってほとんどないけどな 使わなくても書けるけど、使えばコードがスマートになる場面は多々ある。 >>237 が雑魚PGという事は良くわかった。 ●初心者の考える関数/メソッド ・成功した場合は配列を返す ・エラーの場合は1〜nのエラーコード返す ・第1引数&$errを渡した場合はエラーが代入される。 ・第2引数&$msgを渡した場合はメッセージが代入される。 ●まともな関数/メソッド ・戻り値は配列 ・エラー時は XxxException が throw される 致命的じゃないものはfalseを返すとかはよくやる try(func())catch(XxxException $e){die();}より if(func()===false){die();}のがてっとりばやいし 特に複数種類Exception出すと面倒だし 参照渡しは絶対に使わないけどな このスレで上級者は1割に満たないだろ。 9割はカッスカス 241だが 俺は少なくとも上級者に入ってるので一人は先ずありえない。 オレも同じようなこと書こうとしたけど恥ずかしくてやめました Facebookに勤めてるPHPハッカーとか憧れるわ どんなコード書いてるんだろ 別スレで分る人がいなかったのでこちらにて質問させて下さい。 Googleで特定サイトの(画面上から入力されたURL)ページランクを 調べるにはどうすれば良いでしょうか? GoogleのAPIをコールするのかな? >>248 ttp://hm2k.googlecode.com/svn/trunk/code/php/scripts/pagerank.php ttp://www.hm2k.com/projects/pagerank GoogleにGETでアクセスしてるっぽい。 ソース直張。 >>249 サンクス 流石上級者が集まるスレだけあるわw >>250 いや、普通にググっただけだよ。 実はGoogleAPIでもいけるんじゃないか。。。とかはわからん。 ちょっと質問なんですが Googleで特定のキーワードが何回検索されたかを調べる方法ってありますか? 出来れば、特定の日に何回検索されたかです。 例) 赤い一輪車 というキーワードが 10月10日(日) に15回 といった具合です。 >>252 Google Trends, AdSense管理画面 以上のことは無理。 はい次 >>253 つまりある程度検索上位ワードでないと 無理という事でしょうか? Google Trends で適当にキーワードを入力して 検索したところ、 検索ボリュームが不足しているため「寄与等」のグラフを生成できません。 というエラーメッセージが表示されてしまいました。 mod_rewriteの正規表現が苦手です。 皆さんはどうやって勉強しましたか? また、お勧めの解説サイトを教えて下さい。 2chでスレッドを立てた場合 どの位レスが無いとDAT落ちしてしまうのでしょうか? ※お気に入りスレッドの保守ツールを作ろうと考えています。 phpからjavascript に配列渡す方法おねがいします ドメインを検索した結果 Organization:Personal というのが出て来るんですが これってどういう意味でしょうか? >>258 PHP関係ないです。正規表現スレで聞いてください。 >>259 PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。 >>260 PHP半分だけ関係あります。echoなりprintでjavascriptコード吐けばOKです。 >>261 PHP関係ないです。英和辞書引いてください。 >>262 >PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。 2chを開発してるのは誰ですか? >>263 2chを開発してる人を監督している人に聞いてください >>264 (株)ゼロ or (株)イスト という情報をGETしますた! d7028c0bfaf88de9734406fb7bc893d3 ワールドワイドに展開したいサービスを作る場合、 日付情報はローカル時刻から世界標準時に変換してDBに保存して、 閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか? ワールドワイドに展開したいんだから ワールドワイドに展開してるということを分かってもらう必要がある つまり日本時刻に統一することで、日本のサイトがワールドワイドに展開してると認識してもらう >閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか? YES。 閲覧時に変換すればいいだけの話で、 DBにはローカル時刻で保存しておいても問題無いよ。 というか、日本で開発するならデバッグのし易さ等も含めて、、 わざわざ世界標準時に変換して保存する必要は無いかと。 $_REQUEST を使えば GET も POST もどちらの値も取れる様なので GET や POST を使わずに REQUEST 一本で行こうかと思っているのですが 何か問題(セキュリティー的な面で)はありますか? >>273 getとpostを区別しないフレームワークもあるし、いいんじゃない? timestampで保存?? PHPおよびDBのtimestamp型はグリニッジ標準時で格納されて、 表示のときにタイムゾーンにあわせて変換されてるの?? >>273 <img src="http://hoge.com/sendmessage?title=shine&body=aho "> なんてのが掲示板に書き込まれたらどうだろう? CSRFチェックしてるならいいけど。 timestamp型は内部ではGMTなんだね。知らなかった。さすが上級。 でも2038年までしか使えないのか。 案外すぐそこだと思ってしまう。 >>275 ええのかな。 >>277 ごめんなさい。 かりに投稿されてもサニタイジング処理するから 問題無い気もするのですが何が問題なのでしょうか? >>278 DateTimeつかいなよ あと「2038年問題」で検索すればわかるけど 過去に銀行でトラブルがありニュースになってる php5.1までは対応が面倒だったが php5.2以降ならDateTime使えば2038年問題はクリアできる 書式も柔軟で使いやすい PHPでtry-catch-finallyの動きさせたい時どう書くのが手軽? try-finally-catchでも別にいいのでこんなの考えたけどキモいかなあ $ex=NULL; try{ …例外が出るかも知れない処理… } catch(Exception $ex){} …finally処理… switch(true){ case $ex instanceof HogeException: …例外ハンドラ… case $ex instanceof Exception: …例外ハンドラ… throw $ex; } tryとcatchブロックの最後に同じ処理を入れとけばいい YahooやGoogleなど、1つのIDで複数のサービスを利用できるようにしているサイトは どのようなユーザーDBを持っているのでしょうか? まさかすべてのサービスを1つのDBに格納してるわけではないですよね? サーバやDBを分けると、リレーションが作れないと思うのですが 管理しにくくなるデメリットをどう回避しているのでしょう? たとえば、全IDの基本情報を持った1つのユーザーIDマスターテーブルがあって、 サービスごとのDBに、ユーザーIDマスターテーブルをコピーして、サービス用のカラムを追加した 各サービス用のユーザーIDテーブルがあって、マスターが更新されると、こちらも自動更新されるとか、 もしくは、各サービス用ユーザーテーブルには、マスターのIDが保存されていて GET http://api.mydomain/?getUserDetail=username とかHTTPリクエストでマスターテーブルから取得しているんでしょうか。 (いま利用しているレンサバは外部からのDB接続ができません) できるだけスマートな実装を教えてください。 >>284 基本情報の保存されたマスターユーザテーブルと、 サービス別に必要なカラムを持ったテーブル(マスターユーザIDで紐付け)があるんじゃねーの? マスターサーバに負荷がかかると思われるが、 それはハードウェア的に分散してるものだと思われる。 DBってテーブルの上位のDBじゃなくてDBサーバのことを言ってるの? だったら普通にレプリケーションしてるだけじゃないの >>283 同じ処理を書きたくないからこそのfinallyじゃない? >>284 レプリケーションとかDB直接接続もできるorしてるかも知れないけど、 少なくともそういうAPIは裏側で用意されてるはず。 他社製の物と連携すること考えるとDBMSが異なるサービスにも使えるようにしてると思う。 ポリシー上そのAPI介さないと(自社製でも)ユーザ情報にアクセスさせないとかは十分ありうるね。 で、レンサバという制限の元、何とか共有したいという話なら 使える物は何でも使って最も楽な方法でやればいいと思うよ。 例えばCronで定期的にユーザマスタcsvを子サービスにSSLで送りつけてもいいし。 ちなみにサービス別にユーザテーブル作る場合、全件は複製せずに そのサービスを使ってる人のIDだけが入ってるというのが多い実装だと思う。 Doctrineもここでいいのかなあ PostgreSQLだとDoctrine_Core::generateModelsFromDb()はできない? 確認したら Import/Pgsql.phpの $sql[ 'listTableColumns']のSQL実行してるみたいなんだけど これが失敗してるんだよなあ WEB業界を牛耳っているのは Perl-casualのやつら こいつらはやばいよネットヤクザだよ だいたいのWEB業界 mixi,gree,ライブドア,google,yahoo,楽天など 牛耳ってるのもperl-casualのやつら mixi事件のメルアド検索もperl-casualのやつらの工作 perl-casualのやつらはやばいよ まじでこれは言える perl-casualのやつらが日本のインターネット業界を支えている これはマジで実話 ↑ 3万も払って、たった10ブログからのリンクだけ?? クソボロい商売だな。 俺一人で個人経営やっても、数日で1000ブログ以上作るシステム開発する自信あるぜ? てかもう存在してるだろうけど。 アホか。システムなんか誰にだって作れる。 問題はプロモーションだ。 phpで出来てるフレームワークで、ほとんど素のphpだろこれっていうレベルのものある? smartyとか覚えきれなかったので つ「ちいたん」 ってかSmartyだって素のPHPなんだが・・・w >>295 フレームワークってのは使い方を覚えて初めて役に立つものだから 覚えることがデメリットになるくらいなら使わない方が無難な物ができると思う。 素のPHPだから一概に悪いなんてことないよ。 >>296 なかなか悪くないな!むしろいい感じだな! 名前の由来が気に入らないが! JavaScript使ったサイトのテストにWatirが良さ気だと思っているのですが、 これもいいよ、っていうツールはありませんか? いまはWSHでやってて限界感じています。 スレ違いだったらすみません。 PHPDocumentorでチュートリアルを生成すると文字化けが起こるんですけど、どなたか解決方法を知りませんか? 文字化けというより、不正な文字を「?」に置き換えてる感じで、日本語が全部「??????」で出力されます。 チュートリアル以外のドキュメントは文字化けを起こさないのですが。。。 >301 すみません、解決しました。。。 Setup.inc.php の 733行目 にあった $ret = utf8_decode($ret); をコメントアウトしたら解決しました。 お騒がせしました。 >Perl/shell 形式のコメント (#) は使用するべきではありません。 PEARのコーディング規約でこんなの見つけたんだけど。 何でいけないんだろう。 unix系OSでphp使ってる人には身近なコメントだと思うんだけど、 (#)使っちゃいけないっていうのはただ単にWin系もしくは 入門者の人が見慣れてないから使うなってだけかな? べつにPEARのコーディング規約をリファレンスにする必要は無いと思うし、 嫌なら別の規約を使えばいい話なのはわかってるんだけど、 「PHPでshell形式はいけない物」みたいな風潮が広まちゃったら嫌だなって・・・。 風潮はどうかはしらないけどPHPで#は使わないな。 >>303 「#」と「//」の2種類のコメントを混在させてはいけないって所がコーディング規約的な意図でしょ だね。 「するべきではありません。」っていうのがいかにも#をつかうのが良くないと言っているように見えるけど 多分must not beぐらいの意味だろう。 //を使わずに#に統一するなら問題はない。 初心者のことを考えて//に統一するのもよい。 $result = array(); for($request as $key1 => $value1){ for($value1 as $key2 => $value2){ for($value2 as $key3 => $value3){ $result[$key3][$key2][$key1] = $value; }}} こんなイメージな多次元配列の次元位置を入れ替える方法を考えています 多次元配列の次元数が固定されていれば、 上のようなやり方でも大体行けるのですが、 n次元だった場合のいいロジックってないでしょうか function test($request) { $result = array(); foreach ($request as $key => $value) { if (is_array($value)) { $result[$key] = test($value); } else { return array($key=>$value); } } return $result; } やっぱ愚直に参照にするか引数で受け渡すしかないんじゃないかね 一度作った配列を構成しなおすというパターンはそうそう無いよね 最初に作る時にそうしておくか、使う時に対応するかのどっちかで大抵は済むし、 最悪でも最初に2種類構築すればいいし >>312 その一度配列を作るロジックを聞いてるんじゃないか?w パット見の思いつき。たわごと。 n次元てことは再帰だろーなーと思うけど array_keys()使う感じでできんかな。 こういう質問出るって事は、お前らFW使ってないのか? まぁ自作関数ライブラリがあれば足りるケースがほとんどではあるが。 FWは作ってないが、ライブラリ群は作ってる で、今バリデーションの案を抗争中な訳なんだが、 どんなソースコードになったら、見やすくて分かりやすいだろ? $str = vali::post('text')->mbLength(0,256)->var(); みたいにJavaっぽく書けば、分かりやすいけど細かい設定は付けれない $v_id = array('func'=>vali::alnum,'error'=>'どうたらこうたら'); $id = vali::post('text', $v_id); と、Cake風の書き方すれば、細かい設定もしやすいからいろんな事が出来る そんなわけで、どんなバリデーション作ったら使いたくなる? つくりかけ var $VALIDATIONS = array( 'varname' => array( 'trim' => array(), 'ascii' => array(), 'unique' => array( '※すでに使われている名前です。'), 'blank' => array( '※必ずご記入ください。'), 'date' => array( '※正しい日時ではありません。'), 'range' => array(18,100, '※18から100の数字をご記入ください。'), 'length' => array( 0, 20, '※20文字以下でご記入ください。'), 'bytes' => array( 0, 40, '※40バイト以下でご記入ください。'), 'regex' => array('/^[a-z0-9\-\_]*$/i', '※英数字と -(ハイフン) _(アンダースコア) のみでご記入ください。'), //複数設定可?? 'in' => array('OPTIONS', '※正しい選択肢ではありません。'), //複数または直接array?? 'method' => array('model::method', '※正しい値ではありません。'), //うまいことやる!! ), ); >>320 だいたいそんな感じになると思うけど >trim 入力値の評価と修正が一緒にあるのは気持ち悪いかも >unique それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ? >date 年月日が別のフィールドに分かれてたら3つフィールド名指定できる? >blank 別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる? >>trim >入力値の評価と修正が一緒にあるのは気持ち悪いかも なるほど。ちょっと考えてみる。ちなみに「ascii」も全角→半角変換のつもりw >>unique >それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ? まーねー。確かに規約で縛りすぎるのも気持ち悪い。しかし、どう代替しようか。 >>date >年月日が別のフィールドに分かれてたら3つフィールド名指定できる? 柔軟な日時クラスがあるので、$varnameはymdのarrayでもsqlでもatomでもなんでもおk >>blank >別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる? methodはなんでも屋のつもりだけど、確かに連動必須項目はテンプレ化してもいいかもね。 ただ、シンプルなテンプレ化の方法は少し考えねば… CakePHP式のバリデーションは便利だよ。 配列&正規表現を工夫すればフレームワークじゃなくて 単なるクラス(か関数)でも用意できる。 >>322 >unique わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな? 削除フラグが立ってない中でユニーク…とかを考えると大掛かりになるし >$varnameはymdのarrayでもsqlでもatomでもなんでもおk $_POSTを丸ごと渡すんじゃなくて、 前処理として $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな >ただ、シンプルなテンプレ化の方法は少し考えねば… 必須(blank)に関するチェックに条件が付く場合が殆どで、 他フィールドの値に対して定数との==、!=比較ができれば当分困らないと思う。 'blank' => array(... /*必須にする条件→*/array('eq', 'OtherField', '1')) みたいな >>323 このあたり既製品じゃ対応しづらい要望が顧客から入りやすい > >unique > わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな? そんな気がしてきた。すげーしてきた(笑)。 > $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな いや、フォームの段階で <input name="hoge[year]"... な感じ。 uniqueとかblankとか、少し条件が複雑なものは汎用的な中間methodでも作って…とかやりだすと地獄を見るかな(笑) バリデート自体は大して実装コストかからないけど、 汎用的かつ、書きやすい構文を考えるのは結構面倒だよね。 汎用性を追求し過ぎると、大抵は既存FWのバリデーターに近い形に落ち着いてしまう。 ECCUBEのコード読んでたときに見つけたんですけど、 // {{{ requires の {{{ って何ですか? >330 なにか、ドキュメント生成系で使われてるのかな?と思ったんですけど、そんなことはないみたいですね。 ありがとうございます。 >>332 なるほど、Emacsで使うんですね。 ありがとうございます。 Twitter Streaming API を使用して 指定したユーザ(例えば testman )が呟いた内容を テキストファイルに出力したいのですが どの様に書けば良いでしょうか? file_put_contents('text.txt', $tweet); >>335 Twitter Stremaing API を使用して 指定ユーザの呟きを取得する部分が 分からないです。 ※テキストファイルへの出力コードはわかります。 それって初心者の質問じゃないのかな。 お前はとても上級者に見えないが。 >>339 PerlやPythonといった言語での解説サイトはありますが PHPでの実装方法を解説したサイトが見つかりません。 >>319 俺もオレオレバリデータ作ったことがある。 ワンタイムトークン的なものつくるとかとか、確認画面用に、値をセッションに格納して読みだして〜とかの機能とか 設定したバリデートルールを使って、Javascriptのコードも生成させて、クライアントサイドでも バリデート出来るようにしたりね。 最近は、jQuery使って、CakePHPのヘルパとかでバリデーションルールをJSONにした物から クライアントサイドでのバリデーションも連動するようなものを、作りかけた。 まぁ、書き慣れない言語はソースが迷子になって困る。 >>336 を解決することの出来る勇者はいないでOK? >>343 勇者じゃなくて奴隷だろ? 無報酬で作業して欲しいんだから。 どうしても特定のユーザの発言をタイムリーに受信したいんだよね。 なんとかStreamingAPIを使用して 特定ユーザの発言を常にフックする方法を教えて下さい。 ※上級者の方、宜しくお願いします。 Socketは扱えるかい? HTTPプロトコル及びTCP/IPの基礎知識はあるかい? PHPはCLI環境等で常駐させる事が可能かい? >特定ユーザの発言を常にフックする方法を教えて下さい。 Twitter Streaming APIへ接続して、受信メッセージを順次ストリーミング処理するだけだが、 何が解らないのか解らない。 上記の基礎知識が無いなら説明しても理解出来ないだろうし、 基礎知識があるならAPIの仕様を読めば実装出来ると思うけど。 >>353 上級者はいないでOKになったんだから頼むから消えてくれよ あれだけ失礼なこと言ってよく居座れるな >>354 こういう奴に教えてやる必要ないって。 初級・上級の前に人間が腐ってる。 おまえら>>349-350 のクオリティを大切にしろよなwww >>354 基本的なツイッターAPIの呼出方については分かるのですが どうしても Streaming API を使用して特定ユーザのついーとを 取得する方法が分かりません。 もし宜しければPHPで実装した人のHPや、 コードを載せて頂けないでしょうか? >>355 >>356 お前らみたいなクズには聞いていない。 >>358 Streaming APIはREST APIのように単純には処理出来ない。 OAuthとかの実装は済んでるかい? >>361 >OAuthとかの実装は済んでるかい? こちらについてはアカウントも取得し OAuthについては大丈夫です。 >>364 かい?かい?ほざいてないでサンプルコードのひとつでものせればいいのになw ここでザコに訊くよりggrよks >>363 アクセストークン利用して、取得したいストリームのURLをソケットなりで開いて、 その出力を延々と監視すればいいだけじゃねーの。 こんな所で数日待ちぼうけくらうより自分で試そうって気は無いのかねw fopenとcontextの組み合わせで取得出来ると思うよ。 $fp = fopen($apiUrl); while($xx = fgets($fp)){ // $xx に戻り値が入るので、時前でパースする。 sleep(1); } 終わり。 PHPでLDAPS接続したのですが、TLS_REQUEST hardかdemandでも出来るんでしょうか? {$tmp = $value . $num} みたいな代入短縮系も超便利。 正規表現を使用してSQL内の特定の文字を取得したいと思っています。 具体的には、「TEST.sql」の中に以下の形式のクエリが多量に記述されているのですが このファイルを読込み、 NUM_1 , NUM_2(のみ)の値を正規表現を使用して 高速に抽出したいのですが、どういう正規表現を適用すれば良いでしょうか? 1行ずつ読込み、正規表現を使用してそれらの値を取得したいと思っています。 INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 1 , 'TAROU1'); INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 2 , 'TAROU2'); INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 3 , 'TAROU3'); ・ ・ ・ INSERT INTO TEST ( NUM_1 , NUM_2 , NAME ) VALUES( 1 , 1000 , 'TAROU3'); <取得イメージ> 1,1 1,2 1,3 ・ ・ ・ 1,1000 以上 ご教示願います。 正規表現の基本中の基本ちゃうん? 具体的にどこで詰まってんの? 「/.../.でうまく行くと思ったんですがぜんぜんだめなようです\(^o^)/」 みたいなのを書いて、間違いを正してあげる流れにすればわかりやすいかと。 /VALUES\(([^\,]+),([^\,]+)/ 正規表現わかんねーんなら、 $v = explode(',', str_replace('INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES(', '', $string)); $v1 = (int) trim($v[0]); $v2 = (int) trim($v[2]); とでも書いておけや・・・ >>373 それならいっそsubstr()でいいんじゃねw /[0-9]+\s?,\s?[0-9]+/ 上級者じゃないけど、こういうのどうよ。 >>376 80点を上げよう ・対象を () で囲み忘れてる ・VALUES等の固定文字列を書いた方が処理速度が上がる ぜ >>372 >>377 ありがとうございます。 流石上級者の手に掛かれば一発ですね。。。 文字列処理でやるより正規表現でやる方が断然速いですね。 PHP技術者認定ウィザードか やってみたいが受験料高いなぁ HTMLの中にPHPの変数を埋め込む場合、 普通はこのようにやりますが、 <?php echo($hoge); ?> ではなくて例えば以下のように JSPのEL式みたいな書き方をしたいです。 ${hoge} Smartyで似たようなことができますが、 私の目指すところは テンプレートエンジンを使うのではなく PHP自体を拡張したいのです。 (例えばExtentionみたいなもので) このようなことは可能でしょうか? そんな風味の仕様をちゃんと確立出来る? 使い勝手悪そうだけど… >>382 PHPはオープンソースなんだからCが出来れば普通に可能だよ >>384 PHPのソース自体に手を入れないと駄目ですかね? そうなると結構敷居が高いですねぇ。 Extention程度ならなんとかなりそうかと思いましたが・・・ >>386 Extensionって関数を追加するだけじゃなくて PHPファイルのタグの拡張もできるもんですかね? simplate検索して初めて知りましたがちょっと違いますね。 これって結局やってることはSmartyをExtensionにしただけですよね。 僕が目指してるのは、PHPファイルのタグの拡張です。 Smartyみたいなテンプレートエンジンって結構使われてるの? なんかIF文まで専用のものが用意されてるみたいだし、 これまでのPHP知識が無駄になりそうで怖いんだけど。 タグが多すぎて可読性も悪いし。 PurePHPに慣れた人間には逆に使いづらいんじゃないかな。 >>393 そりゃあもちろん使いづらい 全部一人でできちゃう人には使いづらいと思う ただプログラマとデザイナ分けて開発したいときはSmartyがラク {$var}{foreach}{if}くらいしか使わないけど ピュアPHPより見やすくて書きやすくて好きだよオレは オレオレフレームワークに組み込んで使ってます。 俺趣味でPHP使ってるけど、フレームワークなんて一度も使ったこと無いな。 自前のライブラリはあるけど。それで十分だ。むしろそっちのほうが速い。 Javaならともかく、PHPで組む程度のサイトなら自前ライブラリ+コピペで十分だろ。 なんかここの住人って質問する奴を批判するだけで答えてなくてワロタw スルーもせず批判ばかりで自分大好きなのがw twitterの基本機能クローンをフルスクラッチで5時間以内に構築できたら上級者。 >>407 その課題に疑問を持たない時点で低級だな。 ログイン認証と相互フォローが可能なWEBチャット程度にしか考えてないんだろうけど。 5時間じゃ無理だわ・・・3日はほしい。 それでもスケールアップを無視したツラだけのものになる メールフォームでいいのがあれば教えてくらはい。 自分でカスタマイズして使う。 無料でも有料でもどちらでもOK。 UTF8対応必須。 ・ZeroMailのようなもの。 http://zeromail.webtecnote.com/ 動作サーバーlolipop PHPのコーディング規約の標準を作ろう、活動があったと思うんだがぐぐっても出てこない。 URLわかる人いる? Symfony2とかZendがベースになってるやつ。 >>414 PEARとSymfony2とZendの規約を良いとこ取りした英語のサイトだったんよ。 まだドラフト段階ぽかったけど、 namespaceやクラスの命名規約と、 ファイルとのマッピング(オートロード方法)が定義されてて、 いいなぁ・・・と思ったんだけどブックマークするの忘れてた。 日本語だけど、こんな内容? ttp://blog.asial.co.jp/658 このルールは、先日のphpカンファレンスで始めて知りました。 >>416 まさにコレだ! PHP Standards Working Group. ドラフト定義のページ自体は消えてるっぽいね・・・検索しても出てこないわけだ・・・。 MacでPHPのプログラミングをやろうと思っているんですが、プログラムを 入力して実行するところまでができません。 PHP上級者なんですが、まったくわかりません。 どうしたらいいでしょうか? >>419 逆に質問。 webサーバは何を使おうとしてる? apache? nginx? web共有(中身はapache)? OSのバージョンは? 古いのだと、別途developer toolをインストールする必要があるかも。 phpはインストールされてる? ターミナル開けて、which phpを実行してみる。 webサーバとphp間の接続は? isap? cgi (fcgi)? fpm? >>419 ほらよ。 http://www.google.co.jp/search?q=Mac+PHP >>421 質問に質問で答えるな。 お前は自分の事を上級者と思い込んでる奴にありがちな、アレだな。 俺含めて、PHPerはまじでカスばかりだな。 PHPのインストールは、 yum を使ってしかやった事がありません。 ./configurate や make や make install をやるタイミング、そして意味を上級者の方教えて下さい。 ソースからビルドを行なうとか今時やるものなのですか? 昔ならいざ知らずこのご時勢になってソースからビルドするとか信じられないのですが。 >>424 yumでかまわん。 makeの質問はスレ違い。 業務上サードパーティーが用意したパッケージ(野良リポジトリ)を使うのが難しかったり、 パッケージ依存の問題でyumれない場合、仕方無しにソースからコンパイルする事がある。 Phalanger - The PHP Language Compiler for the .NET Framework http://ja.wikipedia.org/wiki/Phalanger フォーム入力値をバリデートするとき、 サーバーサイド(PHP)だけじゃなくクライアントサイド(JavaScript)でも書くことあるよね? このとき、バリデーションコードが重複しがちだと思うんだけど、どうしてる? PHPでしかできないバリデーションもあるので、どっちかに集約するならPHP側かなと思った。 その上で、HTMLテンプレートに書けるJavaScriptヘルパー的な関数でバリデーションコードを出力する。 あまりに完全なコードだとscript要素内でのカスタマイズがしにくくなるので、その加減を考慮中。 毎回ちゃんとsession_startしてdestroyしてstartってやってますか? アンケートとります。 PHPの上級者のおすすめのFWは何? ※中級者以下の人は回答しないでください。 下記記述をしているのですがうまくcakePHPのヘルパーが使えません。 何が間違っているのでしょうか? ※CakePHP2.1.1 @controller class HogeController extends AppController { var $helpers = array('Html'); } @view echo $helpers->link("コントローラへのリンク","/hoge/1"); @error_message Fatal error: Call to a member function link() on a non-object i >>440 your written message is same one. Hahhawww PHPerってなんで文字列 を " じゃなくて ' で囲むの? 他言語歴の長い人からすると非常に違和感。ぷんぷん。 "で囲むと変数が解釈されるからだな。 その分、処理がビミョーに遅くなるし、思っても見なかった変換がされる事があるから'使うって事らしー 微妙っても速度変わらないだろ↑ 文字列は " で囲め。 他言語は " が基本なの? じゃ、どんなとき ' のほうを使うの? >>445 'A' や 'B' のみ。 phpしかやった事がないやつはだから困るぜ。 「'A' や 'B' のみ。」の意味がわからん。 まさか「AやBといった大文字アルファベット1文字の文字列をくくるときだけシングルで、それ以外はダブル。」 って意味でもないだろうけど。わたしのことをバカにしまくっていいので、正解を丁寧に教えてください><! >>447 文字コードを意味したいときは ' ' 文字列を意味したいときは " " PHPやシェルスクリプトなど、シングルクォートとダブルクォートで違いがある以上、使い分けるのが当然。 ダブルクォートは、必要があるときだけ。 必要が無いのにダブルクォートを使っていたら、必要があるから使っているように見えて混乱する。 >>453 どっちを基準にするかは自由だけどな おれはダブルクォートをメインに使って、 必要があるときにのみシングルを使うわ 妙にやる気がでなくてphpだけでだらだら作った測定ツールが思いのほか 大好評で、バグってハニーしても満面の笑みで「許す!」と言われた時に 「じゃあ直さなくてもいいですよね」と堂々とサボります宣言できるようになったら 上級者って思ってもいいですよね。 ちなみに今日それを言ったらもう30になるのに物凄い説教されました。 めんどくさいです。 流れ読まずに質問するが、 0123456789abcdefABCDEF しか含まれていないことをチェックする最速な方法って何だと思う? その変数はマルチバイトが入る可能性があるんだ。 ちなみに PostgreSQL+phpで書くと SELECT $str=replace('0123456789abcdefABCDEF',$str,''); が多分一番早そうに思うんだ。phpのみでこんなことをする場合のゆとり用の関数あったかな? >>458 あ、ごめん。 SELECT translate($str,'0123456789abcdefABCDEF','')=''; だった。 最速、という答えを言えるには上級者じゃないと! ちなみに当方、アクセラレータいれてるんでインタープリタのオーバーヘッドは無視してください。 >>458 preg_match('^[0-9a-f]+$/i', $string); しか考えられんが最速かどうかは知らん >>462 可読性からいうと一番「美しい」予感ではありますな。 >>464 エスケープ文字が2段階入った鬼のような正規表現に比べりゃ >>462 は余裕っしょ。 $str = "aaaa @bbbb"; // ← @ $dummy = split("@",$str); @において @の左側の一見すると半角スペースの部分に バイナリエディタで確認すると 1A の文字が入っている場合に splitでは意図した分割が出来ません。 そもそも、この 1A ってなんなんでしょうか? いずれにしてもこのデータのパターンは例外の様なので UTF-8で定義した変数内文字列に 1A の物があったら除外を行う方向で対応したいのですが どうすれば、 特定の文字コード(文字列じゃない)の文字を削除する事が出来ますか? >>447 文字と文字列の差を考えるとまぁ、そんな感じ。 >>458 最速かは分からんが、alpha numeric略してalnumというのを探してみると、なんやらにあったりする事がある。関数のオプションとか。 >>470 そこから調べてみたら ctype_xdigit なんてのがあることが判った。サンクス。あとで比較してみるわ。 PHPの上級者の皆さん(自称は勘弁)は Eclipseで開発する場合に ブレークポイントとかって使っていますか? PHP上級者がEclipseで開発するとは思えんw EclipseはPHP苦手な人用に関数名教えてくれたり引数指定を教えてくれたり シンタックスエラーがあれば教えてくれたり・・ だからなぁ PHP上級者だったら使い慣れたシンプルなエディタで十分やろな >>477 Eclipseの使い方を知らないだけじゃないの? (実は、初心者の為) 早速3種類の方法を比較してみましたよ? 検査データの質にもよるだろうけれど、とりあえず 1000個の32文字のデータを用意した。 それらは9割が 0123456789abcdefABCDEF のみからなり、残り1割が それ以外のマルチバイト文字を含む。 1.preg_match('/[^0-9a-f]/iu',$str) 2.ctype_xdigit($str) 3.for($j=0,$jmax=mb_strlen($str,'UTF-8'),$b=true;$j<$jmax;$j++) $b&=!(mb_strpos($safestr,mb_substr($str,$j,1,'UTF-8'),0,'UTF-8')===false); それぞれについて1000個のデータを100回まわした結果。 1→245.14[msec] 2→41.80[msec] 3→7953.70[msec] ちなみに環境は Pentium(R) Dual-Core CPU E5400 @ 2.70GHz cache size : 2048 KB CentOS release 5.5 (Final) PHP Version 5.2.17, Zend Engine v2.2.0 想像以上に正規表現はやいな。 >>462 さん >>470 さん ありがとう。 >>477 要は使いどころなんじゃね?客先やちょっとしたものはviで書いちゃうとかあるし。 実をいうとうちも エディタで書いている。Java は Eclipse つかってんだけど、 エディタだけでも別に困らないし。本当は Eclipse 入れたほうがべんりなんだろうな。 Eclipseは習得までに時間かかったけど、 今はPEARとかの糞長いクラス名を手打ちするとか考えられんわ・・・ メソッドチェーンもコード補完してくれるし重宝しているよ。 ネットワークにつながって無い環境で imagickのモジュールをインストールするには どうしたらいいんですかね >>482 あっさりしすぎじゃない? 何のOSでとかせめて書かないと・・・ 質問の意図や前提をくみ取れない糞質問 が多い。それで回答者が逆質問をしたり 悪口を言ったりする。それを前もって思 い描く力が絶望的に欠如してるに違いない。 スーパーハッカーだけが意図を理解できる。 レアなそういう神が颯爽と登場する予感。 >>481 メソッドチェーンは猿のやる行動なので、自嘲した方がいい 自重なのか自嘲なのか、まぁどちらにしたって同じようなもんだが メソッドチェーンってどこでエラーになったかわからなくない? IDEを使えばメソッドチェーンのどこからNULLかわかる メソッドからの戻り値で成否を判別するような実装してるからだろうw 例外と try catch 使おうぜ。 なんか得体の知れないエラーが出てしまいます。 何が原因なのでしょうか? [test.php] <?php phpinfo(); ?> #php test.php →正常にPHPが実行されます。 しかし、ブラウザより http://hogehoge.com/test.php とやると Internal Server Error UID of script "/home/first_hoge/public_html/second_hoge/test.php" is smaller than min_uid suPHP 0.7.1 PHPじゃなくて、suPHPやらサーバ側の問題だな。 test.phpの所有者やパーミッションを確認してみれ。 >>496 ありがとうございます。所有者を変更したらブラウザからアクセスできる様になりました。 情報セキュリティスペシャリスト試験に、PHPが含まれなくなったのは、PHP勉強していた受験者にとっては 反則以外の何者でもない。 結局、PerlとJavaとC++しか出なかったわけだ。 PHPは昨今難易度あがりすぎだからな。 >PHPに最悪のバグ発覚!CGIモードで動かしてる奴はソース丸みえ!!ソースにパス埋めてる奴は死ぬぞ! 個人で持ちやすい庶民系レンタルサーバーってほとんどcgiだと思うけど http://rental.off-soft.net/4166.html これで鯖屋がモジュールにシフトしてくれるとありがたい。 脆弱性の発覚なんかどんなプログラムにもあるわい。 ちゃんとバージョン上げてるやつには関係ない話。 影響を与える範囲が広範囲に渡るんだから堅牢な作りにするのが当然なのに、 相変わらずその場しのぎの突貫工事だからこんなことになるんだろ PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ www.php.net にアクセスできなくね?俺だけ? そのうち直るだろ。 「オレだけ?」って疑問が湧いたら、 まずケータイからでも同じか確認すればいい。 >>507 おれは506じゃないけど、ひとこと言わせて なんでそんな面倒なことを要求するの? あなたも確認してみればわかることじゃないの? どうして自分は確かめるのをいやがるの? そんなにツンツンしないで馴れ合おうぜ〜(^ε^)チュ 外は冷たいのにどうして俺の部屋だけこんなに暑いのだ? >> 505 > PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ うちの会社が開発してるシステムには公開ディレクトリに、phpファイル全部置いてありますw 社長兼CTOにそれを指摘したら、 「htaccessでアクセスさせなければいいじゃん」 で終わり・・・。 糞CTOを論破するための、シンプル且つ論理的なセリフないですかね?w CLIで、root権限で動いているプログラムを プログラムの中から 一般ユーザーに降格させたいんですが どうしたらよいでしょうか >>513 君が理由も分からないまま人に言われたことを鵜呑みにしちゃってるのが悪いんでない? > 「htaccessでアクセスさせなければいいじゃん」 おれもそう思うんだけど。 .htaccessで塞ぐぐらいなら最初から、別のディレクトリに置けよ。 設定ミスで.htaccessが無効化されたり、 ずさんな運営でゴミファイル(xxxx.php.bk)が生成されたり、 色々と問題は起こる。 「公開ディレクトリに置く理由」が無い。 理由はインストール型パッケージの配布のしやすさかな。 もちろんユーザーが望めば非公開のディレクトリに置くこともできるわけで、 ちょっと別の話だなこれは。 配布するレベルのものなら尚更、 非公開にすべきファイル(ライブラリやコンフィグ)は好きなディレクトリに設置出来るようにしておくべき・・・ それは極論。 導入をし易いって意味ではPHPはベター。 上級者に聞きたい。 例えばcount.phpというのがあって これはリファラをチェックして 同じリファラをカウントするコードなんだけど(要はランキングみたいなもん) iframeやimgタグで<img src="http://hoge-hoge-hoge.com/count.php ">とかやられたら 不正されるよね?これを上手く回避する方法ないかな? >>522 最終アクセスのIPを記録しておいて、連続同一IPは無視する >>523-524 レスありがと けどそれだと相手サイトにimgタグ設置しておいて 普通に他人がアクセスした奴が時刻バラバラIPバラバラなら 全部カウントされてしまわない? 要するにAというサイトがあって それにBサイトのcount.phpをimgタグで仕込ませておけば Aサイトに検索で飛んで来た時刻・IPバラバラの アクセスは全部imgタグを介してBのcount.phpとしてカウントされてしまうと思う。 >>525 あーなるほど iframeだと実質的に違いはクライアントサイズしかないから、 JavaScriptを使ってブラウザ間の差異に気をつけつつ判断するしかないんじゃね。 リンク流入数とか、広告流入数を取りたいのかな? どちらにせよcount.php側の処理を2重3重にしないと不正対策は難しい。 みんなレスありがと。う〜ん何か簡潔な解決策はないもんかな… 簡潔な方法というとアクセスが送られてくるサイトを 定期的に調べるスクリプト動かすとかしか思い浮かばない… 不正やってるimgタグとかiframeとかがないかどうかチェックみたいな。 (こちらのカウント処理用PHP(count.php)が埋め込まれてないかどうかの) ただ相手もそんな簡単にバレるようなことはしないから こちらのリファラとかIPとか調べてサイト主がアクセスしてきた可能性が高い場合は 不正コードを生成しないとかされてたらこのチェックはかなり難しいなぁ。 なんか良い方法ないのかなぁ… >>528 そこまで恐ろしい相手と戦うのかwww 確かにリファラをたどって相手のHTMLを取得してa以外の要素があれば弾くのはいいかもね。 こちらのIPだけに特別なHTMLを生成する懸念に対しては、相手のGoogleキャッシュを確認するとかでどう? んでさらに心配ならJavaScriptによる表示サイズでフィルタするしかないのでは。 >>529 なるほどなるほど。キャッシュを調べる手があるね。 とにかくこれは地道に色々やるしかなさそうだなぁ。 がんがってみますね。レスありがとうございました! 上級者の方、ご教示お願いします。 for($i = 0; $i < 100; ++$i){ print '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } こうやってimgタグをaタグでリンクすると処理コストがかなり掛かるんです。 a単体にするとかなり速いです。なんででしょう? あとimgを付けていても、href="hoge.com" みたいに直接URL記述したら速いです。 わけが分かりません… だれか助けて〜 html = ''; for($i = 0; $i < 100; ++$i){ html .= '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } print html; こうやったら解決しました!どうもお騒がせしました! と思ったら気のせいだった…初心者スレ行ってきます! 他のPHPスレ言って質問したんですが 「PHPは糞言語」「消えろ」「速度を気にするやつがPHPなか使うな」 とか言われてまともな回答が来ませんでした… だれか教えて下さい〜 またお前か 繰り返すが俺らが答えるまでもない 少しは学習しろ >>536-537 そんなこと言わないでお願いしますよm(__)m 他のスレ言っても全然答えてくれないんです。 やっぱ何か改善可能な原因があるんですかね? >>531 マジレスすると、質問者のレベルを考慮すると、回答がすごくめんどくさい。 ここは上級者同士が集まって高尚(笑)な話をしたいスレのはず。 ここと向こう?の登場人物が同じ可能性だってあるのにバカなやつ phpでprivateなクラスをテストしたい時って、ReflectionMethodを使うのが一般的なのでしょうか??誰か教えてください ToT うるせーぞクズ てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ >>544 初心者未満のゴミが俺ら上級者の手を煩わせないでくれたまえ foreach ($arr as &$value) { /* hoge */ } unset($value) foreachでリファレンスを利用したあとにunset()するけど unsetしないで$valueを有効活用したことあるやついる? >>547 初心者レベルのクズが俺たち上級者に気安く話しかけるな なるほど・・・ 上級者としては、foreach後の参照はむしろ使うべきではないということか。 ありがとうございました。 foreach後の参照がどうこうより、 どんなロジック組んだら有効活用出来るのか考えてみると、 そのロジック自体無いな・・・って答えになる気がする。 イテレーションしてるのに最後の要素だけ参照で使うとか何がしたいのか意味不明 >>552 そうなんだよ だからこそ、参照が残る謎仕様が気になる 変数スコープ的にも参照が残るのは自然だと思うが・・・ iphoneアプリ、Windowsアプリを売って生き残れ 経済産業省は若者らの小規模な起業を促すため 数百万円を補助 http://matome.naver .jp/odai/2134667637844882401 格安iPhoneEラーニング(学習動画多数あり) http://tinyurl. com/7wj77om コワーキングスペースJP http://tinyurl. com/76vdrny コワーキング帳 http://tinyurl. com/brzs486 javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて 人の多いところで直接販売できる仕組みが提供されているメーカ製言語だけやる ずばりiphone またはWindow 8 Metro App Store C# やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報、書籍が多く開発しやすい 奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 動的だからドキュメントが多く必要で 癖があり 大規模開発中心 詳細設計しかできない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる技術だから 派遣屋 IT経営者はその方が喜ぶ 大規模分割開発では使い捨てても独立はできまい 嫌なら辞めろ 代わりはいくらでもいる 若い派遣営業は舐めた態度をとってくる ひどいピンハネ オープン言語、日本独自開発 言語・フレームワーク ガラパコ携帯 javascript html5 android java linux python rubyやnode.jsとかやめとけ メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり スパゲッティコード 未完成 デスマに陥る そそのかしておいて自己責任 コンパイルできないからパクられ 直接売る場所がないから企業に買い叩かれ金にならない 生きていけない奴隷仕様だ ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C# Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる 仕事や趣味でObjective-CやC#をやっておけば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える 例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ) C#のソースを出さなければWEBアプリの著作権も守れる ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#マーケット Windows8 Metroアプリ WindowsPhone Surface PS Vita Xbox360 iPhone(mono使用) iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品) 地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万) レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する http://tinyurl.com/7pb2yaa http://bit.ly/iLIpJa ヤフオクで脱獄iPhone15kぐらいで買える IIJmio,イオン.BB.exite,DTIで月千円でネット使える >>530 SSIで画像なり文字を返すように…まーいっか、今更。 文字列の先頭がビックリマークだ ってのを判定するとき if( ord($hoge)==33 ) echo "ビックリ"; って、ダメなの? $hogeが文字列なら if($hoge[0]=='!') がいいんじゃないの。 >>568 文字列って配列だったのか・・・ ありがとう! >>569 配列と同じ記法の[n]が使えるってだけで、もちろんforeachで回したりはできないぞ。 あと$hogeが実際に文字列ではなく配列かもしれない場合も必要があれば考慮すべし。 セッションIDって英数字で26文字だけど、 26文字ってなんか意味があるの? 16文字は短いし、32文字だと長いよね〜 みたいな感じ? 128bitを5ビットずつ削ってるのか・・・ なるほどねぇ だから最後は3ビット余るから セッションIDの最後は必ず0〜7なんだなー フヒヒ >>570 foreachで文字単位で回したいときはどうするのがベストなの? 話は変わるんだけどさ session_register()系 ってどうしてクビにされたの? 突然のリストラでお得意さん困ったりしない? >>571 session.hash_function session.hash_bits_per_character の設定がどうなってるか教えてくれ。 >>577 ハッシュあるごりぐむが0(MD5)で区切り数が5ビットやね オレらプロのスキルアップのためにと思ってこのスレを覗いてみたんだけど、素人ばっかだな >>580 このコピペってさくらVPSスレが元? それよりも前からあんの? iphoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y CentOS 7 (3.10.0-229.1.2.e17.x86-64) Apache 2.4.6 PHP 5.4.16 この環境で -rw-------. 1 apache apache test.csv $filename = "/var/www/html/test.csv" file_exists( $filename ); -> TRUE fileperms( $filename ); -> 0600 is_readable( $filename ); -> TRUE file_get_contents( $filename ); -> 読みだし成功 ---ここまではOK--- is_writable( $filename ); -> FALSE(失敗) file_put_contents( $filename , "HOGE", FILE_APPEND | LOCK_EX ); -> FLASE(失敗) 書き込みに失敗するのは何故? /var/tmp/ にファイルを移動したら書き込みが出来たけど 追記した差分は /var/tmp/systemd-private-hogehoge/tmp/ に保存され、オリジナルのファイルは変更出来なかった 新規ファイルも /var/tmp/ になら作れるのだけど実際には /var/tmp/systemd-private-hogehoge/tmp/ に作成されてしまう・・・ この挙動に付いて書かれたドキュメントってどこ見ればよいの? >>589 PHPを卒業できたら上級者でいいんじゃないかな PHPStorm を 9.0.3 にV.UPしたら、Remote Debug でブレークポイント で停止しなくなってしまった。 こんな症状の人いますか? いましたら対処方法を教えてください。 PHPのマニュアルの誤字脱字、校正ミスなどを作者(日本語訳)に フィードバックするには、どうしたら良いのでしょうか? 具体的な方法を教えてください。 (PHPerの一人として、少しは貢献したいので) PHPで小規模SNSか掲示板作りたいと思ってる。 mysqlなら大体いけるんだがサーバー知識皆無 http://www.anikore.jp/boards/ http://anime-otatalk.com/ 上のサイトみたいな仕組みを作るには さくらインターネットやロリポップのような格安レンタルサーバーでいけるもん? てか全てhtml+PHPでいけるもん? >>594 なんでもだいじょうぶ 高負荷で耐えられなくなれば移転すればいいだけ >>594 そういう人の為のレンタルサーバーとも言えるわけで、細かいこと気にせずトライしてみなよ。 と思ったら7か月も前のレスじゃないですか。 なぜこんなスレに迷い込んだのか… 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 S1WYA3AGU7 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。 QA39M php内で、下記の@、Aの外部コマンドを実行するにはどうすれば良いでしょうか? @コマンド1(request.jsonファイルの出力コマンド実行) echo '{"payload": {"image": {"imageBytes": "'` base64 -w 0 [画像パス] `'"},}}' > [ディレクトリパス]/request.json' Aコマンド2(@のrequest.jsonを使用したcurlコマンド実行) 'curl -X POST -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/***:predict -d @[ディレクトリパス]/request.json' 以上、よろしくお願いいたします。 internals終わってんなぁ… 去年の中頃から始まった牛歩戦術の強化が通ってから調子付いた創設者だか何だか知らんけど Staticおじさん化しすぎて何でもかんでもにイチャモン付けまくってて足引っ張り過ぎ なんでもいいけど、さくらって格安じゃないよな ロリポップは格安の部類で安かろう悪かろうだろうけど サービスで選ぶか値段だけで選ぶかって話ならどっちもどっち Cookieが無効有効の判断は if($SID) { print "無効"} else {print "有効"}でおk? composerが途中でkilledになって使い物にならないんだが メモリ1GB+スワップ1GBのLightSailなんだが開発用に低スペ鯖で動かすこと普通にあるだろうしでこのくらいで動いてくれてもいいと思うんだけど composerこういうこと多いからホント嫌い、動けば便利なんだろうけどさあ read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる