【PHP】下らねぇ質問はここに書き込みやがれ 2©5ch.io
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん 転載ダメ©2ch.net
2015/07/09(木) 22:41:26.96ID:7gcchy0Qまず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
0002デフォルトの名無しさん
2015/07/09(木) 22:44:03.40ID:7gcchy0Q【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・ 解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・ 誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・ 次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0003デフォルトの名無しさん
2015/07/09(木) 22:52:09.65ID:WzYQ7/UQこれはPHPが死んでない証拠
かぜ…風を感じる
この風はやがで嵐になり世界を覆い尽くすだろう
0004デフォルトの名無しさん
2015/07/10(金) 16:26:47.92ID:OIRLXo700005デフォルトの名無しさん
2015/07/10(金) 20:22:05.28ID:+n//tbc7そういうのをしめすキーワード とかってあるの?
0006デフォルトの名無しさん
2015/07/10(金) 20:31:11.94ID:I8IKrBJTphpってphpファイルの中に沢山のfunctionを記述しておいて、クライアントサイドのJSから特定のfunctionを実行するっていう事は出来ますか?
今はやり方が分からないので、どんなに短いfunctionでもphpファイルに分けているので、数行のファイルが沢山出来て混乱してます。
これを一つのphpファイルに纏めたいんですが。
0007デフォルトの名無しさん
2015/07/10(金) 21:36:55.80ID:3n0kQAulhttp://localhost/[function名].php
ってことだと思うけど、
http://localhost/test.php?func=[function名]
みたいな感じのアクセスでfunctionが実行できるようにまずは目指すといいよ。
/*****/
function aaa() {
print "aaa";
}
if ($_GET["func"]=="aaa"){
aaa();
}
/*****/
とか。
0008デフォルトの名無しさん
2015/07/10(金) 22:42:24.51ID:I8IKrBJTサンキュー、うまく行ったよ。
感謝するよ。
0009デフォルトの名無しさん
2015/07/10(金) 23:42:29.67ID:AQ+t2M5U>これを一つのphpファイルに纏めたいんですが。
関連する関数を特定のクラスにまとめてメソッド化する。
そうしてからそのオブジェクトのメソッドを呼び出せばいいと思う。
0010デフォルトの名無しさん
2015/07/10(金) 23:48:25.35ID:I8IKrBJTphp初心者なんですが、関数をわざわざclass化するメリットが分かりません。
よく使う自分用のライブラリ関数なんですが、そういう場合でもclass化が良いのでしょうか?
0011デフォルトの名無しさん
2015/07/11(土) 13:22:52.85ID:97s+/3Az>よく使う自分用のライブラリ関数なんですが、そういう場合でもclass化が良いのでしょうか?
自分の好きにするといいよ。
関数が100個あって100ファイルにばらけてある場合と
関数が100個あって10個ずつ10ファイルにクラスとしてまとめてある場合と
どちらが使いやすいかのトレードオフになる。
クラスにするメリットは関数を整理できて、カプセル化、再利用性、多態性の活用などがよく挙げられる。
ただし、まとめるにしても関連のあるものを上手くまとめて凝集度をあげないとメリットにはならない。
0012デフォルトの名無しさん
2015/07/13(月) 13:28:30.09ID:oX4poPnV0013デフォルトの名無しさん
2015/07/15(水) 00:53:43.66ID:8rWetXNK0014デフォルトの名無しさん
2015/07/15(水) 11:59:32.47ID:chI1HCyxなにをメンバ変数で持ってどこからを引数で取るか
線引きがめんどくさい
構造に機能を持たせる
というOOの基本にたびたび戻らないと道に迷う
0015デフォルトの名無しさん
2015/07/15(水) 18:44:26.33ID:chI1HCyxってどうやって書いてる?
とちゅうでbreakするためだけに使うループ
0017デフォルトの名無しさん
2015/07/15(水) 20:55:04.20ID:70iQnSqBhttp://www.amazon.co.jp/dp/B00TN97BE2
0018デフォルトの名無しさん
2015/07/15(水) 21:27:10.55ID:R8AN98c6例えばカレンダーなら本体は日付をインデックスにしたカレンダーデータの配列とポインタになるDateオブジェクトだろ
あとは成り行きというか使いやすいように追加してけばいいんじゃね
0019デフォルトの名無しさん
2015/07/15(水) 23:17:08.37ID:gZn+GrQTわざわざループにしなくてもifで良いだろ?
0020デフォルトの名無しさん
2015/07/15(水) 23:30:47.77ID:chI1HCyxたまには breakしましょ! って気分にもなる。
ところで、staticなプロパティには $this->hoge みたいなアクセスできないけど
これってどうしてこういう仕様になったん? $this ってつけるのがおこがましいから?
0021デフォルトの名無しさん
2015/07/17(金) 18:23:52.01ID:+cEtQv4N16文字の数字(10進数だが16進数と見立てて扱う)をTripleDESで暗号化したいのですが、
暗号化後の文字は同じ文字数にして16進数の文字列として出力したいのです。
PHPでの暗号化のロジックはここを参考にしました。
http://pentan.info/php/sample/mcrypt.html
しかしバイナリを文字列に変換する方法が分かりません。何かいい方法は無いですか?
0022デフォルトの名無しさん
2015/07/17(金) 21:17:19.62ID:Es/joK9Zpack使えばいいんじゃね?
0023デフォルトの名無しさん
2015/07/17(金) 21:56:25.92ID:fqZ49WSEログインボタン一回クリックで真っ白になって、更新するとセッション有りでindexに飛ぶんだけどこれ何事?
XAMPPのローカル環境つかってます
0024デフォルトの名無しさん
2015/07/17(金) 22:28:49.31ID:X7JQ6nLK0025デフォルトの名無しさん
2015/07/18(土) 00:35:44.93ID:nGHsy5jQ日本語しゃべれないの
0026デフォルトの名無しさん
2015/07/18(土) 13:11:37.92ID:IZxdPzJ7みたいな末尾の?って何を表すんですか?
例えば$ajaxのurl指定する場合など。
?なくても行けるんですが。何ですか?
0027デフォルトの名無しさん
2015/07/18(土) 13:21:37.90ID:wSGt/trvaaa.phpっていうファイルがあるか確認してる。あればtrueが返ってくる。
・・・というのは冗談でURL引数って奴。コマンドライン引数みたいな感じ。
0028デフォルトの名無しさん
2015/07/18(土) 21:04:30.97ID:tiSbDOekみたいな書き方ってある?
0029デフォルトの名無しさん
2015/07/18(土) 22:57:41.14ID:BcDQum9sこれならある。
if($b==3) $a = 6;
0030デフォルトの名無しさん
2015/07/18(土) 23:29:20.25ID:BcDQum9s$a = ($b==3) ? 6 : 0;
0031デフォルトの名無しさん
2015/07/18(土) 23:46:57.93ID:vbEi4sCxその方法ではインスタンスからは静的定義は参照できない。
$this::hogeを使いなされ
0032デフォルトの名無しさん
2015/07/19(日) 00:07:40.45ID:tXAPBBi/これもいけるはず。
0033デフォルトの名無しさん
2015/07/19(日) 02:23:02.42ID:c+wEV4Gghttp://hello.2ch.net/test/read.cgi/lic/1437239772/l50
0034デフォルトの名無しさん
2015/07/19(日) 10:10:22.19ID:0klZrZWn式 expr1 ?: expr3 の結果は、expr1 が TRUE と同等の場合は expr1、 それ以外の場合は expr3 となります。
http://php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary
0035デフォルトの名無しさん
2015/07/19(日) 13:22:36.56ID:6ediHd5Jとか書かないとエラー出る間抜けな仕様どうにかしてほしいわ
0036デフォルトの名無しさん
2015/07/19(日) 15:13:16.72ID:RIeQhCDhけっきょく、それはそういう関数を書いた。
GETとPOST両対応必要とかよくあるし。
まあPHPのことだし、文句言いまくってたら
そのうちそういう関数が標準に作られると思う。
0037デフォルトの名無しさん
2015/07/19(日) 22:39:27.31ID:WiE9ew2Y0038デフォルトの名無しさん
2015/07/20(月) 00:23:03.73ID:jGk3X2/tレジ内のトランザクションファイルがBtrieveで管理されてるんです。そのファイルをlinuxにFTP後、phpで読むのにpervasiveからダウンロードしたodbcでコネクトしようとしてるんだが、どーにも上手くいかない。誰か経験した方おられますかー?
0039デフォルトの名無しさん
2015/07/20(月) 00:41:49.48ID:KxSgKVVh0040デフォルトの名無しさん
2015/07/20(月) 01:03:24.81ID:jGk3X2/tはうう。明日も早よから仕事でもう寝るでやんす。エラー内容は仕事の合間見てお披露目いたしやすん
0041デフォルトの名無しさん
2015/07/22(水) 04:21:40.30ID:ekK874Uzselfとはなんだったのか
0042デフォルトの名無しさん
2015/07/22(水) 04:26:01.66ID:ekK874Uz後置ifはphpには無い。英語が母語ならまだしも、日本人にとっては後置ifは自然じゃないし、無くてもよくない?
>>38
使ったこともやったことも無いけど、シンプルに転送モードを間違えているとかではないのかな。
0043デフォルトの名無しさん
2015/07/22(水) 13:23:53.96ID:ASUhZOW+$a = 6 if($b=="ikemen");
と書いたらとても自然になる。
0044デフォルトの名無しさん
2015/07/22(水) 17:06:34.54ID:8TpaOP4Gブレークポイント置いてもデバッガでブレークしない時が有るので困ってます。
0045デフォルトの名無しさん
2015/07/23(木) 15:49:24.85ID:055pcEAQこれってどこかが起点になるの?
0046デフォルトの名無しさん
2015/07/24(金) 20:15:48.68ID:+CDH8aof自作のPHPプログラムが
PHP5.3.3
で動かない関数か何かの機能があったので
PHP5.5.19
にしたら動いたのですが、それが何の関数あるいは機能だったのか忘れてしまいました。
確か、何か文字列を扱うような処理だったような気がするんですが。
もし何かご存じでしたら教えてください。
0047デフォルトの名無しさん
2015/07/25(土) 00:16:52.68ID:d8tAw0yr0048デフォルトの名無しさん
2015/07/25(土) 00:22:57.00ID:d8tAw0yr誰か試した?
0049デフォルトの名無しさん
2015/07/25(土) 00:30:00.61ID:bLirGUmgレスありがとうございました。
hex2binではなかったのですが、47さんのレス見て、記憶が蘇り
string ucwords ( string $str [, string $delimiters = " \t\r\n\f\v" ] )
バージョン 説明
5.4.32, 5.5.16 delimiters パラメータが追加されました。
でした。助かりました。
このdelimiters を使ったんでした。
0050デフォルトの名無しさん
2015/07/25(土) 17:38:12.49ID:UNRH9nX80051デフォルトの名無しさん
2015/07/25(土) 18:39:15.22ID:9eb0cRTw0052デフォルトの名無しさん
2015/07/25(土) 22:17:10.90ID:UyNvGgTG仕事ふっても損害賠償で追い込まれそう。
0053デフォルトの名無しさん
2015/07/25(土) 23:49:31.94ID:58G5Vzfx<?php
$closure = function () {
echo 'ああああ';
};
$function = new ReflectionFunction($closure);
$function->getStartLine(); // 2
$function->getEndLine(); // 4
↑の場合、始点が「2行目12文字目」で、終点が「4行目2文字目」という結果を得られることが理想です。
今のところ、その関数が宣言された行数は取得できますが、何文字目までは分かりません。
ちなみに、PHP5.4以降です。
0054デフォルトの名無しさん
2015/07/25(土) 23:56:28.48ID:58G5Vzfx行数だけでも取得できそうですが、↓の場合、行数だけではどちらが対象の関数か判断できません。
<?php
$a = function () { ... }; $b = function () { ... };
$function = new ReflectionFunction($b);
$function->getStartLine(); // 2
$function->getEndLine(); // 2
0055デフォルトの名無しさん
2015/07/26(日) 01:19:35.53ID:h4z7MVDb自分自身を読めばいいんじゃね?
0056デフォルトの名無しさん
2015/07/26(日) 01:49:05.89ID:zHKRpE7w<?php
// (1)関数名から特定できました。
function bar() { ... } function foo() { ... }
codeDump('foo');
// (2)変数名をたどって特定できました。
$bar = function () { ... }; $foo = function () { ... };
codeDump($foo);
// (3)呼び出し元の行数から特定できました。
codeDump(function () { ... });
// (4)どっちの関数か分からない。
codeDump(function () { ... }); codeDump(function () { ... });
(4)もcodeDump()の実行を記録すれば、何とかいけそうな気もします。
codeDump()のコードは長いので省きます。
0057デフォルトの名無しさん
2015/07/26(日) 16:02:52.29ID:ZSlyWYZ/出来るがやめたほうがいい。
毎日半日以上土日も使って取り組んで1ヶ月で5万円とかになるだろうから、
ニートでもコンビニで働いた方がいい。
0058デフォルトの名無しさん
2015/07/27(月) 17:27:06.21ID:nDok85gMあえてx64版入れたらパフォーマンス上がったりするん?
0059デフォルトの名無しさん
2015/08/01(土) 04:29:29.73ID:VbjGDeVR0060デフォルトの名無しさん
2015/08/01(土) 11:22:12.36ID:Idj4/r/L0061デフォルトの名無しさん
2015/08/02(日) 10:41:08.23ID:6SU53Ow+0062デフォルトの名無しさん
2015/08/02(日) 13:39:57.36ID:5pxTtzkhそのコードなら、そのまま納品しても大丈夫だと思うよ
0063デフォルトの名無しさん
2015/08/02(日) 13:59:43.94ID:GbrSR7tz0064デフォルトの名無しさん
2015/08/02(日) 14:57:32.96ID:K/J2HC0o$foo = count($hoge);
こんなコード書くとcount()が2回実行されて無駄だから
$bar = count($hoge);
if($bar < 5)
$foo = $bar;
みたいにしたほうがいいのかな?
0065デフォルトの名無しさん
2015/08/02(日) 17:45:59.09ID:GbrSR7tzループ終了条件に入れるのは避けるといいよ
0066デフォルトの名無しさん
2015/08/02(日) 20:01:49.28ID:sk4/2k9I宗派による。
一つは、関数count()が2回実行されて無駄だよ派。
もう一つは、一時変数$barを無駄に使うな派。
0067デフォルトの名無しさん
2015/08/02(日) 21:13:03.78ID:lE/E+5kmサンクス!
一時変数を無駄に使うな派に入信しまぁす
0068デフォルトの名無しさん
2015/08/03(月) 11:02:06.41ID:ecUSu7IP変数名は「ダブルコーテーション」で囲うと参考書には書かれてたのですが
サンプル(↓)にはシングルコーテーションで囲われてました。
シングルとダブルでどう使い方が違うのでしょうか?
$conf = array(
'test1' => "1234"
'test2 => "abcf"
);
0069デフォルトの名無しさん
2015/08/03(月) 11:27:50.73ID:4ImaC/Mz変数を入れたり改行コードなんかの制御入れたりしない場合はシングルのほうがいい
参考書なんてのは作者にあわせたコーディング規約で書かれてるので
その作者好みのコードであってそれが全てではないことは頭に入れておいたほうがいい
特に初心者向けだとシングルよりダブルのほうがトラブルが起きにくいっていう事情もある
"こんにちは{$name}さん\n";
'こんにちは' . $name . 'さん' . "\n";
変数展開ってのは↓のようなコード
$a = 'test1';
$conf = array(
"$a" => 1234
);
echo $conf['test1'];
0070デフォルトの名無しさん
2015/08/03(月) 11:39:25.12ID:0IyVer1H> "こんにちは{$name}さん\n";
これも変数展開ですよ
0071デフォルトの名無しさん
2015/08/03(月) 11:41:05.12ID:4ImaC/Mzこれの説明で書いたけど書く場所が悪かったね
0072デフォルトの名無しさん
2015/08/03(月) 12:13:37.23ID:93o/VQtA「変数名」ではなく「連想配列のキー」をどう囲うかという質問じゃないの?
0073デフォルトの名無しさん
2015/08/03(月) 15:57:04.96ID:nTSIXxVaあれほとんど気のせいレベルらしいよ
どっかで速度測ってたけど、むしろ逆なくらい差が無かった
0074デフォルトの名無しさん
2015/08/03(月) 19:06:22.14ID:kjCv49NUhttp://www.blueshoes.org/en/developer/php_bench/
Quote Typesdouble (") vs. single (') quotes
ここの5番目と6番目。
両サイトじゃ結果が違うけど自分のテスト環境じゃ同様に1000回ループで後者のダブルほうが遅くなる。
Windows 32bit 5.4.12で0.00049と0.00064
Linux 64bit 5.4.16で0.0042と0.00089
phpbench.comでどういう環境で差がでないのか知りたいが環境記述が見当たらないな。
ヘッダ見る限りじゃUnix系のPHP5.4.29みたいで、自分に近い環境のようだけど、
ベンチマークに使ってる機材は別かもしれないし。
0075デフォルトの名無しさん
2015/08/03(月) 19:07:47.81ID:kjCv49NULinux 64bit 5.4.16で0.00042と0.00089に訂正
0076デフォルトの名無しさん
2015/08/04(火) 01:35:51.66ID:XAt8t1hS0077デフォルトの名無しさん
2015/08/04(火) 10:52:31.94ID:3xU88wGi使っている人いる?
MS純正でこういうの無いの?
0078デフォルトの名無しさん
2015/08/05(水) 02:41:24.63ID:2Cq1bTVi環境は、OS: Ubuntu 14.04.2 LTS カーネル: Linux 2.6.32 PHPバージョン: 5.5.9です。
以下のようにしてPHP上でexpectとpasswdコマンドを呼び出してパスワードを変更させています。
$cmd = EXPECT_PATH." -c \"\n";
$cmd .= PASSWD_COMMAND."\n";
$cmd .= "expect \\\"(current) UNIX password:\\\"\n";
$cmd .= "send -- \\\"".$old_password."\\n\\\"\n";
$cmd .= "expect \\\"Enter new UNIX password:\\\"\n";
$cmd .= "send -- \\\"".$new_password."\\n\\\"\n";
$cmd .= "expect \\\"Retype new UNIX password:\\\"\n";
$cmd .= "send -- \\\"".$retype_new_password."\\n\\\"\n";
$cmd .= "expect \\\"passwd: all authentication tokens updated successfully.\\\"\n";
$cmd .= "send -- \\\"exit\\n\\\"\n";
$cmd .= "\"";
$stream = ssh2_exec($connection, $cmd);
fclose($stream);
ところがこの方法だと、実行中にシェル上でps -elf | grep passを実行すると
「/usr/bin/expect -c spawn /usr/bin/passwd expect "(current) UNIX password:" send -- "現在のパスワード\n"…send -- "exit\n"」
のようにパスワードが平文で表示されてしまいセキュリティ上問題があると思われます。
そこでphp側でパスワード等の情報を外部シェルスクリプトに渡して外部シェルスクリプト側でパスワードを変更させようと考えてますが、外部シェルスクリプトに変数を渡す方法を教えていただけますでしょうか。
なお、ssh2_execの第4引数に環境変数を設定できそうなので試してみましたがPHP Warning: ssh2_exec(): Failed setting old_password=oldpassword on remote end in /xxx/xxx/test.php on line XXのように言われてしまいました。
007978
2015/08/05(水) 02:46:10.16ID:2Cq1bTVidefine('EXPECT_PATH', '/usr/bin/expect');
define('PASSWD_COMMAND', 'spawn /usr/bin/passwd');
が定義されています。
また、>>78のコードの前段階で以下のようにssh接続を行っています。
$server = "localhost";
$port = 22;
if (!$connection = ssh2_connect($server, $port)) {
echo "Connection failed!\n";
exit;
}
if (!ssh2_auth_password($connection, $username, $old_password)) {
echo "Authentication failure!\n";
exit;
}
よろしくお願いいたします。
0080デフォルトの名無しさん
2015/08/05(水) 03:32:13.43ID:P4ayKmpW0082デフォルトの名無しさん
2015/08/07(金) 00:32:15.42ID:b6GYbe8Qただし、そういう設定にはしていない前提で御回答ください。
0083デフォルトの名無しさん
2015/08/07(金) 00:46:40.61ID:kZ4TYkCPあなたやネットワーク管理者が一般的にそういう設定にはしていないとしても、バカがいるとできる
0084デフォルトの名無しさん
2015/08/07(金) 01:02:30.35ID:b6GYbe8Qあと、php5.5使ってます
0085デフォルトの名無しさん
2015/08/07(金) 01:07:36.80ID:Tkx3sFxb社外から見られる可能性はあるか?という質問なら、見られる可能性はあるんだろう。
0086デフォルトの名無しさん
2015/08/07(金) 11:17:33.82ID:VjeH+b7cPHPは関係ない。
0087デフォルトの名無しさん
2015/08/07(金) 12:06:55.93ID:toqjv3cn的確なネットワーク構成なら問題ない
ネットワーク管理者がうんこじゃなければ平気だろう
0088デフォルトの名無しさん
2015/08/07(金) 17:20:27.74ID:eN4mur/X例えそういう設定にしてなくとも可能性はある
例えば未知の脆弱性を突かれてネットワークに侵入されたり、ウイルスやトロイ等を仕込まれたり・・・例を挙げればキリが無い
0089デフォルトの名無しさん
2015/08/07(金) 18:05:42.92ID:o4PrLinW0090デフォルトの名無しさん
2015/08/07(金) 18:17:20.61ID:VjeH+b7cV8を讃えよ!
0091デフォルトの名無しさん
2015/08/07(金) 18:28:40.67ID:oad5u1TRV6はTOKIOに負けたから
0092デフォルトの名無しさん
2015/08/08(土) 00:09:09.24ID:UAFhNLHx以下のif文が実行されないのですが、どこが間違っているのでしょうか?
$text = "[ja]";
if( strpos($text, "\[:ja\]") ){
echo "match";
}
よろしくお願いいたします。
0093デフォルトの名無しさん
2015/08/08(土) 00:53:10.84ID:fdExEYFcあとその条件文でstrposは一致した場合0を返すときがあるからその書き方じゃだめ
if ( strpos($text, "\[:ja\]") !== false )
とか
0094デフォルトの名無しさん
2015/08/08(土) 15:28:03.35ID:JK2LUyvoすっきり綺麗に書く方法はありますか?
$bins = array(85,78,75,79);
$text = unko($bins);
unko() を作りたい。
0095デフォルトの名無しさん
2015/08/08(土) 15:39:44.21ID:cerAE1Ggyieldとchr使えば?
0096デフォルトの名無しさん
2015/08/08(土) 16:16:50.97ID:JK2LUyvoyieldをこれにどう使うのかわかんねー・・・
0097デフォルトの名無しさん
2015/08/08(土) 18:50:02.44ID:d7oiKQ0C0098デフォルトの名無しさん
2015/08/09(日) 10:11:38.86ID:Bf9QBgBr0099デフォルトの名無しさん
2015/08/09(日) 12:08:35.38ID:bIJ4oBybそうなると $text = implode('', array_map('chr', $bins)) がコードとしては簡潔かな?
0100デフォルトの名無しさん
2015/08/09(日) 20:38:11.87ID:un5fqtRAそれじゃウンコ()使ってないからダメだな
0101デフォルトの名無しさん
2015/08/09(日) 20:42:56.24ID:1cZqWlyS例えば、2つのテキストボックスに数値を入れるタイプの簡単な計算機を作って、
「計算」ボタンを押すと画面遷移させず更新もさせずに結果をその画面に表示するとかです
0102デフォルトの名無しさん
2015/08/09(日) 20:52:01.39ID:XO0o9kDB無理。javascriptで。
0103デフォルトの名無しさん
2015/08/09(日) 21:19:31.24ID:1cZqWlySそうですか
ありがとうございます
0104デフォルトの名無しさん
2015/08/11(火) 01:01:18.37ID:vIC4fnIq俺に教えやがれ!さあ来い!
0105デフォルトの名無しさん
2015/08/11(火) 10:24:08.90ID:TmniTjHdA: for($i=0; $i<count($list); $i++){ $a=$list[$i]; 処理; }
B: $i=0; foreach($list as $a){ 処理; $i++; }
Bの方が好きなんだけど、$iがループ外にあるのがすげーいや。
0106デフォルトの名無しさん
2015/08/12(水) 03:31:05.24ID:uUCq7Pj1ループ終了条件にcountを使うなと教わらなかったのか?
よって前者は $cnt = count($list); がループ外に出現することになる。
0107デフォルトの名無しさん
2015/08/12(水) 08:11:15.94ID:sFpfPRX7<?php
$hensu = '値';
echo <<<EOM
<script type="text/javascript">
var hensu2 = <?php echo json_encode($hensu) ;?>;
alert( hensu2 );
</script>
EOM;
?>
こういうのが出来ませんでした。
0108デフォルトの名無しさん
2015/08/12(水) 10:56:55.76ID:XD0FvRJl$json_encode = "json_encode";
しておいて
<?php echo json_encode($hensu) ;?>;
を
{$json_encode($hensuu)}
にしたらどうなる?
0109デフォルトの名無しさん
2015/08/12(水) 10:59:49.91ID:MGGhiGE4ヒアドキュメント内では、変数や特殊文字は展開できるけど、関数は実行できないよ。
関数は外に出すといい。
http://php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
<?php
$hensu = '値';
$hensu2 = json_encode($hensu);
echo <<<EOM
<script type="text/javascript">
var hensu2 = {$hensu2};
alert( hensu2 );
</script>
EOM;
?>
0110デフォルトの名無しさん
2015/08/12(水) 14:10:09.24ID:sFpfPRX7上手く行きました。有難うございます。
この
{ }
の意味は何ていうキーワードでくぐれば良いでしょうか?
0111デフォルトの名無しさん
2015/08/12(水) 14:31:29.53ID:uUCq7Pj1>>109のリンク先に書いてるよ
0112デフォルトの名無しさん
2015/08/12(水) 15:49:57.10ID:IssKFxaM教わったけど面倒くさいから・・・ それにこういうのは、
いつかそのうちPHPが実行時に最適化するはずなので
その日を信じて今日も生きる
0113デフォルトの名無しさん
2015/08/12(水) 16:31:09.47ID:h9xT+Vg3コンパイラ感覚で書いてる人は多いでそ
0114デフォルトの名無しさん
2015/08/12(水) 17:03:02.40ID:sFpfPRX7波括弧構文というのですか。難しい。
0115デフォルトの名無しさん
2015/08/12(水) 17:15:49.37ID:uUCq7Pj1まぁボトルネックになってたら出すでもいいけど。
0116デフォルトの名無しさん
2015/08/13(木) 05:07:20.03ID:jvB0Vatl意味さえわかればその辺の翻訳者が適当につけた名前なんてどうでもいいわ
別になくても動くけど文字としての$記号があったら意図しない動作をする場合もあるし
変数であるのを明示するのはいいこと
0117デフォルトの名無しさん
2015/08/13(木) 09:15:37.50ID:mPByWcg9とかやると
“$varです。”という変数の内容を出そうとするからな、{}は常に入れるべきかなあ
0118デフォルトの名無しさん
2015/08/14(金) 16:18:46.79ID:4t7qYmCW0119デフォルトの名無しさん
2015/08/14(金) 16:33:11.21ID:tycV63/Ugdつけてコンパイルしなおせば?
あとmysqlがなぜ必要と思った?
0120デフォルトの名無しさん
2015/08/14(金) 16:46:35.57ID:4t7qYmCW目的としては特定の色に名前を付けてその名前を表示する、みたいなことをしたいので、
そのためにmySQLを入れようかと思ったのですが、不要ですか??
0121デフォルトの名無しさん
2015/08/14(金) 16:51:26.37ID:qC8ZbOuS0122デフォルトの名無しさん
2015/08/14(金) 16:54:26.91ID:vqGh2HbU0123デフォルトの名無しさん
2015/08/14(金) 16:54:31.89ID:4t7qYmCW単語だけ言われましても・・・(´・ω・`)
0124デフォルトの名無しさん
2015/08/14(金) 17:07:33.56ID:mMb0xxGG環境は?
phpのモジュールは追加するのかビルドしてるのか?
MySQLはインストール済み?
MySQL側の管理はどの程度できる?
SQL書ける?
0125デフォルトの名無しさん
2015/08/14(金) 17:10:02.44ID:mMb0xxGG無い
でも穴開けられやすいから注意な
0126デフォルトの名無しさん
2015/08/14(金) 17:42:14.93ID:4t7qYmCW環境はxamppとaptana3を使っています。
phpに関しては初期設定以外特に追加もビルドもしていません。
mySQLはこれから手をつけようか、というところです。
どうでしょうか?
0127デフォルトの名無しさん
2015/08/14(金) 17:44:27.96ID:vqGh2HbU何に穴が開くんでしょうか?
0128デフォルトの名無しさん
2015/08/14(金) 18:34:43.43ID:mMb0xxGGパーミッション関係なしに拡張子だけで実行できるじゃんか
アップローダ作ってうっかりphpファイルをコンテンツの場所に置けるようにしただけで
ソース読むphp置けちゃったりするべ。
0129デフォルトの名無しさん
2015/08/14(金) 18:40:06.49ID:mMb0xxGGこれから覚えることが多すぎる
xamppを一つ一つ覚えてからかなあ、特に管理部分
画像処理といえるのかわからんけど、色の名前とパラメタの対応とか
将来的に変わらないデータならDB使うまでもないような気はする
練習にはいいけど
0130デフォルトの名無しさん
2015/08/14(金) 20:38:34.17ID:9UnPChAc画像処理とMySQLはほとんど関係ない。
まずは、GDとかで四角形なり画像の出力を試すといい。
http://php.net/manual/ja/book.image.php
http://php.net/manual/ja/function.imagerectangle.php
もしGDがはいってないならインストール。
ただGDって直線はいいけど曲線は苦手。ギザギザになる。
0131デフォルトの名無しさん
2015/08/15(土) 01:32:47.01ID:+JKpzm6t0132デフォルトの名無しさん
2015/08/15(土) 10:49:18.29ID:Wj7gSpLp外でなく中でっていうのはSQLでやるってこと?
0133デフォルトの名無しさん
2015/08/15(土) 14:01:37.64ID:iShapREugdってインストールで済むのか。 ほんとだパッケージあるじゃん。
毎回コンパイルしてたわ。 なんだよもー!
0134デフォルトの名無しさん
2015/08/15(土) 15:04:43.67ID:+JKpzm6tオブジェクトから多次元配列をリターンさせたい
0135デフォルトの名無しさん
2015/08/15(土) 17:21:41.60ID:iShapREu自作クラスにぶっこめばいいぞ。
fetchallでクラス指定できるじゃん?あれ使う。
0136デフォルトの名無しさん
2015/08/15(土) 18:26:16.31ID:+JKpzm6t素人なもんであれじゃわからんです。
0137デフォルトの名無しさん
2015/08/15(土) 20:43:53.04ID:iShapREuもー! 「fetchall クラス あれ」 で検索で出てくるじゃん!
自分でテーブルごとにクラス作ってカラム名でメンバ変数書いて
$sth->fetchAll(PDO::FETCH_CLASS, クラス名);
ってやるやつ。 もういきなりメンバ変数に値入って返るから。
0138デフォルトの名無しさん
2015/08/15(土) 21:53:38.11ID:+JKpzm6tたぶんあった。ありがとう。
0139デフォルトの名無しさん
2015/08/16(日) 00:09:19.03ID:W1BPcUvWヨコヨコからです。こんなのがあるのか知らなかった。モノスンゴイ便利〜
0140デフォルトの名無しさん
2015/08/16(日) 04:56:30.22ID:EjNR4GbyASCII、SJISならいいんですが。その他のutf-16ができません。
拡張モジュールとかありますか?
how to iterate over non-English file names in PHP - Stack Overflow
http://stackoverflow.com/questions/2947941/how-to-iterate-over-non-english-file-names-in-php
0141デフォルトの名無しさん
2015/08/16(日) 09:57:03.06ID:z6SsnuJ9すまねえ☆ついで質問で申し訳ないですがオブジェクトの中でquery,prepare,executeが使えないんですけどこれってどうすればいいんですかね。
0142デフォルトの名無しさん
2015/08/16(日) 10:15:01.34ID:UepVPRcbリンク先にPHPからwindows apiを叩けばできるよって書いてあるよ
0143デフォルトの名無しさん
2015/08/16(日) 12:18:13.51ID:z6SsnuJ90144デフォルトの名無しさん
2015/08/16(日) 23:12:07.45ID:ziQJsyKn$link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。");
$urlについてです><
もしご存知の方いたら教えていただけないでしょうか。
初心者ですいません。
0145デフォルトの名無しさん
2015/08/16(日) 23:17:18.11ID:ssoeETHelocalhostでええやん。
0146デフォルトの名無しさん
2015/08/16(日) 23:19:43.31ID:ziQJsyKn0147デフォルトの名無しさん
2015/08/16(日) 23:35:20.00ID:FEBcibKqhttp://php.net/manual/ja/function.mysql-connect.php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
警告
この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。
MySQLi あるいは PDO_MySQL を使うべきです。
0148デフォルトの名無しさん
2015/08/17(月) 00:09:15.04ID:oEBSVNMgまだ削除されてないってことだよな
0149デフォルトの名無しさん
2015/08/17(月) 00:13:32.65ID:5ktVpXOG0150デフォルトの名無しさん
2015/08/17(月) 00:18:17.06ID:roquPsRRそのスクリプトを設置してる場所からみてlocalhostにあるmysqlデータベースに接続ってこと
データベースサーバを別サーバに用意してるレンタルサーバもあるが
格安レンタルサーバとか共有サーバはだいたいwebサーバと同じサーバにおいてる
0151デフォルトの名無しさん
2015/08/17(月) 00:31:20.09ID:LyqGgPucそんなんやめてsqlite3にしたら?軽いし、早いしいいぞぉ
0152デフォルトの名無しさん
2015/08/17(月) 05:34:58.17ID:MZO1YKpV0153デフォルトの名無しさん
2015/08/17(月) 06:15:54.39ID:roquPsRRかといって体感出来るほど遅いと感じるまではしばらく余裕がある
個人で使うには十分だがシンプルすぎてsqliteから他のDBに移行したいとき苦戦する
ORマッパー使えばいいが無駄が多いパフォーマンス重視なら使いたくない
0154デフォルトの名無しさん
2015/08/17(月) 06:17:21.14ID:roquPsRRその前にガチムチmysqlさんをある程度触ってからがお勧め
0155デフォルトの名無しさん
2015/08/17(月) 09:36:26.92ID:nRo3eKd8逆じゃね?
sqliteできちんと仕事できるなら
mysqlでもpostgesqlでもどこでも生きていける
0156デフォルトの名無しさん
2015/08/17(月) 10:18:00.15ID:roquPsRRその通りだが別に逆ではない
sqliteはシンプルで簡単だと思われがちだが
あれは完全に玄人用
0157デフォルトの名無しさん
2015/08/17(月) 16:17:07.93ID:/53UNtSq0158デフォルトの名無しさん
2015/08/17(月) 16:26:56.36ID:ZyRhfbbF0159デフォルトの名無しさん
2015/08/17(月) 17:05:17.24ID:yQK+Nz/Fforeachで参照でも使ったぁ?
0160デフォルトの名無しさん
2015/08/17(月) 17:26:14.35ID:M1oT74qU0161デフォルトの名無しさん
2015/08/17(月) 19:46:54.20ID:D8EzW0OH0162デフォルトの名無しさん
2015/08/17(月) 22:24:07.74ID:LyqGgPuc大規模、小規模ふくめてoracle、mssql、mysql postgresqlのシステム組み上げ10年くらいだが、たまたま今年sqlite3でphpのシステム組み上げ機会に恵まれまして。
いやまー信じられない程の取り回し。dbファイルもシステムと別に取り扱いできて楽だし、軽いしこりゃいーわ。今までのdbシステムの面倒くささなんだったのよって事で、俺的オヌヌメ。それまではmysql一択だったんだけどね。
0163デフォルトの名無しさん
2015/08/17(月) 23:08:08.70ID:X1R8xEy20164デフォルトの名無しさん
2015/08/17(月) 23:36:59.82ID:LyqGgPuc見栄はらせろよ
0165デフォルトの名無しさん
2015/08/18(火) 11:19:17.76ID:fW4GU+Ok以前からDB触ってた人にとっては楽だよな
しかもGUI含めてファイルを直接覗けるツールは山ほどあるし
0166デフォルトの名無しさん
2015/08/18(火) 18:56:35.63ID:x2qVDreMそれとも自分で管理できればokですか?
なるべく個別に分けた方が読み込み減って速いですか?
0167デフォルトの名無しさん
2015/08/18(火) 19:47:48.16ID:+37xVzygincludeコストかかるし全く関係ないfunctionを適当にまとめてもなぁ
文字列関係の操作や配列関係の操作でわけて必要なものをincludeするとかすればマシだと思う
まぁオブジェクト指向勉強してクラス使い始めればそんなこと考えることもなくなるぜ
0168デフォルトの名無しさん
2015/08/18(火) 21:57:49.37ID:NoP1vlWjご回答していただきましてありがとうございました!
0169デフォルトの名無しさん
2015/08/18(火) 23:35:47.50ID:vA+EdJDaWarning: imagecolorallocate() expects parameter 1 to be resource, null given in /home/u356689811/public_html/img.php on line 21
Warning: imagettftext() expects parameter 1 to be resource, null given in /home/u356689811/public_html/img.php on line 23
Warning: file_get_contents(http://iup.2ch-library.com/jbk.cgi): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/u356689811/public_html/img.php on line 38
このようなエラーがでます・・・
0170デフォルトの名無しさん
2015/08/19(水) 00:02:13.26ID:P+NUjwVB訳して読めないん?
0171デフォルトの名無しさん
2015/08/19(水) 00:02:41.20ID:LOHOwjsk読んだけどどうすればいいのか分かりませんでした。
0172デフォルトの名無しさん
2015/08/19(水) 00:03:49.55ID:LOHOwjskをつけてhttp://iup.2ch-library.com/にうpしたいです。
0173デフォルトの名無しさん
2015/08/19(水) 01:09:15.56ID:L3Cv9rI80174デフォルトの名無しさん
2015/08/19(水) 01:14:11.94ID:LOHOwjskでも画像に文字を入れるとnullが想定されていません警告がでます。
その後jsに画像データを渡してもうpできません。
0175デフォルトの名無しさん
2015/08/19(水) 03:12:04.97ID:6ywDLaMX0176デフォルトの名無しさん
2015/08/19(水) 03:37:05.31ID:Qh+hZUtChttp://php.net/manual/ja/function.imagecreatefrompng.php
こういうの使ってリソースを作成して渡さないとだめ
0177デフォルトの名無しさん
2015/08/19(水) 09:50:35.04ID:LOHOwjsk0178デフォルトの名無しさん
2015/08/19(水) 11:01:21.38ID:LOHOwjskただ、編集した画像をjsに戻す方法が分かりません。
0179デフォルトの名無しさん
2015/08/19(水) 11:06:50.17ID:GbG0htqRimgタグのURL書き換えようぜ
0180デフォルトの名無しさん
2015/08/19(水) 11:16:29.30ID:LOHOwjsk0181デフォルトの名無しさん
2015/08/19(水) 11:28:02.44ID:LOHOwjsk0182デフォルトの名無しさん
2015/08/19(水) 11:32:10.00ID:vCtz9n8Jクリック誘導しちゃいけない
ちゃんと規約よまないとアボセンスされるぞ
0183デフォルトの名無しさん
2015/08/19(水) 11:33:28.90ID:LOHOwjsk違います
アフィ対策うpロダを作りたいです。
正確には既にあるうpろだに画像を編集して送信したいです。
0184デフォルトの名無しさん
2015/08/19(水) 11:37:24.15ID:LOHOwjskhtml→phpにポスト送信
phpで画像編集してjsに送信
js→他サーバーのうpろだに送信したいです。
これなら規約的にも大丈夫ですし、もしうpろだの管理人から規制食らってもクライアントから送るので問題ないので。
0185デフォルトの名無しさん
2015/08/19(水) 11:44:26.68ID:+Zdd/FzT0186デフォルトの名無しさん
2015/08/19(水) 11:52:58.60ID:6ywDLaMX0187デフォルトの名無しさん
2015/08/19(水) 12:29:23.59ID:GbG0htqR使えない
0188デフォルトの名無しさん
2015/08/19(水) 12:38:18.71ID:LOHOwjskHTMLの参照からPOST送るのも、PHPで編集してPOST送るのも同じなので大丈夫と思うんですが。
0189デフォルトの名無しさん
2015/08/19(水) 13:08:53.68ID:Qh+hZUtC0190デフォルトの名無しさん
2015/08/19(水) 13:10:38.51ID:LOHOwjsk画像の編集はできたので後は何とかします。
ありがとうございました
0191デフォルトの名無しさん
2015/08/19(水) 14:52:07.42ID:E7jETczI$data=$test->getDust();
testerとDustを可変にしたいんですけど書き方教えてください。
0192デフォルトの名無しさん
2015/08/19(水) 15:31:50.31ID:E7jETczI0193デフォルトの名無しさん
2015/08/19(水) 22:19:55.98ID:sb/lS4ZW特定のアプリケーションをキャプチャしたい場合って何か方法ありますか?
0194デフォルトの名無しさん
2015/08/19(水) 22:41:45.97ID:LOHOwjsk送信もできたー
ただうpできない。。。
ファイル名が送られてないのかな…?
これはjsの話だからjsで聞くけどPスレの方ありがとうございました
0195デフォルトの名無しさん
2015/08/20(木) 00:17:48.07ID:z6CxRTbzたとえば、以下のようの文字列をこう変換したいです
jFw3YG3r2
↓
JfW3yg3R2
おねがいします
0196デフォルトの名無しさん
2015/08/20(木) 00:26:28.33ID:sgktyw/y置き換えればいい。
0197デフォルトの名無しさん
2015/08/20(木) 00:30:42.60ID:fJ97YSxGfunction swap_casing($str)
{
return strtr($str, implode('', array_merge(range('a','z'), range('A','Z'))), implode('', array_merge(range('A','Z'), range('a','z'))));
}
0198デフォルトの名無しさん
2015/08/20(木) 00:33:26.41ID:fJ97YSxGwindows限定ということもあって使ったことないけど、マニュアルには普通にあるよ
http://php.net/manual/ja/function.imagegrabwindow.php
0199デフォルトの名無しさん
2015/08/20(木) 02:13:01.38ID:z6CxRTbzありがとうございます!
思ってた通りにできました!
0200デフォルトの名無しさん
2015/08/20(木) 10:01:51.88ID:C8zNXNPVありがとうございます
ウィンドウハンドル (COM インスタンスの HWND プロパティ) というのはどうやって取得するのでしょう?
使用例ではIEのがのっていますが、とあるゲームのクライアントなのですが。
0201デフォルトの名無しさん
2015/08/20(木) 10:42:50.46ID:H8XW99Sqタイトルかプロセス名になると思うけど、同じプロセスでも
トップレベルウィンドウが複数あるやつもあるので注意
spy++とか触ってみ
0202デフォルトの名無しさん
2015/08/20(木) 10:53:43.78ID:C8zNXNPVオンラインに接続するマルチプレイゲームなのでチート対策にプロセスは隠されてしまいます
ただキャプ系のソフトだとちゃんと取れるのでやりようはあると思います
そもそもPHPでやるのは難しいんですかね
関数コールすれば現在起動中のソフトウェアのウィンドウハンドルがわかるというのでなければ
難しそうなのでいったん諦めたいと思います
紹介していただいたspy++というのはどんなものか気になるのでいじってみたいと思います
ありがとうございます
0203デフォルトの名無しさん
2015/08/20(木) 12:49:26.18ID:H8XW99Sqいやそのままだけど、、、、spy++動かせばわかると思うけど
「現在起動中のソフトウェアのウィンドウ」はものすごく大量にあるので
その中から選択するキーをどうすんのって話ね。
0204デフォルトの名無しさん
2015/08/20(木) 19:32:57.07ID:WOs6ZAoH0205デフォルトの名無しさん
2015/08/20(木) 20:19:30.25ID:H8XW99SqあとCOMなら標準でいけるかと
それ以外だと結果っていってもなんのことか
0206デフォルトの名無しさん
2015/08/21(金) 14:04:20.29ID:fqRYNQxQ結果って出力じゃなくてexitの戻り値系の話じゃね?
0207デフォルトの名無しさん
2015/08/21(金) 14:30:01.51ID:S8ndpYq0execでいけないかな
0208デフォルトの名無しさん
2015/08/22(土) 17:12:21.65ID:/ddVcb/Z$s=file_get_contents($list[0]);//最新のファイルを読む
このような風にしてディレクトリ内の最新のファイルを読みたいのですが上手く行きません。
何故でしょうか?
0209デフォルトの名無しさん
2015/08/22(土) 17:39:53.87ID:/ddVcb/Z0210デフォルトの名無しさん
2015/08/22(土) 18:05:24.29ID:/yiufrRR0211デフォルトの名無しさん
2015/08/22(土) 20:19:50.88ID:/ddVcb/Zフォルダ/ファイル
で返ってくると思っていたら
ファイル
しか返ってこなかったのが原因でした。
0212デフォルトの名無しさん
2015/08/23(日) 02:42:29.78ID:F0J/JaHP{
private $prop = 1;
}
class BClass
{
private $prop;
public function __construct()
{
$prop = 1;
}
}
AClassとBClassは、どちらもプライベート変数$propを持っていますが、2つの違いは何でしょうか?
結果が同じなら、AClassの方が好ましいとか。
AClassよりもBClassの方がパフォーマンスに優れているとか。
私はAClass派ですが、BClass派の方の意見も聞いてみたいです。
0213デフォルトの名無しさん
2015/08/23(日) 03:37:33.89ID:MjjZ1bjjC++みたいな初期化子が無いからBが若干気持ち悪いのはどうしようもないな
0214デフォルトの名無しさん
2015/08/23(日) 09:55:42.83ID:HMoj5OB/0215デフォルトの名無しさん
2015/08/23(日) 10:45:25.47ID:vhLXwY7Sこういう間違いするくらいなら、Aがいいと思う。
AとBではそれほど違いはないだろうし。
0216デフォルトの名無しさん
2015/08/23(日) 11:44:14.88ID:F0J/JaHP$this->prop = 1;が正しいです。
ふと疑問に思って、適当に書いたので間違えました。
>>213-215
ご意見ありがとうございます。
「俺は、コンストラクタで代入しなきゃ気が済まない。」という方はいないようですね。
0217デフォルトの名無しさん
2015/08/23(日) 12:26:03.55ID:dSq5s0nXオブジェクト生成時に必須で意味ある操作を記述するのが望ましい気がする。
0218デフォルトの名無しさん
2015/08/24(月) 19:38:56.86ID:JwKFnUGEこういうのがあるんですが
PDOでも同じような結果(SQLite>MySQL)になりますかね?
0219デフォルトの名無しさん
2015/08/24(月) 20:17:08.06ID:X6qu577Dそりゃなるだろうなぁ
・スケールしない
・構成が単純
・同時アクセス数が少ない
という条件ならSQLiteは無敵でしょ
0220デフォルトの名無しさん
2015/08/24(月) 22:23:52.85ID:/ftfGLfAお?なんだ?
sqliteの成績いいじゃないのよ。
0221デフォルトの名無しさん
2015/08/25(火) 11:38:49.51ID:2QQu0W9L0222デフォルトの名無しさん
2015/08/25(火) 11:46:00.83ID:lyj94kL0いいんじゃないかな?(´・ω・`)
0223デフォルトの名無しさん
2015/08/25(火) 11:50:12.45ID:9xu5YWLi0224デフォルトの名無しさん
2015/08/25(火) 12:04:50.75ID:oTbGWeCqkvsみたいなシンプルなテーブル構成じゃないと性能でないし
いろいろ面倒すぎる
0225デフォルトの名無しさん
2015/08/25(火) 12:39:56.31ID:N0kKPKqpsshまたはPHPからLinuxコマンドでrmすればいい。
0226デフォルトの名無しさん
2015/08/25(火) 12:42:08.37ID:2QQu0W9L窓なんだけど
0227デフォルトの名無しさん
2015/08/25(火) 12:55:27.06ID:N0kKPKqprd (option) [directory name]
rmdir (option) [directory name]
0228デフォルトの名無しさん
2015/08/25(火) 13:08:52.73ID:2QQu0W9Lありがとう
0229デフォルトの名無しさん
2015/08/25(火) 15:36:21.02ID:07X4ZgXk箇条書きみたいな形でどうすればいいか教えていただけないでしょうか??
0230デフォルトの名無しさん
2015/08/25(火) 15:57:06.35ID:9xu5YWLiそれぞれの環境でやり方違うけど、要はGDのライブラリを組みこむだけだよ
GDの下にpngやjpegやzipやfreetypeやらあるけどまあ全部込みでいいだろう
0231デフォルトの名無しさん
2015/08/25(火) 17:57:06.12ID:07X4ZgXkどこかのフォルダに入れればいいだけじゃないみたいだし下手にいじって全部パーにはしたくないのですよね。
0232デフォルトの名無しさん
2015/08/25(火) 17:59:44.73ID:9xu5YWLi0233デフォルトの名無しさん
2015/08/25(火) 18:01:06.85ID:9xu5YWLixamppとか?ソースからビルド?httpdはどれでバージョンは?
0234デフォルトの名無しさん
2015/08/25(火) 18:06:33.56ID:07X4ZgXkhttpdとバージョンについては覚えていないのですが、
xamppのインストールは六月頃だったのでその時の最新のものだと思います。
0235デフォルトの名無しさん
2015/08/25(火) 18:11:06.98ID:F9GsSPUL0236デフォルトの名無しさん
2015/08/25(火) 18:19:46.72ID:vVSJ44wnwebサーバー上でPHPを扱うケースは関係ある。
GDを動かすだけならwebサーバーは関係無い。
0237デフォルトの名無しさん
2015/08/25(火) 18:47:37.26ID:9xu5YWLiこれでいいんじゃね。
書いてある内容から抜粋すると、C:\php5\php.ini を編集して
>>235の通りにすればいいかと、先頭の外す文字はセミコロンのようだけど
0238デフォルトの名無しさん
2015/08/25(火) 19:30:29.99ID:0DooLhSCようだけどって、php.ini編集したことないの?
0239デフォルトの名無しさん
2015/08/25(火) 22:20:16.92ID:z2POwS4S0240デフォルトの名無しさん
2015/08/25(火) 22:38:51.17ID:/vS3aNyo0241デフォルトの名無しさん
2015/08/25(火) 23:02:09.59ID:iOl5eWYFあとxamppはxamppの中にPHPのフォルダあるからよくわからずに新たにPHPインストールしちゃってサーバーとコマンドラインで別の設定とバージョンで動かしてたり
0242デフォルトの名無しさん
2015/08/26(水) 11:56:14.21ID:1VgT2ip6Windowsはやったことないわ
0243デフォルトの名無しさん
2015/08/26(水) 11:56:39.99ID:1VgT2ip60244デフォルトの名無しさん
2015/08/26(水) 17:36:20.72ID:1UBBn/050245デフォルトの名無しさん
2015/08/26(水) 17:50:20.81ID:Rs0R7URv0246デフォルトの名無しさん
2015/08/26(水) 18:47:42.81ID:ravcYZS20247デフォルトの名無しさん
2015/08/26(水) 20:32:22.15ID:+yw1sjwq(
[1111] => Array
(
[name] => 山田太郎
[age] => 25
[addr] => 東京都新宿区
)
[1112] => Array
(
[name] => 山田太郎
[age] => 26
[addr] => 東京都新宿区
)
[1113] => Array
(
[name] => 山田太郎
[age] => 40
[addr] => 北海道札幌市
)
)
こういうデータがあり、1111と1112の山田太郎さんは同一人物と仮定します。
このデータの重複を排除して更新する場所は更新(ageを25から26)にしたいのですがどうしたらいいですか?
IDは更新後の1112に統一するようにしたいです。(1111の部分を消したい)
$test = array(1111=>array("name"=>"山田太郎","age"=>25,"addr"=>"東京都新宿区"),1112=>array("name"=>"山田太
郎","age"=>26,"addr"=>"東京都新宿区"),1113=>array("name"=>"山田太郎","age"=>40,"addr"=>"北海道札幌市"));
0248247
2015/08/26(水) 20:35:14.82ID:+yw1sjwq0249デフォルトの名無しさん
2015/08/26(水) 20:56:10.01ID:ravcYZS2一回で1000件超も処理すんの?
DB使ってないの?
0250デフォルトの名無しさん
2015/08/26(水) 21:10:31.96ID:+yw1sjwq>仮に25才が26才より後に出てきたら25才にすんの?
26歳にします
>一回で1000件超も処理すんの?
IDはまだらでスタートも500ぐらいからなのですが
全部抽出した今現在2000件ぐらいあります
>DB使ってないの?
DBに入れる前に簡易的にデータを視覚化して問題ないか確認したいので
データ整理が終わって問題がなさそうだったらそれからDBに入れたいです
0251デフォルトの名無しさん
2015/08/26(水) 23:22:58.87ID:KIJq3Kjzforeachとかで重複のチェックおよび削除をするのはダメなの?
0252デフォルトの名無しさん
2015/08/26(水) 23:54:16.74ID:7RAfYG22言うのは簡単だけどそれ結構むずいぞ
0253デフォルトの名無しさん
2015/08/27(木) 01:55:32.38ID:1lLqbxXsてか個人情報の悪用か?
0254デフォルトの名無しさん
2015/08/27(木) 03:48:24.24ID:8ceC1383>>247
name+addrをキーとして考えて、それぞれのキーに対してどのIDを使うべきかを抽出しさえすれば解決できるでしょ。
これならO(n)だ。
0255デフォルトの名無しさん
2015/08/27(木) 03:56:54.04ID:Qf9+I7quname+addrだとこのケースだとキーにマルチバイト入るし問題はないだろうけどあんま好きじゃないわ
0256デフォルトの名無しさん
2015/08/27(木) 16:45:05.82ID:yuSy9xY3テスト用のDBまたはテーブル作ってそれ使って確認すれば済む話
0257デフォルトの名無しさん
2015/08/27(木) 17:07:08.43ID:uKUzATKZ0258デフォルトの名無しさん
2015/08/27(木) 17:23:22.59ID:TAgfx1h3$data = [
'1111' => ['name' => '山田太郎', 'age' => 25, 'addr' => '東京都新宿区'],
'1112' => ['name' => '山田太郎', 'age' => 26, 'addr' => '東京都新宿区'],
'1113' => ['name' => '山田太郎', 'age' => 40, 'addr' => '北海道札幌市'],
];
// id=name+addr => [data.key, data.age]のindex
$index = [];
foreach ($data as $key => $value) {
$id = $value['name'] . ',' . $value['addr'];
if (!array_key_exists($id, $index)) {
$index[$id] = ['key' => $key, 'age' => $value['age']];
} else {
if ($index[$id]['age'] < $value['age']) {
unset($data[$index[$id]['key']]);
$index[$id] = ['key' => $key, 'age' => $value['age']];
} else {
unset($data[$key]);
}
}
}
print_r($data);
0259デフォルトの名無しさん
2015/08/27(木) 20:33:39.94ID:qru52hv5素晴らしい!
そのスクリプトなら計算量はO(n)だ。
安易に二重ループにすると計算量がO(n^2) で大変だもんね。
0260デフォルトの名無しさん
2015/08/27(木) 20:54:35.90ID:xIJ2Lz80使い終わったらファイルごと捨てちゃって
0261デフォルトの名無しさん
2015/08/27(木) 20:57:16.97ID:Vyt3jNWqメモリに作るのなら問題ないけどな
sqlite::memory:だっけか
ベンチ測ってないが配列のキーに日本語使った時の速度の影響ってないのかね
0262デフォルトの名無しさん
2015/08/27(木) 22:55:51.74ID:Vyt3jNWq0263デフォルトの名無しさん
2015/08/28(金) 00:08:07.52ID:+cQXDdQRコード書ける側の人ならベンチくらい自分でとりなよ
0264デフォルトの名無しさん
2015/08/28(金) 00:09:25.52ID:+cQXDdQRというわけで、O(n^2)大好きな方は考えを改めていただきたい所存
0265デフォルトの名無しさん
2015/08/28(金) 00:56:02.87ID:AoeXeGce0266デフォルトの名無しさん
2015/08/28(金) 01:33:00.87ID:jxZe3mFi0267デフォルトの名無しさん
2015/08/28(金) 12:43:42.63ID:DqL8tsCWvacuumすりゃいいし
0268デフォルトの名無しさん
2015/08/28(金) 15:34:05.48ID:jxZe3mFiファイルって復元できるんだぜ!
0269デフォルトの名無しさん
2015/08/28(金) 15:54:18.47ID:zPlCh50K0270デフォルトの名無しさん
2015/08/28(金) 18:03:21.46ID:PakmCYt4* テーブル作って
* データロードして
* 削除対象のデータを削除して
* データ取得して
* PHPのデータ構造を再構築
するより、>>258のコード書いた方がよっぽど早い。
0271デフォルトの名無しさん
2015/08/29(土) 00:50:53.57ID:9KBnd+er最初からDB使ったが効率いい
まさか確認なしでリリースする馬鹿はいないよな?
0272デフォルトの名無しさん
2015/08/29(土) 01:13:41.82ID:Ab8Z57Rm修正前提としてんだからよくないだろ
deleteしたりかえって作業が増えるわ
0273デフォルトの名無しさん
2015/08/29(土) 01:18:12.82ID:L/zgq/d+0274デフォルトの名無しさん
2015/08/29(土) 01:24:37.13ID:Ab8Z57Rm効率がいいとはとてもいえんな
0275デフォルトの名無しさん
2015/08/29(土) 01:30:22.26ID:Ab8Z57Rm>で、それをDBに入れて確認するわけだから
この作業要らないようにしてるんでしょ
0276デフォルトの名無しさん
2015/08/29(土) 01:43:56.82ID:Ab8Z57Rm0277デフォルトの名無しさん
2015/08/29(土) 01:49:16.00ID:4/0//Q+P悪い:1配列作成→2配列内の重複チェック→修正→チェック完了→3DBつくる→4DBつっこむ→(運用開始)→5新しいデータ来る→6DBの中身との重複チェック→7DBにデータ入れる
良い:1DB作る→2登録するデータ一行ずつ受け取る→3DBの中身で重複チェック→4重複なければDBに登録→(修正があればテーブル作り直し1へ)→(運用開始)→2'データ来る→3重複チェック→4重複なければDBに登録
運用時に必要となる処理も含めて全体の工程を考えればどっちが効率がいいかはわかりきってる。
まあ運用開始後もいちいち全行とってきて配列使って重複チェックするならDB使わなくてもいいけどそんなわけないだろさすがに
0278デフォルトの名無しさん
2015/08/29(土) 02:09:31.09ID:Ab8Z57Rmまぁいいわ
>>258と同じことをビシっとSQLでかけたら効率がいいということで
0279デフォルトの名無しさん
2015/08/29(土) 03:29:07.88ID:ZMuJUzU2>>254と>>258のどっちの人なの?
0280デフォルトの名無しさん
2015/08/29(土) 03:40:57.39ID:Ab8Z57RmID:Vyt3jNWq ID:jxZe3mFi
はオレだ
0281デフォルトの名無しさん
2015/08/29(土) 06:06:52.85ID:/nsMHMAj・カラムごとにインポート先のテーブル/カラムが異なる。
・csvは複数の種類がある。(csvごとにデータベースとのマッピングが異なる。)
汎用的な処理を作って設定でうまいことやりたいんだけど、良いライブラリやサンプルはないですか?
0282デフォルトの名無しさん
2015/08/29(土) 08:13:19.25ID:/nsMHMAj0283デフォルトの名無しさん
2015/08/29(土) 19:02:08.82ID:STDwRupe関数の引数の変数名を取得することって出来る?
hoge($a); という関数があって、それを hoge($chinko) と呼び出したときに
そのときの変数名 $chinko を取得する方法。
無理だな。 だって引数が変数とは限らないもんな。
あーでも参照なら変数と限ることができるのか? 参照縛りならいける?
0284デフォルトの名無しさん
2015/08/29(土) 19:04:04.38ID:ZMuJUzU2むしろ用途をしりたい
0285デフォルトの名無しさん
2015/08/29(土) 19:31:57.61ID:1x+r04Uf0286デフォルトの名無しさん
2015/08/29(土) 19:56:45.67ID:SKly7+Odそのファイルを読み込み、正規表現とか使って、変数名を抜き出すとか。
ふと思いついたので、おかしな方法だと思うけど一応参考に。
http://php.net/manual/ja/function.debug-backtrace.php
0287デフォルトの名無しさん
2015/08/30(日) 09:22:39.00ID:wgRyWxOv0288デフォルトの名無しさん
2015/08/30(日) 15:20:20.12ID:FcrFu/Vpこう言う場合、できる限りphpなどのサーバーサイドで処理する様に書き換えるべきですか?
0289デフォルトの名無しさん
2015/08/30(日) 15:24:19.97ID:ef9SYKfA例えば最下層までスクロールするアニメーションを実装するとして
それをphpでやるってのはただの馬鹿だよw
最下層までいくのに何回画面遷移するんだっていう話
0290デフォルトの名無しさん
2015/08/31(月) 07:59:11.05ID:sP4JUecY$_int = isset($_GET['_int']) ? $_GET['_int'] : null;
if (!ctype_digit($_int)) exit;
//変なのきても0にして処理続けます
$_int = isset($_GET['_int']) ? (int)$_GET['_int'] : 0;
そもそもフォーム外からの入力とか考慮する必要があるのか不明ですがどっちがいいでしょうか?
0291デフォルトの名無しさん
2015/08/31(月) 10:15:36.04ID:Ad0sNMCqどうしてもそれが必要なら、いわゆる連想配列かJSONを引数にすれば良い。
0292デフォルトの名無しさん
2015/08/31(月) 10:22:21.26ID:Ad0sNMCqXSS, CSRF, セッションハイジャックについて調べるといいよ。
0293デフォルトの名無しさん
2015/08/31(月) 10:41:15.82ID:1S2ZHjxL上のように、処理を終了する方がいい。
下の場合、予想しない挙動をする場合もありバグの原因になるから。
0294デフォルトの名無しさん
2015/08/31(月) 15:14:59.59ID:nEToo1o2フォーム外かどうかをチェックするコードではないよね。
意図しないアクセスをされたときの挙動は別途。
ま、不正な値を吸収して処理を継続できるならそのほうがやさしいとは思う。
>>291
「いわゆる連想配列かJSONを引数にすれば」、「関数の引数の変数名を取得すること」ができるの?
0295デフォルトの名無しさん
2015/08/31(月) 15:21:22.24ID:sP4JUecY曖昧なこといってすみません
そのへんの対策は当然するとして
例えばcURLなんかを使って2chに書くスクリプトみたいのありますよね?ああいうのを考慮すべきかという話です
>>293
下の場合上のelseに当たり
下が問題なら上も問題になるということになりませんか?
0296デフォルトの名無しさん
2015/08/31(月) 15:26:34.27ID:Ad0sNMCq> 「いわゆる連想配列かJSONを引数にすれば」、「関数の引数の変数名を取得すること」ができるの?
あー、連想配列かJSONにして、仮引数名を入れればってこと。
どっちみち呼び出し側から変数名を渡すしかないけど、引数の数を増やすよりいいかなと。
0297デフォルトの名無しさん
2015/08/31(月) 15:27:54.14ID:Ad0sNMCq必要なのは実引数名だった。
0298デフォルトの名無しさん
2015/08/31(月) 15:32:58.58ID:Ad0sNMCqうーん、「ああいうの」がどういうのかわからないんだけど、要件によるとしか言えないんじゃないかなあ。
> //変なのきても0にして処理続けます
> $_int = isset($_GET['_int']) ? (int)$_GET['_int'] : 0;
この方針で行くと、期待するパラメータ全てがなくとも処理が続行しちゃうけど、それでいいかどうかは要件次第。
0299デフォルトの名無しさん
2015/08/31(月) 15:35:35.28ID:dCXkMxpH用意したフォームを使わずに飛び込んできたとしても
それでもいい場合と良くない場合があるしね。
2ch互換BBSだって、直接dat見に来るのを許容するシステムもあれば
API経由を共用するシステムもあるし
0300デフォルトの名無しさん
2015/08/31(月) 15:59:06.34ID:sP4JUecYありがとうございます
難しく考えず柔軟に対応することにします
0301デフォルトの名無しさん
2015/08/31(月) 20:41:11.85ID:Ny4CPwswfile_get_contents('php://input'); で取得するデータに関する質問です。
javascriptが有効/無効で処理をわけるつもりで
無効な時はform actionにphpのパス指定してPOSTで送信しているのですが
その際日本語はデコードされて取得しています。
有効な時はjavascriptの関数に飛んで
XMLHttpRequest
↓
open("POST", "phpファイル", true);
setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
としているのですが日本語がデコードされずに取得されます。
form要素もデフォルトではContent-Typeがapplication/x-www-form-urlencodedのはずですが
この違いが出る原因はなんでしょうか?
0302デフォルトの名無しさん
2015/08/31(月) 21:18:52.81ID:l4mmrlHu0303デフォルトの名無しさん
2015/08/31(月) 21:22:36.97ID:l4mmrlHuクライアント側で非同期、リアルタイム通信してるかのように見せかける技術だろ?
サーバーからすると、見せかけのふつうの通信を頻繁するだけで。
0304デフォルトの名無しさん
2015/09/01(火) 00:17:19.81ID:iyNI0UTo0305デフォルトの名無しさん
2015/09/01(火) 07:10:09.47ID:PA13f3W/普通にどっちもエンコードされてるけど
環境の問題じゃ
0306デフォルトの名無しさん
2015/09/01(火) 19:32:37.13ID:GtQLzV5sほとんどスレチだけどXMLHttpRequest使ってPOSTするときは自分でエンコードしてから渡してあげないといけない。
同じ指定云々は
送「こういう感じに解釈してよ」受「おう」
っていうやりとりしてるだけ。「こういうふうに変換しといたわ」じゃない所が違う原因。
フォームでの送信はブラウザが勝手にその辺やってくれてるってだけ。
0307デフォルトの名無しさん
2015/09/01(火) 21:38:59.47ID:gnKiZ/P3もしメモリ上でなければ、tmpファイル名を確認する方法を教えて下さい。
もしメモリ上なら画像リソースからtmpファイルを作成する方法を教えて下さい。
0308デフォルトの名無しさん
2015/09/01(火) 21:54:01.11ID:SHJ8zf1qGDの話してんならGDの使い方見ればわかるでしょう
ttp://php.net/manual/ja/ref.image.php
メモリ上にあるのをimagepng imagejpegとかで出力
imagedestroyで解放
アップロードされた画像の話してんならアップロード処理のとこ見ればいい
ttp://php.net/manual/ja/features.file-upload.post-method.php
こちらはテンポラリファイルとして実在する
$_FILES['userfile']['tmp_name']
0309301
2015/09/01(火) 22:20:13.67ID:IcLe/G5Wもうhttpリクエストとかの流れを勉強してみます。
0310デフォルトの名無しさん
2015/09/01(火) 23:30:20.38ID:gnKiZ/P3出来ました。
ただtok2でImageMagickが使えないのでインストールする方法を教えて下さい
0311デフォルトの名無しさん
2015/09/01(火) 23:55:50.60ID:iyNI0UToただ、とつなげる理由が分からん。ImageMagickは別の話でしょ
0312デフォルトの名無しさん
2015/09/01(火) 23:57:45.93ID:gnKiZ/P3ImageMagickを使う為に>>307が分からなかったのですが>>307をしたけどImageMagickが使えませんでした
0313デフォルトの名無しさん
2015/09/01(火) 23:59:44.63ID:iyNI0UToGDではできたけど、GDはいやだってこと?
できましたっていうから解決したのかと。
0314デフォルトの名無しさん
2015/09/02(水) 00:01:47.26ID:Ke7ywQgJ2つの画像からgifアニメを作りたいのですがGDだと無理みたいなので・・・
0315デフォルトの名無しさん
2015/09/02(水) 00:04:28.52ID:w8Kps//0root持ってるならパッケージインストール。
rootは無いけどhttpdを自由に設定できる権限があるならphpを手元にインストールしてそれを使うようにする。
0316デフォルトの名無しさん
2015/09/02(水) 00:06:43.25ID:Ke7ywQgJImageMagickをDLしてPHPファイルを読み込んで関数を使うみたいな方法はないのでしょうか?
0317デフォルトの名無しさん
2015/09/02(水) 00:11:38.74ID:w8Kps//0php.iniを編集する権限はあるの?
0318デフォルトの名無しさん
2015/09/02(水) 00:14:11.74ID:Ke7ywQgJないみたいです
0319デフォルトの名無しさん
2015/09/02(水) 00:15:35.58ID:w8Kps//0>>315
0320デフォルトの名無しさん
2015/09/02(水) 00:25:58.98ID:Ke7ywQgJありがとうございました
0321デフォルトの名無しさん
2015/09/02(水) 13:32:51.31ID:mwFjmevDttp://blog.wnotes.net/blog/article/php-treats-animated-gif
この人みたいに(ちゃんと使えるかは不明)
0322デフォルトの名無しさん
2015/09/02(水) 14:03:56.14ID:opT5h4j/直接16進で機械語を打ち込むことかな
0323デフォルトの名無しさん
2015/09/02(水) 14:05:33.62ID:opT5h4j/http://blog.asial.co.jp/754
> <?php // sample.php
> echo pack('C*', 0x50, 0x48, 0x50, 0x21) . PHP_EOL;
0324デフォルトの名無しさん
2015/09/02(水) 17:52:10.67ID:DsnqIILbセッションハンドラクラスを作るのはいいんだけど、既存のアプリケーションに手を加えたくない。
php.ini の設定だけで自前セッションハンドラを組み込む方法ってある?
0325デフォルトの名無しさん
2015/09/02(水) 17:54:49.49ID:P+JlZNhE0326デフォルトの名無しさん
2015/09/03(木) 22:57:13.60ID:EZEw+dN3何か良さそうな本はありませんか?
超初心者でも掲示板が作れるようになる本があれば教えてください。
0327デフォルトの名無しさん
2015/09/03(木) 23:01:46.74ID:gfhZ4+hm0328デフォルトの名無しさん
2015/09/03(木) 23:05:48.07ID:EZEw+dN3何か良さそうな本があったら教えてください。
0329デフォルトの名無しさん
2015/09/03(木) 23:11:31.13ID:gfhZ4+hm0330デフォルトの名無しさん
2015/09/03(木) 23:15:14.55ID:gMUwrAz00331デフォルトの名無しさん
2015/09/03(木) 23:39:38.83ID:sW2CV04dコードサンプルをみることなく作るってことかな。
それなら、まずはhttpを理解するところからかなぁ。
少なくともhttp methodを知る必要があるし。
0332デフォルトの名無しさん
2015/09/04(金) 19:24:17.94ID:VmPNiXwJ組み方がわからないなら何度も言われてるけど既製品見た方がはやい
0333デフォルトの名無しさん
2015/09/04(金) 19:27:32.12ID:z8YQRmVJ0334デフォルトの名無しさん
2015/09/04(金) 22:15:59.80ID:u93h3NNfもしもPCやサーバーやスパコンのCPUを見破り、そのマシン語を自由に操れる悪魔がいたとして、
その悪魔は世界中のありとあらゆるコンピューターをハッキングすることが出来てしまうのでしょうか?
0335デフォルトの名無しさん
2015/09/04(金) 22:18:06.21ID:GXVi17zX0336デフォルトの名無しさん
2015/09/04(金) 22:23:11.25ID:u93h3NNfいえ、思考実験ではありますが、紛う事なき起き事です。
なんとなく思いついて
それが気になって眠れなくなるってことって
結構ありますよね?
でもどうなんでしょう?
ファイアウォールも根本はマシン語なので、
それが使いこなせてしまえば意味がなくなったりしませんか?
0337デフォルトの名無しさん
2015/09/04(金) 22:32:22.09ID:WfcwgdCY0338デフォルトの名無しさん
2015/09/04(金) 22:32:32.46ID:voaTutYwそれさあ、飛び回っている分子を選別し、振り分けできるような悪魔がいたら、いろんな事できるねって話と同じレベルだよ。
0339デフォルトの名無しさん
2015/09/04(金) 22:36:24.64ID:u93h3NNfうん。マクスウェルの悪魔やラプラスの悪魔と同レベル。
でも不可能であることだけはなんとなくわかりました。
0340デフォルトの名無しさん
2015/09/04(金) 23:29:31.17ID:+AIeW6Wf0341デフォルトの名無しさん
2015/09/05(土) 00:06:05.84ID:f7B8ro5r0342デフォルトの名無しさん
2015/09/05(土) 01:14:30.57ID:IONLXn6k0343デフォルトの名無しさん
2015/09/05(土) 05:08:46.02ID:i6kEld9Sたとえば、100メガの文字列があるとしして。
後半の50メガ以降、80メガ以降を既成関数に渡したいとすると
カットして実体を渡すほかないですか?
0344デフォルトの名無しさん
2015/09/05(土) 07:02:47.17ID:i6kEld9S0345デフォルトの名無しさん
2015/09/05(土) 08:02:31.97ID:NiREPU1pなるほど。
実行中のプログラムの根本であるファイルを操作することは不可能、
つまりそのような悪魔は存在しないと言うことですね。
ありがとうございます。
>>340
細胞内では第二種永久機関のブラウン・ラチェットが実現していると言うこと?
マクスウェルの悪魔は第一種永久機関の問題だよ。
0346デフォルトの名無しさん
2015/09/05(土) 10:01:39.68ID:D0k+6Pch学校の課題で生徒の出席システムを作ることになったのですが、上手くいきません
どなたかご教授お願いします
0347デフォルトの名無しさん
2015/09/05(土) 10:04:13.94ID:D0k+6Pchで
ソースがhttps://drive.google.com/file/d/0B8a6OH-vNdAMWUl0aGdRX2VLZU0/view?usp=sharing
にうpしてあります。
初めてなので、めちゃくちゃ汚いらしいですが、よろしくお願いします。
0348デフォルトの名無しさん
2015/09/05(土) 17:58:19.61ID:8nbMWQS4こういうコードでこういう結果がほしかったけどこういう結果になるのはなぜかとか
丸投げじゃなくてどう上手くいかないのかコード抜粋してその説明を
0349デフォルトの名無しさん
2015/09/06(日) 04:47:29.17ID:BCfPqjBk0350デフォルトの名無しさん
2015/09/07(月) 21:55:02.02ID:IfyRdfTS出欠二値でいいなら生徒をビットに割り振るのが一番スマートだな
nを生徒の番号としてn番目のビットフラグを立てるにはどうするか
n番目のビットが立ってるかどうかどう検出するか
二進数と論理演算で調べればすぐにわかるけどな
0351デフォルトの名無しさん
2015/09/08(火) 00:12:02.60ID:fkrc3pHR生徒数が増えた場合のアドバイスも書いてあげなよ。
大学なら学部生100人くらいいることはよくあるだろうし、すぐ必要になるさ。
0352デフォルトの名無しさん
2015/09/08(火) 07:10:07.73ID:xGk/4aAi0353デフォルトの名無しさん
2015/09/08(火) 21:23:18.02ID:yqLWsTWb>>351
1列16人で区切って表示テーブルを横に伸ばせばいいだけ
16人なら全員出席でも7万以下だから昔のファミコンでもなんとかなるレベル
0354デフォルトの名無しさん
2015/09/09(水) 18:51:31.08ID:v1G2BtY+http://1bit.mobi/20110106215505.html
0355デフォルトの名無しさん
2015/09/09(水) 18:58:26.50ID:tGrd6Eqr0356デフォルトの名無しさん
2015/09/09(水) 19:01:57.65ID:v1G2BtY+スクロースは別にjsですればいいですが、最低限js未対応ブラでも目次の表示はしたいので。
どのようにして作ればいいのでしょうか?
0357デフォルトの名無しさん
2015/09/09(水) 19:10:13.56ID:+quVusLF事前にサーバーでHTMが生成してあっても同じ。
そのときPHPでもJSでもなくてもいい。C言語、BASICでもいい。
0358デフォルトの名無しさん
2015/09/09(水) 20:26:23.28ID:v1G2BtY+PHPが対応鯖多いのでPHPでしたいです。
ただURLのソースはJQを使っていてどのようなソースを書けばいいか分かりません
0359デフォルトの名無しさん
2015/09/09(水) 20:49:32.40ID:JyAhRrTZhttp://php.net/manual/ja/book.simplexml.php
http://php.net/manual/ja/function.file-get-contents.php+http://php.net/manual/ja/function.preg-match.php
このあたり使えばできるよ
あのJavaScriptのソース(tree.js)は理解出来てるわけ?
全くわからないのならphpでやるのは諦めたほうがいいような・・・
0360デフォルトの名無しさん
2015/09/09(水) 22:01:43.70ID:cP17XdT8>js未対応ブラでも、目次の表示はしたい
目次とリンクは、HTMLファイルに書いておく。
そうすれば、JS機能がオフでも、表示される
0361デフォルトの名無しさん
2015/09/09(水) 23:23:02.07ID:v1G2BtY+http://notepad.cc/share/jH5opiyc92
<h1>あ</h1>
<h2>い</h2>
<h3>う</h3>
<h4>え</h4>
<h5>お</h5>
<h6>か</h6>
の目次を作ると
か
か
か
か
か
か
になります
0362デフォルトの名無しさん
2015/09/10(木) 00:24:43.96ID:satfoS2bhtml内の[[nav]]の所をリストに書き換えるソース書いた
// htmlファイルを用意してない場合は
// ob_start();で出力をバッファにためて
// 最後に
// $html = ob_get_contents();
//htmlファイルを用意してあるなら
$html = file_get_contents('path');
$linkname = 'head_link'; //リンク用のnameの名前
preg_match_all("/<h[1-6].*?>(.*?)<\/h[1-6]>/", $html,$matches);
$html = preg_replace_callback("/(<h[1-6])(.*?)>/", function($tag){
global $linkname;
static $i = 0;
$str = $tag[1] . " name=\"{$linkname}{$i}\"" . $tag[2] . '>' ;
$i++;
return $str ;
}, $html);
$count = count($matches[0]);
print_r($matches);
$navi = "<ul>\n";
for($i=0;$i<$count;$i++){
$navi .= "<li><a href=\"#{$linkname}{$i}\">" .$matches[1][$i] ."</a></li>\n";
}
$navi .= "</ul>\n";
$html = str_ireplace("[[nav]]", $navi, $html);
echo $html;
0363デフォルトの名無しさん
2015/09/10(木) 00:31:14.20ID:satfoS2bというかページ内リンクnameじゃなくてidだった
h2とかh3を入れ子にするのは自分でやってねforの中で$maches[0][$i]にセレクタごと入ってるからなんとかして判定して頑張って
0364デフォルトの名無しさん
2015/09/10(木) 00:46:13.08ID:1c9BnOEfありがとうございます。また明日してみます。
あと>>361が上手く行かないのは、何が原因でしょうか?
0365デフォルトの名無しさん
2015/09/10(木) 01:10:32.85ID:9M5qBB4N何というかコードへの突っ込みどころは多すぎるけど, 何より正規表現がダメ(>>362のを使うべき)
/.*\<h([1-6])\>(.*?)\<\/h\1\>.*/u
という正規表現をしているが, これでは .* は標準で貪欲マッチだから最後のh*タグにしかマッチしない
正規表現使うよりSimpleXMLとかで処理した方が楽だし確実だし賢いと思うけど。
0366デフォルトの名無しさん
2015/09/10(木) 04:23:28.45ID:l18x+WdQたとえばDMMの動画紹介などで、サムネイルがずらっと整列して並んでいるのですが
こういった表示をするにはCSSでするんでしょうか?それともPHPで処理して反映させるんでしょうか?
0367デフォルトの名無しさん
2015/09/10(木) 05:16:11.27ID:BZtDa5Me調査方法はいろいろあるけれど、結論としてはスタイル。
/*media screen*/
#main-src ul#list > li, #main-src ul#list2 > li {
float: left; ←これ
width: 24%;
margin: 0 -1px -1px 0;
border: 1px #ccc solid;
}
0368デフォルトの名無しさん
2015/09/10(木) 11:33:11.46ID:+aSujBcMおまえ親切だな。
0369デフォルトの名無しさん
2015/09/10(木) 22:13:29.23ID:mAu5JtU+オールインワンから何を削ると軽くなるの?
もしくは違うIDE行ったほうがいいのかな
デスクトップはi7でSSDで16GBメモリだから無問題なんだけどノートがi5でHDDで4GBメモリだからヤバイ
どちらも64bit Windows7
0370デフォルトの名無しさん
2015/09/10(木) 22:25:26.56ID:/OF3RUxs0371デフォルトの名無しさん
2015/09/10(木) 22:44:43.06ID:+aSujBcM0372デフォルトの名無しさん
2015/09/10(木) 22:53:53.10ID:mAu5JtU+Atomいいよな
html(.tpl)とかJSとかcssはAtom使ってるわ
でもずーーーーっとWin畑でVisualStudioだったから実行時にステップ実行で変数見れないの気持ち悪いねん
var_dumpとかダルいねん
0373デフォルトの名無しさん
2015/09/11(金) 03:03:42.84ID:0qcobZsxAtomだろうがEclipseだろうがステップ実行できるだろ。
無能を棚に上げるな。
0374デフォルトの名無しさん
2015/09/11(金) 08:47:28.11ID:k9ZbFTSRあれと比較すると他のIDEはウンコ以下
0375デフォルトの名無しさん
2015/09/11(金) 09:50:52.88ID:yoTyzIo0無料なところで、さーっと探してみたら「Rental Orbit Space」が何だか良さそうだったのだけど、
ほかになにかおすすめのところがあるようなら教えてほしい。
0376デフォルトの名無しさん
2015/09/11(金) 10:39:11.71ID:t30ynhYxhttp://peace.2ch.net/hosting/
0377デフォルトの名無しさん
2015/09/11(金) 14:24:42.27ID:QQGqaHlG1.使用するデータを全部読み込んでからhtmlの出力を始める。
2.使用する直前に必要なデータだけを読み込む。
現在1の方法を使っているのですが、2の方が表示速度が上がるのではないかと。
0378デフォルトの名無しさん
2015/09/11(金) 14:27:42.42ID:/k4jExi0まあ両方やって計測で
0379デフォルトの名無しさん
2015/09/11(金) 14:29:02.46ID:r0qleKIN3回使用しているところでどれくらい時間が掛かっているかを調べ
チューニングの方法をまず考えた方が良いかも。
0380デフォルトの名無しさん
2015/09/11(金) 14:36:42.85ID:QQGqaHlGphpとmysqlだけです。
それ以上の知識が無いので…。
0381デフォルトの名無しさん
2015/09/11(金) 14:41:15.72ID:QQGqaHlG標準的な方法があるわけではなくその都度良い方を選んだらいいと言う事ですね。
0382デフォルトの名無しさん
2015/09/11(金) 20:42:48.90ID:8lckqHAvってのがあったとして
$ichigoって変数にしたいのですがどうしたら良いですか?
具体的にはforeachの中でarrayに("ichigo", "mikan",...)
とあって、$valをキーにしました。
"ichigo"と$ichigoが欲しくて
$val_1 = "$" . "$val";
としたのですが'$ichigo'になってしまいました。
0383デフォルトの名無しさん
2015/09/11(金) 20:45:55.94ID:6RIVBYPF0384デフォルトの名無しさん
2015/09/11(金) 20:56:24.18ID:mSu0XMwgページAでsetcookie('test',123)してるんですが、ページBでcookieの中を見るとと入っていません
ググったんですがよくわかりません
よろしくお願いします
0385デフォルトの名無しさん
2015/09/11(金) 20:57:43.88ID:8lckqHAv${"$ichigo"}でした
0386デフォルトの名無しさん
2015/09/11(金) 20:58:53.79ID:t30ynhYx0387デフォルトの名無しさん
2015/09/11(金) 21:20:38.66ID:GJirAVL+実際のコードを書け, 特にsetcookie側。
0388デフォルトの名無しさん
2015/09/11(金) 21:26:55.46ID:Z45NruML0389384
2015/09/11(金) 21:41:13.86ID:mSu0XMwgAとBはcotrollerも違い、viewのディレクトリも違います
ソースは今日は出先なので貼れないですが以下のような感じです
Acontroller.phpの中で、
テーブルにレコードinsertするActionの一番最後に書いてます
function registAction{
//レコードinsertする処理
setcookie('test',123);
}
Bcontroller.php
ではcookieに関する処理は入れてません
cookieはブラウザ(Chrome)のDeveloperツールで確認してます
0390デフォルトの名無しさん
2015/09/11(金) 22:16:36.36ID:GHVwR1ig0391デフォルトの名無しさん
2015/09/12(土) 09:56:39.53ID:R3r/vRAoみたいなphp以下のファイルを処理する事ってできませんかね?
0392デフォルトの名無しさん
2015/09/12(土) 11:08:14.49ID:KVS4ZFCEsymfony使ったことないけどhttpレスポンス管理するオブジェクトあるっぽいからそこで食わせればいいんじゃね
sfWebResponseとsfWebRequestでググれば使い方出てくる
>>391
mod_rewrite
じゃなければもっと詳しく書いてくれないとわからない
0393デフォルトの名無しさん
2015/09/12(土) 11:10:06.53ID:K5Xj9mys0394デフォルトの名無しさん
2015/09/12(土) 15:09:05.41ID:ss/jDHIVPATH_INFOのこと?
0395デフォルトの名無しさん
2015/09/12(土) 15:55:05.76ID:R3r/vRAo0396デフォルトの名無しさん
2015/09/12(土) 16:40:00.67ID:v8+tPOvk0397デフォルトの名無しさん
2015/09/12(土) 16:50:08.17ID:1mS4NSAq0398デフォルトの名無しさん
2015/09/12(土) 17:07:47.18ID:Lvz/9L2yあまり知られてないけど、shも書けるしCも書けるよ
0399デフォルトの名無しさん
2015/09/12(土) 21:51:57.35ID:mTeFJ4oVCが似てるとかJavaが近いとかそんなアドバイスくださいな
0400デフォルトの名無しさん
2015/09/12(土) 22:29:39.47ID:gDZ5aTy9Cが似てる
0401デフォルトの名無しさん
2015/09/12(土) 23:44:50.71ID:TYwAh20pJavaやってからCだな
ただその前にJavaScriptは必須
0402デフォルトの名無しさん
2015/09/12(土) 23:49:30.21ID:3+0RjRCl0403デフォルトの名無しさん
2015/09/13(日) 00:39:33.65ID:77ddCjlUPHP7でついに本当の配列を手に入れたとか言ってる意味が分からないならますます。
0404デフォルトの名無しさん
2015/09/13(日) 01:10:18.96ID:zE88tHy7レンタル鯖を借りて会員制の自サイトを公開するとなると、どの程度の時間で習得できますか。
最近Mysqlの勉強をしているのですがあまり進捗がないです。
おすすめの本、サイトがあれば教え得頂きたいです。
0405デフォルトの名無しさん
2015/09/13(日) 01:15:18.94ID:H6vWVRfH0406デフォルトの名無しさん
2015/09/13(日) 01:34:59.27ID:cf7CWKJI0407デフォルトの名無しさん
2015/09/13(日) 01:39:02.72ID:SU3r4vhu難しいのは会員の情報を守ることだ
0408デフォルトの名無しさん
2015/09/13(日) 01:57:14.30ID:cf7CWKJI0409デフォルトの名無しさん
2015/09/13(日) 10:54:35.22ID:ts9uuw7s1年くらい。
PHP+MySQLに半年。セキュリティに半年。
0410デフォルトの名無しさん
2015/09/13(日) 14:46:36.91ID:D2q3+sgT0411デフォルトの名無しさん
2015/09/13(日) 15:21:48.77ID:SU3r4vhuif ($fname.getMimeType().match("image/jpe?g")) $resource = imagecreatefromjpeg($fname);
elseif ($fname.getMimeType() =="image/gif") $resource = imagecreatefromgif($fname);
$resource = new Imagick($fname);
if-else使うことがプログラムを変えることを指しているのならImagick
0412デフォルトの名無しさん
2015/09/13(日) 16:53:22.24ID:77ddCjlU0413デフォルトの名無しさん
2015/09/13(日) 17:38:28.92ID:iQC47PynFatal error:Call to undefined function ftp_connect
上記が表示されてアップロードできません。
調べたらconfigureオプションで --enable-ftpを追加すれば可能とのことでしたが
configureにはどうやってアクセスするのでしょうか?
コマンドラインの操作手順等が分かりません。
0414デフォルトの名無しさん
2015/09/13(日) 17:40:46.15ID:RKUXc0Tt0415デフォルトの名無しさん
2015/09/13(日) 18:01:08.92ID:iQC47Pyn0416デフォルトの名無しさん
2015/09/13(日) 18:51:05.80ID:77ddCjlU> configureオプションで --enable-ftpを追加すれば可能
これはconfigureというコマンドのオプションに追加ってことだよ。
configureはMakefileを作るためのコマンド。その後出来上がったMakefileを使ってmakeする。
つまりphpをソースからコンパイルする人向けの話だよ。
0417デフォルトの名無しさん
2015/09/13(日) 18:57:27.34ID:iQC47Pynややこしそうですね
こちら側で修正できませんでしょうか?
0418デフォルトの名無しさん
2015/09/13(日) 19:27:22.03ID:4H3dG/Doレンタルサーバーじゃむり
0419デフォルトの名無しさん
2015/09/13(日) 19:49:44.44ID:gd0zNYZx「FTP関数の使用」は × になってるよ
ユーザーが変更するのは無理でしょ
https://help.sakura.ad.jp/app/answers/detail/a_id/2105
0420デフォルトの名無しさん
2015/09/13(日) 23:51:21.17ID:M+tl4tzPで受け取った "文字列" をJSの変数
var variable ="文字列";
に入れておいて、その直後に
index.html
を読み込んでその中で使いたいのですが、やり方が分かりません。
ググルキーワードを教えてください。
0421デフォルトの名無しさん
2015/09/14(月) 01:19:08.17ID:btLla6l6php関係ねーだろドサンピン
httpdの事を調べなこのどシロウトが
世話がやけるぜスカンピン
おととい きやがれこのノータリン
0422デフォルトの名無しさん
2015/09/14(月) 01:24:45.41ID:BKH9gjXB「パラメーター名="値"」という形式で、データを送る
一方、POSTメソッドは、フォームの中のコントロールに、
値を入力して、データを送る
詳しくは「get post 違い」で検索して
そして、JSファイルに書き込んだら、
HTMLファイルに、JSファイルのパスを書いておく
<script src="File1.js"></script>
0423デフォルトの名無しさん
2015/09/14(月) 01:32:16.31ID:IkwcTGNO複数からアクセス合ったとき困ることにならないか?
0424デフォルトの名無しさん
2015/09/14(月) 01:52:01.56ID:dwa7hTy+> index.html
> を読み込んでその中で使いたい
使うのはhtmlおよびそのJSを読み込み、解釈したクライアントであって、php側が使うものではない。
0425デフォルトの名無しさん
2015/09/14(月) 14:23:48.75ID:4n9SKrVIPHPでJavaScriptのスクリプトを動的に生成すればいいだけ。
0426デフォルトの名無しさん
2015/09/14(月) 15:48:44.95ID:B32AStzWhttp://php.net/manual/ja/reserved.variables.get.php
0427デフォルトの名無しさん
2015/09/14(月) 15:50:43.03ID:h9CenDqdその方式だと
<script >...</script>がindex.htmlの前に入るんじゃないですか?
問題無いですか?
0428デフォルトの名無しさん
2015/09/14(月) 17:04:28.61ID:7eSzmWQT0429デフォルトの名無しさん
2015/09/14(月) 17:20:33.69ID:B32AStzW0430デフォルトの名無しさん
2015/09/14(月) 17:58:40.45ID:h9CenDqd元々index.htmlで作ったページをbrowserから引数を渡す仕様に変更したい場合などじゃあない?
0431デフォルトの名無しさん
2015/09/14(月) 22:51:36.27ID:LFk2qsISttp://mergedoc.osdn.jp/index.html#/pleiades_distros4.5.html
このx64 FullEdition(PHP ver5.4.31)のPHPを
ttp://windows.php.net/download/
ここの5.6.13(VC11 x64 Thread Safe (2015-Sep-04 02:29:45))にしようと現在のPHPフォルダをリネームしてバックアップ
新規にPHPフォルダを作って解凍してXAMPPコントロールパネルのApacheのスタートボタンを押すものの(php.iniの編集はしていない状態)
Error: Apache shutdown unexpectedly.This may be due to a blocked port, missing dependencies...とポート重複した時と同じエラーが出てしまいます
これ( http://www.microsoft.com/ja-JP/download/details.aspx?id=30679 )は入れてます
0432デフォルトの名無しさん
2015/09/14(月) 22:55:12.35ID:dwa7hTy+0433デフォルトの名無しさん
2015/09/14(月) 22:58:43.11ID:LFk2qsISすみません止めてます
止めて尚且つコンパネも終了してます
念のため再起動もしました
0434デフォルトの名無しさん
2015/09/14(月) 23:35:21.73ID:dwa7hTy+実際ポートがLISTENしてないことも確認した?
0435デフォルトの名無しさん
2015/09/14(月) 23:41:48.14ID:LFk2qsISはい
またバックアップしたPHP_bakeup(旧PHPフォルダ)をPHPにリネームすると即座に起動します
0436デフォルトの名無しさん
2015/09/14(月) 23:48:32.38ID:dwa7hTy+http://ninnin.in/diary/xampp-error-this-may-be-due-to-a-blocked-port-missing-dependencies/
0437デフォルトの名無しさん
2015/09/14(月) 23:51:59.14ID:LFk2qsISこのページも見ましたね……
ちょっと解決できそうにないので5.9積んだEclipseの導入を考えてみます
ありがとー!
0438デフォルトの名無しさん
2015/09/14(月) 23:53:02.45ID:LFk2qsIS0439デフォルトの名無しさん
2015/09/14(月) 23:53:39.65ID:dwa7hTy+ちなみに再頒布可能パッケージは64bit版入れてある?
あとはぱっと思いつくものないです。(イベントビューア見てみてとかそういう感じになっちゃう)
0440デフォルトの名無しさん
2015/09/14(月) 23:58:33.31ID:LFk2qsIS元々Win畑だったのでそこら辺はなんとなく想像がついて色々やってみたのですがXAMPPだけはどうにもならずに今回質問しました
どうもありがとう
0441デフォルトの名無しさん
2015/09/14(月) 23:58:57.36ID:dwa7hTy+0442デフォルトの名無しさん
2015/09/15(火) 05:26:50.64ID:FdSfZNLJphp5.6用のapacheモジュール登録したり
php.iniも前バージョンの参考にして最低限xampp用のパスに書きなおさないとだめだろ
素人はおとなしくパッケージのままつかっとれ
0443デフォルトの名無しさん
2015/09/15(火) 08:33:34.00ID:c6kBSd9Xの有無で何が変わりますか?
入れると検索が速くなりますか?
0444デフォルトの名無しさん
2015/09/15(火) 20:11:48.06ID:dFBKAE/q自分のブログのコメント欄のみを見やすく表示する「コメントビューワー」を作りたいのですが…
0445デフォルトの名無しさん
2015/09/15(火) 20:15:12.24ID:hBquVAC90446デフォルトの名無しさん
2015/09/15(火) 20:17:29.12ID:iJn5Afvqphp スクレイピング
とかでぐぐるといいんじゃないっすかね
0447デフォルトの名無しさん
2015/09/15(火) 20:26:43.08ID:dFBKAE/qlivedoorブログはデータベースにアクセスできないんですよね…
>>446
ありがとうございます!スクレイピング、聞いたことあります
ちょっと検索してみます!
0448デフォルトの名無しさん
2015/09/15(火) 22:49:51.66ID:Zyfo7CCuPHPに限らんけどアホみたいな記事あげてる奴多すぎるからggrksってのも微妙だな
0449デフォルトの名無しさん
2015/09/15(火) 22:56:32.01ID:Zyfo7CCuttp://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.12/ ポータブルがいいならここのZIP版
IDE必要ならEclipseなりなんなり別に落として使うといいよ
俺はPHPStormだけど軽いし強力なので金があるならオススメ(ステマ)
0450デフォルトの名無しさん
2015/09/15(火) 23:52:05.89ID:wfKXWUguphp.ini.develop っぽいやつじゃない?
今回の話のは旧バージョンのディレクトリリネームしてるからphp.ini行方不明だろうけど。
0451デフォルトの名無しさん
2015/09/16(水) 02:27:28.84ID:kmfiaTajうーん、別のサイトで同じことやってたからソース見て参考にしようと思ったんだけどphpって難しいね
0452デフォルトの名無しさん
2015/09/16(水) 02:45:23.08ID:zBDmVf67file_get_contents('http://〜') で HTML 取ってきて、その中から欲しい部分を取り出せばいい。
HTMLを正確にパースしなくても、うまいこと正規表現書いたりその他ロジックを組み合わせればいい。
例えば、まずコメント部分を探すため特定のクラスが指定された div を見つけ、その後ろをコメント1件ずつを探すため特定のクラスの付いたタグを探すとか。
開始タグと終了タグの対応をきとんと取ろうとすると大変だから、適当に誤魔化して処理するといい。
0453デフォルトの名無しさん
2015/09/16(水) 03:19:18.85ID:ieR9FMOp0454デフォルトの名無しさん
2015/09/16(水) 03:22:50.57ID:zBDmVf670455デフォルトの名無しさん
2015/09/16(水) 04:05:57.10ID:YSsosHmp0456デフォルトの名無しさん
2015/09/16(水) 06:47:11.48ID:HSSwq9JZそもそもプログラム経験もないのではないか?
ヒント与えたところで作れないだろうな
0457デフォルトの名無しさん
2015/09/16(水) 14:50:47.08ID:LN3L51MDC:\Windowsなどが入る予定の%SystemRoot%が環境変数としてではなく文字列として認識され
そんなフォルダないよと言われるのですが
Windowsの環境変数使う時ってどうしたらいいのでしょうか?
0458デフォルトの名無しさん
2015/09/16(水) 14:59:36.61ID:aL/dguIa0459デフォルトの名無しさん
2015/09/16(水) 15:03:06.05ID:7sbTeZHX0460デフォルトの名無しさん
2015/09/16(水) 15:04:15.17ID:aL/dguIa<?
$SystemRoot = exec("echo %SystemRoot%");
$dllpath = "{$SystemRoot}\system32\hoge.dll";
print_r([$SystemRoot,$dllpath]);
//file_put_contents($dllpath, $dll);
0461片山博文MZ ◆T6xkBnTXz7B0
2015/09/16(水) 15:08:12.18ID:OezDmTKu0462デフォルトの名無しさん
2015/09/16(水) 15:12:56.40ID:LN3L51MD$_ENVではUndefined Indexになったで、>>459さんのgetenv使う方法でとります。
exec使う方法も参考になりました。
どうもありがとうございました。
0463デフォルトの名無しさん
2015/09/16(水) 16:10:09.45ID:S9pU6Zcj$greeting = "おはよう";
echo $say; //おはよう ななしさん
$greeting = "こんにちは";
echo $say; //こんにちは ななしさん
イメージとしてはこのようにしたいのですがこれは期待どおり動作しません
リファレンスにして
$say =& $greeting . " ななしさん";
に変えると変化して動作するのですが「ななしさん」が表示されません
どうするのが正しいんですか?
0464デフォルトの名無しさん
2015/09/16(水) 16:16:09.27ID:ieR9FMOpただそうするのに何らかの理由をつけて避けてるだけで。
0465デフォルトの名無しさん
2015/09/16(水) 16:27:31.20ID:S9pU6Zcjエラー出してくれればよかったのですが
あのコードで動いてしまったのでちょっと変えれば動くもんかと
0466デフォルトの名無しさん
2015/09/16(水) 16:32:23.17ID:kmfiaTajありがとうございます。
>>455さんの方法と合わせて、以下のようなコードを書いてみました。
<?php
$html = file_get_contents('http://~’);
//HTMLを書き出す
$doc = new DOMDocument();
$doc->loadHTML($html);
//一部分(sectionタグ)だけを抽出
$section = $doc->getElementsByTagName('section')->item(0);
//HTMLを出力
echo $doc->saveHTML($section);
?>
仰る通りPHPを触るのは初めてで若干混乱していますが、一応うまくいったようです…
ちなみに、「->」という演算子は「右辺の中の左辺のの要素を参照する」っていうことでいいんでしょうか…?
0467デフォルトの名無しさん
2015/09/16(水) 16:32:23.54ID:ieR9FMOpevalにしてみたら?
0468デフォルトの名無しさん
2015/09/16(水) 16:40:19.72ID:zBDmVf67これは
$say =& $greeting . " ななしさん";
多分こう評価されるんでしょう。
($say =& $greeting) . " ななしさん";
$say は $greeting のリファレンスになり、それと文字列を繋げた値が作られ、その値は捨てられる。
で、やりたいことは多分クラス化してやるような処理なんじゃないかな。
0469デフォルトの名無しさん
2015/09/16(水) 16:40:48.24ID:OCykl+Gn*var_dumpやprint_r(var,true)使うとくっそ重くなってフリーズ、もしくは*メモリエラー(リーク?オーバーフロー?)出ちゃうんだけど
小分けに表示したり、*子にオブジェがあった場合に再帰的に下までのぞきにいくんじゃなくて親に直接ついてる子のみの参照(表示)とかできる?(´・ω・`)
あとよかったらそれぞれの機能にあたる名前?を教えてほしいOTL 日本語喋れって怒られた・・・
・var_dump やprint_r と言った関数を例にした機能
・php.iniに設定するメモリーの値を超える事
・子のオブジェ?(例えば class a{ public int num1;public function a(){} public function b(){}}で言うところのa::bやa->num1?a::num1?に当たる名前
クラスAの○○であるnum1、クラスAの○○である関数(?)b?
・○○.phpという形でアクセスして来た場合の 実行元のPHPと呼ばれたPHP(use ××.php←)の関係 (親と子・・・ではないよねOTL)
・staticとglobalの使い方
・cgi-php と handlerの違い(1リクエスト1プロセス発行と言うのは同じ?)
・上記とprefork workerの違い
\(^o^)/全部じゃなくてもいいので一部でもいいです!お願いします
0470デフォルトの名無しさん
2015/09/16(水) 16:52:29.82ID:ieR9FMOpその知り合いに聞けばいいじゃんという回答ではだめなんだろうか。知り合い死んだの?
0471デフォルトの名無しさん
2015/09/16(水) 16:59:34.00ID:9fL6Ueyittps://secure.php.net/manual/ja/index.php
クラスの中には、定数や変数("プロパティ" といいます)、
そして関数("メソッド" といいます)を含めることができます
ひとまず検索するか、PHP マニュアルを読んでくれ
0472デフォルトの名無しさん
2015/09/16(水) 17:04:11.27ID:ieR9FMOp最初の質問は、出力したいものがオブジェクトならリフレクション使う。
そうではなく多次元配列の中のオブジェクト以外を出力したいということなら自前でちょっとした関数作る。
最後二つはapacheの話。下から二つ目は何か誤解を含んでいる気配も。
付け焼刃的にやりたいというわけじゃないなら公式マニュアルどんどん読めばいいよ。
0473デフォルトの名無しさん
2015/09/16(水) 18:37:59.26ID:GuiiBHkk子にオブジェクトって継承なの?
親に直接ついてる子の意味がちょっとよくわからない。PHPのクラスの親子関係は1対1だよ。再帰でもなさそうだ。
・var_dump やprint_r と言った関数を例にした機能
一般的にその都度値を表示して確認することをプリントデバッグと呼ぶ。
大くくりに言うとデバッグ
・php.iniに設定するメモリーの値を超える事
phpに限らずメモリ以上のデータを保存しようとして溢れることをオーバーフローという
・子のオブジェ〜
クラスの中の$varはプロパティ、function hoge(){...}はメソッド
そして子じゃなくて$obj = new objしたなら$objはobjクラスのインスタンスと呼ぶ。クラスの親子関係は別にある
・○○.phpという形でアクセスして来た場合の 実行元のPHPと呼ばれたPHP(use ××.php←)の関係 (親と子・・・ではないよねOTL)
a.phpの中でincludeもしくはrequire b.phpをしたなら呼び出し元
・staticとglobalの使い方
普通のとは使いどころ違うからエスパーするけどもし関数内で使われているstaticとglobalキーワードの違いでいうなら
global →関数の外で使われている変数を見れる
static →その関数全ての呼び出しで値を保持して使える
・cgi-php と handlerの違い(1リクエスト1プロセス発行と言うのは同じ?)
・上記とprefork workerの違い
ごめんcgiで動かすことがないのでよくわからない。
あとhandlerはエラーハンドラしかわからないけどこの文脈で出てくるhandlerってどういうもの?
ググったけどようわからん…
0474デフォルトの名無しさん
2015/09/16(水) 18:52:44.93ID:ieR9FMOp彼のいう「子にオブジェクト」って、メンバに別のクラスのインスタンスを含むってことじゃないかしら
0475デフォルトの名無しさん
2015/09/16(水) 20:37:16.81ID:OCykl+Gn>>470 もうコンタクトを取ることは不可能臭い
>>471,>>472 急にお腹が・・・
>>473 ありがたや・・・
>>474 親と子って違うのかorz
えっと・・・レスを参考にして質問を修正すると・・・
プリントデバッグ使うと動作が不安定になってオーバーフローしてしまうので
インスタンスのプロパティ表示を小分けにしたり、インスタンスの中のインスタンスの詳細を表示しないように設定できませんか
(´・ω・`)こんな感じですかね
class testA
{
}
0476デフォルトの名無しさん
2015/09/16(水) 21:04:25.11ID:ieR9FMOpそれなりに簡単に自分で作れるから勉強と思って頑張りな。
それかxdebug入れてvar_dumpを強化するか。
0477デフォルトの名無しさん
2015/09/16(水) 21:41:01.67ID:OCykl+Gn0478447
2015/09/17(木) 16:29:03.53ID:1rTPpGdU$referer = $_SERVER["HTTP_REFERER"];
>>447で質問したものですが…
//取得したURLのHTMLを取得
$html = file_get_contents($referer);
//HTMLをパースする
$doc = new DOMDocument();
$doc->loadHTML($html);
//特定の箇所だけを抽出
$com = $doc->getElementsByTagName('section')->item(0);
//HTMLを出力
echo $doc->saveHTML($com);
上記のようなコードを書いたのですが、特定の箇所だけを抽出する際にタグではなくIDのみを抽出したいので、「getElementsById(‘hoge’)->item(0);」と書いたところうまくいきませんでした…
パースしたHTMLから特定のID部分だけを抜き出すにはどうすれば良いのでしょうか
0479デフォルトの名無しさん
2015/09/17(木) 16:43:30.98ID:Z358njolidは1個しかない前提だから、そのまま返ってこないかな
0480447
2015/09/17(木) 16:52:17.92ID:1rTPpGdUあ、すみません;
sが余計でしたね…しかしどうしてもできない…
たとえば、取得したHTMLのID名「blog-footer」を全部引っこ抜きたい場合、
$hoge = getElementById('blog-footer')->item(0);
echo $doc->saveHTML($hoge);
と書いても無理でした…
なんでなんでしょうか…
0481デフォルトの名無しさん
2015/09/17(木) 17:05:32.70ID:bU092Fsh0482デフォルトの名無しさん
2015/09/17(木) 17:10:09.39ID:N+2d3iGipublic DOMElement DOMDocument::getElementById (string $elementId)
なのだが。
0483デフォルトの名無しさん
2015/09/17(木) 17:37:16.77ID:Z358njolで、
ちょっとやってみたけどsetIdAttribute呼ばないと駄目な感じ?
一応呼んだら出来たけど、これじゃ使いにくそうな。
0484デフォルトの名無しさん
2015/09/17(木) 17:41:57.38ID:N+2d3iGi0485デフォルトの名無しさん
2015/09/17(木) 17:42:38.67ID:JaPdUxaK0486デフォルトの名無しさん
2015/09/17(木) 17:49:19.98ID:Z358njol0487デフォルトの名無しさん
2015/09/17(木) 18:01:29.12ID:bU092Fshだからマニュアル読みなって
0488デフォルトの名無しさん
2015/09/17(木) 18:21:44.45ID:N+2d3iGi0489デフォルトの名無しさん
2015/09/17(木) 18:37:41.50ID:2BhOyj3Tエラーの意味くらい理解できるようになれよ。
$hoge = $doc->getElementById('blog-footer');
echo $doc->saveHTML($hoge);
0490デフォルトの名無しさん
2015/09/17(木) 18:38:42.85ID:2BhOyj3T0491デフォルトの名無しさん
2015/09/17(木) 18:38:57.46ID:z0CdisW0返り値見てもDOMElementか無ければNULLが返るってあるし
中の値?みたいならtextContent とかinnerTextとか参照すればいいんじゃない?(違ったらごめんね)
0492デフォルトの名無しさん
2015/09/17(木) 20:01:18.86ID:JaPdUxaK0493デフォルトの名無しさん
2015/09/17(木) 20:31:11.04ID:hKr4+HsMDOMDocumentならloadHTML関数でかなり強力に読める(Warningもオプション付ければ抑制して後から取得も出来る)
DOMNodeからSimpleXMLを作るにしても, 最終的にHTML出力を得るならDOMを使うのがいいんじゃない?
0494デフォルトの名無しさん
2015/09/17(木) 20:51:06.20ID:2BhOyj3T>>447の使い方的にlivedoorブログがちゃんとしたソース吐いてるならSimpleXMLでもいいんじゃね
0495デフォルトの名無しさん
2015/09/17(木) 21:18:39.96ID:hKr4+HsMエラーログに大量のパースエラーが記録されてるから, ソースからSimpleXMLでパースするのは困難で, DOMからSimpleXMLに変換するしかなさそう(DOMでは読めた)
0496447
2015/09/18(金) 15:10:18.11ID:Qyee3ty4すみません;無事出来ました…;
ご教授頂きありがとうございました…
>>491さんもありがとうございます
確かにDOMだと読み込みまでの時間が遅くて若干もっさりですね…
0497デフォルトの名無しさん
2015/09/18(金) 20:53:13.78ID:+pqm/1Nv0498デフォルトの名無しさん
2015/09/19(土) 15:25:46.90ID:ISETQD0OIE8,9,10で
来た人には
indexIE8910.html
それ以外の人には
index.html
を開かせるようにするにはどう書けばよいでしょうか?
0499デフォルトの名無しさん
2015/09/19(土) 16:08:41.80ID:H93lCnag0500デフォルトの名無しさん
2015/09/19(土) 16:24:22.58ID:ISETQD0Oもうちょっと詳しく教えてくだしゃいませお奉行様。
0501デフォルトの名無しさん
2015/09/19(土) 16:31:57.85ID:H93lCnagゆーざーえーじぇんと php ぐぐる
0502デフォルトの名無しさん
2015/09/19(土) 16:35:59.14ID:ISETQD0Oindex.phpのサンプル作ってくだしゃいませ、
お代官様!
0503デフォルトの名無しさん
2015/09/19(土) 16:41:10.23ID:UDnFG9E7IE使ってても見れるのに見れなくしてるサイトとかあるし
IE使いが積極的にUA偽装してるし意味ないで・・・
0504デフォルトの名無しさん
2015/09/19(土) 17:46:05.37ID:H93lCnag0505デフォルトの名無しさん
2015/09/19(土) 17:59:55.14ID:NWKVhdko切り捨てているサイトが出てきたな
0506デフォルトの名無しさん
2015/09/19(土) 19:15:52.32ID:ISETQD0O>テキトーにどっかの拾って使っとけ。
それをここに書きなさい。この紋所が目に入らぬか!控えおろー
0507デフォルトの名無しさん
2015/09/19(土) 19:27:17.46ID:+Kt9F6BWphp側で$_SERVER['HTTP_USER_AGENT']見て読ませるcss/js変えたりheader()でLocation吐いて移動させたりしろ
はい終わり
0508デフォルトの名無しさん
2015/09/19(土) 19:52:46.47ID:H93lCnagアホ
0509デフォルトの名無しさん
2015/09/19(土) 21:34:22.18ID:ISETQD0Oかたじけない。
0510デフォルトの名無しさん
2015/09/20(日) 02:47:51.76ID:X3nquW9o0511デフォルトの名無しさん
2015/09/20(日) 03:03:07.63ID:RNt2QHn90512デフォルトの名無しさん
2015/09/20(日) 07:47:40.74ID:dFW+uZ12js切ってるやつ考慮してとかいってphpやhtaccessで分けるのはクレイジー
0513デフォルトの名無しさん
2015/09/20(日) 09:34:13.66ID:1JwuQWhKtteb?
0514デフォルトの名無しさん
2015/09/20(日) 11:19:00.05ID:Ptvv9YCqといってもこれまで存在し続けたブラウザの独自仕様がなくなることは無いんだろうな
0515デフォルトの名無しさん
2015/09/20(日) 11:20:28.44ID:GyUJ1dZ90516デフォルトの名無しさん
2015/09/20(日) 13:39:59.27ID:VoXgoN5g0517デフォルトの名無しさん
2015/09/20(日) 13:45:51.66ID:f3Nx3+I+おれもそれが知りたい
0518デフォルトの名無しさん
2015/09/20(日) 17:02:18.73ID:BPPcfRt3背景は宗教的な理由かもしれない。
0519デフォルトの名無しさん
2015/09/20(日) 18:50:13.22ID:4L7qLZxU0520デフォルトの名無しさん
2015/09/20(日) 19:10:09.51ID:Ptvv9YCqもはやphp関係ないが、正確なブラウザ名知りたいってときは、あとはアクセス統計したいとか
ブラウザ依存の機能や独自仕様対策を使いまくってるとか、そんなところかね
それか、ガラケースマホなど機種に応じた処理をしたい一方で
これらを詐称するブラウザを広告のためとかの理由ではじきたいとか
0521デフォルトの名無しさん
2015/09/20(日) 19:42:55.60ID:GyUJ1dZ90522デフォルトの名無しさん
2015/09/20(日) 20:20:12.65ID:daw+dtLwUAでNPAPIかどうか、WebRTC使えるかどうか、デスクトップかスマホかタブレットかの判定してレイアウトとか挙動を各アプリインターフェイスガイドラインに沿って作り込むんだよ。ドサンピン
言わせんな恥ずかしい。ノータリン
UA詐称っつーのはサーバーサイドの開発者が使うんだよ。どシロウトが
知らんけど
0523デフォルトの名無しさん
2015/09/20(日) 20:48:13.17ID:VoXgoN5g詐称した人が正しく動かないことまでわざわざフォローする必要ないよねって話。
0524デフォルトの名無しさん
2015/09/20(日) 23:52:17.26ID:RNt2QHn90525デフォルトの名無しさん
2015/09/21(月) 06:56:58.49ID:mABftDP3自己責任だよな
0526デフォルトの名無しさん
2015/09/21(月) 10:53:04.85ID:/htKyytwlampの環境を自分で作ってみたい。
xpが入ってたPCにリナックスをいれて鯖を立てると思う。
すでに簡易のサーバーを立ててHTMLのHPぐらいは表示できたがLAMPではまだです。
CentOSを落としていろいろやると思いますがかなり苦戦するんでしょうか?
何時間ぐらい必要でしょうか?
また一度サーバーを立てると、PHPやJavaのサーブレットで掲示板みたいなのをつくり
そのファイルをサーバーに置くだけで設置になるため
ただの置き場所みたいな状態になるんですか?
簡易サーバーの時はそんな感じでした。
0527デフォルトの名無しさん
2015/09/21(月) 14:07:32.14ID:FK25Dm7Zhttps://www.apachefriends.org/download.html
0528デフォルトの名無しさん
2015/09/21(月) 14:16:28.52ID:A7EzE/Oa0529デフォルトの名無しさん
2015/09/21(月) 15:03:36.58ID:/htKyytwサンプはつかったことあります。LAMPです
0530デフォルトの名無しさん
2015/09/21(月) 15:10:19.81ID:iVgIunoX0531デフォルトの名無しさん
2015/09/21(月) 15:22:15.65ID:eqstY8VZ初めてlinuxインストールするってのならだいぶ時間かかるだろうけど、
とはいってもどこまで理解しながら作業を進めるかでやはり時間は大きく変わる。
0532デフォルトの名無しさん
2015/09/21(月) 15:24:15.54ID:/htKyytw自分で特定のlinuxをやいてそこから起動となるでしょうから多分そこで詰まりそう
0533デフォルトの名無しさん
2015/09/21(月) 15:44:15.58ID:VEzrvsWBでググると過去の2chスレが出てくる会社
and(orではない)
転職会議で2.5点の会社は超絶要注意
and
IT系です
転職する際は注意
0534デフォルトの名無しさん
2015/09/22(火) 02:03:17.71ID:O8icbsBo因みにリダイレクトするとアクセスはGETになるんだよね?
0535デフォルトの名無しさん
2015/09/22(火) 03:06:46.32ID:Lx7QSeWZheader()の手前でなんか出力してねえかerror_reporting(E_ALL);してみろ
0536デフォルトの名無しさん
2015/09/22(火) 04:09:53.45ID:7aj0zY2+0537デフォルトの名無しさん
2015/09/22(火) 04:23:47.61ID:sy60767L0538デフォルトの名無しさん
2015/09/22(火) 14:00:52.87ID:h5oh6xqR0539534
2015/09/22(火) 15:40:53.63ID:O8icbsBoすまん…;そっか、header関数は直前に何も出力しちゃいけないのかー…
どこで使えばいいかわかんねぇ…
【~/anke.php】
<form method="post" action=“anke.php">
<textarea name="kitou”></textarea>
<input type="submit" name=“toukou” value="送信"></form>
<?php
//送信ボタンを押した後に別のtxtファイルデータに回答を格納
$lines = file(‘anke.txt');
if ($_POST[‘toukou’]) {
$kaitou = htmlspecialchars($_POST[‘kaitou’]);
$data = “kaitou¥n”;
array_unshift($lines, $data);
}
//結果を表示
echo “<p>回答:{$items[0]}</p>”;
//データ格納用ファイルを開いて投稿を書き込む
$kakunou = fopen(‘anke.txt', 'w');
foreach($lines as $line) fputs($fp, $line);
fclose($kakunou);
?>
こんな感じなんだけど、どのタイミングでリダイレクトさせればいいんでしょうか…
0540デフォルトの名無しさん
2015/09/22(火) 15:58:33.01ID:WwQzZTLz<form method=・・・
POST受取時に、この部分がすでに書き込まれる
それがまずい
0541540
2015/09/22(火) 16:21:22.47ID:O8icbsBo<?php
//POSTでアクセスしてきた場合はページをリダイレクトしてGETに
if ($_SERVER['REQUEST_METHOD'] == "POST"){
header('location: http://anke.php');
}
?>
と書いたらなんかうまくいきました。
header関数って本当に前後に何も書いちゃいけないんだね;
微妙な空白が入っててもダメだったのか…
0542デフォルトの名無しさん
2015/09/22(火) 17:56:31.22ID:7aj0zY2+指示に従って本文を途中まで(もちろん空白であっても)出力しているのに、
いまさらヘッダ送れとか何言ってんだ?無理無理。どう考えても手遅れ。
0543デフォルトの名無しさん
2015/09/22(火) 19:14:14.17ID:Lx7QSeWZと思う開発者もいるかもしれない
0544デフォルトの名無しさん
2015/09/22(火) 19:19:10.92ID:7aj0zY2+って、知っててかいてるよね。
0545540
2015/09/22(火) 19:27:53.94ID:O8icbsBo0546デフォルトの名無しさん
2015/09/22(火) 19:44:29.47ID:yEiScBEC0547デフォルトの名無しさん
2015/09/22(火) 20:08:22.92ID:7aj0zY2+分かるようになったってすごいことじゃん。おめでとう。
>>546
PHPの根底思想がhtmlの一部を動的にできたらなぁ。
そうだ、コードを埋め込めるようにしよう(ピコーン)なわけで、
まずそこから始めるというのを無闇に否定できないと思う。
Cでオブジェクト指向の記述ができないわけじゃないけど、
まずは手続き型で記述することを勉強しようねというのと似てるかも。
0548デフォルトの名無しさん
2015/09/22(火) 23:13:57.29ID:O8icbsBo掲示板とかも作れるみたいだけど、データベース使わずにテキストファイルに投稿を保存するやり方でもいいの?
0549デフォルトの名無しさん
2015/09/22(火) 23:24:45.80ID:A/BppHMq独自フォーマットのテキストファイルを管理する方がめんどくさいと思うけど。
排他ロックとか修正とか独自フォーマットに沿った読み書きとか、全部自分で面倒みないといけないよ?
0550デフォルトの名無しさん
2015/09/22(火) 23:33:11.39ID:WwQzZTLz自分のPCに仮想環境を作って、そこでサーバー立ててみると良いよ
0551デフォルトの名無しさん
2015/09/23(水) 00:02:05.78ID:r+N6ISIe×サーバの仕組み
○HTTPの仕組み
0552デフォルトの名無しさん
2015/09/23(水) 00:09:41.45ID:5Jki+Gg9一応さくらのサーバー借りてるからこれから色々弄ってみる!
0553デフォルトの名無しさん
2015/09/23(水) 00:12:41.71ID:LtBCHtUp軽量化のためあえてそういう選択をするのは大いにアリだと思う。
ただ泥臭い部分まで面倒見ないといけなくなるから、そこら辺を考えた上での選択だね。
アンケートみたいにただただ追記していき後で集計、みたいなのなら独自データファイルでも十分簡単だと思う。
掲示板だと現在何件書かれているか、リクエストされたページに表示すべきレコードをデータファイルからどう抽出するか etc. 割と面倒くさくなりそうだし、軽量化を狙ってトータルで重くなるなんて何やってんだかわからないことにもなるかも。
0554デフォルトの名無しさん
2015/09/23(水) 00:14:19.00ID:6kWxNQrp>>549
DBはDBでめんどくさいぞ
RDBMSの仕組みや応答、SQL、型、リレーション、テーブル設計すんのだけでも膨大な知識が要る
テーブルごとの連携を必要としないならDBなんていらん。1回勉強しちまえば楽なのはDBもテキストも変わらん
0555デフォルトの名無しさん
2015/09/23(水) 00:15:28.51ID:moqzHvv1アパッチを設定し、PHPを設定し、DBを設定し、
動かしてみる。
エラーが出たらログを見てその原因を特定し、直す。
この繰り返しで大体マスターできる。
レンタルサーバーではなかなかできないよ
許されることが限られるからね。
0556540
2015/09/23(水) 00:26:54.86ID:5Jki+Gg9アンケートぐらいならなんとかなりそうってことか…
ファイルに書き込む時に改行(水平タブ?)みたいなのを入れたりして見やすくしてるんだけど多くなってくると面倒臭そうだな
サーバーはドットインストール見てPHP用にローカルサーバー建てたことならあるけどサイバーダックが使い物にならなくなったから放置してるわ…
0557デフォルトの名無しさん
2015/09/23(水) 01:33:07.77ID:98opwncDDBなら皆が同じように使っているから、情報を集めるのも楽
結局、WordPress
0558デフォルトの名無しさん
2015/09/23(水) 01:38:44.03ID:sohVsCxTなんでそこで結論が飛躍するんだよw
0559デフォルトの名無しさん
2015/09/23(水) 03:05:32.03ID:5Jki+Gg90560デフォルトの名無しさん
2015/09/23(水) 03:28:24.02ID:r+N6ISIe自分でえっちらおっちら作って、そのときに得た知識をあとで使わないって人もよくいるし。
0561デフォルトの名無しさん
2015/09/23(水) 04:53:51.01ID:8RODq+xl0562デフォルトの名無しさん
2015/09/23(水) 09:21:42.16ID:VaH5eN5d0563デフォルトの名無しさん
2015/09/23(水) 11:33:01.22ID:DXyy1a0Y勉強にもなるし楽しいぜ
セキュリティ修正があったら該当コード組み込むぐらいで機能的なアップデートはスルー
0564デフォルトの名無しさん
2015/09/23(水) 13:05:16.48ID:6385dCY60565540
2015/09/23(水) 15:35:35.31ID:5Jki+Gg9・利用者のIPアドレスを検出して変数に格納
・投稿データを保存したテキストファイルを開いて上から下までループ文で検出
・一致するIPがあった場合、エラー文を提示して投稿拒否
ってやり方でいいの?
0566デフォルトの名無しさん
2015/09/23(水) 15:45:58.40ID:fiqO6gPvそれでも良いという緩いチェックなら構わないけど。
0567デフォルトの名無しさん
2015/09/23(水) 15:52:39.38ID:6kWxNQrp0568デフォルトの名無しさん
2015/09/23(水) 16:24:58.46ID:KUv2kphT複数PC使われたり、削除されたら駄目だしな。
アンケートサイトによくあるのは、
メールアカウント+パスワードによる認証だけど、
これだって複数メールアカウント取れるわけだし。
ポイント制だと、最後は特定個人に紐付けられるから、
架空人物だと色々問題が起きる。
その辺でごまかしを抑制するという程度か。
0569デフォルトの名無しさん
2015/09/23(水) 16:37:43.26ID:1jqGrEyR後は公開串禁止とか
0570デフォルトの名無しさん
2015/09/23(水) 17:08:39.46ID:N4Wzlgzsぶっちゃけcookieで管理する程度で十分だろうけど。
0571デフォルトの名無しさん
2015/09/23(水) 17:24:23.95ID:ByrCNK4a0572デフォルトの名無しさん
2015/09/23(水) 17:50:33.97ID:RaRZfipQrenderにとある処理(セッションを削除する処理)を入れてるんですが、
同ページ内で2回renderを呼び出す時、1度目の呼び出しでセッションが消えてしまいます(当たり前なんですが)が2回目の呼び出し時にセッションを削除したいです
↑補足ですが何故こんな事になったかというと、
同じようなことをしてる処理を共通化する為元々1つだったControllerを分けたら、そのページのrenderと共通化した部分のrenderが2回呼ばれてしまいました
0573デフォルトの名無しさん
2015/09/23(水) 18:06:30.00ID:r+N6ISIe0574デフォルトの名無しさん
2015/09/23(水) 18:20:43.59ID:6kWxNQrprenderにoptionalな引数入れてそれ確認させれば?うまいやり方かどうかは知らんけど
0575デフォルトの名無しさん
2015/09/23(水) 19:20:27.52ID:KGKC2S3B0576デフォルトの名無しさん
2015/09/24(木) 02:21:46.55ID:KIwTvfAfIPアドレスでは、同じネットカフェの、異なるPCでも、
同一人物に判定されてしまうので、友達同士で投稿できない
2chでも、同じネットカフェなら、どのPCからアクセスしても、
IDが同じになってしまうのよ
0577デフォルトの名無しさん
2015/09/24(木) 02:38:55.16ID:IK2Xge5yマジかよ…
スタバとかのwifeでもそうなるってことか
ってか2ちゃんでたまに何もしてないのに規制かかって書き込みできなくなるのも同じiPの奴が規制されたのに巻き込まれてるってことなの?
0578デフォルトの名無しさん
2015/09/24(木) 02:57:43.66ID:biV9B2V5お前の奥さんのことなんて知らんよ
0579デフォルトの名無しさん
2015/09/24(木) 03:20:31.89ID:nbO+sd/Q違うぞ。スタバにいる人妻のことだぞ。
0580デフォルトの名無しさん
2015/09/24(木) 07:51:16.78ID:n2zeSQ7H0581デフォルトの名無しさん
2015/09/25(金) 19:41:28.66ID:trjxrUIW普通に片方のセッション削除する処理消せばいいだけじゃないの
0582デフォルトの名無しさん
2015/09/25(金) 21:39:08.32ID:f2COha4Uこれってそのサイトがスクレイピング対策をしてるってこと?
0583デフォルトの名無しさん
2015/09/25(金) 21:51:43.85ID:+5sW3GLuそのサイトに聞けよ!
0584デフォルトの名無しさん
2015/09/25(金) 22:09:07.55ID:f2COha4Uいや、その前にphpの問題なのかなと思って。
それにブロックするなら最初からスクレイピングさせないもんなんじゃないの?
暫く時間たった後にまた更新すると今度はちゃんと取得できてるんだよね…
なんなの?これ
0585デフォルトの名無しさん
2015/09/25(金) 22:14:25.58ID:S9QW43Tsどうやってスクレイピング判定するの?
0586デフォルトの名無しさん
2015/09/25(金) 22:19:10.09ID:6j3mg6Uy0587デフォルトの名無しさん
2015/09/25(金) 22:26:49.35ID:f2COha4Uそれもわからんorz;
ってかブロックできるもんなのかすらわからん…
<ソース>
$html = file_get_contents('http://');
$html = str_ireplace($kesu, "", $html);
$doc = new DOMDocument();
$doc->loadHTML($html);
$hoge = $doc->getElementById(‘hoge’);
echo $doc->saveHTML($hoge);
一回目:普通に表示→更新ボタンおす
二回目:表示
三回目:非表示(スクレイピングしてるとこだけ)
〜3時間ほど経過〜
四回目:表示
ってなる。どうしてなんや
0588デフォルトの名無しさん
2015/09/25(金) 22:33:11.74ID:suy8B6gV初回とその後で変わっていない?
0589デフォルトの名無しさん
2015/09/25(金) 23:13:50.38ID:trjxrUIWスクレイピングと同じようにブラウザからアクセスするとちゃんと表示される?
0590デフォルトの名無しさん
2015/09/25(金) 23:17:54.47ID:f2COha4U変わってないと思う…
>>589
ブラウザからのアクセスだといつも通りちゃんと表示される。
0591デフォルトの名無しさん
2015/09/26(土) 00:20:22.23ID:F1OYRTCWHTTPレスポンスコード見てみ
0592デフォルトの名無しさん
2015/09/26(土) 00:25:44.55ID:xWCYZ6+4statusに304が返ってきてないか?
0593デフォルトの名無しさん
2015/09/26(土) 00:27:45.19ID:VnXY6/gA自分でもっと単純なサイトを作って、試してみるとか、
ソースコードのあちこちに、Print文をばらまいて、
デバッグしてみるとか
何か、saveHTML()というのが、やばそうな気がする。
それを実行すると、バグを引き起こすとか、
ロックされたりするとか
0594デフォルトの名無しさん
2015/09/26(土) 01:09:23.12ID:7dfhRWtSブラウザと同じヘッダ送出して同じ手順を踏んで公開サーバー経由でなければいけるだろう
0595デフォルトの名無しさん
2015/09/26(土) 01:27:35.85ID:UIDpKSqRやっぱり対策してるんだね
ぶっちゃけ2ちゃんの過去ログサイトなんだけどさ…
そりゃ誰もがスクレイピングしようとするもんなぁ
0596デフォルトの名無しさん
2015/09/26(土) 02:34:06.16ID:gDkHrrbcエラー検出って難ですか?
0597デフォルトの名無しさん
2015/09/26(土) 09:55:12.02ID:piyEqEap0598デフォルトの名無しさん
2015/09/26(土) 21:13:16.16ID:v7fSGmLa可能ですか?まったく同じ動作結果になるようにするにはどういうやり方をするんでしょうか?
ググルキーワードを教えてください。
0599デフォルトの名無しさん
2015/09/26(土) 21:22:54.61ID:LSY/VAIDJSによる
とりあえずどんなJSなのか見せて
0600デフォルトの名無しさん
2015/09/26(土) 21:46:46.75ID:ey0zQ6i9Ajax
0601デフォルトの名無しさん
2015/09/27(日) 01:48:51.82ID:IWmq2jg0ブラウザの機能を叩くクライアントサイドスクリプトと完全互換にはなり得ない
つかクライアントサイドスクリプトを公開したくないってどういう状況よ?
0602デフォルトの名無しさん
2015/09/27(日) 02:44:15.81ID:9FNu5D9+でもなにしてるかは聞くな!
0603デフォルトの名無しさん
2015/09/27(日) 04:12:00.87ID:gZb7XvC3ってしたいんだけど、
PHP側で勝手に変数展開されて
bashに渡る文字列が"x=hoge;echo "になっちゃう。
変数展開してほしくないときのシングルクオートみたいなのはないの?
0604デフォルトの名無しさん
2015/09/27(日) 05:27:35.19ID:QHSPW0OVそんな特殊な処理ではないので、
どりあえず、どういう手法があるか
ググルためのキーワードを教えてください。
0605デフォルトの名無しさん
2015/09/27(日) 08:10:30.50ID:Ek3Ll/Tzってよくあるけど、あれってどういうアルゴリズムというかロジックで実現してるんでしょうか?
やはりDBに何らかの情報を記録する必要がありますよね?ではどういうテーブルにどういう項目を?そしてどういう計算を?
どのページからどのページに行ったかという遷移ですかね?
うーーーーん難しい。誰かご教授いただけますと嬉しいです。
0606デフォルトの名無しさん
2015/09/27(日) 08:37:47.68ID:Q5TaQhUz0607デフォルトの名無しさん
2015/09/27(日) 08:45:57.94ID:hy9T85ay0608デフォルトの名無しさん
2015/09/27(日) 11:28:08.11ID:KXvZe9oE0609デフォルトの名無しさん
2015/09/27(日) 12:09:27.06ID:w5aIV8MQecho`x=hoge;echo $x`;
これはこうじゃないの?
echo`$x="hoge";echo $x`;
あと、シングルクオート「'」でなくて、
バッククオート(実行コマンド)「`」でいいのか?
bashの文法も確認した方がいい。
0610デフォルトの名無しさん
2015/09/27(日) 14:52:00.62ID:Ek3Ll/Tzえ?そんな簡単!?
>>608
名称のご教示ありがとうございます。
検索してみるとやっとまともな情報にありつけました。名称知ることは大事ですね。
勉強します。
0611デフォルトの名無しさん
2015/09/27(日) 16:16:41.77ID:Q5TaQhUz0612デフォルトの名無しさん
2015/09/27(日) 23:26:33.11ID:UYzM99J31 ページA → ページB
2 ページA → ページC
3 ページA → ページC
こうやってデータをため込んで、 この3データだったら
ページAを見た人はページCも見てますって表示するだけでしょ
0613デフォルトの名無しさん
2015/09/27(日) 23:34:00.29ID:VOKvc2Zg0614デフォルトの名無しさん
2015/09/27(日) 23:34:43.72ID:hvy9lckkページID、IPアドレス、タイムスタンプを履歴として取っておき、
特定ページにアクセスがあったときに、
そのページにアクセスがあり、現在のアクセスと異なるIPアドレス群を取得し、
そのIPアドレス群がアクセスしたページIDを
アクセス数順に必要な数だけ表示すればいいんじゃない?
0615デフォルトの名無しさん
2015/09/28(月) 00:54:18.84ID:s97i3FEfbashは変数代入時に$は不要、参照は必要
変数値を""で囲む必要もない(囲んでもいい)
だからコマンド自体は間違ってない
> x=hoge
> echo $x
0616デフォルトの名無しさん
2015/09/28(月) 02:23:19.63ID:mTZVEwhb" " で囲めば、変数展開される
' ' で囲めば、変数展開されない
それと、ヒアドキュメント
0617デフォルトの名無しさん
2015/09/28(月) 13:25:40.62ID:ewoIlnRcshell_execをつかう。
0618デフォルトの名無しさん
2015/09/28(月) 14:35:52.57ID:yBwbnPi+***.phpのURLリクエストが来て、その処理をするときに 外部のDBを使って確認したい時とかありますよね!
そういう情報ってアドオンとかにあるライブヘッダーとかで覗かれたりしないんですか?
(´・ω・`)作り方による場合、どういった作り方をすればいいんでしょうか
0619デフォルトの名無しさん
2015/09/28(月) 14:52:20.96ID:ruFObRnM0620デフォルトの名無しさん
2015/09/28(月) 16:17:02.52ID:3Q9ZQIvEアドオンが何のアドオンでライブヘッダーとは如何なるものか示さなければ何言ってるのかわからん
0621デフォルトの名無しさん
2015/09/28(月) 17:21:04.08ID:ewoIlnRcphpと外部のDBとの通信と、クライアントとphpの通信は互いに疎。
0622デフォルトの名無しさん
2015/09/29(火) 16:56:38.87ID:ifZ4QSePphpのヒアドキュメントでhtmlを書いて、それを他のサイトでJSみたいに呼び出す事って出来る?
他のサイトは無料ブログサービスだからサーバーサイド弄れない前提で
0623デフォルトの名無しさん
2015/09/29(火) 17:29:33.15ID:ux+ZVrLFそんでscript srcにそのphp指定すりゃいい
0624デフォルトの名無しさん
2015/09/29(火) 17:36:47.96ID:ifZ4QSePそれだとヒアドキュメントを使う旨味がなくない?
JSだと文字列リテラルとかいうので’’の間を改行したりできないじゃん
ヒアドキュメントならHTMLをそのまんま貼り付けて出力できるじゃん?
0625デフォルトの名無しさん
2015/09/29(火) 17:53:47.32ID:DjqaY7BG> phpのヒアドキュメントでhtmlを書いて、
ヒアドキュメントである必要性はないよね。
iframeでも使えば?
0626デフォルトの名無しさん
2015/09/29(火) 18:06:03.49ID:ux+ZVrLFだいたいそんな仕組みがあるわけないじゃない
JSで呼びたいならJSのスタイルにしなきゃいけないわけで
そもそも改行とかhtmlはbrで判断してんだからどうでもいいでしょ
0627デフォルトの名無しさん
2015/09/29(火) 18:14:09.43ID:ux+ZVrLF0628デフォルトの名無しさん
2015/09/29(火) 18:27:20.11ID:ux+ZVrLF<p>hello world</p>
<p>hoge
hoge<br>hoge</p>
EOF;
$html = preg_replace('/'.PHP_EOL.'/', '', $html);
echo "document.write('{$html}')";
これなら少しは可読性あがるんでない
0629デフォルトの名無しさん
2015/09/29(火) 19:13:43.83ID:DjqaY7BGその用途でPHP_EOL使う人って何をどうこじらせてるのか興味がある。
0630デフォルトの名無しさん
2015/09/29(火) 19:24:15.21ID:rgPn5SeK0631デフォルトの名無しさん
2015/09/29(火) 19:58:07.18ID:ux+ZVrLF改行コードさしてんだから問題ないでしょ
0632デフォルトの名無しさん
2015/09/29(火) 20:08:13.16ID:twisClEL何が正解?
0633デフォルトの名無しさん
2015/09/29(火) 20:12:38.85ID:twisClEL\r\nも指定しないとマズイケースってある?
0634デフォルトの名無しさん
2015/09/29(火) 20:29:36.44ID:DjqaY7BG今回の場合、単に削るのが目的だから\r\nはいらないね。
あとpreg_replaceなんて超絶高機能なものを使う必要もないのでstr_replaceでやる。
0635デフォルトの名無しさん
2015/09/29(火) 21:38:10.80ID:ifZ4QSePうお、それは思いつかなかった…あたまいいな
記事にウィジェットっていうか、最新記事とかおすすめ記事とか広告とか全部まとめて1セットで表示したいときってあるじゃん?
それを一々貼り付けるんじゃなくて外部化できたらメンテナンス上楽かなと思って。
JSでやってもいいんだけど、可読性が悪いし変更もし辛いんだよね
0636デフォルトの名無しさん
2015/09/29(火) 21:38:46.96ID:1MZ0DxPh0637デフォルトの名無しさん
2015/09/29(火) 21:55:16.30ID:rgPn5SeKトライ木構造な1個のパターンでpreg_replace1回で済ます方法、
strposとstr_replaceで置換して溜めていって最後に引数に配列入れたstr_replaceで一括置換する方法、
この2パターンでどっちが早いか試したらphp5.3とphp5.6で結果が逆転した経験がある
5.6だとstrpos/str_replaceのほうが早かった
0638デフォルトの名無しさん
2015/09/29(火) 22:15:08.01ID:1MZ0DxPh0639デフォルトの名無しさん
2015/09/29(火) 22:57:48.33ID:ssY7AIaz個人的には /\x0D\x0A|[\x0A\x0D]/ とASCIIコード指定で書くのが趣味
0640デフォルトの名無しさん
2015/09/30(水) 01:29:57.79ID:MFXzG0RB0641デフォルトの名無しさん
2015/09/30(水) 02:41:45.95ID:EyIEkC/Istr_replace("c", "", str_replace("b", "", str_replace("a", "", $str)));
とか見づらいからpreg_replace使ってしまう。
ラッパークラス書けばいいけどなんかあほくさいし、標準実装してほしいわ。
$s = new String($str);
$s->replace("a","")->replace("b","")->replace("c","");
0642デフォルトの名無しさん
2015/09/30(水) 02:45:08.64ID:Eb56OawZstr_replace( ["a", "b", "c",], ["", "", "",], $str);
でできるはずだし
こっちのほうが速い
0643デフォルトの名無しさん
2015/09/30(水) 02:58:18.28ID:5VICgqtCだからあほだといわれるんだよ。
マニュアルは読めよ。何度でも読めよ。
0644デフォルトの名無しさん
2015/09/30(水) 03:03:20.43ID:EyIEkC/I知ってるけど、それはもっと嫌。
0645デフォルトの名無しさん
2015/09/30(水) 03:06:27.35ID:5VICgqtC0646デフォルトの名無しさん
2015/09/30(水) 03:09:06.72ID:Eb56OawZPHP文字列と内部のC言語文字列の変換を繰り返す事と正規表現を使う事で。
ここへ処理が集中するケースだと時間とCPUリソースを使う。
str_replace("c", "", str_replace("b", "", str_replace("a", "", $str)));
$s->replace("a","")->replace("b","")->replace("c","");
0647デフォルトの名無しさん
2015/09/30(水) 03:23:47.66ID:Eb56OawZ$loop=10000;
$str=""; for($n=0;$n<3000;$n++) $str .= base64_encode(mt_rand());
$time = microtime(true);
for($n=0;$n<$loop;$n++)
$s = str_replace("c", "", str_replace("b", "", str_replace("a", "", $str)));
$time = microtime(true)-$time; echo "$time\n";
$time = microtime(true);
$A=["a", "b", "c"];
for($n=0;$n<$loop;$n++)
$s = str_replace( $A, "", $str);
$time = microtime(true)-$time; echo "$time\n";
$time = microtime(true);
$A=["a", "b", "c"]; $B=["", "", ""];
for($n=0;$n<$loop;$n++)
$s = str_replace( $A, $B, $str);
$time = microtime(true)-$time; echo "$time\n";
0648デフォルトの名無しさん
2015/09/30(水) 03:34:17.75ID:EyIEkC/Imixedっていう概念が。
0649デフォルトの名無しさん
2015/09/30(水) 03:39:56.66ID:EyIEkC/Iとか、
str_replace("c", "", str_replace("b", "", str_replace("a", "", $str)));
より最悪だよ。
2・3個程度ならいいけど、対応するものを探すのにも労力がかかる。
対応するのをハイライトしてくれるIDEもあるのかもしれんけど、
基本前から1,2,3…とか数えないとだめなとこがもううんkでしかない。
0650デフォルトの名無しさん
2015/09/30(水) 03:59:00.83ID:Eb56OawZ0651デフォルトの名無しさん
2015/09/30(水) 04:03:22.73ID:EyIEkC/Iあほって言われたからかっちーんってきて、>>643 >>645にレスをしてる。
0652デフォルトの名無しさん
2015/09/30(水) 04:11:08.53ID:6yKygfp8str_replace の入れ子 : 1.43s
str_replace を array で : 1.46s
strtr を array で : 5.67s
preg_replace で [abc] を置換 : 6.96s
preg_replace で [abc]+ を置換 : 7.19s
php 5.1.6 での結果。
str_replace を array で使うより入れ子にした方が速いってのは意外に感じた。
文字の出現率に偏りがあるなら入れ子の順序で最適化もできそうだね。
0653デフォルトの名無しさん
2015/09/30(水) 04:16:21.14ID:Eb56OawZ0654デフォルトの名無しさん
2015/09/30(水) 04:24:19.04ID:GOPPmiIs5.4から使えるようになった、わかるよ
内部的に速度差がない文字数少ない書きやすい慣れれば見やすい、わかるよ でもそういうんじゃねーんだ
0655デフォルトの名無しさん
2015/09/30(水) 04:24:56.40ID:5VICgqtCそのstrtrには何かウェイトでも?
http://ideone.com/01biJO
0656デフォルトの名無しさん
2015/09/30(水) 04:35:32.91ID:GOPPmiIs5.4.12以前の使ってたり書き方次第でstrtrは遅くなる
が、お前さんの書き方、なんだそれ
引数3個入れるときは長さ揃えないと無視される結果、それだと置換されないぞ早くて当然
実際動かして結果確認してから時間計りなさい
0657デフォルトの名無しさん
2015/09/30(水) 04:37:18.26ID:5VICgqtC0658デフォルトの名無しさん
2015/09/30(水) 04:39:56.74ID:5VICgqtC0659デフォルトの名無しさん
2015/09/30(水) 04:56:24.38ID:O5d+GXPE0660デフォルトの名無しさん
2015/09/30(水) 14:48:02.16ID:MFXzG0RBstr_ireplace{$kaeru,$kaeta,$html}じゃあかんの?
メンテしやすいし
0661デフォルトの名無しさん
2015/09/30(水) 16:24:43.23ID:JBefBAW1PHP7にしたら動くのかね?
0662ゆうき
2015/09/30(水) 20:56:39.13ID:5In1o3Llよろしくおねがいします
以下の要件を満たすプログラムを作成せよ
&#61656;課題名:引数・返り値に構造体を使った複素数計算関数
&#61656;
&#8226;要件
&#8211;複素数の足し算を行うcomplex_sum関数と掛け算を行うcomplex_product関数を作成せよ
&#8226;引数:複素数(その1),複素数(その2)の2つ
&#8226;返り値:複素数(計算結果)
&#8226;動作:複素数その1と複素数その2を足してその結果を返り値にする
&#8211;このとき,計算は作成した関数で,出力はmain関数で行うこと
&#8226;出力:
1つ目の複素数の実部,虚部を入力してください:【実数値(1),実数値(2)を入力】
2つ目の複素数の実部,虚部を入力してください:【実数値(3),実数値(4)を入力】
(【実数値(1)】+【実数値(2)】i)+(【実数値(3)】+【実数値(4)】i)=【加算結果】
(【実数値(1)】+【実数値(2)】i)×(【実数値(3)】+【実数値(4)】i)=【乗算結果】
0663デフォルトの名無しさん
2015/09/30(水) 21:12:13.25ID:JBefBAW1ていうかここC言語スレやないんやで
0664デフォルトの名無しさん
2015/09/30(水) 21:30:58.57ID:GOPPmiIs0665デフォルトの名無しさん
2015/09/30(水) 23:00:55.59ID:MFXzG0RB更新ボタン押してもそのまま書き込まれてる状態っていうか…
例えて言うならevernoteとかmacのメモみたいな感じで
0666デフォルトの名無しさん
2015/09/30(水) 23:12:46.45ID:8HX6e1yX最近のブラウザならデフォルトでそういうのついてるでしょ
まぁ下書き機能とか普通にあるじゃん
10秒おきにajaxでサーバに保存とか
ログイン状態ならいいけど非ログイン状態ならセッション使うことになるからクッキーでよくね?って話だけど
0667デフォルトの名無しさん
2015/09/30(水) 23:26:53.70ID:GOPPmiIsmetaのcache-controlやHTTPヘッダのExpires・Last-Modifiedあたりの状況によって
更新ボタン押下時に入力内容がリセットされたりする
あと<form>の構造、逆に言えばこの辺の調整で保存されるようになりうるんだけど……
他の手段だと、cookie、session、サーバ保存、あとlocalstorageも当然だけど全部普通に実装しようとするとjavascript依存だな
0668デフォルトの名無しさん
2015/10/01(木) 00:26:51.11ID:Dxsc0OBpバックエンド部をjavaにしようという話が出ています。
PHP5以降でjavaと連携する方法が今一つまとまらないので質問させて下さい。
フルPHPから緩やかにjavaに移行しようと考えているらしく、PHP/Java Bridgeも使用しにくい状況です。
この場合、PHPからfile_get_contentsでtomcatのサーブレットコンテナへHTTPリクエストし、
json形式などでレスポンスを受け取ってPHPでクライアントレスポンスを出力、
という方法しかないでしょうか。
同一マシン上にPHPとjavaが存在していればループバックと出来るものの、
メモリ、CPUリソースの負担が増えてパフォーマンス的に上がるのかかなり微妙な予感がしています。
0669デフォルトの名無しさん
2015/10/01(木) 00:31:04.72ID:LSWhCnNG0670デフォルトの名無しさん
2015/10/01(木) 00:50:27.95ID:z1lAS5eB0671デフォルトの名無しさん
2015/10/01(木) 00:53:50.07ID:Dxsc0OBpそうなんですよね。
ホントに下らない話だと自分でも思っているからここで質問させて頂いています。
0672デフォルトの名無しさん
2015/10/01(木) 00:55:08.88ID:uSsV6wdT0673デフォルトの名無しさん
2015/10/01(木) 00:59:42.10ID:Dxsc0OBpあ、もしかしたら隣の席の・・・。
0674デフォルトの名無しさん
2015/10/01(木) 01:30:25.12ID:M2hxjHUk来月に正式版がリリースされるはず
無駄にコストかけるより環境の置き換えと少しのコード修正でテスト出来るならそっちのがいいんじゃない
0675デフォルトの名無しさん
2015/10/01(木) 03:53:24.19ID:kBF9/RuMパフォーマンスが悪い理由は調査したんだろうか。
してなきゃそんな話にはならないだろうけれど、本当に改善できないんだろうか。
0676デフォルトの名無しさん
2015/10/01(木) 06:48:02.39ID:z1lAS5eB>>668自身がjavaに移行すれば早いのになと言い出したか
権力強い無能が言い出したか知らんが
別言語で書き直して高速化で解決できるならその前にボトルネック調査して修正してるわ
0677デフォルトの名無しさん
2015/10/01(木) 13:07:15.61ID:uSsV6wdT0678デフォルトの名無しさん
2015/10/01(木) 14:48:48.55ID:xUyWxNo6毎秒10リクエスト程度だったら全然問題ない
0679デフォルトの名無しさん
2015/10/01(木) 18:17:38.74ID:yb6zYl2l0680デフォルトの名無しさん
2015/10/01(木) 18:20:38.73ID:FLynHvaU0681デフォルトの名無しさん
2015/10/01(木) 18:22:30.73ID:xUyWxNo6Jenkinsとか糞重いんだが。
0682668
2015/10/02(金) 01:02:38.04ID:NE1jsZAh>>674
HHVMはエンジニア総とっかえになりそうですし、真っ先にやるとすればやはりPHP7ですよね。
百歩譲っても設計からやり直してJavaに移行だろ、と。
自分もなんでこのタイミングでこんなコストが掛かる話が出て来たのかと思っています。
現状の方針にストップを掛ける方向に材料を提供して行ってみます。
>>675から>>679
ボトルネックはどう考えてもDBなんですよ。
物理設計がまずくて無駄なDB問い合わせとDB更新が頻発してるんだろ、と。
でもそれなりに同時アクセスがあるサービスなので混乱してるのかな、と思います。
設計からやり直しを決定出来る権力が欲しい。。。
>>680
現場にC出来るエンジニアがおらんとです。
>>681
言語のパフォーマンスで言えばC系に次ぐものがありますので、それなりに早いです。
でも設計に大きく依存しますので・・・。
皆さんもやはり違和感を感る話なんだな、と認識出来ました。
自分はストップを掛ける方向に動くことにします。
考え直してくれると良いのですが。
0683675
2015/10/02(金) 03:15:33.07ID:cle9kUAgかわいそうに。
ボトルネックがDBなら、工数かけてJavaに変えても結局パフォーマンス上がらんじゃないかって
上層部が顔を真っ赤にして怒鳴り散らす未来が待ってるね。
俺がその状況ならとっととクエリを改善して、もうパフォーマンス悪くないからその話進めなくていいよね?ってする。
0684デフォルトの名無しさん
2015/10/02(金) 03:25:00.54ID:j2xAjxncJava:Ruby = 10:1 だが、今では、5:1 で、
5年後には、2:1 と予測されている。
JavaからRubyへの流れが、止まらない
こういう情勢で、速度が問題となるのに、
違和感を感じる
DBの全レコードを探索しているのでは?
まさか、インデックスの付いていない項目で、
検索しているのでは?
Where文の左側で、先にインデックスで比較して、
レコード件数を絞らないといけない
バグのほとんどはプログラムにあるのではなく、
設計段階での論理矛盾が原因。
テーブル設計時に、どこが悪いかわかるはず
0685デフォルトの名無しさん
2015/10/02(金) 03:36:20.66ID:gMdpYExV・全部ウソ
・現場で実際に問題になってることと>>682の頭の中が全然別物で682があらぬ方向に突っ走ってるだけ
どっちかだと思う
0686デフォルトの名無しさん
2015/10/02(金) 03:46:44.20ID:MaT1v7mRDB を SSD に置いてみたら
0687デフォルトの名無しさん
2015/10/02(金) 04:04:24.63ID:j2xAjxnc処理するサーバーを変える
HDDからSSDへ、変えれば速い
物理メモリーの量を増やす
リアルタイム性のいらない統計処理などは、閉店後に行う
インデックスを使って検索しているか、チェックする
テーブル全体をロックせず、その行だけをロックする(行ロック)
Stored Procedureを使う
0688デフォルトの名無しさん
2015/10/02(金) 05:18:46.84ID:XsCDb17v0689デフォルトの名無しさん
2015/10/02(金) 05:35:03.08ID:MZbKrQpC0690デフォルトの名無しさん
2015/10/02(金) 09:36:38.78ID:Gd8B7UmP以前のジョブでも、現在のジョブでも、
DBアクセスを丹念にチェックして、
一分かかっている処理を1秒以内に終わる様に改造した。
見違える様になったぞ
0691デフォルトの名無しさん
2015/10/02(金) 14:03:22.83ID:XsCDb17vジョブズならそのサーバーを水槽に投げ込んでまだ隙間がある。
って言うんだよな
0692デフォルトの名無しさん
2015/10/02(金) 17:28:42.44ID:ExAoDKGZ0693デフォルトの名無しさん
2015/10/02(金) 18:12:25.67ID:cle9kUAg0694デフォルトの名無しさん
2015/10/03(土) 08:23:38.91ID:oanQRH4zJavaのServletなんかをいまさらやっても求人はほとんどないんですよね?
Javaの練習としては意味あるのかな?JSPはいらないと思うから極力JSPを使わず
HTMLJQueryのみと最小限のServletつかってHPなんかを作る
って意味ありますか?
プログラム2年目の初心者です。そのごPHPやろうかなと
0695デフォルトの名無しさん
2015/10/03(土) 08:24:14.85ID:oanQRH4zPHP後なんです。PHPの言語の本は読んでますが
0696デフォルトの名無しさん
2015/10/03(土) 08:28:42.45ID:kqQdpap+0697デフォルトの名無しさん
2015/10/03(土) 09:24:17.96ID:ajbLAT8wいくらでも仕事あるぜ
0698デフォルトの名無しさん
2015/10/03(土) 09:28:31.33ID:oanQRH4z0699デフォルトの名無しさん
2015/10/03(土) 09:39:58.17ID:Ah57aA4b0700デフォルトの名無しさん
2015/10/03(土) 09:42:54.06ID:oanQRH4z0701デフォルトの名無しさん
2015/10/03(土) 16:04:31.13ID:giCn6CLq0702デフォルトの名無しさん
2015/10/03(土) 17:37:45.34ID:K3yeuoy40703デフォルトの名無しさん
2015/10/03(土) 21:35:32.27ID:B7qJf8Bu// IPアドレスを取得して変数にセットする
$ip = $_SERVER["REMOTE_ADDR"];
//投稿データを貯めたファイルを変数に格納
$lines = file(‘【投稿情報を格納したファイル】.txt');
//ファイルのデータを上から下までチェック
for ($i = 0; $i < count($lines); $i++) {
//各データを区切ってる水平タブを削除
$items = explode("¥t", $lines[$i]);
//データの10番目のアイテムが投稿者のIPなので、現在のIPと一緒の場合は別処理
if ($items[10] == $ip) {
echo 'ip重複やで';
}}
これ何が間違ってる?
0704デフォルトの名無しさん
2015/10/03(土) 21:40:51.97ID:1PQVSqiN10番目のアイテムは$item[9]じゃね?
0705デフォルトの名無しさん
2015/10/03(土) 22:17:47.22ID:g7xKsIu0速いphpって無いのか?
0706デフォルトの名無しさん
2015/10/03(土) 22:31:29.81ID:ajbLAT8wphp以外でのサーバの最適化とソフトウェア(wp)自体の最適化を行わないことには一緒
そういうのを全部やってるサーバ借りるのが一番
0707デフォルトの名無しさん
2015/10/03(土) 22:44:12.21ID:K3yeuoy40708デフォルトの名無しさん
2015/10/03(土) 23:39:19.95ID:DW7EPY85将来的にも食っていきたいならJavaの前にCどうぞ。
0709デフォルトの名無しさん
2015/10/03(土) 23:40:00.07ID:DW7EPY85php7
0710デフォルトの名無しさん
2015/10/03(土) 23:41:16.36ID:tV482q2K大筋間違ってないと思うが、世の中固定のグローバルIPアドレスを一人で専有するユーザーなんてほぼいないんだから、せめて「一定時間内の」同一IPを弾くとか工夫した方がいいと思う。
あと、重複チェック用にチェック項目だけを書いたファイルを用意しておくといいと思う。
IPアドレスとタイムスタンプ、あと UA あたりとか。
つか、受け付け時はノーチェックで受け付けて集計時に重複排除すればよくね?
リアルタイムに集計結果をページに反映させたいなた無理だろうが、受け付ける時はなるべく余計なことしない方がいいと思う。
0711デフォルトの名無しさん
2015/10/04(日) 05:08:32.61ID:FsLwYc7A7って本当に速いのか?
0712デフォルトの名無しさん
2015/10/04(日) 06:24:37.92ID:6bPbjGVx0713デフォルトの名無しさん
2015/10/04(日) 07:04:55.55ID:JXiMzRO3phpの実行速度そのものはmodule版とあんま変わらないよね
0714デフォルトの名無しさん
2015/10/04(日) 10:13:44.72ID:J4whK/1Yネットカフェだと、異なる人が、
異なるPCから投稿しても、
同じIPアドレスになってしまう
ネットカフェ内の誰かが、2chに書き込むと、
連続投稿となり、他の人が書き込めなくなった
0715デフォルトの名無しさん
2015/10/04(日) 11:30:31.54ID:FsLwYc7A何に変えるのか言ってくれよ
0716デフォルトの名無しさん
2015/10/04(日) 14:30:47.56ID:NaI5stH8Cはほんの軽くやってます。きちんとやったほうがいいんでしょうか。やるとなると何がいいですか?MAC持ってませんがiphone?
0717デフォルトの名無しさん
2015/10/04(日) 15:44:38.57ID:DWkf6ASR黙々とやってみるわけでもなく、何をやったらいいかとぐだぐだこんなところで聞いてくるなら別の職を検討する方がいいと思うよ。
コンサルとか案外向いてるかも。
0718デフォルトの名無しさん
2015/10/04(日) 15:50:26.92ID:/KIHQ6WKiphone?objective-cやりたいの?
というか、きちんとやったほうがいいのかどうかからずいぶん飛躍したところに着地してるよそれ。
言語をきちんと学ぶかどうかだよね。とりあえずK&Rを隅から隅まで読むこと。
0719デフォルトの名無しさん
2015/10/04(日) 16:44:58.93ID:3q2CjWiD0720デフォルトの名無しさん
2015/10/04(日) 16:46:56.71ID:/KIHQ6WK0721デフォルトの名無しさん
2015/10/04(日) 16:54:09.77ID:3q2CjWiD0722デフォルトの名無しさん
2015/10/04(日) 18:18:46.23ID:NaI5stH8ヘルプデスクのことですか?
あれって60歳まで仕事ないからだめかな
組み込みで簡単なゲームウォッチ
作ったかな
0723デフォルトの名無しさん
2015/10/04(日) 19:48:30.72ID:EdfN5JOs0724デフォルトの名無しさん
2015/10/04(日) 19:58:02.00ID:NaI5stH8ヘルプデスクのこと?本を読んで覚えるのはできるけど
家でPC開いて一人で土日つぶす式の勉強は無理かな
0725デフォルトの名無しさん
2015/10/04(日) 20:00:27.76ID:NaI5stH80726デフォルトの名無しさん
2015/10/04(日) 20:08:57.70ID:JXiMzRO30727デフォルトの名無しさん
2015/10/04(日) 21:44:32.70ID:DWkf6ASRいやコンサルはむしろ新しいことを取り入れ続ける人間が向いてると思うよ。
聞きかじった新しいことをさも分かってる風に堂々と並べ立てられるスキルが求められる。
エンジニアはなかなかあのニオイを出せないけど、それをぷんぷん漂わせてるんだから天職だと思うよ。
0728デフォルトの名無しさん
2015/10/04(日) 21:52:59.61ID:/KIHQ6WK0729デフォルトの名無しさん
2015/10/05(月) 02:32:17.82ID:pXkN35Nh0730デフォルトの名無しさん
2015/10/05(月) 15:12:10.76ID:2wXr8eiuPHP5.3.8
【質問内容】配列がおかしい、配列番号どおりに並んでいない
【詳細】
$hoge_arr = array();
$hoge_arr[0] = "あああ";
$hoge_arr[2] = "ううう";
$hoge_arr[3] = "えええ";
$hoge_arr[1] = "いいい";
$hoge = implode("\n",$hoge_arr);
print $hoge;
【期待する結果】
ああああ
いいいい
うううう
ええええ
【実行結果】
ああああ
うううう
ええええ
いいいい
なぜなんでしょうか?(*_*)
0731デフォルトの名無しさん
2015/10/05(月) 15:15:52.17ID:kPKq1OVtPHPの配列とはそういうものです。
マニュアルを読みましょう。
0732デフォルトの名無しさん
2015/10/05(月) 15:31:04.63ID:2gaTZTqA0733デフォルトの名無しさん
2015/10/05(月) 15:47:13.43ID:IPku5sGTここの前で
ksort($hoge_arr);
すりゃいい
0734デフォルトの名無しさん
2015/10/05(月) 22:47:07.89ID:hKC6CL9oPHP7でなら期待する結果が得られると思われる
0735デフォルトの名無しさん
2015/10/05(月) 23:44:57.99ID:0vUoyrfn1 2 3 0の順で格納した場合に、配列だと判断してくれる(=内部でデータ変更してくれる)かどうかが気になるところだよね。
0736デフォルトの名無しさん
2015/10/06(火) 00:51:13.38ID:1MaEKRz1基本的な文法は後方互換持たせてるっぽいし。
0737デフォルトの名無しさん
2015/10/06(火) 02:14:13.60ID:7bWwpFop0738735
2015/10/06(火) 03:09:20.30ID:wqvPEXhXhttps://nikic.github.io/2014/12/22/PHPs-new-hashtable-implementation.html
めっちゃ分かりやすく書いてくれてたのでオヌヌメ
0739デフォルトの名無しさん
2015/10/06(火) 10:58:33.53ID:8pBv5L1nそろそろ俺も7.0使ってみるかと思ってインストールしたら、7.1.0-devがインストールされてしまった。
7.0インストールするのめんどいのでこのまま>>730を実行してみる。
php -v
PHP 7.1.0-dev (cli) (built: Oct 6 2015 10:52:14) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
実行結果:
あああ
ううう
えええ
いいい
結論:
互換性は保たれている。
0740デフォルトの名無しさん
2015/10/06(火) 11:39:11.92ID:O9Pn11VB既存システムの検証なんて気が遠くなる
0741デフォルトの名無しさん
2015/10/06(火) 11:44:44.60ID:8pBv5L1nphp -v
PHP 7.0.0-dev (cli) (built: Oct 6 2015 11:24:05) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
0742デフォルトの名無しさん
2015/10/06(火) 11:47:49.68ID:8pBv5L1nNEWSファイルに
> 15 Oct 2015, PHP 7.0.0 RC 5
って書かれてたから、RC 5は10/15リリース予定なのかな。
0743デフォルトの名無しさん
2015/10/06(火) 15:40:51.94ID:MPuxCYgs0744デフォルトの名無しさん
2015/10/06(火) 15:49:24.74ID:SmWERlUR内容が膨大で出力に時間がかかってるかタイムアウトしてるんじゃね。
オブジェクトの必要な部分だけをダンプしたら。
0745デフォルトの名無しさん
2015/10/06(火) 17:13:58.45ID:MPuxCYgsレスありがとうございます。個別にした所表示されました。
内容的には 連想配列5セット?分程度なんですが
渡し方が悪いのか妙にいろんなのがくっついてきてて・・・OTL
0746デフォルトの名無しさん
2015/10/06(火) 23:36:29.98ID:7bWwpFopさぁprint_rやvar_dumpを使う代わりにテストを書くんだ
0747デフォルトの名無しさん
2015/10/07(水) 12:02:18.61ID:qdqRCjiZ下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
0748703
2015/10/07(水) 20:44:42.98ID:8dqqBgV+IPアドレスで制限はやめた方が良さそうなんだね
とりあえず「一定時間内の同一IPを弾く」でやろうと思うんだけど、タイムスタンプ?っていうのはどうやればいいの?
検索して調べる際のキーワードというか‥ヒントでもいいから教えてくれないだろうか‥
0749デフォルトの名無しさん
2015/10/07(水) 22:10:07.06ID:G4XQLQ5pタイムスタンプって、ある事象が起きた時刻のことだよ。
ここで言えば回答を受け付けた時刻で、たとえば time() で取れる。
time の値は一見時刻に見えないただの数値で、この数値のまま記録して経過時間を判別することもできるけど、
処理系への依存性を減らしたりデータファイルの視認性を上げるためにおれなら日時形式にフォーマッティングして記録する。
2015-10-07 21:57:15 みたいな。
アンケートを受け付けた時、重複検索用に次のようなレコードを出力にしておき、
<タイムスタンプ>¥<IPアドレス>¥<UA>
チェック時には 現在時刻-判定時間 の「判定時刻」を求め、その判定時刻より大きいタイムスタンプを持つ行を検索し、IPアドレスとかUAをチェックする。
重複検索用のファイルはたまに判定時間を過ぎた古いレコードを削除してやるといい。
0750デフォルトの名無しさん
2015/10/07(水) 22:17:36.43ID:OQQ44hBw0751デフォルトの名無しさん
2015/10/07(水) 22:18:22.91ID:G4XQLQ5p<タイムスタンプ>¥t<IPアドレス>¥t<UA>
¥t はタブね。
カンマでもいいけど UA に使われそうにない ¥t がいい。
が、どっちにしても UA に区切り文字が含まれることを想定して、文字列は置換かけて利用して。
フィールド区切りを ¥t、レコード区切り(改行)を ¥n にするなら、UA は必ず ¥t や ¥n、ついでに ¥r をスペースに置換したものを利用する。
これやらないとセキュリティホールになりえるから抜け目なく。
0752デフォルトの名無しさん
2015/10/07(水) 22:47:03.23ID:WJBWsnfN0753デフォルトの名無しさん
2015/10/07(水) 22:56:56.86ID:0iwSPjqOセッションだと同じ人が、
いったんブラウザを閉じてから、
また接続して投票するかも
0754デフォルトの名無しさん
2015/10/07(水) 23:08:21.36ID:07QWenOiセッションもキーのやり取りがCookieですしおすし
意図しない2重投稿の拒否には効果的だと思うけど, 能動的に多重投稿しようとする場合にはなー
>>749,751
態々TSVでそんな処理を実装するなんて馬鹿げてると思うんだ
初めからSQLiteでも使って適当なテーブル設計にしておけばSQL文ひとつで済む処理だぜ, それ
ついでに言っとくと, 日時形式はタイムゾーン(UTC, JST, &c...)まで書かないとロケール依存だし, そもそもUNIX時間に処理系/環境依存性なんてない
0755デフォルトの名無しさん
2015/10/07(水) 23:55:06.06ID:G4XQLQ5p大元がdb使う話じゃないからそれに合わせたまでだよ。
今時 db 使えない環境も無いだろうが、順を追って覚えていく上でもファイルベースの処理はやって損はないでしょう。
環境についても、別に既存データを別環境に引っ越すことを狙ってるわけじゃないからロケールは不要だし、そこら辺まで意識したいなら UTC にでもすればいい話。
環境依存性の話は、どちらかと言えば時刻の取り扱いが異なる言語やOSへ引っ越す場合についての話。
その処理系で返される値がintじゃなかったら?時刻の新旧と値の大小の対応が不連続な処理系だったら?という話だよ。
2038年問題にどう対処されるか、負のタイムスタンプが何を表すか、そこら辺に違いが出る可能性があるでしょ。
日付と時刻でフォーマッティングしとけば、そこら辺の違いを吸収しやすくなりポータビリティが上がるでしょ。
0756デフォルトの名無しさん
2015/10/08(木) 00:09:08.13ID:+wLyjalJ0757デフォルトの名無しさん
2015/10/08(木) 00:25:30.51ID:pWF1/z0v0758デフォルトの名無しさん
2015/10/08(木) 00:27:44.19ID:EtqyyL8eそりゃそうだ
0759デフォルトの名無しさん
2015/10/08(木) 01:42:25.19ID:fFP80ZXXまぁ, 日付時刻フォーマットにするならISO8601とかあるし, 理由もなくオレオレフォーマットにするぐらいならそっち使った方がいいよ
0760デフォルトの名無しさん
2015/10/08(木) 02:25:14.02ID:EtqyyL8e目的を考えろよ。
別システムと情報交換するわけでもなく、自分ローカルの値なんだぞ?
簡単な文字列比較で時刻の新旧が比較できることが要件であり、それを満たしさえすればオレオレで充分だろ。
もちろん標準に添うことに反対するわけではないが、基本を勉強する段階で従うべきルールを不必要に増やすこともないでしょ。
0761デフォルトの名無しさん
2015/10/08(木) 03:01:17.15ID:fFP80ZXX目的考えればUNIXタイムが最適じゃない?
0762デフォルトの名無しさん
2015/10/08(木) 03:07:36.73ID:zAcCECc50763デフォルトの名無しさん
2015/10/08(木) 03:11:49.64ID:EtqyyL8e通常はそれで充分だと思うよ。
当面は unixタイムスタンプが扱える環境であれば同じように動作するだろうし。
おれが言ってるのは unixタイムスタンプを直接取れない処理系、及び unixタイムスタンプの溢れに対する対処に差がある処理系の考慮の話で、
少なくとも php に限定すれば気にするような話じゃないからね。
んまあこのコードを 2038年以降の 32bit版PHP で動かせるか、そこは気になるけどね。
負数に回り込んだりしてうまく比較できなくなるのであれば、その対応コードが必要になっちゃうよね。
0764デフォルトの名無しさん
2015/10/08(木) 03:26:34.08ID:9a4rvECp> その処理系で返される値がintじゃなかったら?
それはつまり、time がリファレンス通りの動作をしない実装の PHP を想定してのレスだよね。
その状況で、他の処理等々がリファレンス通りの動作をすると信じていいのかい?
0765デフォルトの名無しさん
2015/10/08(木) 03:28:25.76ID:fFP80ZXX意図は分かったけど, それ自分で言ってる基本とか目的云々とは対極の立場だよ
0766デフォルトの名無しさん
2015/10/08(木) 04:15:37.76ID:EtqyyL8eそこで言ってる処理系って他言語も含めての話だよ。
例えば同じことを windows api で書かなくちゃいけなくなった場合、得られるタイムスタンプの型は何種類かあるけど、まずどれを使うかという選択をしなくちゃならないし、そしてネイティブにはunixタイムスタンプを得られる api が無いという事情もある。
でもどんな処理系でも何らかの形で日付時刻として対応の取れる値を取得する手段はあるから、その形で値を管理すれば処理そのものは元のインタフェースの事情から解放されるでしょ。
そして、そう作るのに大きな手間がかかるというわけでもなく、PHP なら
date('Ymdhis')
とやるだけで要件を満たす値が得られるし、ついでに
date('Y-m-d h:i:s')
とやって視認性を高めてもいいでしょって話だよ。
>>765
環境と処理の本質を疎にするため値を目的に応じた表現にして管理するってのは基本でしょ。
ラッピングと同じように。
0767デフォルトの名無しさん
2015/10/08(木) 07:28:26.01ID:JPpo1zNY$hoge = 'hogehoge';
if($hoge)
と
if($hoge != '')
どっちが正解?
0768デフォルトの名無しさん
2015/10/08(木) 12:31:05.75ID:9a4rvECpああ、その層の話をしてたのね。はあくした。
0769デフォルトの名無しさん
2015/10/08(木) 12:32:39.24ID:9a4rvECp空文字列であるかどうを知りたいなら if ($hoge !== '') が正解
0770デフォルトの名無しさん
2015/10/08(木) 17:56:58.28ID:vrJgyY4Uありがとう
他人の書いたソースで、文字列でも数値でも
if($hoge)でやってるから、どうなのかと思って
0771デフォルトの名無しさん
2015/10/08(木) 19:38:15.41ID:DbNAUAeX!==でなく!=を使ってる時点で、曖昧でも問題がない設計なんだろう。
厳密な型の比較には注意が必要。
http://php.net/manual/ja/types.comparisons.php
0772デフォルトの名無しさん
2015/10/08(木) 20:26:28.64ID:9yien46K>PHP等の手を借りないと
>Javascriptだけでは不可能です
と言われたのでここに来ました。
index.htmlを表示している状態で、どこかの任意のWEBサイト
(例:www.yahoo.co.jp)を非表示の状態で読み込んで、そのサイトの
文章などの文字列を取得してindex.htmlの中で利用したいのですが、
どういう手順になるのか見当も付きません。
おおまかな流れを教えてください。
0773デフォルトの名無しさん
2015/10/08(木) 21:46:10.43ID:bUX/DeaCjavascriptのajax( )でやれば?
phpのファイル呼び出して特定のdivコンテナにぶち込めばいいさ
0774デフォルトの名無しさん
2015/10/08(木) 21:53:46.65ID:9yien46Kレス有難うございました。
おおまかな流れは分かりました。
クライアントサイドだけでは出来ないんですね。
0775デフォルトの名無しさん
2015/10/08(木) 22:17:06.23ID:+wLyjalJ0776デフォルトの名無しさん
2015/10/08(木) 22:24:14.36ID:9yien46Kajaxを使うこと
0777デフォルトの名無しさん
2015/10/08(木) 22:49:04.38ID:6F5A76BcそのPHPでスクレイピングして結果を戻す場合にも制約にかかるの?
0778デフォルトの名無しさん
2015/10/08(木) 23:00:47.02ID:+wLyjalJただ、読み込むWebサイトを動的に変化させたい、php呼び出し時の引数で外部WebサイトのURLを指定して…とかになると
同時にセキュリティホールを生み出しかねないのはCORSと同じだが
0779デフォルトの名無しさん
2015/10/08(木) 23:28:47.77ID:6F5A76Bc>当然ながら、呼ぶ.phpの場所が読んでるhtmlと同じ場所なら、かからん
疑問が晴れた。ありがとう。
PHPで動的な処理をする場合、セキュリティが必須なのも同意。
0780デフォルトの名無しさん
2015/10/09(金) 00:46:12.68ID:D2kqon1E0781デフォルトの名無しさん
2015/10/09(金) 00:52:39.32ID:+sCz9Yei0782デフォルトの名無しさん
2015/10/09(金) 00:58:07.71ID:l3A42VSr0783デフォルトの名無しさん
2015/10/09(金) 02:57:28.21ID:a9mGxvsP使えるじゃなくて普段使ってるもので良かったら利点等々聞けると・・・
0784デフォルトの名無しさん
2015/10/09(金) 09:42:04.02ID:DHEVIjM9PHPはこの場合proxyに過ぎないわけでかかるかどうかは相手サーバ次第が正解
0785デフォルトの名無しさん
2015/10/09(金) 09:55:44.27ID:SYQG11wTじゃあ同一生成元ポリシーに引っかかるかどうかが
相手サーバに依存する具体例よろ
0786デフォルトの名無しさん
2015/10/09(金) 17:37:39.50ID:DHEVIjM9同一生成元ポリシーとかそういう話じゃない
どういうケースかというと相手方がproxyであるかチェックを行うサイト
0787デフォルトの名無しさん
2015/10/09(金) 19:12:36.00ID:BO+xHSp1Q「(クロスドメインの)制約にかかるの?」
A「かかるかどうかは相手サーバ次第」←アクセスできるかどうかという話だ。
というやり取りをしていることについてどう思う?
0788デフォルトの名無しさん
2015/10/09(金) 22:49:18.72ID:D2kqon1E画像を選ぶ方式に変わったんです
0789デフォルトの名無しさん
2015/10/09(金) 23:18:45.07ID:FgkOUotZgeolocation APIとグーグルマップAPIを使い算出してました。
PHP側で同じようなパッケージなどありますでしょうか?
0790デフォルトの名無しさん
2015/10/10(土) 00:11:17.08ID:YSjtdWRLそもそも質問がおかしいだろ
0791デフォルトの名無しさん
2015/10/10(土) 00:48:54.21ID:g8ZQ4q1/そう思うならそこを指摘するべきであり、支離滅裂なレスをすることの理由にはならんだろ
0792デフォルトの名無しさん
2015/10/10(土) 01:27:12.60ID:/QYhRBFu定数乱発もできるだけ回避したい
でも呼び出し側の設定によって関数・classの動作を変えるなど柔軟に作りたい
0793デフォルトの名無しさん
2015/10/10(土) 02:13:33.85ID:+26wGx+Xスクリプトを実行して終了するまでの間はずっと同じ設定値なの?
実行中に設定値が一定なら define が妥当じゃね。
define のスコープの広さが気にくわないのであれば、設定値クラスみたいのを作ってスクリプト実行時に好きに初期化して、
設定値を利用したい方のクラスではコンストラクタに設定値クラスオブジェクトを渡しておくとか?
実行中に設定値が一定なら設定値クラスと処理クラスを一緒にしてしまえということになりそうだけど、static の乱発したくないというならこうなるのかね。
んまあ設定値クラスが持つ値の元はやっぱり define かなにかで定義することになりそうだけど。
つか、設定値で動作を変えるという内容にもよると思うけど、処理の差が出る部分を派生クラスで実装変更するというのはどうなの。
0794デフォルトの名無しさん
2015/10/10(土) 03:38:04.85ID:YSjtdWRL同一生成元ポリシーってのはJavaScriptでの話であってPHPは関係ない
>>785があのようなレスで返したこと自体が謎
0795デフォルトの名無しさん
2015/10/10(土) 03:45:58.97ID:YSjtdWRL0796デフォルトの名無しさん
2015/10/10(土) 03:50:35.79ID:g8ZQ4q1/>>790の「質問」って>>785のことを言ってる?
>>784がすでにおかしなレスなんだからそこが問題だろ。
0797デフォルトの名無しさん
2015/10/10(土) 03:51:54.13ID:wKf2WBeUこのスレには割とガチで頭の可笑しいのが一人いる, そう思っておくとスルー出来てよい
0798デフォルトの名無しさん
2015/10/10(土) 04:14:26.37ID:QDr2SJN2AサイトからajaxでAサイトのPHPを呼び出しPHP経由でBサイトのAPIを呼び出す→ここに当てはまる答えを書きなさい
0799デフォルトの名無しさん
2015/10/10(土) 04:56:27.45ID:NbY3/Ke00800デフォルトの名無しさん
2015/10/10(土) 05:00:54.49ID:DKs1l9pU0801デフォルトの名無しさん
2015/10/10(土) 09:27:43.87ID:NaWvx4mT0802デフォルトの名無しさん
2015/10/10(土) 15:54:35.25ID:onaXIcy1値を代入した変数を連想配列に代入したいのです。
具体的には多次元の連想配列の値に変数を使いたいと思ってます。
$params[] =array(
"id" => "aaa" ,
"fruit" => "apple",
"cooking" => "rice",
)
このキーidの値(aaa)に配列を使いたいわけです。
$id_hairetu = array("aaa", "bbb","ccc")
$params[] =array(
"id" => "$id_hairetu" ,
"fruit" => "apple",
"cooking" => "rice",
)
のようにしたいのですが、うまく行きません。わかりづらくてすみません
どなたかご指導のほどお願い致します。
0803デフォルトの名無しさん
2015/10/10(土) 16:01:10.54ID:wKf2WBeUそれは, 代入後に$id_hairetuの値を変えた場合に$paramsの値も連動して変わるようにしたいということなのか, 或いは単に代入時の$id_hairetuの値をコピーしたいだけなのか
0804デフォルトの名無しさん
2015/10/10(土) 16:11:20.89ID:onaXIcy1後者です。
代入時に$id_hairetuの値をコピーしたいのです。。
0805デフォルトの名無しさん
2015/10/10(土) 16:14:28.69ID:wKf2WBeUそんなんだったら
$id_hairetu = array("aaa", "bbb","ccc");
$params =array(
"id" => $id_hairetu,
"fruit" => "apple",
"cooking" => "rice",
);
でいいじゃん
0806805
2015/10/10(土) 16:15:19.31ID:wKf2WBeU$id_hairetu = array("aaa", "bbb","ccc");
$params = array(
"id" => $id_hairetu,
"fruit" => "apple",
"cooking" => "rice",
);
0807デフォルトの名無しさん
2015/10/10(土) 16:53:54.22ID:onaXIcy1ありがとうございます。
そのまま配列(id_hairetu)を代入したところ
idに3つめの"ccc"しか代入されませんでしたorz
params[0][id]=aaa
params[0][fruit]=apple
params[0][cooking]=rice
params[1][id]=bbb
params[1][fruit]=apple
params[1][cooking]=rice
params[2][id]=ccc
params[2][fruit]=apple
params[2][cooking]=rice
のようにしたいわけです。。
0808デフォルトの名無しさん
2015/10/10(土) 17:12:22.95ID:wKf2WBeU$params = array_map(function($i){return array('id' => $i, 'fruit' => 'apple', 'cooking' => 'rice');}, $id_hairetu);
0809デフォルトの名無しさん
2015/10/10(土) 17:56:56.30ID:NbY3/Ke00810デフォルトの名無しさん
2015/10/10(土) 17:59:48.94ID:onaXIcy1解決できました
ありがとうございます!
0811デフォルトの名無しさん
2015/10/10(土) 21:38:47.37ID:LXdnro1p0812デフォルトの名無しさん
2015/10/11(日) 00:44:08.76ID:Fm9fNPIxはい使えます
0813デフォルトの名無しさん
2015/10/11(日) 01:19:29.32ID:KbfkRHMwデバッグは出来るの?
0814デフォルトの名無しさん
2015/10/11(日) 01:45:44.46ID:Fm9fNPIxはい出来ます
0815デフォルトの名無しさん
2015/10/11(日) 03:45:07.97ID:c+Go0B7k0816デフォルトの名無しさん
2015/10/11(日) 05:56:49.44ID:CC31UwIt板を移動した弊害?
0817デフォルトの名無しさん
2015/10/11(日) 07:05:41.91ID:KbfkRHMw普通は何を使うの?
0818デフォルトの名無しさん
2015/10/11(日) 08:37:01.75ID:c+Go0B7k質問を質問で返さないでもらえますか?
0819デフォルトの名無しさん
2015/10/11(日) 08:55:57.42ID:HRXjUTC6PHPの開発にVSを使う意味を聞きたいのではなく、
VSでPHPを使う意味を知りたいって不思議な気もするよ
0820デフォルトの名無しさん
2015/10/11(日) 09:48:17.70ID:KbfkRHMwなぜですか?
0821デフォルトの名無しさん
2015/10/11(日) 10:51:19.50ID:LbFd/0K70822デフォルトの名無しさん
2015/10/12(月) 07:03:36.46ID:0McaFoKh何が出来るかなんてプラグイン次第だろ
デバッグなんてIDEの中核機能の1つとして当たり前に搭載されてるものであって
使うような仕組みそのものが用意されてないならただのエディタだ
0823デフォルトの名無しさん
2015/10/13(火) 07:32:40.90ID:QMMb6qGPいろいろ見てたのですが javascriptではかなりメリットがありそうですが、privateやクラスが実装されているphpでは使う意味が無いようにすら感じられます・・・
(´・ω・`)なんでこんなの使うの?
0824デフォルトの名無しさん
2015/10/13(火) 08:34:08.54ID:IKf0MrqG普通の関数・クラスと違ってuseが使えるからcallback関数で使うのに便利
preg_replace_callbackの第二引数とかには、普通の関数じゃ自動で渡される$match以外は、値を引き渡せない
だから定数、global、singletonを使わざるを得ないように見えるけど無名関数ならいける
0825デフォルトの名無しさん
2015/10/13(火) 11:22:13.69ID:K3Va9rOK無名関数とクロージャは違う。 たぶん違うと思う。
0826デフォルトの名無しさん
2015/10/13(火) 12:20:21.40ID:DtUJdHVxhttp://qiita.com/hugo-sb/items/3e344486658e3cfbd407
>このサンプルのような単純なケースの場合、静的変数を利用しても同様な処理は記述できますが、
>クロージャーを利用することでカウンターを保持する変数を関数内に閉じ込めることででき、
>また以下のように複数のカウンターを生成することも容易です。
複数のカウンター生成はそうなんだけど、カウンターを保持する変数を関数内に閉じ込めることができって、
別にstaticでも閉じ込められるよね?
function mycount() {
static $cnt;
++$cnt;
return $cnt;
}
echo mycount(); //1
echo mycount(); //2
echo mycount(); //3
echo $cnt; //エラー undefined var
閉じ込めてるってこういうことじゃなくて?
0827デフォルトの名無しさん
2015/10/13(火) 12:28:37.88ID:MwC2t3joそれだとその関数のインスタンス(というのか分からんが)がひとつしか取れないじゃん。
変数の実体が隠蔽されてるというだけでグローバル変数と変わらない。
0828デフォルトの名無しさん
2015/10/13(火) 12:49:09.93ID:7qM/SX9p【PHPのバージョン】5.6
【質問内容】
文字列の一部分だけを置換したく以下のようなコードを書きました。
// 最初の"ほげ"を"hoge"に置換
$hoge = "ほげほげ";
$begin = mb_strpos($hoge, "ほげ");
$end = mb_strpos($hoge, "ほげ", $begin + 1);
$hoge2 = substr_replace($hoge, "hoge", $begin, $end - $begin);
print_r($hoge2);
当然といえば当然なのですが出力が文字化けしてしまいます。
substr_replaceのマルチバイト版を使おうと思ったらmb_substr_replaceは定義されておらず、
mb_ereg_replaceを使ってみたらすべての一致部分が置換されてしまいました。
マルチバイト文字を含む文字列の一部分置換を実現したい場合はどのようにすれば良いでしょうか?
0829デフォルトの名無しさん
2015/10/13(火) 12:57:31.02ID:N777J+eMereg系は非推奨だからできれば使わない
0830デフォルトの名無しさん
2015/10/13(火) 13:01:34.65ID:jBFoqp2r> 複数のカウンター生成はそうなんだけど、カウンターを保持する変数を関数内に閉じ込めることができって、
> 別にstaticでも閉じ込められるよね?
staticだと初期化できない(再び0からスタートすることができない)。
0831デフォルトの名無しさん
2015/10/13(火) 13:16:22.68ID:7qM/SX9pそれで出来ました。ありがとうございます。
0832デフォルトの名無しさん
2015/10/13(火) 13:32:15.97ID:IKf0MrqG状態を持つインスタンスかインスタンスのような何かが欲しいだけだったら
単にcounterクラスを作って適宜newして作ってくれ、複数欲しけりゃ複数newしてくれ、初期化したかったら->init()作ったから使ってくれ、でもいいわけさ
だから>>823はいろいろ見た結果、classがありゃ別に良くね?と思ったんだろうと考えた
他の言語ともそうだけどjavascriptのクロージャとphpのクロージャとは違うし
となるとあとはクロージャの元々の「親のスコープの変数を(呼び出し時に引数で渡されなくても)持ってこれる」点かなと
なんかヘンだろうか
>>829
どうでもいいけどmb_ereg_replaceって非推奨なってないんじゃね?POSIXなeregと違ってバイナリセーフだから
0833デフォルトの名無しさん
2015/10/13(火) 19:41:25.42ID:DtUJdHVxありがとう。イメージつかめた。
変数を閉じ込めるだの変数の初期化だのってのは文字通りの意味ではなくて、
カウンターを別インスタンスにするってことか。
0834デフォルトの名無しさん
2015/10/13(火) 19:55:55.24ID:lKovNds8それならクラスでもいいんだけど、大事なのは、、まぁやってりゃそのうち気づくと思うのでどうぞクロージャを。
0835デフォルトの名無しさん
2015/10/13(火) 20:54:24.39ID:2Lm5yRxi0836デフォルトの名無しさん
2015/10/14(水) 02:01:02.42ID:QSQe/OJj0837デフォルトの名無しさん
2015/10/14(水) 05:35:18.09ID:FCUQuge3PC-9801とか使ってたのは
どういう理屈で可能だったの?
(´・ω・`)
0838デフォルトの名無しさん
2015/10/14(水) 10:26:53.35ID:vwkn6oKuつまりクロージャーのメリットはないんですね
0839デフォルトの名無しさん
2015/10/14(水) 17:31:47.32ID:yK3lkgWZ0840デフォルトの名無しさん
2015/10/16(金) 00:34:09.28ID:3nqUFkcMPHPでは無名関数とか無名クラスとしてしか使い道ないよ。
0841デフォルトの名無しさん
2015/10/16(金) 01:24:59.58ID:Z14D5oxv無名クラスはともかく無名関数とは比較にならないだろう
0842デフォルトの名無しさん
2015/10/17(土) 11:15:26.58ID:CvIjhw+dその公式からして
定義された時のスコープは参照できないけど
スコープにある変数は参照できるからクロージャとも名乗ってよくね?
なんてこまけぇこたぁいいんだよ理論で
クロージャと自称してるから仕方ないけど
0843デフォルトの名無しさん
2015/10/17(土) 17:09:50.67ID:44Ma41Lx0844デフォルトの名無しさん
2015/10/17(土) 17:26:07.13ID:VIGRJF+uマルチバイト文字だけにマッチする正規表現で preg_replace_callback とか?
0845デフォルトの名無しさん
2015/10/17(土) 22:48:49.43ID:44Ma41Lxマルチバイトだけ抜き出す肝心の方法がわからないんです
と思ったけどよく考えたらASCII除外とほぼ同じなんだからこれで大丈夫…なんですかね
preg_replace_callback(
'/[^ -~]+/',
function($matches){return urlencode($matches[0]);},
mb_convert_encoding($string, 'UTF-8', 'auto')
);
0846デフォルトの名無しさん
2015/10/18(日) 06:04:12.45ID:F4Gg11pg自分的には
preg_replace_callback('/[^ -~]+/', function($matches){
return urlencode($matches[0];
}, mb_convert_encoding($string, 'UTF-8', 'auto'));
なんだが
0847デフォルトの名無しさん
2015/10/18(日) 18:05:17.75ID:H4W8oY2a0848デフォルトの名無しさん
2015/10/18(日) 19:17:40.63ID:wjDoFuRUmb_substrで一文字ずつ切り出してstrlenでバイト数 > 1の場合にurlencodeするとかどうでしょう
0849デフォルトの名無しさん
2015/10/18(日) 20:14:14.10ID:5Pr0yIMdと思って試したけど5%も違わなかった
0850デフォルトの名無しさん
2015/10/18(日) 22:47:05.25ID:X/2nKuj7構文エラー埋め込んだだけにしか見えないけど、改行の話?
0851デフォルトの名無しさん
2015/10/19(月) 08:47:23.06ID:teI61ugJ0852デフォルトの名無しさん
2015/10/20(火) 03:21:23.42ID:1/bgAIX60853デフォルトの名無しさん
2015/10/20(火) 03:34:12.36ID:+JqN1HNWhttp://php.net/manual/ja/function.file-get-contents.php
context参照
0854デフォルトの名無しさん
2015/10/20(火) 16:59:27.06ID:5+o2HAea0855デフォルトの名無しさん
2015/10/20(火) 17:01:12.18ID:5+o2HAea0856デフォルトの名無しさん
2015/10/21(水) 19:42:02.24ID:g4C44bENそれを開くとウイルスみたいにクラッシュかフリーズするまで止まらないやつ
テキストファイルで作った記憶があるんだけど作り方知ってる人いませんか?
0857デフォルトの名無しさん
2015/10/21(水) 19:43:44.64ID:g4C44bEN0858デフォルトの名無しさん
2015/10/22(木) 10:22:28.49ID:CeSwqlxw自分で試すならそれ切ってな
0859デフォルトの名無しさん
2015/10/22(木) 16:54:44.29ID:RFoUDNFfブラクラの意味がわかってないようだなw
0860デフォルトの名無しさん
2015/10/22(木) 18:02:07.88ID:/aknw9nT0861デフォルトの名無しさん
2015/10/23(金) 12:53:16.53ID:pBHgjBfAuseで持ってこれる親の変数はあくまで無名関数が定義されたときの変数の中身で
そんで親の変数に対しての参照を持ってるわけじゃないから
例えば $counter=0; $func = function()use($counter){ ... ++$counter; ... }; とかしても
func();で呼ばれたときに$counterはfunc()内では常に0で始まり、
親側の$counterもfunc()によって増減しないしfunc()定義後に親の$counterが動いてもfunc()内では常に0で始まる
親の変数を持ってくるだけならいいけど、親と共有したいなら静的変数やグローバルを使うかcallbackと無名関数を使わないでwhileで直接まわしたりする
こういう挙動は、こういうものなの?、それともphpのコンパイラの都合?
0862デフォルトの名無しさん
2015/10/23(金) 14:26:29.65ID:9JJo3sM8$func = function() use(&$counter) {}
0863デフォルトの名無しさん
2015/10/23(金) 15:25:14.49ID:pBHgjBfA悪い参照渡し頭からすっぽ抜けてた
0864デフォルトの名無しさん
2015/10/27(火) 18:08:57.59ID:kr0AuHv9俺?今まさにその状態
0865デフォルトの名無しさん
2015/10/27(火) 23:44:48.24ID:B8WGR4javar_dump($dt);
これ
class DateTime#2 (3) {
public $date =>
string(26) "2015-10-27 23:42:06.000000"
public $timezone_type =>
int(3)
public $timezone =>
string(10) "Asia/Tokyo"
}
って表示されますが
このdate,timezone_type,timezoneの値はどうやって取得するんですか?
$dt->dateだとエラーになりました
0866デフォルトの名無しさん
2015/10/27(火) 23:51:35.09ID:lR1b6/iE【PHPのバージョン】5.5
【連携ソフトウェア】なし
【質問内容】
__get()や__set() はどうして遅いの?
0867デフォルトの名無しさん
2015/10/27(火) 23:58:28.62ID:jZAx/6LCgetTimezoneメソッドやgetTimestamp, formatメソッド
0868デフォルトの名無しさん
2015/10/28(水) 00:00:10.40ID:EtBJvyZsドライブがSSD
もしくはリードオンリー
ライブラリのオモフク
require多発
DNS周りの設定の時もある
いろいろあるで
まず切り分けせなあかんな
0869デフォルトの名無しさん
2015/10/28(水) 00:39:29.83ID:i3wzfLRwecho $dt->date;
自分の環境ではこれで普通に表示されたよ。
何か別のエラーじゃないの?つーかそのエラーを書くべき。
まあformatメソッドを使うべきだけど。
$dt = new DateTime();
var_dump($dt);
echo '<br><br>';
echo $dt->date;
0870デフォルトの名無しさん
2015/10/28(水) 00:44:20.20ID:i3wzfLRwってなってるからこれならどう?
echo $dt::date;
0871デフォルトの名無しさん
2015/10/28(水) 02:11:40.12ID:Gr82QenCiniファイルちゃいますの
0872デフォルトの名無しさん
2015/10/28(水) 02:15:59.71ID:tfmfu5HE$dt = new DateTime();
var_dump($dt);
echo $dt->date;
ってやるとエラーがでませんでした
しかし
$dt = new DateTime();
echo $dt->date;
だとPHP Notice: Undefined property: DateTime::$date
getTimezoneメソッドやgetTimestamp, formatでも取得できますが
phpの仕様としてはpublicな変数に->でアクセスできるはずなので
0873デフォルトの名無しさん
2015/10/28(水) 02:16:57.61ID:tfmfu5HE0874デフォルトの名無しさん
2015/10/28(水) 03:03:50.24ID:Li6zvEkohttp://codepad.org/wjxI4fDr
0875デフォルトの名無しさん
2015/10/28(水) 04:21:08.56ID:cCNG5eR4DateTimeはプロパティを列挙するタイミングでそれらのプロパティをセットする
かと言って読み書きする事を前提にした実装にはなっていない
互換性のためか何か理由があるんだろうけど
ぶっちゃけ不具合みたいなものだから使ってはいけない
0876デフォルトの名無しさん
2015/10/28(水) 09:26:04.92ID:fdp+6Zs/マニュアルに書いてないものは存在しないものとみなすべき
0877デフォルトの名無しさん
2015/10/28(水) 11:45:24.49ID:KIgU+Tc4GETはわかる$_SERVER["QUERY_STRING"]がある
0878デフォルトの名無しさん
2015/10/28(水) 11:56:41.36ID:KIgU+Tc4すまんこ
しかしphpのmultipleなselectの扱いは意味がわからん
0879デフォルトの名無しさん
2015/10/28(水) 12:57:25.30ID:WdTv92Vjんんwwwwwwwwwwwwwwwwwwwwwww
んんんんんんんんんっwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0880デフォルトの名無しさん
2015/10/28(水) 20:35:52.72ID:obxDMXos↓のようにやっていますが
$usernamekana1=str_replace(array(" ", " ",'.','-',"\t","\r\n","\r",
"\n",'<','>'), "", $firstname_kana);
//↑半角カナ以外
$usernamekana1=mb_convert_kana($usernamekana1,hks);//なので
我ながら不恰好ですので良い表現方法ありませんでしょうか?
ご教授頂けますようよろしくお願いしますm(_ _)m
0881デフォルトの名無しさん
2015/10/28(水) 21:24:10.99ID:KIgU+Tc4文字コードと$usernamekana1に入りうる文字によるが
preg_*で文字コードから正規表現で範囲指定して全角かな全角半角カナだけ取ってきて処理する手法がある
どっちが早いかは状況次第
0882デフォルトの名無しさん
2015/10/29(木) 20:34:13.57ID:b5qdY+6iとか
$pos = 0;
while( ($pos=strpos($string, $needle, $pos+1)) !== false ){ ... }
みたいな評価順序を利用した書き方って使わないほうがいい?
可読性とコーディング規約が許すなら別に問題ない?
0883デフォルトの名無しさん
2015/10/29(木) 21:35:18.33ID:bUytiJ2C0884デフォルトの名無しさん
2015/10/29(木) 21:45:42.46ID:GhGzx96S直観的でないな。読みづらい。
0885デフォルトの名無しさん
2015/10/29(木) 21:56:39.13ID:mJa4MfsR自虐かよ
0886880
2015/10/29(木) 22:10:07.61ID:wwuM8Qzgコメントありがとうございます。
すいません。
ググったのですがサンプルが見つからないので
半角カナ以外すべて$usernamekana1から消す方法は
$usernamekana1=mb_convert_kana($usernamekana1,hks);
↓みたいな関数があれば良いのですけど……
$usernamekana1=mb_convert_kigou_dell($usernamekana1);
遅くても良いので良い方法をご助力頂けないでしょうか?
0887デフォルトの名無しさん
2015/10/29(木) 22:40:27.23ID:bUytiJ2Cぐぐったけどサンプルが見つからないっていうのが、
>>881の方法をやらなかった理由?
0888デフォルトの名無しさん
2015/10/29(木) 23:53:04.60ID:ZblI1NQd記号を削除するんじゃなくて、半角カナになる文字だけ取り出す操作の方がいい。
0889デフォルトの名無しさん
2015/10/29(木) 23:54:40.39ID:zirA75NK前者はコードゴルフが目的でなければ止めた方が良い
whileの書き方は定石なので問題ない
0890デフォルトの名無しさん
2015/10/30(金) 00:00:30.08ID:A2BJ2A1c対象だけ取り出すって面倒じゃない?preg_replaceで対象以外取り除けば1回で済むけど
0891デフォルトの名無しさん
2015/10/30(金) 12:34:45.32ID:+QhXPTHHmb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
$str = mb_convert_kana($usernamekana1, 'hks');
$str = preg_replace('/[^ヲ-゚]/u', '', $str);
return $str;
}
0892デフォルトの名無しさん
2015/10/30(金) 12:38:57.11ID:AKFcUkih0893デフォルトの名無しさん
2015/10/30(金) 13:00:11.17ID:+QhXPTHHごめんなさい。
お手本のコードをぜひ見せてください。
0894デフォルトの名無しさん
2015/10/30(金) 15:22:31.89ID:sATRB+gZ$value = 0;
bindParam(':name', $value, PARAM_INT);
こんな感じです
0895デフォルトの名無しさん
2015/10/30(金) 15:46:55.75ID:RESFqDekんんん???
0896デフォルトの名無しさん
2015/10/30(金) 17:11:04.74ID:SCV1iGnUPDO::PARAM_INTでないのか
0897デフォルトの名無しさん
2015/10/30(金) 17:18:48.85ID:sATRB+gZすみません
投稿時の書き間違えです
PDO::PARAM_INT
でやってもint型の0が無視されるんです
ちなみにstring型の'0'ならちゃんと変換されます
0898デフォルトの名無しさん
2015/10/30(金) 17:34:24.60ID:qHOKDsW10899デフォルトの名無しさん
2015/10/30(金) 17:51:06.32ID:5biB/KHY横からスマンがdellって何の略?
0900デフォルトの名無しさん
2015/10/30(金) 18:11:21.25ID:A2BJ2A1c別解として入力バリデーションで既にUTF-8の全角カナ半角カナひらがなと半角記号しかないのが確定してるとかなら
$str = preg_replace('/[\x00-\x73]/', '', $str); などとすれば半角記号だけ除去ができて'/[^ヲ-゚]/u'よりちょっとはやい
ブラックリスト方式も早くて良いと思うんだけどだからまあ状況と要求次第
しかしUTF-8で半角カナは…データサイズの利点が無いから文字幅が狭くなる利点しかないんじゃないのか
0901デフォルトの名無しさん
2015/10/30(金) 18:43:31.80ID:A2BJ2A1c空白になってるのをどう確認したのかよくわかんないけど (int)($value) で引き渡せば
…ってのはおいといてPDO::bindParamじゃなくてPDO::bindValue使ってみたら?
0902デフォルトの名無しさん
2015/10/30(金) 19:30:55.70ID:j3BSCHnJ何だろうね? >>886 に聞いてみて。
↓みたいな関数があれば良いのですけど……
$usernamekana1=mb_convert_kigou_dell($usernamekana1);
0903デフォルトの名無しさん
2015/10/31(土) 02:23:28.65ID:DFwcARkZKeymapで見ても、Command+BしかDeclarationには割り当てられていないんだけど。。
なぜか効いてしまいます。
0904デフォルトの名無しさん
2015/10/31(土) 11:45:31.23ID:aFSNNsaQ【PHPのバージョン】5.3.5
【連携ソフトウェア】MySQL
【質問内容】
初心者です。やりたことはチャットに画像アップ機能をつけたくて、画像はmySQLに保存します。
教えていただきたいことはいくつかあるのですが、長くなるので一つずつお願いします。
画像の保存は出来たのですが、表示されません。
が、そもそもほんとに正しく保存されてるのか?が謎なのですが、
テーブル内のフィールドは、
up mediumblob //画像用
ext varchar(5) //拡張子用
で、 upに [BLOB - 3.2KiB]
extに jpg
と書き込まれています。これは正常に保存されているということで良いのでしょうか?
よろしくお願いします。
0905デフォルトの名無しさん
2015/10/31(土) 12:17:55.14ID:t/jaIjM4取り出してみればわかることを聞くんじゃありません
0906デフォルトの名無しさん
2015/10/31(土) 12:43:10.98ID:aFSNNsaQお返事ありがとうございます。 す、すみません!!表示出来ないのはもしかして、 読み込み側のコードではなく、そもそも書き込みが正しく出来てなかったからとか? と思ったものですから。
それでは読み込みのコードでおかしいところがあったら教えてください。
display.php
<?php
if (isset($_GET["id"])) { $id = $_GET["id"]; }
//データベース接続
// up-typeテーブル
$up_type = array( 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif');
$sql = sprintf(" SELECT up,ext FROM chat_tbl WHERE id=:id ORDER BY datetime DESC ");
$str = $dbh->prepare($sql);
$str->bindParam(':id', $id);
$str->execute();
if($str)
{
while($result = $str->fetch(PDO::FETCH_ASSOC)){ header('Content-type:'. $up_type[$result->ext]);
echo $result['up'];
} }
?>
エラーメッセージ等は後からでもいいかと思って入れてません。あと、ここに一度書き込みしたのですが、改行が多すぎるてエラーが出たのでデータベース接続は省いてあとも詰めて書いてます。読みにくかったらすみません。
よろしくお願いいたします。
0907デフォルトの名無しさん
2015/10/31(土) 13:01:23.77ID:6kMgLpUU0908デフォルトの名無しさん
2015/10/31(土) 13:04:25.92ID:eolGIlKB0909デフォルトの名無しさん
2015/10/31(土) 13:55:27.24ID:iQz1e3kFもしかしてだけど、imgタグのsrcにechoしないとイケないんじゃないの
0910デフォルトの名無しさん
2015/10/31(土) 15:14:45.88ID:OlIi4vyDまたないとしたらどこで質問するのがベストですか?
0911デフォルトの名無しさん
2015/10/31(土) 15:25:07.69ID:cNb0xpTQ書き方がわかりにくくてすみません、>>908さんが書いてくださってるように、2chでのエラー表示えdす。
>>909さん、コメントありがとうございます。
最終的に表示するのは、chat.phpで、
$str= $dbh->query('select * from chat_tbl order by dateTime desc');
if($str){
while($result = $str->fetch(PDO::FETCH_ASSOC)){
echo "{$result['handle']}>\n {$result['message']}:\n {$result['dateTime']}<br>\n";
$up = $result['up'];
if(!$up == "") {
echo "<img src = 'display.php'>\n";
} else{
echo "\n";
}
echo "<hr>\n";
} }
このようにしてますがこれでおかしいところがあったら教えてください。
ページを分けているのは、いろいろ調べたら、 header('Content-type:' がtextとimageと同じページ内に書いてはいけないので、画像用は別に書いてリンクさせるのが良い みたいにあったので、このようにしてみました。
で、これをブラウザで出力すると、画像アップした行には、画像であることを示すアイコンみたいなのが表示されてて、画像そのものは読み取れていません。
display.phpのページをURLをアドレスに入力して表示させると真っ白で何もありません。エラーメッセージ等も出てません。
よろしくお願いいたします。
0912デフォルトの名無しさん
2015/10/31(土) 15:25:46.12ID:eolGIlKBhttp://kanae.2ch.net/test/read.cgi/php/1324538866/
こういうスレがあるけど、住民がいるかどうかは分からない
0913デフォルトの名無しさん
2015/10/31(土) 15:33:20.79ID:eolGIlKB>表示させると真っ白で何もありません。
この状態でソースを見るとどうなってるのかな?
ブラウザの機能で「ソースをみる」ってあるでしょ。
IEなら、メニューの「表示」「ソース」
FFなら、右クリック「ページのソース」
0914デフォルトの名無しさん
2015/10/31(土) 16:02:36.82ID:WDNhA6EEとりあえずdisplay.phpで,
while($result = $str->fetch(PDO::FETCH_ASSOC)){ header('Content-type:'. $up_type[$result->ext]);
echo $result['up'];
}
としている部分が理解不能。
画像ファイルのヘッダとか見たことあればレスポンス1件につき1つの画像ファイルしか返せんことは分かると思うが。
あとファイル末尾の ?> はバイナリを吐くときにゴミをつける可能性があるから無くすべき
0915デフォルトの名無しさん
2015/10/31(土) 16:13:55.98ID:cNb0xpTQ>>913さん、お返事ありがとうございます!
ソースの方も真っ白というか、行番号を示す1というのが表示されているのみです。
>>914さん。
具体的に書いてくださりありがとうございます!
すみません、画像ファイルのヘッダて見たことないです。1件しか表示できないんですか?では、アップしてるものをすべて表示するのって、どうすれば・・・ 何かヒントなどありましたら教えていただけるとありがたいです
0916デフォルトの名無しさん
2015/10/31(土) 16:24:03.07ID:x63vysfN0917デフォルトの名無しさん
2015/10/31(土) 16:33:53.45ID:OlIi4vyDおーありがとうございます
0918デフォルトの名無しさん
2015/10/31(土) 16:35:12.64ID:WDNhA6EEdisplay.phpにGETでもPATH_INFOでもなんでもいいが, 画像をidentifyするようなパラメータを付けて呼べばいい。
display.phpではidentifyされた画像ひとつだけを返せばよい
<img src="display.php?image_id=5">
0919デフォルトの名無しさん
2015/10/31(土) 16:39:19.32ID:x63vysfNこう書いてるんだから image_id じゃなく id にしてあげなよ。
0920デフォルトの名無しさん
2015/10/31(土) 16:46:46.10ID:WDNhA6EE0921デフォルトの名無しさん
2015/10/31(土) 16:53:29.37ID:79rh8PzW0922デフォルトの名無しさん
2015/10/31(土) 17:03:45.87ID:eolGIlKB>>906のところ
while($result = $str->fetch(PDO::FETCH_ASSOC)){ header('Content-type:'. $up_type[$result->ext]);
$result->ext を $result['ext'] に直してみて
0923デフォルトの名無しさん
2015/10/31(土) 17:10:16.16ID:x63vysfNユニークじゃなければエラーになるんだからユニーク前提のコードとも取れる
0924デフォルトの名無しさん
2015/10/31(土) 17:15:32.59ID:mOngkuFSお答えくださったみなさん、ほんとにどうもありがとうございます!
今は携帯からで、パソコンはまた明日のお昼間じゃないと使えないので、明日になったら書いていただいたことを試してみます!
それと、idがユニークかどうかについてですが、よくわかってないので勘違いだったらすみませんが、unsigned(綴り違ったかも) にしてます。これも、ネットであちこち見て真似てやってて、実際は意味がわかってません。恐縮です。
0925デフォルトの名無しさん
2015/10/31(土) 17:25:11.40ID:x63vysfNつまるところ、一番の問題点は>>918が指摘しているように、display.phpにパラメータを渡せていないところだよ。
0926デフォルトの名無しさん
2015/11/01(日) 02:58:07.77ID:552PnYcn0927デフォルトの名無しさん
2015/11/01(日) 13:59:01.46ID:+r1Q/vRPみなさん、昨日はほんとにどうもありがとうございました。
ユニークについては私の勘違いでした。すみません。見てみたらプライマリーになってましたが(参考にさせてもらったところのをそのまま真似ました)ユニークの方が良いのでしょうか?
>>922さんがご指摘くださった部分変更しました。ありがとうございました。
で、>>918さん、>>919>>さん、>>925さんが書いてくださってることですが、
<img src="display.php?id=5"> に変えてみましたが、この5というのは何を表しているのでしょうか?
あと、display.phpの方には何か書き加えないといけないのでしょうか?
わかっていなくてすみません。
よろしくお願いいたします。
0928デフォルトの名無しさん
2015/11/01(日) 14:01:17.00ID:csWYRkSJ0929デフォルトの名無しさん
2015/11/01(日) 15:19:06.71ID:gG04aPZk<?php
var_dump($_GET);
var_dump($_POST);
とかにして
ブラウザのURL欄やformやaタグからそれ指定して
いろいろパラメタ付けて、試してみたらどうよ
あまりにも初歩過ぎて回答するだけで文句言われそうなレベル
0930デフォルトの名無しさん
2015/11/01(日) 15:23:51.34ID:SDYYiCdp0931デフォルトの名無しさん
2015/11/01(日) 16:03:21.95ID:HuBu2yBp質問がくだらなすぎてほんとに申し訳ありませんでした。
書いていただいたことを調べながらやってみます。
みなさんほんとにどうもありがとうございました。
0932デフォルトの名無しさん
2015/11/01(日) 16:08:27.01ID:SDYYiCdp気にしなくていいよ。がんばれ。分からないことが出てきたらまたおいで
0933デフォルトの名無しさん
2015/11/01(日) 17:06:51.44ID:yUX6gb++0934デフォルトの名無しさん
2015/11/01(日) 21:41:39.74ID:+B1USwRt0935デフォルトの名無しさん
2015/11/01(日) 22:40:11.29ID:5JJhe8Sb評価の高い初心者向けの入門者を数冊教えてください
0936デフォルトの名無しさん
2015/11/02(月) 01:22:25.23ID:xRbtggrb良書とよばれたものはPHP4世代のもので古すぎる
PHP習熟者が増えた今現在
初心者向けの良書とよばれるものはおそらくでないだろうな
といっといてなんだが困ったときにはオライリーでおk
0937デフォルトの名無しさん
2015/11/02(月) 01:25:14.89ID:NvAhCpQZ0938デフォルトの名無しさん
2015/11/02(月) 14:20:29.27ID:jL3WrFnr多分入門書程度のレベルでも1冊読めばその程度のことは書いてあると思う・・・
0939デフォルトの名無しさん
2015/11/04(水) 13:54:42.39ID:MLcKFTKO0940デフォルトの名無しさん
2015/11/04(水) 14:09:11.79ID:MLcKFTKO0941デフォルトの名無しさん
2015/11/04(水) 14:12:18.54ID:QKGer34/0942デフォルトの名無しさん
2015/11/04(水) 14:33:14.41ID:MLcKFTKOcalledとか出てた。
さっき書き込んだ時も罠を仕掛けたとかゲームっぽい広告のテロップが出たんだけど。
対策お願いいたします。
iPhoneで書き込みました。
0943デフォルトの名無しさん
2015/11/04(水) 16:12:09.01ID:+We5XBc9>>1
0944デフォルトの名無しさん
2015/11/05(木) 04:05:37.04ID:kMVTOBKu保守、運営を担当してた海外のプログラマらの手によって、
haskellで書き直されたんじゃなかった?
0945デフォルトの名無しさん
2015/11/05(木) 04:11:36.82ID:TC0aybFH書き込みに使われるのはbbs.cgi、bbs.cgiは現状はCだったようなPerlだったような
どっちにしてもphpじゃないとは思うが
0946デフォルトの名無しさん
2015/11/05(木) 15:18:44.52ID:l9p4qEU8フォームを作成しmb文字や改行コードを受け付ける時 文字コードや改行コードといった文字コードは何によって決定されるのでしょうか
WindowsやMac、Android等で入力されてきたデータは全て確認し、変換して格納する必要があるのでしょうか
(´・ω・`)変な質問してたらごめんね
0947デフォルトの名無しさん
2015/11/05(木) 15:27:31.67ID:Xj8bJ8Es改行コードはクライアント側が設定します。
0948デフォルトの名無しさん
2015/11/05(木) 20:49:51.33ID:9YM3Wel+>WindowsやMac、Android等で入力されてきたデータは全て確認し、変換して格納する必要があるのでしょうか
文字化け対策として、各ファイルの文字コードを統一しておけば、確認や変換は不要。
最近は、UTF-8で統一しておくのが主流だね。
もっとも、セキュリティの観点で、入力されたデータの文字コードが
不正でないかのチェックはしたほうがいい。
0949デフォルトの名無しさん
2015/11/05(木) 21:21:03.29ID:TC0aybFHえっ
0950デフォルトの名無しさん
2015/11/09(月) 14:53:03.17ID:J2sa9vnc0951デフォルトの名無しさん
2015/11/09(月) 15:10:24.40ID:Bvj183hSあれは Windows のが間違ってる
でもそれより Mac の濁点文字をなんとかしてほしい
0952デフォルトの名無しさん
2015/11/09(月) 15:44:17.40ID:E71YiunB0953デフォルトの名無しさん
2015/11/12(木) 20:40:45.13ID:pgvdnRZvvar_dumpの内部構造どっかで見られない?
最近PHPやってなかったらどこ見ればいいか分かんなくなってしまった
0954デフォルトの名無しさん
2015/11/12(木) 23:14:53.44ID:6DBAG3QUreturn ( $v === 0 ) ? 'hoge' :
( $v === 1 ) ? 'fuga' :
( $v === 2 ) ? 'foo' : 'default' ;
とりあえずテストしてみたらなんかおかしい、php.netみたらphpではこういう書き方できないのだと知った、今日この頃
おとなしくif分岐使いますわ…
0955デフォルトの名無しさん
2015/11/12(木) 23:29:03.51ID:NEuWYquR0956デフォルトの名無しさん
2015/11/12(木) 23:32:38.68ID:5T+ZDMx8カッコ使えばできるけど、それはお望みじゃないんだよね
0957デフォルトの名無しさん
2015/11/12(木) 23:35:46.92ID:6DBAG3QUうん
書くのが楽で、書き方に気をつければ見た目わかりやすいのが利点だから
それとももしや後ろに行くほどカッコが増えたりしない書き方できたりする?
0958デフォルトの名無しさん
2015/11/12(木) 23:41:21.52ID:5T+ZDMx8いや、カッコが増えていく
でも if を列挙するのもなんだかなって感じだよね
なんで PHP はこれを左結合にしたんだろうね
0959デフォルトの名無しさん
2015/11/12(木) 23:42:35.18ID:L6COn33V少なくともCやJavaScriptの仕様なら>>954は見た目すぐ分かるだろ。一般的に禁止もされてないと思うが。
PHPだけ?がへんてこな仕様な訳で。
GoogleのC++/JavaScriptのコーディング規約なら公開されているが、三項演算子についての言及はない。
http://www.textdrop.net/google-styleguide-ja/cppguide.xml#%E6%9D%A1%E4%BB%B6%E6%96%87
http://cou929.nu/data/google_javascript_style_guide/
0960デフォルトの名無しさん
2015/11/13(金) 01:04:13.38ID:aSxPYOOaswitch使え
0961デフォルトの名無しさん
2015/11/13(金) 01:20:05.09ID:WtbCnw9Pswitch( true )を使うやつは冷凍豆腐に頭ぶつければいいと思う
phpの三項演算子が左結合なのは、ただ初期の設計ミスを見落としただけらしい
変えること自体はラクにできるけども、既存のソースとの兼ね合いで変えるに変えられないとか
0962デフォルトの名無しさん
2015/11/13(金) 01:26:59.02ID:99szWd6E気になって調べたらそうだったっぽいね。
しかしこの左結合を有効利用してるコードなんてあるんだろうか。
せめてコンフィギュレーションできるようにすりゃいいのに。
あるいは文末に来る閉じカッコを省略できるようにしてもいいかも。
そうすりゃこんな書き方で対応できる。
return ( $v === 0 ) ? 'hoge' :
( ( $v === 1 ) ? 'fuga' :
( ( $v === 2 ) ? 'foo' : 'default' ;
閉じカッコ省略はカシオのポケコンで取り入れられてたけど、結構便利なんだよなぁ
0963デフォルトの名無しさん
2015/11/13(金) 01:34:14.91ID:Zno4BFZq0964デフォルトの名無しさん
2015/11/13(金) 11:22:00.31ID:q2jJ+eFRswitch(true)が害悪な理由がわからんヘタクソなんで
理由を教えて下さい。
0965デフォルトの名無しさん
2015/11/13(金) 11:55:54.61ID:iyo8Ja05ケースを羅列したいのに出来ないから生まれた苦肉の策だから
じゃないかな
0966デフォルトの名無しさん
2015/11/13(金) 11:56:45.39ID:iyo8Ja05【PHPのバージョン】5.3
【連携ソフトウェア】なし
【質問内容】
ftp_nlist でエラーになった時に
エラーの詳細な情報を取得したいんだけど
どうしたらいいの?
0967デフォルトの名無しさん
2015/11/13(金) 15:22:33.89ID:Y891nyvQそして行く末知らないけどひろゆきにソースコードの著作権があるのに
それをJimが勝手に使ってるからなんか色々
0968デフォルトの名無しさん
2015/11/13(金) 17:32:16.20ID:RUmdr/feひとつの文の中で複数の三項演算子を使用した際の PHP の振る舞いは、少々わかりにくいものです。
http://php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary
公式マニュアルはこう言ってるね。
switchが緩い比較だとしても、事前に $v の型チェックをすればいいんじゃない。
0969デフォルトの名無しさん
2015/11/13(金) 18:00:21.86ID:99szWd6Eそれはあくまで “PHPでは” だよね。
他言語では true項も false項も対等だし可読性を保った書き方もできるから避ける必要など無い。
まあコンパイルするような言語では switch にしとくと最適化されやすいという考慮点はあるが。
0970デフォルトの名無しさん
2015/11/13(金) 18:26:40.67ID:a7TZTyJc0971デフォルトの名無しさん
2015/11/13(金) 18:38:00.24ID:iyo8Ja05多言語でも参考演算子は積むなって言われるやろ
お前が天才だから、ではなく、演算子の優先順位が云々、でもなく
読めない・読まないアホが読める形にするために、だよ
0972デフォルトの名無しさん
2015/11/13(金) 18:38:27.02ID:MH+cSPko(´・ω・`) 全角の〜(チルダや波線)を一括で~に変換するプログラムってどうやったらいいんでしょうか
0973デフォルトの名無しさん
2015/11/13(金) 19:26:12.67ID:D5Uq6av0php以外でどこで言われてる?
そういう規約があるなら貼ってみてよ。
0974959
2015/11/13(金) 19:28:47.35ID:YRkhsUKe> 多言語でも参考演算子は積むなって言われるやろ
いやだからそれは言われてないと俺は思うが。少なくともGoogleのC++/JavaScriptでは言及がない。
(PHPのは仕様が変だから禁止で妥当)
最近俺は>>954や>>962の方が見やすいと感じてるよ。
実際if文で書いたら、3つreturnが必要で、すべて読まなければならない。(3つreturnが書いてあるかどうかとかも)
三項演算子で書けば、最初にreturnが確定して、後は値だけになる。
俺は代入の時にもよく使っているが、それは左辺側が同一だと確定するから。
if文で書くと左辺が同じ変数かどうかを確認する必要がある。(タイポとかもあり得る)
if文だとなんでも書ける分、全部読む必要がある。
三項演算子だと最初に動作が確定、値についてはこれこれ、という書き方になる。
読む内容が減る分だけ楽になると思うが。
0975デフォルトの名無しさん
2015/11/13(金) 19:33:19.19ID:hvMZ1Ugbvar_dump(mb_ereg_replace( '〜' , '~', '(^〜^)'));
>>968
> switchが緩い比較だとしても、事前に $v の型チェックをすればいいんじゃない。
実際その辺どうなんだろう?
とりあえず今 mt_rand() で取り出した数字を switchで3と比較して結果次第で別の文字を代入、三項演算子でも同様に、
というのを100,000回ほど交互に繰り返してみたら、三項演算子が 0.115sec、switchが 0.183secだった
$array[0]と$array['0']が全く同一だったりとか、php内部の変数の扱いは良くわからん
0976デフォルトの名無しさん
2015/11/13(金) 19:38:25.02ID:hvMZ1Ugbそれ確か、サーバの500だかのエラー表示の中のApache Serverのシグニチャにphpが入ってたってやつ
要は当時2chのいずれかのサーバにmod_phpが入っていたというだけの話で、2chがphpで動いているかどうかは関係ない話
0977デフォルトの名無しさん
2015/11/13(金) 19:53:06.21ID:D5Uq6av0コーディング規約持ち出すと、return は関数末尾にひとつだけ、みたいなのに出くわしたことがある。
そういう体制では三項演算子を if で置き換えたら変数で受ける必要まで出てきて面倒だな。
なんにしてもコーディング規約に書いてあるならそうしなさいということんだけど、
php 以外で三項演算子について規定してるのって知らないな。
0978デフォルトの名無しさん
2015/11/13(金) 20:22:08.01ID:9Z3jJmN8問題ない範囲で使えよという行間がある。
分かりやすくいうとgotoは禁止すべきじゃないし、トリプルポインタだって禁止すべきじゃない。
0979デフォルトの名無しさん
2015/11/14(土) 08:24:41.88ID:LUyUmkqN2回比較3分岐で、switch, switch( true ), ()つけた二重の三項演算子, if分岐(, 無処理)で50万回ループしたらこの結果
switch: 0.48583 sec switch( true ): 0.47236 sec cond: 0.14173 sec if: 0.13103 sec
結論 switch使えねえ
前処理で型をチェックする前提なら普通のswitchでも予想外のバグはある程度抑制できるけど
やると煩雑になるし別途コストかかるし、switch( true )はそのコストがかからない点と見た目以外変わらない
だったら最初からif使えって話、何より遅い
0980デフォルトの名無しさん
2015/11/14(土) 10:42:48.66ID:JEd33JqI要件満たさないほど遅い場合にはボトルネックを見つけてから
そこを改善すればいいんだし。
0981デフォルトの名無しさん
2015/11/14(土) 16:50:40.94ID:p29z202Rサーバー上で動作するプログラムで動的にHTMLを吐き出すって点ではどっちも同じみたいだけど、掲示板作成するならどっちつかった方がいいの?
0982デフォルトの名無しさん
2015/11/14(土) 17:03:18.94ID:+bixUoUAPHPにしとけば
それが完成したら他に手を出してみればいい
0983デフォルトの名無しさん
2015/11/14(土) 17:06:16.05ID:ASkZSMfE0984デフォルトの名無しさん
2015/11/14(土) 17:21:46.99ID:p29z202Rサンクス
PHPのやつは一応ある程度まで出来たんだが、ネットでオープンソースのCGI掲示板配布してたからそれを導入してちょくちょく弄ってった方が近いのかなと。。
CGIってのがよくわからんのだけど、プログラム言語?のことなの?
0985デフォルトの名無しさん
2015/11/14(土) 17:33:32.70ID:uq7iZ3Y9俺は余り詳しいわけではないが、多分今時はPHPの方が主流だと思うぞ。
当たり前だがPHPのオープンソース掲示板も配布されている。
てかむしろ、「今時CGIかよ」って馬鹿にされていたと思ったが。
0986デフォルトの名無しさん
2015/11/14(土) 17:44:46.58ID:+bixUoUACGI ってのは webサーバ下で動く実行ファイルのことだと思えばいい。
webサーバはクライアントからのリクエストを受け、実行ファイルを起動してその出力をクライアントに返す。
だから言語は問わず、perl で書いても C で書いてももちろん PHP を利用しても実行ファイルになってさえいればいい。
いわゆる PHP と言うと、CGI みたいにいちいちプロセスとして起動されるわけじゃなく、webサーバプロセスで PHP が実行される感じで、CGI とは違う形態になってる。
PHP はそれそのものがテンプレートエンジンみたいなもんだから webサーバとの協調に馴染む。
0987デフォルトの名無しさん
2015/11/14(土) 17:48:53.64ID:qxo7dVQH車載系はそんなもんだよ
MISRAはつらい
0988デフォルトの名無しさん
2015/11/14(土) 17:56:10.64ID:p29z202Rやっぱそうなんだ。
CGIってあんまり聞いたことなかったからやっぱり…
1から作ったしょっぼいしょっぼい掲示板捨ててオープンソース探してみるわ…
0989デフォルトの名無しさん
2015/11/14(土) 17:57:24.92ID:p29z202R実行ファイルってことは、さっき書いた「HTMLを吐き出す」ってことの意味がPHPと全然違うんだね;
すまんかった。
それなら何も考えずにPHPつかった方がダイレクトでいいってことか。
0990デフォルトの名無しさん
2015/11/14(土) 18:06:58.50ID:+bixUoUAどっちも基本的に HTML(とは限らずクライアントへ返したいものなんでも)を吐き出す処理を書くものだからそう変わらないよ。
CGI は webサーバと統合されるもんじゃないからインタフェースが簡単で、昔から使えたというだけ。
0991デフォルトの名無しさん
2015/11/14(土) 18:09:03.53ID:bqWycdSKPHPだって実行ファイルに出来ますし・・・・・
別に言語としてPHPを使いつつCGIとして実行だって出来る
所謂PHPはサーバソフトにmod_phpというPHPを処理するモジュールを組み込んでおいて, サーバソフトがmod_phpを使ってPHPを実行する。
対してCGIではmod_cgiというモジュールを使って, サーバが別プロセスを立ち上げて実行可能ファイルを実行する。
0992デフォルトの名無しさん
2015/11/14(土) 18:55:31.32ID:p29z202Rガルちゃんみたいなスレッド式掲示板ぐらいならPHPで良さそうだな。
0993デフォルトの名無しさん
2015/11/14(土) 19:00:57.36ID:AjDQR89shttp://peace.2ch.net/test/read.cgi/tech/1447495088/
レス数が950を超えています。1000を超えると書き込みができなくなります。