ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。
私こそが真のPHPの上級者だ! だからこのスレッドは私のものだ……。 お前たちはここにくるべきではないのだ。 ところで、私は誰ですか?
mail関数を使うための設定がわかりません。WindowsXPです。よろしくおねがいします。
>>3 お前みたいな初心者はくだスレにでも引きこもってろ。
ここは上級者の集うスレだ。
final class PHP_Tensai {
7 :
3 :2007/01/15(月) 02:34:36 ID:???
>>4 メールサーバはxmailです。導入する前はWindows付属のSMTP使ってました。popも使いたいのでメールサーバとしてxmailを選択したのですがphp.iniのどこになんて記述したらいいのかわからなくて立ち往生してます。
3=1 糸冬 了
初心者乙
PHP上級者の定義、条件は何ですか? 例) ・PHP使用歴10年以上 ・PECLを自作できる ・PHPを使って月収100万円以上
月収100万には届かないが、PHPを使って3ヶ月で240万円稼いだよ。
14 :
nobodyさん :2007/01/16(火) 02:49:37 ID:3Q1Caun+
こんな所に出会い系貼られてもなぁ
>11 人月80万の開発なんて普通じゃね?
17 :
nobodyさん :2007/01/19(金) 02:52:59 ID:ooNNw2ca
GETってセキュリティー的にはどうなの? POSTのほうがマシとかあるの?
18 :
nobodyさん :2007/01/19(金) 03:32:58 ID:/UQbmip1
POSTにしとけば少なくともアドレスからのイタズラは無くなる。 受け取りに対策しとけば問題ないし、対策なしじゃどっちもアウト。 ブックマークを考慮するならGETのが良いし。 以上上級者スレの非常に高度なFAQでした。
QS問わず、排他制御の良い方法ないですか?
>>18 サニタイズ言うなキャンペーンは上級者向けの話題ですか?
21 :
nobodyさん :2007/01/20(土) 14:31:19 ID:c+1RvCEz
strtrって遅くない? 何回計ってもstr_replaceの方が倍以上速い
>>21 用途が全然違うので、比べる意味などないですよ
23 :
nobodyさん :2007/01/25(木) 12:45:50 ID:HfWXyheO
[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 スレタイ読んでないよね?
だめだよ。スレタイはちゃんと読まなきゃ。
39 :
nobodyさん :2007/04/16(月) 13:23:17 ID:FLqOV9yP
40 :
nobodyさん :2008/09/08(月) 06:58:47 ID:YApPrX0L
関数は使用する行よりも前に書かないといけないのですか?
そんな低級言語、C/C++ぐらいだよw
わざわざPHP上級者と言っているということは、PHPについては上級者でも プログラミング全般に関しては上級者ではないということですか?
ああ、いるいる。 PHPで print "Hello!World"; はすぐ書けるくせにPerlになると書けない奴。
普通Helllo World!じゃないの?
Helo World!だと思ってたorz
Halo World - ディープインパクトの系譜 -
なんだ。 結局Hello Worldが書ければPHP上級者になるのか。
上級者じゃない俺はHello Worldも記述できないのか・・・
上級者の皆様に質問です。 文字列を50音順で並び替えたいのですが、 どうしたらよいでしょうか? やはり一文字ずつ配列で確認した方がいいですか?
>>50 頭数文字を数値化して並べ替え後、同じ数値が並んでるかどうか比較して並べ替え。
>>51 頭数文字の数値化というのは、(あ)なら1で(い)なら2という意味ですか?
イイヨイイヨー
54 :
nobodyさん :2008/10/31(金) 19:40:09 ID:Eo+dqOlV
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を呼び出せないかと思ったのですが 出来ますか?
やってみれば
できるならやってみます
どんだけ〜
60 :
nobodyさん :2008/11/01(土) 07:37:24 ID:/2wL5ARz
>>55 さん
preg_match_all()の結果と同じ配列を作るには
$match[0]=array("全体1","全体2","全体3");
$match[1]=array("部分1","部分2","部分3");
$match[2]=array("部分A","部分B","部分C");
と、しないといけなかったんですね・・・。
ありがとうございます。なぞが解けました。
多元配列を正しく理解していませんでした。
>>60 何を言ってるんだ?
まとめて代入しても同じ
62 :
60 :2008/11/01(土) 17:51:55 ID:/2wL5ARz
>>61 さん
すいません。どういう意味なのでしょうか?
>>62 61じゃないけど
>>60 のほうが意味わからない。
何を想定してどんなふうに想定外だったのかということがはっきりしないな。
64 :
60 :2008/11/01(土) 18:17:53 ID:/2wL5ARz
>>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になると思ってたのはなぜ?
要点だけ言われても余計分からないから全部言ってくれ。
いや解決したんならもういいんだけど、単なる雑談として。
67 :
60 :2008/11/01(土) 19:36:22 ID:/2wL5ARz
サンプルコードをもう一度きちんと書きました。 //@/////////////////////// $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>';
68 :
60 :2008/11/01(土) 19:37:04 ID:/2wL5ARz
>>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)の新機能についていけないです 無名関数とかラムダ関数とかクロージャとか静的遅延束縛とか、 理解できないです そういったキーワードを検索して楽しそうに書いてたり、 愚痴ったりしてるブログを見ると、理解できない自分が寂しいです 情報系の大学に行った方がいいんでしょうか 独学は無理っぽいです
大学はそんなこと学ぶとこじゃないと思うがw
>>71 PHPは手っ取り早くWebアプリを開発するためのツールという側面が強いから、
そこらへんのことを学びたいなら他の言語で勉強した方がいいと思う。
PHPは最初は取っつきやすいけど、プログラミングの本質を学ぼうとするとすぐに壁に突き当たる。
最近の言語ではPythonが学習に向いていると思うけど、なにしろ日本語の情報が少ないしな。
IDE何使ってる? Eclipse+phppluginは微妙に使いづらそうな印象を受けるし sjisじゃないと文字化けするとか不穏な情報もある(古いが) phpエディタはよさそうな印象だが使ってはいない 経験者情報plz
いつの話だよ
phpなんてもう何年も使ってないもので
viで編集・・・
phpとASP.net両方得意な人に質問があります。 生産性という面で言うとやはりASP.netの方が高いのでしょうか?
PHPだろ
PHPだね。
>>80 >>81 あんた方本気で言ってるの?
ASP.netだと画面のデザインなんてマウスのドラッグで簡単に出来るよ。
であとはサーバ側の処理を記述するだけで完了する。
どう考えてもASP.netの方が生産性が高い、としか思えないのですが。
もっともASP.netの場合にはライセンス料とかの兼ね合いもあって
同じスペックのレンタルサーバを借りたとしても高いけどね。
PHPです。
84 :
nobodyさん :2008/12/14(日) 13:25:18 ID:vrT8sAoj
ぐぐってもみつけられなかったんで上級者さん教えてください 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だけで実現したいです。 良い方法をご存知の方、教えてください。
92 :
nobodyさん :2009/03/03(火) 01:30:53 ID:hdsn1ZlD
>>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
つ Komodo Edit
これが噂の上級者が集まるスレか。流石だな。
私はPHP上級者ですがどうしてもわからないことがありますか?
PHPで指定したディレクリにあるjpg|jpeg|gif|pngの画像枚数を取得したいんだが、教えてくれ。
マルチ乙
PHP6使う?
ls 使ってチェックだな。
readdir()で検索してpreg_match()で照合すればよくない?
php6のオブジェクト指向ってphp5と同じですか?
107 :
nobodyさん :2010/06/12(土) 00:33:14 ID:RYMW4bMX
ここの上級者ってやっぱりオブジェクト指向で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 ''; } }
コンストラクタで返り値返せないよ
無茶苦茶じゃねーかww
てかこのスレ、下スレと何が違うの? 初心者が上級者のふりして書き込む厨房専用スレ?
上級者用の下らない質問スレでしょう。
120 :
nobodyさん :2010/06/21(月) 14:15:37 ID:CBlb9XeO
PHPでなにができたら上級者と言える?
2chのクローン作れば私が褒めてあげる。
>>121 2chのクローンなんてblogサンプルがそこらじゅうに出回ってるし、
簡単に作れる。寧ろそのサンプルの方が2chより高機能だろ。
P2P掲示板作ってよ!
125 :
nobodyさん :2010/06/26(土) 21:56:49 ID:nh7WDbu8
私は上級者なのにechoとprintの違いがわかりません。どうしてですか?
タイピングがとろいからじゃね?
PHPで VB.netみたく optional 的な記述方法はありませんか?
129 :
nobodyさん :2010/06/28(月) 13:25:54 ID:WPgH34jW
今、phpでグラフを作成しておりまして、配列中にある最大値と最小値を求めて それぞれをグラフのy軸の最大値、最小値としていましたが、それだと配列内の 最大値、最小値のスケールでしかグラフが生成できません。 なので、ある程度範囲を持たせる為に 例えば最大値が1001の場合 1、配列中の最大値の桁数を取得して(=4) 2、桁数の頭に1をつけて(1000) 3、2、の桁数を整数で切り上げ除算して(2) 4、最後に3、に2、の桁数を乗算した(2000) をy軸の最大値にしたいと思います。 2の部分が不明瞭で皆さんのお知恵をお借りしたく思います。 よろしくお願いします
130 :
nobodyさん :2010/06/28(月) 15:39:09 ID:PXXo1bnr
グラフの余白値 = 最大値 × 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
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
166 :
nobodyさん :2010/07/13(火) 21:18:11 ID:gdo55WeB
htmlspecialchars関数についてお尋ねします。 この関数に文字列を2回通した場合、アンパサンドが二重に変換されてしまいます。 <→&lt;→&amp;lt; のようにです。 Ver5.2.3からは、第四引数「double_encode」が追加されたので、 これを防止する事ができると思いますが、 それ以前のバージョンの場合に回避方法はありませんでしょうか?
Ver5.2.3のソースコードを移植する
>>166 一度デコードするか、自作関数作ればいいんじゃない?
上級者を自負するなら、そもそも2回通すロジックを見直すべきだとは思うが・・・・・・
> 2回通すロジックを見直すべき はげどう
170 :
166 :2010/07/14(水) 07:24:12 ID:???
>>168-169 レスありがとうございます。
上級の方がいそうなスレなのでお尋ねしました。
仰るとおり、2回通すロジックが問題ですが、
誤って2回通してしまうような場合も想定して、他にも方法がないか模索していました。
また、WAFのようなものでサニタイズされた場合、
ソースを修正しなければ、やはり二重に処理されてしまいますので、やはり何か手が打ちたかったのです。
ちなみに、1度デコード(あるいは&だけデコード)する方法も考えましたが、
ttp://www.asp-edita.jp/doda/one/doda5728_17.html 辺りや、リンクされている記事を読んで結局はコチラで質問した次第です。
htmlspecialcharsはあくまで 「HTML内に出力するときはエスケープしなきゃダメでしょ><!」 って関数なので、htmlとして出力する時にしか使わない。 てことはまったく使わないか、使うとしても1回。 (他作WAFだろうが自作PHPだろうが)「誤って」2回通すとすれば、 それは局所的なバグとかじゃなくて、思想・理解的な間違いだと思われる。 今後の似たようなバグの根絶のためにも、思想の見直しを。 そうは言っても…って話も、まあ、あるんだろうけど(笑)
172 :
nobodyさん :2010/07/14(水) 15:34:35 ID:uN19CneF
173 :
166 :2010/07/14(水) 20:41:25 ID:???
>>171 皆さん、レスありがとうございました。
自動的にhtmlspecialcharsと同様にサニタイズするWAFが有る・無しにかかわらず、
同じソースコードを使いたかったのです(--;
「関数を2回通す」というのは悪い例えでした、すみません。
docomo携帯から閲覧した時に文字に下線が引かれる様にするには どうすれば良いですか? <U>文字の下線</U> こんな感じのタグをhtmlに入れても docomoからは下線が表示されません。
>>174 <hr>しか無理じゃね?
wordpressとかなら消えるんじゃね?
>>175 <U>タグが使え無いのは、docomo仕様なのでしょうか?
もはやPHPかすりもしない質問kt
mod_rewrite
>>181 「mod_rewrite」でググってこい
183 :
nobodyさん :2010/07/23(金) 11:36:54 ID:AgQn7g4l
PHPで車は動かせますか? 上級者なら出来るって聞いたものでここで質問させていただいてます。
できます。次
185 :
nobodyさん :2010/07/24(土) 13:56:23 ID:C0x7DFuy
このスレのレスはPHPで自動化されているって本当ですか?
本当です。次
なんでpdoモジュールを書いてる奴らはソースをどっちかに纏めないんだ?
189 :
PHP@最強戦士 :2010/07/26(月) 16:55:45 ID:x+pw7Ejc
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ユーザー「そのまま放置しといて」 ワタシ「なんかパソコン起動しなくなっちゃいました〜泣」
PHPはいいですね まで読んだ。
191 :
nobodyさん :2010/07/26(月) 17:22:08 ID:x+pw7Ejc
>>190 てめえはPHPユーザーだろ?
はやく氏ねよwwwwwwてめえみたいなPHPユーザーが消えれば平和になる
てめえはP まで読んだ。
八百忠が消えれば平和になる まで読んだ
194 :
PHP=クソ(笑) :2010/07/26(月) 23:34:55 ID:z/NbSmjH
名前の通りです(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑)
道ばたに落っこちているウンコに対して、
「ウンコ!このウンコ!・・・おまえはウンコ(笑)・・・ウンコ(笑笑笑)」
と一人叫んでいる
>>194 さんを想像したら心がほっこりした
その余裕が顔に出たのか、モテキ到来で彼女が出来ました。
本当にありがとうございました。
196 :
名無しさん@お腹いっぱい。 :2010/07/27(火) 07:38:03 ID:Q+p+NFYS
だからなに?てめえは彼女が出来てなんなの? バカじゃん?それがどうかしたの?いちいち報告しなくていいよなあ? 御前等みたいなゴミは仲良しグループで仕事してんだろこら? なあ?てめえみたいなゴミは死ねよ今すぐ死ねよ まじしねよ!!!!!!コネコネしてんじゃねえよ死んでほしい てめえブログとかに沢山言語自慢してそうなやつだな かっこつけてhaskellとか 沢山言語やってそうな御前は八方美人なんだろうな うぜえんだごみ まじきえろ
まじきえろ まで読んだ
PHP技術者認定もってるひといまsか?
クソクソ言ってる方がキレがあったな。
>>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 どうやったら「#」という文字列を渡す事が出来ますか?
エンコード
フォームからファイルアップロードするときに、 大きいサイズだとけっこう時間がかかります。 アップロード状況をプログレスバー等でリアルタイムに視覚化するには どのような処理をすればよいのでしょうか?
apcでできなかったっけ
PHP_APCってレンタルサーバでもインストールできます??
php.ini弄らないといけないみたいなので、ムリっぽいですね><
掲示板のようなシステムで、投稿内容に JavaScriptやIframeなどのタグがあったらNGにするには どのように処理されてますか? 単純な文字列検索だけだと、逃げ道がいろいろありますよね。。。
適当でいーんじゃね? 抜けられて困る事もあまり無いし スパムだったら都度フィルタ調整するしか無いだろうし 許可タグはホワイトリストだべ。
適当ってどれくらい?? こんなんでいいの? if (preg_match("/<script/i", $body)) { return false; }
たとえば掲示板プログラムで、 投稿本文にタグの閉じ忘れがあったらレイアウト崩れますよね。 プロのみなさんは、どうやって対応されていますか?
1. そもそもタグを許可するような仕様を提案することはない。 2. やむなく作るなら、閉じ忘れを警告し、閉じないと投稿できないようにする。
タグありにしたいんです>< 閉じ忘れの検出はどのように実装しますか?
JavaScriptで実装する。 送信ボタンを押したときか、テキストエリアからフォーカスが外れるタイミングで。 正規表現で<tagと</tagをペアで数えていけばいいんじゃね? 自分なら厳密にやるよりはソースがシンプルなほうを選んで実装するな。 「親切で指摘してあげるんですよ^^^」的な上から目線を根拠に。
219 :
nobodyさん :2010/09/14(火) 13:43:42 ID:LyPWJsrC
<br>なんかはどうする?
ん?チェックする対象にしなけりゃいいんじゃない? それとも<br>が100個書かれたときのレイアウト崩れまで考慮すんの? それやるとキリがないからやりたくないな…。
>>211 strip_tags() で不満なら HTML Purifier
strip_tagじゃjavascriptのコードは消せませんよ
>>222 だからその後まで書いてるんじゃん。バカ?
認識するタグは変更出来なかったっけ
正規表現で消せばいいだろ
似非上級者の集うスレはここですか?
PHP上級者(笑)
PC iPhone 携帯 いずれからアクセスされたも指定したURLへ飛ばすにはどうすれば良いでしょうか? 当然携帯電話の場合には、JavaScriptが使えないので Location等を使う事になると思うのですが、 携帯キャリアを問わず正常にページ遷移させる事が出切るのか不安です。
ゆーざーえーじぇんとー^^
ドコモの古いので無ければ、まあ
PHP5のオブジェクト指向開発で protectedを一切使わない奴はすべからく雑魚PGである。
雑魚PGの俺に、protetedとprivateの使う場面の違いを教えてくれ
protectedは欠陥商品 使うヤツが雑魚
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割はカッスカス
1人もいないよ
241だが 俺は少なくとも上級者に入ってるので一人は先ずありえない。
オレも同じようなこと書こうとしたけど恥ずかしくてやめました
Facebookに勤めてるPHPハッカーとか憧れるわ どんなコード書いてるんだろ
作りたいものがない!
上級者ってどこからなの? という疑問。
別スレで分る人がいなかったのでこちらにて質問させて下さい。 Googleで特定サイトの(画面上から入力されたURL)ページランクを 調べるにはどうすれば良いでしょうか? GoogleのAPIをコールするのかな?
>>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
267 :
nobodyさん :2010/11/28(日) 01:08:02 ID:F1JfXYTU
ワールドワイドに展開したいサービスを作る場合、 日付情報はローカル時刻から世界標準時に変換してDBに保存して、 閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか?
No
269 :
267 :2010/11/28(日) 01:30:18 ID:F1JfXYTU
どうするのがいいですか?
ワールドワイドに展開したいんだから ワールドワイドに展開してるということを分かってもらう必要がある つまり日本時刻に統一することで、日本のサイトがワールドワイドに展開してると認識してもらう
>閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか? YES。 閲覧時に変換すればいいだけの話で、 DBにはローカル時刻で保存しておいても問題無いよ。 というか、日本で開発するならデバッグのし易さ等も含めて、、 わざわざ世界標準時に変換して保存する必要は無いかと。
timestampで保存すりゃいいじゃん
$_REQUEST を使えば GET も POST もどちらの値も取れる様なので GET や POST を使わずに REQUEST 一本で行こうかと思っているのですが 何か問題(セキュリティー的な面で)はありますか?
うむ
>>273 getとpostを区別しないフレームワークもあるし、いいんじゃない?
timestampで保存?? PHPおよびDBのtimestamp型はグリニッジ標準時で格納されて、 表示のときにタイムゾーンにあわせて変換されてるの??
timestamp型は内部ではGMTなんだね。知らなかった。さすが上級。 でも2038年までしか使えないのか。 案外すぐそこだと思ってしまう。
>>275 ええのかな。
>>277 ごめんなさい。
かりに投稿されてもサニタイジング処理するから
問題無い気もするのですが何が問題なのでしょうか?
サニタイズじゃないだろそれ
>>278 DateTimeつかいなよ
あと「2038年問題」で検索すればわかるけど
過去に銀行でトラブルがありニュースになってる
php5.1までは対応が面倒だったが
php5.2以降ならDateTime使えば2038年問題はクリアできる
書式も柔軟で使いやすい
282 :
nobodyさん :2010/12/01(水) 01:33:56 ID:fFpZquRW
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接続ができません)
できるだけスマートな実装を教えてください。
DB越えのリレーションができるようにしてるのでは
>>284 基本情報の保存されたマスターユーザテーブルと、
サービス別に必要なカラムを持ったテーブル(マスターユーザIDで紐付け)があるんじゃねーの?
マスターサーバに負荷がかかると思われるが、
それはハードウェア的に分散してるものだと思われる。
DB越えのリレーションってどうやるの??
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実行してるみたいなんだけど これが失敗してるんだよなあ
291 :
Perl忍者 ◆M5ZWRnXOj6 :2010/12/05(日) 14:11:08 ID:v423lubt
WEB業界を牛耳っているのは Perl-casualのやつら こいつらはやばいよネットヤクザだよ だいたいのWEB業界 mixi,gree,ライブドア,google,yahoo,楽天など 牛耳ってるのもperl-casualのやつら mixi事件のメルアド検索もperl-casualのやつらの工作 perl-casualのやつらはやばいよ まじでこれは言える perl-casualのやつらが日本のインターネット業界を支えている これはマジで実話
292 :
被リンクサービスの決定版 :2010/12/05(日) 18:43:27 ID:07kW5KS8
↑ 3万も払って、たった10ブログからのリンクだけ?? クソボロい商売だな。 俺一人で個人経営やっても、数日で1000ブログ以上作るシステム開発する自信あるぜ? てかもう存在してるだろうけど。
アホか。システムなんか誰にだって作れる。 問題はプロモーションだ。
phpで出来てるフレームワークで、ほとんど素のphpだろこれっていうレベルのものある? smartyとか覚えきれなかったので
つ「ちいたん」 ってかSmartyだって素のPHPなんだが・・・w
>>295 フレームワークってのは使い方を覚えて初めて役に立つものだから
覚えることがデメリットになるくらいなら使わない方が無難な物ができると思う。
素のPHPだから一概に悪いなんてことないよ。
>>296 なかなか悪くないな!むしろいい感じだな! 名前の由来が気に入らないが!
299 :
nobodyさん :2010/12/12(日) 06:49:26 ID:k+72gwmM
JavaScript使ったサイトのテストにWatirが良さ気だと思っているのですが、 これもいいよ、っていうツールはありませんか? いまはWSHでやってて限界感じています。
比較したことないけどSeleniumもいいと思う
スレ違いだったらすみません。 PHPDocumentorでチュートリアルを生成すると文字化けが起こるんですけど、どなたか解決方法を知りませんか? 文字化けというより、不正な文字を「?」に置き換えてる感じで、日本語が全部「??????」で出力されます。 チュートリアル以外のドキュメントは文字化けを起こさないのですが。。。
>301 すみません、解決しました。。。 Setup.inc.php の 733行目 にあった $ret = utf8_decode($ret); をコメントアウトしたら解決しました。 お騒がせしました。
303 :
nobodyさん :2011/01/02(日) 13:53:35 ID:6H//G+jS
>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使ってないのか? まぁ自作関数ライブラリがあれば足りるケースがほとんどではあるが。
317 :
315 :2011/01/07(金) 12:20:05 ID:???
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で使うんですね。
ありがとうございます。
334 :
nobodyさん :2011/01/12(水) 16:58:41 ID:KnVXPSXC
Twitter Streaming API を使用して 指定したユーザ(例えば testman )が呟いた内容を テキストファイルに出力したいのですが どの様に書けば良いでしょうか?
file_put_contents('text.txt', $tweet);
>>335 Twitter Stremaing API を使用して
指定ユーザの呟きを取得する部分が
分からないです。
※テキストファイルへの出力コードはわかります。
それって初心者の質問じゃないのかな。 お前はとても上級者に見えないが。
>37 初心者の私上級者の方教えて下さい。
>>339 PerlやPythonといった言語での解説サイトはありますが
PHPでの実装方法を解説したサイトが見つかりません。
ドキュメント読んでないのね・・・
>>319 俺もオレオレバリデータ作ったことがある。
ワンタイムトークン的なものつくるとかとか、確認画面用に、値をセッションに格納して読みだして〜とかの機能とか
設定したバリデートルールを使って、Javascriptのコードも生成させて、クライアントサイドでも
バリデート出来るようにしたりね。
最近は、jQuery使って、CakePHPのヘルパとかでバリデーションルールをJSONにした物から
クライアントサイドでのバリデーションも連動するようなものを、作りかけた。
まぁ、書き慣れない言語はソースが迷子になって困る。
>>336 を解決することの出来る勇者はいないでOK?
>>343 勇者じゃなくて奴隷だろ?
無報酬で作業して欲しいんだから。
ここには上級者はいないでOK?
OK
しつこい奴だなw
上級者は下手な煽り程度では動じないのであった。
どうしても特定のユーザの発言をタイムリーに受信したいんだよね。 なんとかStreamingAPIを使用して 特定ユーザの発言を常にフックする方法を教えて下さい。 ※上級者の方、宜しくお願いします。
Socketは扱えるかい? HTTPプロトコル及びTCP/IPの基礎知識はあるかい? PHPはCLI環境等で常駐させる事が可能かい? >特定ユーザの発言を常にフックする方法を教えて下さい。 Twitter Streaming APIへ接続して、受信メッセージを順次ストリーミング処理するだけだが、 何が解らないのか解らない。 上記の基礎知識が無いなら説明しても理解出来ないだろうし、 基礎知識があるならAPIの仕様を読めば実装出来ると思うけど。
>>353 上級者はいないでOKになったんだから頼むから消えてくれよ
あれだけ失礼なこと言ってよく居座れるな
>>354 こういう奴に教えてやる必要ないって。
初級・上級の前に人間が腐ってる。
>>354 基本的なツイッターAPIの呼出方については分かるのですが
どうしても Streaming API を使用して特定ユーザのついーとを
取得する方法が分かりません。
もし宜しければPHPで実装した人のHPや、
コードを載せて頂けないでしょうか?
>>355 >>356 お前らみたいなクズには聞いていない。
コード載せろとかww
>>358 Streaming APIはREST APIのように単純には処理出来ない。
OAuthとかの実装は済んでるかい?
358=361
>>361 >OAuthとかの実装は済んでるかい?
こちらについてはアカウントも取得し
OAuthについては大丈夫です。
かい?かい?厨uzeeeeew
>>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
375 :
374 :2011/01/31(月) 23:28:37 ID:???
ダメだスマン反省してる許してくれ
/[0-9]+\s?,\s?[0-9]+/ 上級者じゃないけど、こういうのどうよ。
>>376 80点を上げよう
・対象を () で囲み忘れてる
・VALUES等の固定文字列を書いた方が処理速度が上がる
ぜ
これだけのことに正規表現は愚作
>>372 >>377 ありがとうございます。
流石上級者の手に掛かれば一発ですね。。。
文字列処理でやるより正規表現でやる方が断然速いですね。
strpos と substr のが早いんじゃね
PHP技術者認定ウィザードか やってみたいが受験料高いなぁ
382 :
nobodyさん :2011/02/23(水) 23:27:05.00 ID:RrQiOYHD
HTMLの中にPHPの変数を埋め込む場合、 普通はこのようにやりますが、 <?php echo($hoge); ?> ではなくて例えば以下のように JSPのEL式みたいな書き方をしたいです。 ${hoge} Smartyで似たようなことができますが、 私の目指すところは テンプレートエンジンを使うのではなく PHP自体を拡張したいのです。 (例えばExtentionみたいなもので) このようなことは可能でしょうか?
そんな風味の仕様をちゃんと確立出来る? 使い勝手悪そうだけど…
>>382 PHPはオープンソースなんだからCが出来れば普通に可能だよ
>>384 PHPのソース自体に手を入れないと駄目ですかね?
そうなると結構敷居が高いですねぇ。
Extention程度ならなんとかなりそうかと思いましたが・・・
extensionでもできるんじゃない?
>>386 Extensionって関数を追加するだけじゃなくて
PHPファイルのタグの拡張もできるもんですかね?
できるんじゃない?
まじっすか・・・!
390 :
nobodyさん :2011/03/01(火) 19:07:35.82 ID:C4PHx9pJ
っつか、それってsimplateじゃねーか?
simplate検索して初めて知りましたがちょっと違いますね。 これって結局やってることはSmartyをExtensionにしただけですよね。 僕が目指してるのは、PHPファイルのタグの拡張です。
御託並べてないでやりたいならさっさとやれよ
393 :
nobodyさん :2011/03/09(水) 13:24:51.70 ID:ftgAWXF8
Smartyみたいなテンプレートエンジンって結構使われてるの? なんかIF文まで専用のものが用意されてるみたいだし、 これまでのPHP知識が無駄になりそうで怖いんだけど。 タグが多すぎて可読性も悪いし。 PurePHPに慣れた人間には逆に使いづらいんじゃないかな。
スレタイ読んだの?
>>393 そりゃあもちろん使いづらい
全部一人でできちゃう人には使いづらいと思う
ただプログラマとデザイナ分けて開発したいときはSmartyがラク
{$var}{foreach}{if}くらいしか使わないけど ピュアPHPより見やすくて書きやすくて好きだよオレは オレオレフレームワークに組み込んで使ってます。
397 :
nobodyさん :2011/03/28(月) 00:37:54.55 ID:KPnbB4lM
俺趣味でPHP使ってるけど、フレームワークなんて一度も使ったこと無いな。 自前のライブラリはあるけど。それで十分だ。むしろそっちのほうが速い。 Javaならともかく、PHPで組む程度のサイトなら自前ライブラリ+コピペで十分だろ。
そりゃその程度のものしか作ってないからだろ
複数人で作業する時ラクなんだよ
趣味と仕事は違う
401 :
忍法帖【Lv=40,xxxPT】 :2011/05/12(木) 21:13:01.99 ID:E3Km+bRW
pho上級者っていくらくらいもらえてんの?
わーい
404 :
nobodyさん :2011/08/09(火) 12:40:12.23 ID:rbkGhtrp
なんかここの住人って質問する奴を批判するだけで答えてなくてワロタw スルーもせず批判ばかりで自分大好きなのがw
オレはこのスレ好きだよ。
406 :
nobodyさん :2011/08/12(金) 19:13:13.66 ID:YJp+MY1H
俺にかなうものはいない
twitterの基本機能クローンをフルスクラッチで5時間以内に構築できたら上級者。
>>407 その課題に疑問を持たない時点で低級だな。
ログイン認証と相互フォローが可能なWEBチャット程度にしか考えてないんだろうけど。
UIだけならなんとかなるかもしれんが・・・
5時間じゃ無理だわ・・・3日はほしい。 それでもスケールアップを無視したツラだけのものになる
上級者なら自分で作れ
PHPのコーディング規約の標準を作ろう、活動があったと思うんだがぐぐっても出てこない。 URLわかる人いる? Symfony2とかZendがベースになってるやつ。
>>414 PEARとSymfony2とZendの規約を良いとこ取りした英語のサイトだったんよ。
まだドラフト段階ぽかったけど、
namespaceやクラスの命名規約と、
ファイルとのマッピング(オートロード方法)が定義されてて、
いいなぁ・・・と思ったんだけどブックマークするの忘れてた。
このルールは、先日のphpカンファレンスで始めて知りました。
>>416 まさにコレだ!
PHP Standards Working Group.
ドラフト定義のページ自体は消えてるっぽいね・・・検索しても出てこないわけだ・・・。
419 :
4S買います。 :2011/10/07(金) 14:09:26.50 ID:NzNwk4X7
MacでPHPのプログラミングをやろうと思っているんですが、プログラムを 入力して実行するところまでができません。 PHP上級者なんですが、まったくわかりません。 どうしたらいいでしょうか?
MacOSX関連のしかるべき場所で聞いてみれ
>>419 逆に質問。
webサーバは何を使おうとしてる?
apache? nginx? web共有(中身はapache)?
OSのバージョンは?
古いのだと、別途developer toolをインストールする必要があるかも。
phpはインストールされてる?
ターミナル開けて、which phpを実行してみる。
webサーバとphp間の接続は?
isap? cgi (fcgi)? fpm?
423 :
4S買います。 :2011/10/12(水) 00:35:48.22 ID:tsC58JYK
わからない。゚(゚´Д`゚)゚。 初心者です。
PHPのインストールは、 yum を使ってしかやった事がありません。 ./configurate や make や make install をやるタイミング、そして意味を上級者の方教えて下さい。 ソースからビルドを行なうとか今時やるものなのですか? 昔ならいざ知らずこのご時勢になってソースからビルドするとか信じられないのですが。
>>424 yumでかまわん。
makeの質問はスレ違い。
業務上サードパーティーが用意したパッケージ(野良リポジトリ)を使うのが難しかったり、
パッケージ依存の問題でyumれない場合、仕方無しにソースからコンパイルする事がある。
426 :
忍法帖【Lv=4,xxxP】 :2011/10/13(木) 14:36:23.17 ID:83wWhHo0
zend engine の改造している人います?
427 :
nobodyさん :2011/10/25(火) 12:04:29.79 ID:iSM6PcDe
428 :
nobodyさん :2012/04/04(水) 05:36:51.68 ID:Uvzh3GQc
フォーム入力値をバリデートするとき、 サーバーサイド(PHP)だけじゃなくクライアントサイド(JavaScript)でも書くことあるよね? このとき、バリデーションコードが重複しがちだと思うんだけど、どうしてる?
上級者でない方はお帰り下さい
430 :
nobodyさん :2012/04/05(木) 01:19:05.66 ID:Zo7rsTVS
PHPでしかできないバリデーションもあるので、どっちかに集約するならPHP側かなと思った。 その上で、HTMLテンプレートに書けるJavaScriptヘルパー的な関数でバリデーションコードを出力する。 あまりに完全なコードだとscript要素内でのカスタマイズがしにくくなるので、その加減を考慮中。
431 :
nobodyさん :2012/04/05(木) 09:27:41.54 ID:KDGKjb0o
毎回ちゃんとsession_startしてdestroyしてstartってやってますか?
432 :
nobodyさん :2012/04/10(火) 08:54:09.23 ID:21DCZu7Z
アンケートとります。 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
ZF一択だろ
>>440 your written message is same one. Hahhawww
PHPerってなんで文字列 を " じゃなくて ' で囲むの? 他言語歴の長い人からすると非常に違和感。ぷんぷん。
443 :
nobodyさん :2012/04/15(日) 10:54:58.56 ID:dsZTge3K
"で囲むと変数が解釈されるからだな。 その分、処理がビミョーに遅くなるし、思っても見なかった変換がされる事があるから'使うって事らしー
微妙っても速度変わらないだろ↑ 文字列は " で囲め。
他言語は " が基本なの? じゃ、どんなとき ' のほうを使うの?
>>445 'A' や 'B' のみ。
phpしかやった事がないやつはだから困るぜ。
「'A' や 'B' のみ。」の意味がわからん。 まさか「AやBといった大文字アルファベット1文字の文字列をくくるときだけシングルで、それ以外はダブル。」 って意味でもないだろうけど。わたしのことをバカにしまくっていいので、正解を丁寧に教えてください><!
>>447 文字コードを意味したいときは ' '
文字列を意味したいときは " "
なるほど。
変数の展開は?
PHPerには理解できぬか。
shellやperlはさわらんの。
PHPやシェルスクリプトなど、シングルクォートとダブルクォートで違いがある以上、使い分けるのが当然。 ダブルクォートは、必要があるときだけ。 必要が無いのにダブルクォートを使っていたら、必要があるから使っているように見えて混乱する。
>>453 どっちを基準にするかは自由だけどな
おれはダブルクォートをメインに使って、
必要があるときにのみシングルを使うわ
本末転倒だろw
妙にやる気がでなくてphpだけでだらだら作った測定ツールが思いのほか 大好評で、バグってハニーしても満面の笑みで「許す!」と言われた時に 「じゃあ直さなくてもいいですよね」と堂々とサボります宣言できるようになったら 上級者って思ってもいいですよね。 ちなみに今日それを言ったらもう30になるのに物凄い説教されました。 めんどくさいです。
いい年してガキか
458 :
nobodyさん :2012/04/19(木) 22:38:34.62 ID:ETb6Xu93
流れ読まずに質問するが、 0123456789abcdefABCDEF しか含まれていないことをチェックする最速な方法って何だと思う? その変数はマルチバイトが入る可能性があるんだ。 ちなみに PostgreSQL+phpで書くと SELECT $str=replace('0123456789abcdefABCDEF',$str,''); が多分一番早そうに思うんだ。phpのみでこんなことをする場合のゆとり用の関数あったかな?
459 :
nobodyさん :2012/04/19(木) 22:43:19.73 ID:ETb6Xu93
>>458 あ、ごめん。
SELECT translate($str,'0123456789abcdefABCDEF','')='';
だった。
お前ら初心者の癖してこのスレにいすわるな。
461 :
458 :2012/04/19(木) 23:14:43.44 ID:ETb6Xu93
最速、という答えを言えるには上級者じゃないと! ちなみに当方、アクセラレータいれてるんでインタープリタのオーバーヘッドは無視してください。
>>458 preg_match('^[0-9a-f]+$/i', $string);
しか考えられんが最速かどうかは知らん
463 :
458 :2012/04/19(木) 23:24:13.65 ID:ETb6Xu93
>>462 可読性からいうと一番「美しい」予感ではありますな。
正規表現が可読性いい(笑)
465 :
nobodyさん :2012/04/19(木) 23:30:40.38 ID:ETb6Xu93
そうか、君がいいならそれでいいよ
$str = "aaaa @bbbb"; // ← @ $dummy = split("@",$str); @において @の左側の一見すると半角スペースの部分に バイナリエディタで確認すると 1A の文字が入っている場合に splitでは意図した分割が出来ません。 そもそも、この 1A ってなんなんでしょうか?
468 :
467 :2012/04/20(金) 17:17:03.30 ID:???
いずれにしてもこのデータのパターンは例外の様なので UTF-8で定義した変数内文字列に 1A の物があったら除外を行う方向で対応したいのですが どうすれば、 特定の文字コード(文字列じゃない)の文字を削除する事が出来ますか?
EOF
470 :
nobodyさん :2012/04/21(土) 10:05:36.60 ID:xu2If+se
>>447 文字と文字列の差を考えるとまぁ、そんな感じ。
>>458 最速かは分からんが、alpha numeric略してalnumというのを探してみると、なんやらにあったりする事がある。関数のオプションとか。
ぜんぜん上級者集まってないスレだな
初心者スレ
473 :
nobodyさん :2012/04/21(土) 17:13:26.37 ID:IaLOn3+I
>>470 そこから調べてみたら ctype_xdigit
なんてのがあることが判った。サンクス。あとで比較してみるわ。
PHPの上級者の皆さん(自称は勘弁)は Eclipseで開発する場合に ブレークポイントとかって使っていますか?
PHP上級者がEclipseで開発するとは思えんw
じゃー何で開発してるんだ?
EclipseはPHP苦手な人用に関数名教えてくれたり引数指定を教えてくれたり シンタックスエラーがあれば教えてくれたり・・ だからなぁ PHP上級者だったら使い慣れたシンプルなエディタで十分やろな
>>477 Eclipseの使い方を知らないだけじゃないの?
(実は、初心者の為)
479 :
458 :2012/04/21(土) 19:00:51.73 ID:IaLOn3+I
早速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 さん ありがとう。
480 :
458 :2012/04/21(土) 19:09:07.83 ID:IaLOn3+I
>>477 要は使いどころなんじゃね?客先やちょっとしたものはviで書いちゃうとかあるし。
実をいうとうちも エディタで書いている。Java は Eclipse つかってんだけど、
エディタだけでも別に困らないし。本当は Eclipse 入れたほうがべんりなんだろうな。
Eclipseは習得までに時間かかったけど、 今はPEARとかの糞長いクラス名を手打ちするとか考えられんわ・・・ メソッドチェーンもコード補完してくれるし重宝しているよ。
ネットワークにつながって無い環境で imagickのモジュールをインストールするには どうしたらいいんですかね
>>482 あっさりしすぎじゃない?
何のOSでとかせめて書かないと・・・
なるほど OSに依存する問題だったか
質問の意図や前提をくみ取れない糞質問 が多い。それで回答者が逆質問をしたり 悪口を言ったりする。それを前もって思 い描く力が絶望的に欠如してるに違いない。 スーパーハッカーだけが意図を理解できる。 レアなそういう神が颯爽と登場する予感。
>>481 メソッドチェーンは猿のやる行動なので、自嘲した方がいい
487 :
nobodyさん :2012/05/01(火) 04:09:05.90 ID:k6EF6rma
自重なのか自嘲なのか、まぁどちらにしたって同じようなもんだが
メソッドチェーンくらい使えよw
自分が使えないからって、 メソッチェを猿扱い
メソッドチェーンは片っ端からぶった斬りますよ
俺の自慢のチェーンソーで
メソッドチェーンってどこでエラーになったかわからなくない?
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 ありがとうございます。所有者を変更したらブラウザからアクセスできる様になりました。
エラーメッセージを読んで字の如くじゃん
499 :
nobodyさん :2012/06/01(金) 01:56:51.83 ID:sOx9VKNN
情報セキュリティスペシャリスト試験に、PHPが含まれなくなったのは、PHP勉強していた受験者にとっては 反則以外の何者でもない。 結局、PerlとJavaとC++しか出なかったわけだ。 PHPは昨今難易度あがりすぎだからな。
PHPは糞言語だからしょうがない
PHPは諸悪の根源
脆弱性の発覚なんかどんなプログラムにもあるわい。 ちゃんとバージョン上げてるやつには関係ない話。
影響を与える範囲が広範囲に渡るんだから堅牢な作りにするのが当然なのに、 相変わらずその場しのぎの突貫工事だからこんなことになるんだろ
PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・
www.php.net にアクセスできなくね?俺だけ?
そのうち直るだろ。 「オレだけ?」って疑問が湧いたら、 まずケータイからでも同じか確認すればいい。
>>507 おれは506じゃないけど、ひとこと言わせて
なんでそんな面倒なことを要求するの?
あなたも確認してみればわかることじゃないの?
どうして自分は確かめるのをいやがるの?
509 :
uy :2012/06/24(日) 12:21:59.58 ID:???
だから自分で検証してから書けよゴミカス
そんなにツンツンしないで馴れ合おうぜ〜(^ε^)チュ
511 :
uy :2012/06/25(月) 14:27:15.18 ID:???
ゴミ
外は冷たいのにどうして俺の部屋だけこんなに暑いのだ?
513 :
nobodyさん :2012/09/16(日) 12:17:16.28 ID:GVld0b1V
>> 505 > PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ うちの会社が開発してるシステムには公開ディレクトリに、phpファイル全部置いてありますw 社長兼CTOにそれを指摘したら、 「htaccessでアクセスさせなければいいじゃん」 で終わり・・・。 糞CTOを論破するための、シンプル且つ論理的なセリフないですかね?w
CLIで、root権限で動いているプログラムを プログラムの中から 一般ユーザーに降格させたいんですが どうしたらよいでしょうか
>>513 君が理由も分からないまま人に言われたことを鵜呑みにしちゃってるのが悪いんでない?
> 「htaccessでアクセスさせなければいいじゃん」 おれもそう思うんだけど。
.htaccessで塞ぐぐらいなら最初から、別のディレクトリに置けよ。 設定ミスで.htaccessが無効化されたり、 ずさんな運営でゴミファイル(xxxx.php.bk)が生成されたり、 色々と問題は起こる。 「公開ディレクトリに置く理由」が無い。
理由はインストール型パッケージの配布のしやすさかな。 もちろんユーザーが望めば非公開のディレクトリに置くこともできるわけで、 ちょっと別の話だなこれは。
配布するレベルのものなら尚更、 非公開にすべきファイル(ライブラリやコンフィグ)は好きなディレクトリに設置出来るようにしておくべき・・・
PHP自体配布に向いてない
それは極論。 導入をし易いって意味ではPHPはベター。
522 :
nobodyさん :2012/09/17(月) 11:09:37.56 ID:eA+HXvhq
上級者に聞きたい。
例えば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重にしないと不正対策は難しい。
528 :
525 :2012/09/17(月) 17:01:10.15 ID:???
みんなレスありがと。う〜ん何か簡潔な解決策はないもんかな… 簡潔な方法というとアクセスが送られてくるサイトを 定期的に調べるスクリプト動かすとかしか思い浮かばない… 不正やってるimgタグとかiframeとかがないかどうかチェックみたいな。 (こちらのカウント処理用PHP(count.php)が埋め込まれてないかどうかの) ただ相手もそんな簡単にバレるようなことはしないから こちらのリファラとかIPとか調べてサイト主がアクセスしてきた可能性が高い場合は 不正コードを生成しないとかされてたらこのチェックはかなり難しいなぁ。 なんか良い方法ないのかなぁ…
>>528 そこまで恐ろしい相手と戦うのかwww
確かにリファラをたどって相手のHTMLを取得してa以外の要素があれば弾くのはいいかもね。
こちらのIPだけに特別なHTMLを生成する懸念に対しては、相手のGoogleキャッシュを確認するとかでどう?
んでさらに心配ならJavaScriptによる表示サイズでフィルタするしかないのでは。
530 :
525 :2012/09/17(月) 22:21:06.08 ID:???
>>529 なるほどなるほど。キャッシュを調べる手があるね。
とにかくこれは地道に色々やるしかなさそうだなぁ。
がんがってみますね。レスありがとうございました!
531 :
nobodyさん :2012/09/22(土) 17:29:52.90 ID:TSKoYwz3
上級者の方、ご教示お願いします。 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記述したら速いです。 わけが分かりません… だれか助けて〜
532 :
531 :2012/09/22(土) 17:35:12.57 ID:???
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; こうやったら解決しました!どうもお騒がせしました!
俺らが答えるまでもない 初心者スレにでも行けクズ
534 :
531 :2012/09/22(土) 17:47:37.86 ID:???
と思ったら気のせいだった…初心者スレ行ってきます!
535 :
531 :2012/09/23(日) 14:23:48.23 ID:???
他のPHPスレ言って質問したんですが 「PHPは糞言語」「消えろ」「速度を気にするやつがPHPなか使うな」 とか言われてまともな回答が来ませんでした… だれか教えて下さい〜
またお前か 繰り返すが俺らが答えるまでもない 少しは学習しろ
538 :
531 :2012/09/23(日) 15:19:01.88 ID:???
>>536-537 そんなこと言わないでお願いしますよm(__)m
他のスレ言っても全然答えてくれないんです。
やっぱ何か改善可能な原因があるんですかね?
だから内容と態度
上級者に口をきくなど100年早い
>>531 マジレスすると、質問者のレベルを考慮すると、回答がすごくめんどくさい。
ここは上級者同士が集まって高尚(笑)な話をしたいスレのはず。
ここと向こう?の登場人物が同じ可能性だってあるのにバカなやつ
544 :
nobodyさん :2012/10/02(火) 10:23:58.62 ID:8AFfhzar
phpでprivateなクラスをテストしたい時って、ReflectionMethodを使うのが一般的なのでしょうか??誰か教えてください ToT
うるせーぞクズ てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ
>>544 初心者未満のゴミが俺ら上級者の手を煩わせないでくれたまえ
foreach ($arr as &$value) { /* hoge */ } unset($value) foreachでリファレンスを利用したあとにunset()するけど unsetしないで$valueを有効活用したことあるやついる?
黙れ
>>547 初心者レベルのクズが俺たち上級者に気安く話しかけるな
なるほど・・・ 上級者としては、foreach後の参照はむしろ使うべきではないということか。 ありがとうございました。
foreach後の参照がどうこうより、 どんなロジック組んだら有効活用出来るのか考えてみると、 そのロジック自体無いな・・・って答えになる気がする。
イテレーションしてるのに最後の要素だけ参照で使うとか何がしたいのか意味不明
>>552 そうなんだよ
だからこそ、参照が残る謎仕様が気になる
変数スコープ的にも参照が残るのは自然だと思うが・・・
そういえばPHPにはスコープ無かったな 忘れてた
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で画像なり文字を返すように…まーいっか、今更。
・・・SSIで何をどうするって?
SSIがどう関係するんだ?
PHPって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()系 ってどうしてクビにされたの? 突然のリストラでお得意さん困ったりしない?
substr使えよ
>>571 session.hash_function
session.hash_bits_per_character
の設定がどうなってるか教えてくれ。
>>577 ハッシュあるごりぐむが0(MD5)で区切り数が5ビットやね
あるごりぐむ伝説
オレらプロのスキルアップのためにと思ってこのスレを覗いてみたんだけど、素人ばっかだな
本当にプロか怪しい 作品を見せてもらおうか
>>580 このコピペってさくらVPSスレが元?
それよりも前からあんの?
tes
iphoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y
suhosinを使ってる?
586 :
nobodyさん :
2014/11/05(水) 02:35:06.22 ID:oC6tjryM oma