【PHP】下らねぇ質問はID出して書き込みやがれ 115at PHP
【PHP】下らねぇ質問はID出して書き込みやがれ 115 - 暇つぶし2ch369:nobodyさん
12/02/03 22:19:11.03
>>368
どちらでも。開発しやすい方やメンテしやすい方を選びなされ。

370:nobodyさん
12/02/03 22:27:40.68
>>369
やはりそこは好みの問題なんですかね。
私はファイル数が多いと嫌なので1ファイルで処理しようと思います。
ありがとうございます。

371:nobodyさん
12/02/03 22:32:47.68
好みの問題じゃなくてメリット・デメリットの問題

372:nobodyさん
12/02/03 22:41:19.74
初心者なんだからなんでもいいだろ
はい次

373:nobodyさん
12/02/03 22:54:14.82
なんでもよくないよ

374:nobodyさん
12/02/04 00:46:21.55 1holxMJc
【OS名】CentOS(ロリポのやつ)
【PHPのバージョン】5.2
【連携ソフトウェア】なし

phpで簡単にpost通信がしたくてphp post通信でググって出てきたのの1ページ目のはやったんですがデータが送られませんでした

以前ロリポで出来たので無理ではないと思いますがやり方をわすれてしまいました(たしかfile_get_contentsのだったはず)


375:nobodyさん
12/02/04 00:48:38.20 1holxMJc
>>374
追記

19を見てから投稿しました

376:nobodyさん
12/02/04 00:49:56.36
>>374
何を聞きたいのか分かりません
あと>>19がどう関係してるのか分かりません

377:nobodyさん
12/02/04 00:52:05.19
PHPって

378:nobodyさん
12/02/04 01:00:29.61 1holxMJc
>>376
>>5の19です

379:nobodyさん
12/02/04 01:08:53.63
>>378
で?

380:nobodyさん
12/02/04 01:29:15.13
アスペだなこれは

381:nobodyさん
12/02/04 01:34:37.38
自分の思考領域と他人の思考領域の区別が付かないんだろうな

382:nobodyさん
12/02/04 01:34:42.95
くそわろた

383:nobodyさん
12/02/04 02:00:51.15 U1eS11UE
>>363
Mac糞ですよ。

>>364-365
デフォルトONじゃないんならあんまり意味がないですね・・・
やっぱりpearがいいかもしれませんね・・・

>>366
あ、なるほど。確かにそれでもよさそうです。
ありがとうございます。

384:nobodyさん
12/02/04 08:22:34.57
>>383
デフォルトONじゃないんならあんまり意味がないってなんで?

385:nobodyさん
12/02/04 10:37:06.19
ruby使いはmac多いよね

386:nobodyさん
12/02/04 13:20:31.56
>>379-382
自演

387:nobodyさん
12/02/04 13:57:05.22
>>386
で?

388:nobodyさん
12/02/04 14:32:14.11
アスペだなこれは

389:nobodyさん
12/02/04 15:00:53.01
>>387-388
自演

390:nobodyさん
12/02/04 15:10:31.66
質問にならない質問されても答え用がない

いくら煽っても答えは返って来ませんよ

391:nobodyさん
12/02/04 16:37:51.29
>>390
自演

392:nobodyさん
12/02/04 17:58:53.68
PHP
時代遅れの言語

393:nobodyさん
12/02/04 20:46:14.96
Even obsolete Japanese. so u japanes ban.

394:nobodyさん
12/02/04 21:54:40.60 yD/6arhr
PHPとMySQLで掲示板を作ったのですが、セキュリティ対策で気を付ける事ってありますか?
XSSとSQLインジェクションは対策済みです
興味本位でHPを作ってみたものの、ハッキングが怖いです

395:nobodyさん
12/02/04 22:22:41.42
XSSとインジェクションがどういうものなのか説明してください

396:nobodyさん
12/02/04 22:24:37.63
>>395
>>1

397:nobodyさん
12/02/04 22:28:59.97
いや、>>394にいったのね

398:nobodyさん
12/02/04 22:37:23.06 Eguip8rZ
クリップボードに出力させる方法ってあるのかな

399:nobodyさん
12/02/04 22:48:09.66
>>394
url晒してください テストします

400:nobodyさん
12/02/04 23:38:32.49
ふと思ったんだがクラックってIDとかパスワードとか盗まないかぎり刑事事件にはならないのかな?

401:nobodyさん
12/02/04 23:43:07.68 K4OjxyJF
>>400
盗んでも内容変えなければ大丈夫じゃない?

402:nobodyさん
12/02/05 01:01:57.08
某図書館のサイトで蔵書データ調べて逮捕されたヤツいたな
立件されなかったけど1ヶ月くらい拘束されてたと思う

403:nobodyさん
12/02/05 01:02:54.82
全然かんけいねーw

404:nobodyさん
12/02/05 01:21:03.96
最近法改正だかなんかされたじゃん
不正アクセス禁止法かなんかで
パスワードを入手しようと試みる行為を罰する規定を設けるって
もしかしたらまだ立案段階かもしれないけどそんな話があったとだけ

405:nobodyさん
12/02/05 01:21:53.98
URLリンク(sankei.jp.msn.com)
これだ

406:nobodyさん
12/02/05 01:55:21.54
IDパス盗まれるような奴らが国会で審議するのか
バカのためにバカがつくるバカ基準の法律
The government of the baka, by the baka, and for the baka

407:nobodyさん
12/02/05 13:55:33.69
で、お前らプログラミング歴何年なの?

408:nobodyさん
12/02/05 14:24:31.30
>>407
>>1

409:nobodyさん
12/02/05 14:51:11.60
>>402
元ネタ知ってるけど、ここまで話が変異するんだなw

410:nobodyさん
12/02/05 16:22:03.34 i7H07Acw
【OS名】Linux系
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL GD2
【質問内容】
PCとスマホ用のサイトを作りました。
ここまでは全てUTF-8で書いています。

今度はガラケー用のサイトを初めて作ることになって、
Shift JISで入出力するらしいのですが、どのように作ればいいでしょうか。
ぐぐったらsmartyというのでやるのが簡単と書いてあるのがありますが、
経験がありません。他に適当な方法がありますか?
基本的に、全キャリア共通サイトとして書くつもりです。

411:nobodyさん
12/02/05 17:01:27.26
UTF-8でおk

412:nobodyさん
12/02/05 17:25:00.23
>>410
mb_convert_encodingかければいいという話ではなく?

413:nobodyさん
12/02/05 17:28:45.31
>>410
文字コードに自信がない人はUTF-8使って下さい
SJISは潜在的なセキュリティリスクを孕んでるのでよくわからない人が使うのは危険です
ガラケーも今時UTF-8で問題ありません

414:nobodyさん
12/02/05 22:14:06.28 i7H07Acw
>>411-413
ありがとうございます。
ひとまずUTF-8で書いて確認してみることにします。

携帯サイトの開発者さんって3キャリア分の端末と契約持ってるんですか?
ウィルコムとEMnetはどうしたらいいでしょうか。

415:nobodyさん
12/02/05 22:53:19.06 xvPPfzP0
>>414
3社のはエミュレータ使うといいよ

416:nobodyさん
12/02/06 00:36:16.14
ちょっと古いauがなー

417:nobodyさん
12/02/06 00:37:45.04 O5qz7xhM
>>416
どのくらい古いとアウトですか?

418:nobodyさん
12/02/06 01:00:04.26
ちょっと古い
URLリンク(symple.jp)

419:nobodyさん
12/02/06 01:06:28.25 O5qz7xhM
>>418
ありがとうございます。
よくわかってないんですが、最初からwordpress使えば
スマホ、携帯サイトも簡単にできちゃうんですかねえ?

420:nobodyさん
12/02/06 02:39:19.20 poXN+WMF
PHPを実行しているサーバーがMacか、環境変数などから自動的に判断するいい方法ってありますか?
Windowsは分かりやすいんですが、macとlinuxの切り分けが難しい。

421:nobodyさん
12/02/06 02:41:27.00
>>420
URLリンク(php.net)

422:nobodyさん
12/02/06 22:53:18.01 C3dZcj35
最近PHP始めたんですが、Smartyってフレームワークはマニアックなんでしょうか?


423:nobodyさん
12/02/06 23:13:44.85
質問にならない質問はご遠慮下さい

424:nobodyさん
12/02/07 01:32:37.59
>>422
まじめ話アブノーマルだと個人的には思う
デザイナーとの仕事が分担できてない環境下だと
結局プログラマがHTMLに仕込んだりしてただただしんどいだけ

425:nobodyさん
12/02/07 03:38:23.51
フレームワークじゃないよって突っ込むところじゃないのか?

426:nobodyさん
12/02/07 13:10:03.09
【OS名】CentOS
【PHPのバージョン】6.0
【連携ソフトウェア】MySQL
【質問内容】
PHPからselect * INTO OUTFILE を行うと文字化けしてしまいます。
DBもスクリプトもUTF8で統一しているのですが、どのあたりから調査すればいいのか検討がつきません。
文字化け解消についてアドバイスいただけないでしょうか。

427:nobodyさん
12/02/07 21:05:42.57
>>426
>>1

428:nobodyさん
12/02/07 23:02:38.45
>>426
コンソール立ち上げて直接入れろそれ位

429:nobodyさん
12/02/07 23:53:37.99 +mH02aFr
>>424
デザイナーさんとの仕事分担ってどんな感じなんですか?
現状、デザイナーさんがデザインして、ファイルをもらい、
自分がそこにPHPのコードを埋め込んでいく感じですが、
普通の現場だとどうしてるんですかね。

430:nobodyさん
12/02/08 01:08:26.67
ようするにテンプレートが何かという質問だろそれ
smartyスレにでもいけよ

431:nobodyさん
12/02/08 02:44:51.80
スクリプト使えないデザイナーってなに?絵描きさんみたいなもんか

432: 忍法帖【Lv=9,xxxP】
12/02/08 03:13:14.01
readfile()でダウンロードさせたいんですが
うまくダウンロードするウィンドウがでるときと
readfile()で読み込んだファイルの内容が出力されるときがあります
どうしてこのようになるのかわかりません
説明不足だと思いますがエスパーの方いたらお願いします

433:nobodyさん
12/02/08 03:58:08.72
gzipだから

434:nobodyさん
12/02/08 03:59:26.28
>>432
header('Content-Type: application/octet-stream');

435:nobodyさん
12/02/08 10:22:32.40 3EF2N74K
クッキーについてお尋ねします。

setcookie("TestCookie", "something", time()+3600);

で、クッキーをセットしているのですが、firefoxのアドオン View Cookies1.10.3 で見ると
Expires が Session になっています。ブラウザを閉じると全部消えます。
どんな間違いが考えられますか?

436:435
12/02/08 10:26:44.75 3EF2N74K
セッションスタートすると、そちらで上書きされてしまうってこともありますか?

437:435
12/02/08 10:30:54.77 3EF2N74K
すみません、解決しました。
ブラウザの設定の問題でした。

438:nobodyさん
12/02/08 16:44:06.52 vfdEsjRW
Smartyスレが見当たらない(消えた?)のでこちらで・・・

Smartyで外部ファイルを読み込む場合、テンプレートとして読み込む(include等)と
変数割り当て等の解析が必要ない場合でもコンパイルされて、
外部ファイルが(別プログラムによって)変更された場合などには、再コンパイルするコードが必要になってしまいます。
Smarty内でこれを解決する(解析不要でただ読み込む)ことって可能でしょうか。

単純にPHPスクリプトで読み込んで変数に割り当てる方法でも対応できますが、
Smarty内からの関数呼び出しで他のテンプレートと同じように扱えればと思いまして・・

439:nobodyさん
12/02/08 17:59:23.48 2t5iqwD7
マルチタスク(スレッド)の勉強をしているのですが、
curl系の関数を使う方法しかないんですかね?
curlだとURL指定で並列実行になりますが、
URLから実行せず、絶対パスで指定できたらと思っています。

curl以外の方法かライブラリがあれば教えてください。

440:439
12/02/08 18:24:02.84 2t5iqwD7
自己レスです。fsockopen使う方法で出来ました。
簡単なので、こちらの方法で行きます。

441:nobodyさん
12/02/08 18:54:52.14
PHPでマルチスレッドの話になるとすぐcurlってなってるけど、
平行してWebリソースにアクセスすることとマルチスレッドが同義であるという理解が広まってんのかな

442:nobodyさん
12/02/08 19:06:03.75
>>438
fetch

443:nobodyさん
12/02/08 20:27:56.40
>>441
じゃ、どうするのが良いの?

444:nobodyさん
12/02/08 20:54:21.52
>>443
何をするのに?

445:nobodyさん
12/02/08 20:59:17.10
>>444
いや、マルチスレッドの話だろ?

446:nobodyさん
12/02/08 21:04:25.70
アスペ注意

447:nobodyさん
12/02/08 21:22:54.15
アスペの意味を分かってないかわいそうな奴

448:nobodyさん
12/02/08 21:29:29.38
お前のことなんて分かりたくもないよw

449:nobodyさん
12/02/08 21:33:05.09
>>448
アスペ乙w

450:nobodyさん
12/02/08 22:12:19.41 skUmVjLK
>>444
こええ。わざとだよね?

451:nobodyさん
12/02/08 22:48:45.68
前も誰かが言ってただろ

PHPはマルチスレッドに対応していない
curlで出来るのはマルチスレッドモドキだって

452:nobodyさん
12/02/08 22:51:01.40
マルチスレッドキモイに見えた

453:nobodyさん
12/02/08 23:44:16.03
マルチタスクとマルチスレッドを混同する人、多いね。


454:nobodyさん
12/02/09 01:41:30.50
多い?
混同してるのは質問者だけじゃん

455:nobodyさん
12/02/09 02:47:23.28
ググったら混同している人が多いから、=多いという解釈でも良いと思う

456:nobodyさん
12/02/09 02:54:23.71
>>445,450
ん?並列処理を行うことが目的なの?
目的によって手段を変えるのは当たり前なんだから>>444は別におかしくないだろ

457:nobodyさん
12/02/09 02:56:55.02
>>441が言っている
「並列処理=並列してWebリソースにアクセスすること」
って考えしかないからそうなるのかな。
それが目的ならcurlでいいんじゃね、とは思うけれど。

458:438
12/02/09 09:29:47.73 vkcl0tGl
>>442
ありがとうございます。万事うまくいきましたー

459:nobodyさん
12/02/09 10:48:15.39 /qdirMi/
PHPerの常識

マルチタスク=マルチスレッド

460:nobodyさん
12/02/09 11:01:18.23 mqFxDq28
【OS名】OS問わず?
【PHPのバージョン】PHP5以降
【質問内容】

変数の未定義を注意されるので、自作のスクリプトで使用している変数・配列を
$value = NULL; で全て初期化していますが、関数によっては初期化しても勝手に未定義に戻されてしまうようです。
例えば以下のようなparse_urlがそのひとつなのですが、皆さんはどのように処理してますか?関数から得た値は全部isset等でチェックしています?それともerror_reportingを変えて無視してますでしょうか?
正直なところ、スクリプト内で使用されている関数を通した変数全部チェックするのはとても大変なのでそこまですべきか悩み中です。
php -l phpスクリプト ではチェックしてくれないですよね?

parse_urlを使ったスクリプト例
<?php

error_reporting(E_ALL);

$a = NULL;
$a['host'] = NULL;

$a = parse_url("www.google.com");

if ($a === false) print "parse_url is false\n";

print $a['host']."\n";

?>

実行結果
Notice: Undefined index: host in /home/test/test.php on line 12


461:nobodyさん
12/02/09 11:16:27.50
$a = NULL;
$a['host'] = NULL;
で、上の行は意味が無いし、
$a = parse_url("www.google.com");
で上の2行が意味なしになるのですが、分かります?

462:460
12/02/09 11:19:34.68
>>461
はい。値が上書きされてしまうので意味なしになるだろうとは思いました。
こういう場合、一般的にどう対応されているのかなー と思いまして。

463:nobodyさん
12/02/09 11:26:51.20
isset( $a['host'] ) でチェックかな。

あと、そもそものNotice: が出るのは、 
parse_urlの仕様では、'host'が必ず含まれるわけではないからだね。
初期化の話じゃないのよ。

URLリンク(php.net)
でhostが出るような例をみるといーよ。

464:nobodyさん
12/02/09 11:48:50.45
本当にくだらない質問なんだけど、皆は
<?php の次の行はインデントする派? しない派?

465:460
12/02/09 11:56:22.30
>>463
回答ありがとうございます。
やはり、怪しい関数は全て割り出してissetでチェックですかねー。

parse_urlでは'host'を使うなら'host'をissetでチェックして
セットされているか確認する必要がありそうですね。
上記の例では'path'にwww.google.comが入るみたいですね。


466:nobodyさん
12/02/09 12:06:12.88 vkcl0tGl
>>462
頻繁にではないけど、もともとの$aを初期値としてセットしといて
関数の戻り値を$aにマージするようなコードを書くことはあるよ。
$a = array('host'=>null); // 初期値
if (($b = parse_url('...')) !== false) {
$a = $b + $a; // or $a = array_merge($a, $b);
}

467:460
12/02/09 12:52:42.76
>>466
なるほど。そういう方法もあるわけですね。


468:nobodyさん
12/02/09 14:13:49.01
>>464
しない

469:nobodyさん
12/02/09 15:55:27.21
>>464
したことないなぁ。

470:nobodyさん
12/02/09 18:16:16.58
>>464
俺はしてる。
大した理由なんて無いよ、ただ何となく、見た目の問題。

471:nobodyさん
12/02/09 19:45:03.31
netbeansをデフォルトの設定で使ってるけどしてないな。

472:nobodyさん
12/02/10 00:34:21.63
>>464
してない

473:nobodyさん
12/02/10 01:21:29.34
>>464
ないわー

474:nobodyさん
12/02/10 01:24:38.27
やっぱしないほうが多数なのか。
俺もそうしよう。 回答有難う

475:nobodyさん
12/02/10 01:31:09.96
>>461
そんなことするなら
if(empty($a) && isset($a['host'])){
echo $a['host']."\n";
}else{
echo "parse_url is false\n";
}

でいいんじゃ?

476:nobodyさん
12/02/10 12:33:14.85 LrusZM1c
バグがでるのは仕方が無いことだと思うのですが、
バグを最小限に押さえるのに良い方法ってありますか。

477:nobodyさん
12/02/10 13:33:19.68
>>476
書く前によく考える

478:nobodyさん
12/02/10 14:16:48.87 LrusZM1c
>>477
考えて考えて、
とりあえず書いてみて 
でも、ゆわれるまで気づきません。



479:nobodyさん
12/02/10 14:46:01.17
>>476 圧縮バッグ

480:nobodyさん
12/02/10 15:08:52.50
超低レベルの質問で恐縮です。

配列の中身が
Array
という文字列で出力されてしまうのですが、これはどうしてでしょうか?

481:nobodyさん
12/02/10 15:09:31.57
中身が配列じゃないの?

482:nobodyさん
12/02/10 15:30:01.53
>>481
そのとおりでした。
ありがとうございます。
m(__)m

483:nobodyさん
12/02/10 16:29:00.81 LrusZM1c
URLリンク(d.hatena.ne.jp)
当てはまりすぎるんですが、ヤバイですか?

484:nobodyさん
12/02/10 17:21:29.90
いえ、キミはプログラマではないのでヤバくないです

485:nobodyさん
12/02/10 18:45:58.39 e8YNZNTF
>>483
プログラマと呼べるレベルじゃないのにほとんど当てはまらなかった

486:nobodyさん
12/02/10 19:26:49.48
>>483
これ面白いな。GJ

487:nobodyさん
12/02/10 19:30:17.25
逆に、こういうのを経験してこなかったプログラマ使い物にならん気もするけどな。

488:nobodyさん
12/02/10 19:42:29.54
>変数名が女の名前
これおまいらもやってるのか?www

489:nobodyさん
12/02/10 21:44:07.87 2T73dJDE
関数がFALSEを返すのFALSEはfalseと定義されてるけど、
FALSEがfalseではなくなるかもしれないから
FALSEであることを期待してfalseと比較なんかしちゃってると
痛い目に遭いますよという事で良いですよね?

490:nobodyさん
12/02/10 21:49:35.75
URLリンク(php.net)

ぜんぜん違う。

491:nobodyさん
12/02/10 21:49:43.60
>>489
falseと比較するときはFALSEを書くべきなんじゃまいか?

492:nobodyさん
12/02/10 22:45:10.70 2T73dJDE
あーわかった。
zend_constants.c上ではTRUE, FALSE, NULLと全部大文字で
定数に登録しようとしてるけど、大文字小文字は無視してるから
小文字に変換されて登録されてて、zend_compile.cで使う時も
小文字に変換し直してハッシュから定数を引っ張り出すだけだったw

493:nobodyさん
12/02/10 22:47:02.97
FALSEとfalseが違うものだと思ってたの?

494:nobodyさん
12/02/10 23:47:10.19
ところでFALSE って、なんて読んでる?
フォールス?フォルス?フォールズ?

うちじゃ、ホルスw って読んでる人が一番多いようなw

495:nobodyさん
12/02/11 00:28:43.74
フォルス一択

496:nobodyさん
12/02/11 02:22:50.24 nzSgga7d
フォルス

497:nobodyさん
12/02/11 13:25:30.90 dnJZM8FP
すみません、ここが適当でなければ誘導をお願いします。

Mac OS XのXAMPP環境にpeclでmemcacheをインストールしたのですが、有効になりません。
php.iniにはextension="memcache.so"が追加されています。(自動で追加されていた)

試しに、pecl install mongoしてみたら、こちらは問題なく有効になりました。(phpinfo()で確認)

何が原因か分かりますでしょうか?

498:nobodyさん
12/02/11 13:46:54.27
>>497
初心者はXAMPP使うな

499:nobodyさん
12/02/11 14:06:29.61 dnJZM8FP
すいません、初心者じゃないんで、XAMPP使います。

500:nobodyさん
12/02/11 14:15:29.85
じゃ好きにしてくれ

501:nobodyさん
12/02/11 14:49:26.56
>>497
vimwareでも買ってcentosでも入れて勉強した方が良いと思うな

502:nobodyさん
12/02/11 15:08:08.04
逆ギレくっど

503:nobodyさん
12/02/11 15:12:31.66
>>494
ファルセ

504:nobodyさん
12/02/11 15:15:21.43 dnJZM8FP
>>501
vimwareって何ですか?

505:nobodyさん
12/02/11 15:32:18.38
>>504
書き間違えって奴だ

506:nobodyさん
12/02/11 15:55:57.42 dnJZM8FP
あー書き間違いですか。
じゃぁ、CentOSってくだりも書き間違いかな?
CentOSはpeclでインストールするよりyumの方がいいから。

507:nobodyさん
12/02/11 17:30:38.33
有効になっていないことをどう確認したのかと、パスの通ったところにsoがあるのかを確認したらどうか。

508:nobodyさん
12/02/11 18:05:45.75
超くだ質ですが、英語の変数名・関数名だと長くなる場合、どうしてますk?

「設立日」の値を保存する変数があったとして、
$establishment_day → 英語変換
$est_day → 短縮
$setsuritsu → ローマ字

などに出来ますが、長すぎると読みづらいし、
短縮文字だとわかりづらい場合があります。
(messageをmsgにするなど、一般的な短縮文字ならわかるのですが・・・

みなさんはどうしてますか?

509:508
12/02/11 18:06:06.37 bam167aq
sageてました・・・

510:nobodyさん
12/02/11 18:11:09.41 dnJZM8FP
>>507
有意義なレスありがとうございます。
phpinfo();とclass_exists('Memcache');で確認しました。

XAMPP for Mac OS X のextensionは、以下のディレクトリに入ります。
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/

上記に、pecl install memcache した memcache.so がインストールされています。
これが有効にならなくて悩んでいます。

試しに、pecl install mongo した mongo.so (phpinfo()で有効になっている)を
_mongo.so にリネームすると、無効になるので、このパスで合っているはず。



511:nobodyさん
12/02/11 18:15:17.70 dnJZM8FP
>>508
あまり一般的な短縮名でなければ、長いままにしておきます。
一々仕様書やコメントを読まなければいけないのは、他人に不便だと思うので。

長い関数名や変数名はスペルミスや覚えられないという問題もあると思いますが、
入力補完してくれるエディターを使えばいいと思います。

512:nobodyさん
12/02/11 18:35:54.65 dnJZM8FP
あ、わかったかも。
PHPのコンパイルオプションに、--enable-memcacheが付いてないからかな?

513:nobodyさん
12/02/11 19:08:10.33 F655tJI8
>>508
俺なら$e_day

514:507
12/02/11 19:10:56.25
>>512
> Newer PHP versions don't have a --enable-memcache options; simply installing the PECL package will be enough... so to be absolutely clear, you WON'T have to recompile PHP to use memcache.
ってのを見たので、configureのオプションにあるならつけないとだめかも

515:nobodyさん
12/02/11 19:20:50.28
>>513
俺もたぶんそうする。

ちなみに今使ってる変数名
$t_name
$t_t_name
$r_name

入力補完もあるし、他の人が読むことを考えると、
もっとわかりやすい方がいいんだろうけど。

516:nobodyさん
12/02/11 20:08:28.77
コメントに変数の正式な意味を書いておけばよさそう

517:nobodyさん
12/02/11 20:22:41.21 nzSgga7d
>>515
俺だけじゃなくてよかった

518:nobodyさん
12/02/11 21:25:26.47
キャメルケースにしないの?

519:nobodyさん
12/02/11 21:31:29.08
>>518
宗派の違いだな。
俺の宗教には位牌はない、みたいな。

520:508
12/02/11 22:01:37.87 bam167aq
$e_dayまで短縮するとは思いませんでした。
これだと自分の場合、「終了日」と誤解しそうで。

キャメルケースは関数名に使うことありますが、
変数名はないですね。

コメントとか仕様書に残せばある程度短縮文字でも良いんですかね。
さすがに$establishment_dayは長すぎてパッと見た瞬間分かりづらいし。


521:nobodyさん
12/02/11 22:12:24.31
>>520
関数名には使うことはあるけど変数名に使わないのはなんで?

522:nobodyさん
12/02/11 23:53:10.01 ec+1ByNd
xdebugを使ってデバックをしたいのですが、失敗続きです。

【サーバ環境】
CentOS6.2 + xdebug 2.1.3

php.iniの設定
[XDebug]
extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9001 <- 9000ではNGという海外の書き込みを見て変更
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.0.100
xdebug.remote_mode=req

phpinfoでxdebugがenableになってるのを確認

【クライアント環境】
Windows 7 + Eclipse Indigo
ネットワーク設定->192.168.0.100/24 固定IP サーバからping確認
ファイアウォール設定->受信規則にポート9001を受け入れるように設定

下に続きます。

523:552
12/02/11 23:53:35.89 ec+1ByNd
【Eclipse Indigo設定】
[ウィンドウ]-[設定]-[PHP]-[DEBUG]
でXdebugを選択、ポートを9001に変更、serverもサーバのIPで設定、他はデフォルト
[デバッグの構成]
sever debugger->xdebug
phpserver -> 上で作成した設定を指定 File->デバックするファイルを指定、他はデフォルト

【症状】
デバックを実行すると、デバッグ用のパースペクティブになるのですが、
ブレークポイントで止まった感じも無く、実効結果がすぐに[内部webブラウザー]と[Debug Output]に表示されます。

どうしたら良いでしょうか・・。


524:nobodyさん
12/02/12 17:42:49.77 T+9lcsG5
filesizeで取得したファイルのサイズを
KBに直すには、1024を掛けるのでよろしいでしょうか?
1000を掛けるのでしょうか?
$size=@filesize($upload_name)/1024;

525:nobodyさん
12/02/12 18:03:48.04
>>524
KBにしたいなら1000を掛ける
KiBにしたいなら1024を掛ける

526:nobodyさん
12/02/12 19:44:33.66
割ってますけど。

527:nobodyさん
12/02/12 21:47:54.78
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  filesizeで取得したファイルのサイズを
  ヾ;;;ハ    ノ       .::!lリ;;r゙  KBに直すには、1024を掛ける・・・・
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!

528:nobodyさん
12/02/12 22:22:13.85 E3xYO+Pk
二重投稿を防ぐスクリプトってcookieを使うって書いてるサイトが多々あるんですけど、
これってcookieを削除したら再投票可能ですか?

529:nobodyさん
12/02/12 22:28:44.89
ヤフーがそう
私もそう思う 私は思わない ってやつ

530:nobodyさん
12/02/12 22:37:51.52
>>528
オレならcookie無い場合スクリプト投稿と判断しカウントしない
てゆーか実験してみればいいじゃん

531:nobodyさん
12/02/12 22:45:37.90 E3xYO+Pk
>>530
ありがとうございます!
わざわざ書いて試すのがめんどーだったから尋ねたのですが教えてくれそうにないので試します

532:nobodyさん
12/02/12 22:51:23.49
>>529
cookie消せば数字増やせるけど、
IPも見てるみたいで一定以上は増えなかった記憶がある。

533:nobodyさん
12/02/12 22:54:57.96
丸投げ失敗でござる

534:nobodyさん
12/02/12 23:05:15.68 MdyL4A8R
WordPress、OpenPNE、
またsymfonyやCakePHPなどのフレームワークもみんな重いです。

これらの重さはPHPだから仕方がないの問題なのでしょうか?


535:nobodyさん
12/02/12 23:10:11.35
そういえばWordPressつかいのオネーチャンがバカッターで泣き入れてた
php6.0とかになって一斉に動かなくなったらワロリンコ

536:nobodyさん
12/02/13 02:47:58.30
>>534
基本的にフレームワークはソースを効率化する為に使う物で
その為に余計な処理も入るから重くなるんだよ。
重さを軽減させるために、キャッシュ機能を使うけどね。

開発効率か速度かどちらか重視して使えば良いんじゃないかな。

537:nobodyさん
12/02/13 12:31:14.14
>>536
重くなるのはPHPのインタープリタの特性と
キャッシュの貧弱さに由来すると思うけど。
PHPでオブジェクト指向のパフォーマンスはほんとにダメ。

538:nobodyさん
12/02/13 13:57:31.22
そんなこより天皇ヤバくて年号変わりそうだけど
優秀なオマエラならモジュールの結合テストもう済ませてるよな

539:nobodyさん
12/02/13 14:10:49.16
今上天皇はお前らより長生きするよ

540:nobodyさん
12/02/13 15:01:11.94
年号が変わるって何言ってんの?

541:nobodyさん
12/02/13 17:05:49.64
いまどき元号使ってるアホはポンドヤード厨と同レベ

542:nobodyさん
12/02/13 17:13:35.56
こんなのでオタつくのは、プログラマーじゃねーよ。

543:nobodyさん
12/02/13 17:35:35.21
昭和→平成の時、公文書の印刷だったから元号全部手直ししたが、
今はどうなんだろうな。

544:nobodyさん
12/02/13 17:41:53.44
うちは全部西暦だわ。
キリストが再臨すれば困ったことになるな。

545:nobodyさん
12/02/13 18:00:01.82 xFiWWsj/
陛下には申し訳ないが、平成早く終わってほしい。
バブルの崩壊、日本の失われた20年は平成になったあたりから始まった。
年号が、変われば、きっと日本は明るくなる。

次の年号は上世とか、登安とか、上ってく名前がいい。

546:nobodyさん
12/02/13 18:45:44.80
>>545
でも次の奴だって期待できそうにないyo!
もっと悪くなりそう orz

547:nobodyさん
12/02/13 19:11:58.82
>>545
次って今の皇太子が天皇になるってことだよな?それは明るい未来なのかい?

548:nobodyさん
12/02/13 19:16:04.22
>>547
皇太子はいいやつだと思う。

549:nobodyさん
12/02/13 21:48:05.71 dtlHANwt
@arsort($date_before);
foreach($date_before as $value){
$t=0;
$date_after[$t]=$value;
echo $date_after[$t].'<br>';//正常に表示
$t=$t+1;
//echo $value.'<br>';
}

for($t=0;$t<$i;$t++){
echo $date_after[$t].'<br>';//エラーが出る
}

何故エラーがでるのでしょう? どうしたらいいのでしょうか?

550:nobodyさん
12/02/13 21:50:08.09
$iがnullだから

551:nobodyさん
12/02/13 21:53:34.84
nullじゃねーだろ

552:nobodyさん
12/02/13 21:56:57.73
じゃ何?

553:nobodyさん
12/02/13 22:03:58.95
単に定義されてないだけだ。


554:nobodyさん
12/02/13 22:04:01.85 dtlHANwt
$iには50が入ってます。
$iを消して10にしましたが、エラーというか
一番先頭が値がありで、1~9が値なしです。

555:nobodyさん
12/02/13 22:06:33.47
>>553
URLリンク(jp2.php.net)
例1 初期化されていない変数のデフォルト値

<?php
// 設定も参照もされていない (使用中のコンテキストではない) 変数は NULL となります
var_dump($unset_var);

はい残念

556:nobodyさん
12/02/13 22:07:18.05
>>554
3行目で$t=0;してるから

557:nobodyさん
12/02/13 22:52:56.00
foreachの中で毎回 $t=0; をしているのはナゼ?

4行目に毎回 $date_after[0]=$value; をしているわけだが。

558:nobodyさん
12/02/13 23:03:44.80 dtlHANwt
>>556
foreach分の外に出すと、正常に表示されました。
皆様ありがとうございました。

559:nobodyさん
12/02/13 23:10:55.97
>>558
エラーが出たら、まずその内容を読んでみような
大抵の場合そこに原因や解決策が書いてある

560:nobodyさん
12/02/14 01:51:59.94 PYbwAQUM
echo '<input type="button" value="delete" onclick="blue(''$file_name[$image[$t]]'')"/>'
エラーが出ます。onclickで関数を実行でその引数を指定するときは
どのようにしたらいいのでしょうか?

561:nobodyさん
12/02/14 02:05:09.73
htmlの問題だろそれ
吐き出されるソースをよく見てみ

562:nobodyさん
12/02/14 05:16:10.88
>>560
>>559
喧嘩売ってんのか

563:nobodyさん
12/02/14 05:20:47.07
>>561
> blue(''$file
シングルクォートが2個らしいよこれ
なもんで、HTMLエラーじゃないと思う。なもんで>>559

564:nobodyさん
12/02/14 05:32:22.93
ほんとだシングルクオート2個だwww
よく気づいたな

ヒント:
エスケープ
PHPの文字連結はドット

565:nobodyさん
12/02/14 10:32:18.76 VUGkLJ/d
''を\'でいいんじゃない?

566:nobodyさん
12/02/14 13:09:24.88
SQLとごっちゃになったのかな。

567:nobodyさん
12/02/14 13:10:25.69
>>565
それだと変数が展開されないって嘆くことになる

568:nobodyさん
12/02/14 14:54:11.43 Tk30SVBq
phpを実行するとphpソースが表示されます
URLリンク(phpjavascriptroom.com)
のインストール部分をC直下ではなくD直下に変えて他はそのままにして下記のプログラムを実行しました

<?php
phpinfo();
?>

何故でしょうか

569:nobodyさん
12/02/14 15:05:52.59
>>568
ずっと下の方の
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php

この2つがあればそんな風にはならん。
Apache再起動したか?

570:nobodyさん
12/02/14 15:13:14.59 Tk30SVBq
>>569
はい、再起動しました

571:nobodyさん
12/02/14 15:17:14.51
errorlogにphpのバージョン表示出てる?

572:nobodyさん
12/02/14 15:28:56.61 Tk30SVBq
すみません
解決しました
Control Apache Server→Restart/start/stop のRestart/Stopが正常に動作していなかったようです
1回Windowsごと再起動してからもう1度起動するとできました
お騒がせしました

573:nobodyさん
12/02/14 18:54:42.00 VUGkLJ/d
>>567
''→'.
''→.'
こうか

574:nobodyさん
12/02/14 18:58:30.06
\''.$~.'\'

575:553
12/02/14 20:00:27.18
>>555
「結果」は理由じゃないんだよ。
$iが定義されてないから

$iが定義されてないからNULLの値を見せる
は別なの

576:nobodyさん
12/02/14 20:43:51.83
>>575
それ原因同じじゃん

577:553
12/02/14 21:01:40.14
$iが定義されていて、かつNULLってのは考えない訳か

578:nobodyさん
12/02/14 21:09:05.47
へ?575で両方とも定義されていない場合って書いてるじゃん

579:nobodyさん
12/02/14 21:39:24.82
>>575
そもそも、$iが定義されてるかどうかが問題ではなかったんだけれど、その辺はどう

580:553
12/02/14 22:40:54.39
>>579
そういう風に詰めていくならもともとの質問は「エラーが出る」しか言ってないんだから、
NULLだという指摘は、<結果的にそれが原因>という可能性の一つになるだけ。
$iが(引用行外で)定義済みなら、NULLが入っているか、型が違ってるか、$iがarrayならそれがNULLではなくて
空か、ということが考えられる。他方$iがどこでも定義されてないなら定義してないからだ(NULLは単なる結果)、
という風になる。
なお578は論外の売り言葉買い言葉にすぎない。

581:nobodyさん
12/02/14 22:43:48.45
>なお578は論外の売り言葉買い言葉にすぎない。
何言ってんだwごまかしてるだけだろwワロタw

582:nobodyさん
12/02/14 22:46:29.54
>>580
URLリンク(jp2.php.net)
NULL
特別な NULL 値は、ある変数が値を持たないことを表します。NULL は、NULL 型の唯一の値です。

変数は、以下の場合に NULL とみなされます。

■定数 NULL が代入されている場合。

■まだ値が何も代入されていない場合。

■unset() されている場合。

はい残念

583:nobodyさん
12/02/15 00:09:17.17
<?php
echo '<script type="text/javascript">';
echo 'alert("hello world 2012")';
echo "<\/script>";
?>
エラーになるますどうしたらいいですか?

584:nobodyさん
12/02/15 00:16:41.08
>>1

あと昨日のお礼がまだですよ

585:nobodyさん
12/02/15 00:19:05.18
>>583
\

586:nobodyさん
12/02/15 02:50:37.77
>>580
もうね、俺は本当にどうだっていいんだけど、これをみて$iにもっていく勇気が俺にはないだけなんよ。
> echo $date_after[$t].'<br>';//エラーが出る

587:nobodyさん
12/02/15 05:27:01.38 x/xi+W4J
<?php
//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];
// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;
// JPEG形式、GIF形式のファイルをアップロードする
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'アップロード成功':'アップロード失敗';
?>
<img src="<?php echo $upload_name; ?>">

において、全く同じ時間に画像アップロードした場合は
どうなるのでしょうか?
また、画像のファイル名をdate関数で作成したときなどは
どうなるのでしょうか?

588:nobodyさん
12/02/15 05:29:24.65
ファイル名を作成するロジックなんて見当たらないわけだが

ファイル名がかぶる可能性があるなら
連番で振るとか
すでに存在していたら画像の後ろに数字をつけるとか
いろいろ方法はあるでしょう

589:nobodyさん
12/02/15 05:55:11.81 x/xi+W4J
>>588
わかりました。

今、画像アップローダー作ってるのですが(6割ほど完成)
jpg、pjpeg、gif、png、bmpだけに対応でいいですかね?



590:nobodyさん
12/02/15 06:01:50.75
仕様なんて好きにすればええ

591:nobodyさん
12/02/15 09:55:27.24 GiPiqyn4
NULLについて質問させて下さい。
定義しない限りNULLは返らないと思っていたのですが
定義しなくてもNULLが返ってくるというのはどういう場合ですか?

592:nobodyさん
12/02/15 10:17:02.48
明示的に値を返さない関数とか

593:nobodyさん
12/02/15 21:37:22.21
PHP学習中なのでレベルの低い質問ですいません。

ずっとutf-8を使っていたのですが、
GDでの画像描画がutf-8だとうまくいかなかったので
(エラーも何も表示されない)
はじめてutf-8nを使ってみました。

•一般的に、PHPは8nで書いたほうが良いのでしょうか?
•逆に、8nを使うことで発生するトラブルはあるのでしょうか?

594:nobodyさん
12/02/15 21:40:04.41
>>593
質問の回答になってないけど、UTF-8でGD2使えたよ。

595:nobodyさん
12/02/15 21:51:47.31
>>593
質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ

596:593
12/02/15 21:55:40.37 5iudVdKB
sageてた。すいません。

>>594
まじすか。
なんでだろう…

PHP5.3.8でGD2.0.34。
以下のコードをTeraPadのUTF-8で保存するとページ真っ白
UTF-8Nで保存すると意図通りの四角が出ます。
<?php
Header ("Content-type: image/png");
$image = imagecreate(50, 50);
$shikaku = imagecolorallocate($image, 0, 0, 0);
imagepng($image);
imagedestroy($image);
?>

597:nobodyさん
12/02/15 21:56:54.78
>>596
BOMが付いてるからじゃない?

598:593
12/02/15 22:19:48.19
>>593>>596 です。

>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。

知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
>>594はどうしてutf-8で使えたのか
です。

599:nobodyさん
12/02/15 22:21:38.02
>>598
質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ

600:593
12/02/15 22:24:04.09 5iudVdKB
>>599
本 当 に 申し訳ありません…

>>593>>596 です。

>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。

知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
>>594はどうしてutf-8で使えたのか
です。

601:nobodyさん
12/02/15 22:27:49.65
UTF-8のBOMは非推奨だから、PHPだろうが何だろうが使わない方が良い

602:nobodyさん
12/02/15 22:34:15.78
>>600
質問の回答になっているけど、UTF-8Nという呼称自体が元々日本独自の呼称で
最近その日本でもほとんど使用されなくなってきていることから
一般的にUTF-8と言った場合はBOM無しを指すという業界の共通認識があるので
>>594はBOM無しのUTF-8を指していると思うよ。
あと1つ目の質問だけど今時はBOM有りに何らメリットはないのでBOM有りのことは忘れよう。

603:593
12/02/15 22:42:20.59 5iudVdKB
>>593>>596>>600 です。

>>601 >>602
回答本当にありがとう!
TeraPadのデフォ設定ばっちり変更しました。
さよならBOM。

無駄にレス消化しちゃってごめんね。
解決できて感謝してます。

604:nobodyさん
12/02/16 02:36:52.86
TeraPadのUTF-8対応ってたしかまだ不完全だろ

605:nobodyさん
12/02/16 04:18:49.73
UTF-8に完全に対応してるテキストエディタってあるん?

606:nobodyさん
12/02/16 05:03:04.18
スレチ

607:nobodyさん
12/02/16 06:14:28.88
不完全ってどういうことなんだろ。よくわからんけどスレチだからいいか

608:nobodyさん
12/02/16 07:48:03.60 UroJIk1P
すいません、質問です。
最近PHPを勉強しはじめたばかりです。ある書籍を使って学んでいます。
URLリンク(pastebin.com)

上記サイトにソースをコピーしました。
DBから商品リストを取得する際に、5カラムごとに表示させるというものですが、
一応問題なく動きます。ですが、index.phpにそのまま入るとエラーで

Notice: Undefined index: page in D:\xampp\htdocs\shop\index.php on line 3

と、出ます。原因は想像がつくのですが対処法がわかりません。書籍のサンプルを実行したところ
同様のエラーがでていまして。。。

お手数ですが、どうのようにすれば良いのでしょうか?


609:nobodyさん
12/02/16 07:53:32.53
質問お願いします。

フォームから、0216 または 2/16 と入力されるデータを
02/16に統一したいんですが、どんな関数を使ったらいいんでしょうか?
str_replace とか preg_match とか、いろいろありすぎてよくわかりません。
springf で %d を使ってみたのですが、スラッシュ以降が捨てられてしまいました。orz

一文字ずつ文字か数字か調べて、二文字目にスラッシュがでてきたら、最初にゼロを加えて・・・
みたいな処理を書いてもいいんですが、PHPなら一発でやってくれる関数がありそうですよね。
どなたかご存知でしたら教えてください。よろしくお願いします。

610:nobodyさん
12/02/16 07:58:11.14
>>608
$page = '';
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
}

もしくは
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';



611:nobodyさん
12/02/16 08:00:13.36
>>609
>>599


612:nobodyさん
12/02/16 08:00:28.97
>>608
初心者はXAMPP使うな

613:608
12/02/16 08:10:51.64 UroJIk1P
>>610
>>612

返信ありがとうございます。
なるほど・・・。if分と初期化までは浮かんだのですが、$pageじゃなくてpageだしなぁ・・・と考え込んでました。
さっそく試したらばっちりでした。ありがとうございました!。

xamppだめですか; 安全性とかからでしょうか?。。。

614:nobodyさん
12/02/16 08:22:39.74
xampp使うなって言いたいだけだから放置でおk
Undefined index~ってエラーは配列のキーの値が見つからなかった時によく見るエラーだから覚えとくといい
Noticeだから人によっちゃエラーリポートをきって無視するって人もいるが
>>610のissetで最初にチェックする対処法が王道

615:609
12/02/16 08:25:27.77 Dbcdet1T
あ、すみません、sageてましたね ageます

616:nobodyさん
12/02/16 08:28:44.34
xamppはセキュリティーの設定がデフォルトで緩いんで公開サーバーとして使ってはいけないってだけで
ローカルでテストする分には問題ないよ


617:nobodyさん
12/02/16 08:30:59.90
>>615
/を除去してsprintf %04dして最後に真ん中に / 付ければいいんじゃない?
もっと簡単な方法があるかは知らんけど



618:nobodyさん
12/02/16 08:34:59.14 +jbHYpFg
>>610
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
この?と:ってどういう意味ですか?

619:nobodyさん
12/02/16 08:35:48.18
614は素人だな

620:608
12/02/16 08:44:05.91 UroJIk1P
おお、たくさんの返信ありがとうございます。

評価の高かった書籍だったので(ほかの書籍は実は途中で挫折)購入してやってみると
phpっておもしろいなぁと初めて思えていますw

聞いて良かったです。書籍の答えもエラーなので放置してる人もいそうですが、気持ち悪かったもので;
本当にありがとう。

xamppはローカルのみなので大丈夫かな。ありがとうございました。

621:nobodyさん
12/02/16 08:56:43.50
>>618
if (A) { B } else { C }
の略

$page = A ? B : C;


622:608
12/02/16 08:58:51.66 UroJIk1P
あーもしかして、書籍はエラーリポートを切ってるから、何も触れてないのか・・・。
そういえばxampp設定時にiniを触りましたね。。。てことは、デフォルトでは切れてたのか・・・。
なるほど、すごく納得しました。

ありがとう、連投すいません。

623:nobodyさん
12/02/16 09:08:57.78
昨夜の人と同じ人?

624:608
12/02/16 09:15:50.47 UroJIk1P
>>623
私?別人です。

625:nobodyさん
12/02/16 09:20:25.11 Dbcdet1T
>>617
ありがとうございます。それでやってみます!

626:625
12/02/16 09:22:23.87 Dbcdet1T
あ、だめだ・・・

最初に スラッシュを取り除くと、 1/27 と 12/7 の区別がつかなくなってしまうんです。
入力する人たちに統一してもらえたらいいんですが・・・。

627:nobodyさん
12/02/16 09:26:37.06
0127や0101はいるけど127とか11と入力する人はいないの?

628:nobodyさん
12/02/16 09:30:16.32 +jbHYpFg
>>621
へえ、そういう記法があったのですね。ありがとうございます。

629:nobodyさん
12/02/16 09:35:11.87
三項演算子っていうんだがif文の代わりに使いまくるのはやめましょうね

630:nobodyさん
12/02/16 09:39:59.90
>>609
作れるなら素直につくってください

631:nobodyさん
12/02/16 13:02:15.76
>>626
スラッシュつきを先にやれば問題ないでしょ。
あと環境かいてないから提供されてる関数については教えられず。

632:nobodyさん
12/02/16 13:33:51.23 RNA+7C4L
csvの比較して抽出する物を作りたいのですが

csvA

hoge@hoge.com,田中太郎
hoge2@hoge2.com,山田花子
hoge3@hoge3.com,鈴木太郎

csvB
hoge@hoge.com
hoge3@hoge3.com

と、2つのCSVがあるとして

phpを実行すると

csvC
hoge@hoge.com,田中太郎
hoge3@hoge3.com,鈴木太郎

というようにcsvBに一致する行を抽出して別csvに保存出来る物を作りたいです
どうすれば出来ますでしょうか?

お願いします

633:nobodyさん
12/02/16 13:43:19.73
csvを配列A、Bにぶち込んで
foreachで回して適合したヤツを別の配列Cにぶち込んで
配列Cをcsvで吐き出すかんじか

DBつかったほうがサバに優しいと思う


634:nobodyさん
12/02/16 13:58:17.91
>>633
レスありがとうございます
一度試してみます!

ローカル環境で使用するつもりなのでphpで行いたいと思います


635:nobodyさん
12/02/16 14:11:37.35
phpでDB使うのが一番。
すぐ慣れるしできることが広がる

636:nobodyさん
12/02/16 14:14:14.01 2CwemWqC
AをDBにいれてやったほうが確実によろしい

637:nobodyさん
12/02/16 14:23:58.88 RNA+7C4L
>>635
>>636
レス有難うございます

当方php初心者な者で・・・
mysql+phpでinsertくらいは出来るのですが
イマイチ今やりたい事がどうやれば出来るのかがわからないです;

638:nobodyさん
12/02/16 14:31:36.91
DBならtableA、Bをつくって いい感じに結合する
論よりrunっていうじゃん
とりあえずコード書いてみて動かなければスレ住人がアドバイスくれると思う

丸投げなら5000円でやってあげなくもない

639:nobodyさん
12/02/16 15:07:23.79 kcwNwXq8
>>631
なるほど。strposでスラッシュを探して、ありやなしやで処理を変えて
strtotimeとdateあたりで、できそうですね。ありがとうございました。

640:nobodyさん
12/02/16 15:08:59.12 kcwNwXq8
ID変わってました、>>639 = 625です、ありがとうございました。

641:nobodyさん
12/02/16 15:09:33.74
>>639
いったん全部同じフォーマットにしてしまうという方法もある。
数値型にしてしまうとか、日付型にしてしまうとかね

642:nobodyさん
12/02/16 15:12:07.26 ySUB6ST3
サクラちゃん!オレにエロい幻術をかけてくれってばよ!!

643:nobodyさん
12/02/16 15:18:32.11
$a = file("a.csv",FILE_IGNORE_NEW_LINES);
$b = file("b.csv",FILE_IGNORE_NEW_LINES);
$fp = fopen('c.csv', 'w');
foreach(file("a.csv") as $var){
$l=str_getcsv($var);
if(in_array($l[0],$b))fputcsv($fp, $l);
}
fclose($fp);

644:nobodyさん
12/02/16 16:09:17.55
もれそうです
ぶちゅーぶりぶり

645:633
12/02/16 18:14:40.57 RNA+7C4L
>>643
ありがとうございます;;
助かりました

646:nobodyさん
12/02/16 18:22:00.74
あそこ直して使ってね・・・

647:633
12/02/16 18:44:18.58
>>646
そのまま使えたのですが
直すところってあるのでしょうか?

648:nobodyさん
12/02/16 18:47:40.34
$aどこでつかってるのとかw

649:nobodyさん
12/02/16 21:29:38.02
CSVが1レコード1行と思ってる辺りも使えない

650:nobodyさん
12/02/17 07:27:18.28 uCAZxDKu
おはようございます。昨日、Notice: Undefined index~ のエラーについて質問したものです。
今回も同じような質問で恐縮なのですが、Notice: Undefined index~エラーが連発しました。
元ソースです URLリンク(pastebin.com)

エラ- Notice: Undefined index~ line 36 37 45 46 54 55

そこで、昨日教えて頂いたので、自分なりに追記し、エラーを掃かなくなりました。
4行目と27行目に追加 URLリンク(pastebin.com)

この書き方で良いのでしょうか?
少し疑問に思ったのは、今回のような場合の大きいフォームの時に、冒頭に多数の配列のキーを書いていくことになるのでしょうか?
他に方法があるのでは?と、ご教授願いたく質問させて頂きました。

よろしくお願いします。

651:nobodyさん
12/02/17 07:29:20.07
>>650
マニュアル読んだことある?

652:650
12/02/17 07:34:52.02 uCAZxDKu
>>651
返信ありがとうございます。

マニュアルは、はい、一応見てはいます。見てはいるんですが、なかなか理解が。。。
それで、別のブログ?とかで説明して頂いてるようなサイトも見たり。

理解が乏しくてすいません。

653:nobodyさん
12/02/17 07:38:07.95
XAMPPで楽に環境作って開発始めるのはいいけど、
それで手を抜いてマニュアル読まないようじゃ、本末転倒だと思うよ

654:650
12/02/17 08:03:12.13 uCAZxDKu
>>653
返信ありがとうございます。

あの、とても質問しにくいのですが、
マニュアルとはarrayについてなのでしょうか、それとも、追記のそのものが違うということなんでしょうか。

arrayは、キーが整数ならば多少の省略ができるみたいですが、文字列となると単純には難しい感じなのかな。
連想配列のキーが何であっても空を入れるような・・・というより$errorはキーさえも入ってない状況?だから
どうでにもできないのかな?

とマニュアルを見て思いました。

655:nobodyさん
12/02/17 08:11:36.95
今回の件とXAMPPになんの関係があるんだよw
>>650
$error = array('name' => '', 'email' => '', 'password' => '');
これ入れると22行目で常に空じゃなくっていつまでも確認ページにジャンプされないんじゃない?

俺なら先頭に
$data = array('name' => '', 'email' => '', 'password' => '');
// $_POSTからname email passwordがあれば入れる
foreach (keys($data) as $key) {
 if (isset($_POST[$key])) {
  $data[$key] = $_POST[$key];
 }
}
でそれより下の$_POSTを全部$dataに置き換えする


656:nobodyさん
12/02/17 08:18:41.12
>>654
PHPの公式マニュアルは難しい参考書や問題集ではなく、入門向けの基礎ドキュメントになってる。
「はじめに~機能」まではPHP開発者なら当然抑えておくべき知識。上級者でなく初心者のね。
最低限「はじめに~言語リファレンス」までは理解していないと質問の会話も通じないし既存サンプルコードも理解できない。
読んで基礎を身に着けてから開発したほうがいいよ。
(一通りとかじゃなくて、ちゃんと理解して)


657:nobodyさん
12/02/17 08:19:04.20
追記
関数リファレンスは、最低限主要な関数くらいは見ておいたほうがいい

658:nobodyさん
12/02/17 08:19:39.49
てか質問と関係ないこと答えたな
フォーム関係だと、値を確認しないと危ないからどうしても長くなるよ


659:650
12/02/17 08:46:33.43 uCAZxDKu
みなさん、ありがとうございます。

>>655
ご指摘どおり動きませんでした。
エラーが消えて喜んでいたので、このまま参考書通り進めていったら気がつかなかったと思います。
たぶんエラーが消えたので、その箇所が問題だと疑問に思ってなかったと思うのです。
ぜひ参考にさせて頂こうと思います。foreachは浮かんだのに、そこからが出て来ないという。


>>656-658
あー、見てないです・・・知らなかったです。辞書のようなものだと思って
検索エンジンから関数入力して、直接その関数だけのを見てました。
トップページ見たことなかったです。。。
これは、嬉しい。必ず見て理解しながら、今の参考書をやろうと思います。

稚拙な質問ですいませんでした。ほんとにありがとうございました。

660:nobodyさん
12/02/17 09:23:09.19
>>659
俺は657-658だけど、ぶっちゃけ書籍とかいらない。
情報古いし誤記はあるし公式マニュアルの方が詳しいし。
今回みたいなことが発生する度にここで質問してたら一向に先に進まないから
基礎を身に付けてある程度自分で考えたり調べられるようになったほうがいいよ

661:nobodyさん
12/02/17 10:15:08.87
Notice: Undefined indexは最初無視していいよ
実際にサイトに設置するスクリプト書いた時直せばいい


662:nobodyさん
12/02/17 16:27:16.33 w/M88VPz
MVCって、view が、コントローラーありきじゃないですか。
となると、デザイナーが、
「ここ2ページふやしたいな」
「ここ、ディレクトリかえたいな」
とかなったらいちいちプログラマーがコントローラを
書き換えないとダメなんですか?

663:nobodyさん
12/02/17 16:51:20.31 UxdMuJ4N

コントローラがViewのインターフェイスに依存してる

664:nobodyさん
12/02/17 19:36:37.46 7dv+Ag3y
PDOのインスタンス「$dbh」のスコープについて質問です。
ファイルの先頭で、PDOインスタンスを生成して、DB操作をしています。
しかし、関数内では、ローカル領域のため、そのまま$dbhを使用したくても無視されます。

関数内で、DB操作するための解決策として、
1.「global $dbh」のようにグローバル宣言をする
2.「$dbh」を関数の引数で渡す
のように考えたのですが、どうするのがベストなのでしょうか?

665:nobodyさん
12/02/17 20:07:52.04
どっちでも

666:nobodyさん
12/02/17 20:55:18.79
俺なら関数内で
$dbh = $GLOBALS["dbh"];
とかかな

667:660
12/02/17 20:55:35.29
656-657だった

668:650
12/02/17 21:27:24.10 uCAZxDKu
>>660
ありがとうございます。がんばります!

669:nobodyさん
12/02/17 22:58:30.87 MzraE+7u
メール送信について教えて下さい。

機種依存文字とか半角カナに対応する場合、
mb_send_mailよりmail関数で送信する方が良いのでしょうか?
また、iso-2022-jpよりUTF-8の方が文字化けリスクは少ないのでしょうか?

670:nobodyさん
12/02/17 23:22:09.91
どこでそんな情報仕入れてきたんだ

671:nobodyさん
12/02/17 23:39:23.76
通信中の文字化けを減らす目的だったら再送するなどすれば?

672:nobodyさん
12/02/17 23:44:54.56
どういった文字化けなのか調べてから質問しろ。
送信関数のバグか、受信側のエンコード認識ミスなのか、回線に比べサイズが大きすぎて送受信にミスるのか。
いちばん手軽に実装できる方法でやってみてそのエラーを書け。

673:nobodyさん
12/02/17 23:49:47.62 MzraE+7u
どう言った文字化けと言いましても・・・「?」と表示されます。
UTF-8のファイルに、mb_send_mailで機種依存文字や半角カナを送り、
outlookやgmailで受信すると文字化けします。

というか>>669は間違いなんでしょうか?
ググってもmb_send_mailは文字化けするから使うなってあります。
実際文字化けするので、そうなのかとは思いますが、
単にコードの書き方が悪いのかも?と思い、質問した次第です。

674:nobodyさん
12/02/17 23:51:27.34
>>673
コードの書き方が悪いんじゃない?

675:nobodyさん
12/02/17 23:54:35.00 MzraE+7u
mb_language('japanese');
mb_send_mail($email, 'テストメール', 'アアア');

UTF-8のファイルに単純に上記を書いてテストしています。
日本語メールをそう指定しているので、iso-2022-jpになるわけですが、
上記のままだと文字化けします。
mb_language('uni');にしてmail関数で送ると文字化けしません。
だからUTF-8にしてmail関数で送るのが正しいのでは?と思い、質問した次第です

676:nobodyさん
12/02/17 23:56:51.68
languageがuni?

677:nobodyさん
12/02/17 23:57:09.06
mb_internal_encoding

678:nobodyさん
12/02/18 00:04:31.94 XbBhkQAF
とりあえず今のところ↓の書き方なら文字化けしません。
mb_send_mail使っても文字化けしない方法ってあるんですね。
もう少し調べてみます。

mb_internal_encoding("UTF-8");
mb_language('ja');
$to = "メールアドレス";
$subject = mb_encode_mimeheader('テストメール');
$body = mb_convert_encoding('アイウエオ', 'sjis-win', 'UTF-8');
mail($to,$subject,$body);

679:nobodyさん
12/02/18 01:35:47.85
エンコードの自動変換をミスっただけだろ。
要するに設定次第で上手くいく。

680:nobodyさん
12/02/18 05:00:23.69 QcioPwmz
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />

これをHTTP_REQUESTでaddPostDataするにはどうしたら良いでしょうか?

681:nobodyさん
12/02/18 05:12:01.30
>>680
foreach ($_POST['MyArray'] as $v) {
 $req->addPostData("MyArray[]", $v);
}


682:nobodyさん
12/02/18 10:29:51.01 10KYAU7Y
ホストのIP変換が遅いのですが、早くする方法を教えてください。
さくらスタンダード、 PHP Ver5.2.17(CGI版)で、
$ipaddr=gethostbyname($domain);
の時間を測定すると、通常はマイクロ秒くらいの一瞬で終わるのですが、
ときどき5秒くらいかかることがあります。
同じドメインでも一瞬で終わるときと時間がかかるときがあるようです。

683:nobodyさん
12/02/18 11:40:26.02
それはPHP関係ないのでは
関数どうこうでなる問題じゃないでしょう

684:nobodyさん
12/02/18 12:10:41.22 10KYAU7Y
>>683
やっぱり無理ですか、残念ですがガマンすることにします。
ありがとうございました。

685:nobodyさん
12/02/18 18:36:17.03 Agr52FPR
URLのHTMLソースをそのまま取得する方法はありますか?
file_get_contentsだとタグ等を取得できません。
ソースをそっくりそのまま取得するにはどうしたら良いでしょうか?

686:nobodyさん
12/02/18 18:37:10.00 AZw1wiBM
どうでもいいじゃん、そんなこと

687:nobodyさん
12/02/18 18:44:16.60
file_get_contentsでタグを取得できない?なにいってんだ?

688:nobodyさん
12/02/18 18:44:44.12
403でも返ってきてるんだろ

689:nobodyさん
12/02/18 18:46:05.98
ローカルからやれば取得できるさ

690:nobodyさん
12/02/18 18:47:33.53
HTMLソースをそのまま取得しない方法を聞いてるんじゃね

691:nobodyさん
12/02/18 18:58:51.71 Agr52FPR
すいません、初心者なので変なこと聞いてしまっているかも知れませんが、
<?php
echo file_get_contents('URLリンク(www.yahoo.co.jp)');
?>

これだとソースではなくページを表示しますが、これを下のように

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "URLリンク(www.w3.org)">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<meta name="description" content="日本最大級のポータルサイト。検索、オークション、ニュース、メール、コミュニティ、ショッピング、
など80以上のサービスを展開。あなたの生活をより豊かにする「ライフ・エンジン」を目指していきます。">
<title>Yahoo! JAPAN</title>
etc

とソースを表示させたいです、どうすればいいでしょうか?

692:nobodyさん
12/02/18 19:03:43.03
>>691
htmlspecialcharでもかませ

693:nobodyさん
12/02/18 19:40:17.07 Agr52FPR
>>692ありがとうございます、できました。

694:nobodyさん
12/02/18 20:52:04.00 GMcMwBnH
アップローダー作る場合は何か許可等はほしいのでしょうか?
また、利用規約は禁止事項、アダルト禁止や、児童ポルノ画像は
通報する等の警告を書かないとダメだったりしますか?

695:nobodyさん
12/02/18 21:01:41.90
>>694
アダルトはどこからアウトでどこからセーフかという問題があって難しいですね
少年漫画のパンチラレベルならおkなはずです
アダルト画像判別ライブラリがあるといいのですが

696:nobodyさん
12/02/18 21:15:41.43 AZw1wiBM
CGMはユーザがコンテンツをやり取りする場を提供するもの
他人のコンテンツは勝手にいじれない
規約に同意させて特定のコンテンツについて当事者に加えてもらえば自分のもんだから消し放題になる

697:nobodyさん
12/02/18 21:20:25.30
>>696
URLリンク(asonofumoto.cocolog-nifty.com)

698:nobodyさん
12/02/19 02:22:12.54 wQztI7LL
phpでrssリーダーを作りたいんだが、titleを取得してリンクさせるまではできた。
だが、スマートフォンに対応してないニュースサイトがあるため、xmlの中のtitleとbodyを取得して、スマホ向けにデザインを変更したいんだがどうすればいい?
一時的にhtmlを自動生成すればいいの?やり方がわからぬ、、、。

699:nobodyさん
12/02/19 02:23:30.04
>>698
スレ違い
スレリンク(php板)


700:nobodyさん
12/02/19 10:43:18.52 DFHu3tLC
fopenのmodeパラメータですが、
書き込み用モードで開くと自動的に排他制御になるのでしょうか?
同じリソースを使って書き込み/読み込みをしようとa+を指定したとき、
読み込みでも排他制御されてるようです。
これは困るのですが読み込みと書き込みは、
別々のリソースで管理しないとだめなのでしょうか?

701:nobodyさん
12/02/19 11:02:15.97
>>700
flockは入れてるの?

702:nobodyさん
12/02/19 11:14:52.49 ULtF97rd
for文作ってるのですけど、

for(i=0; i<10; i++){
 $data["thanks$i+1"] = $i;
}

だとうまくいかないっす。
i+1をあそこに書くにはどうしたらいいんでしょうか?

703:700
12/02/19 11:15:31.80 DFHu3tLC
>>701
読み込みには入れてません。

704:nobodyさん
12/02/19 11:23:10.10
$t=$i+1;
$data["thanks".$t]=$i;

705:nobodyさん
12/02/19 11:32:17.68
>>704
ありがとう
ちなみに、文の中に数式を埋め込むのは不可なのですか。
関数だったら返り血使って普通にやりますよね?

706:nobodyさん
12/02/19 11:35:07.23
>>703
排他的ロックってのはロックしてる間読み込みも書き込みもできないようにするロックだよ

707:nobodyさん
12/02/19 11:43:36.84
>>705
汚いけどできるよ
$data["thanks".($i+1)]=$i;

708:nobodyさん
12/02/19 11:52:20.82
>>707
できました
あんまり好ましくはないようですね
先に教えてもらった方を使います
どもども

709:nobodyさん
12/02/19 15:38:42.75
返り血・・・血しぶき ドバーッ て感じだ。

710:nobodyさん
12/02/19 22:01:19.96 0c+jTY14
PHPアプリの二重ログイン防止策は、どうのように実装するのが良いのでしょうか?
有名SNSゲームが二重ログインのバグでサービス停止になったらしく気になります。

711:nobodyさん
12/02/19 22:05:18.54
>>710
その話詳しく

712:nobodyさん
12/02/19 22:08:06.99
ドリランドの件じゃなくて?
あれは二重ログインとはまた別の話だよね。
二重ログイン防止はセッションをDBで管理すればいいかな。

713:nobodyさん
12/02/19 23:25:00.75 TyCjVWx4
>>712
ドリランドの件です。
バグの利用だそうですが、「二つの機器のアカウントを同じにする」とあるので、
二重ログインにも関係していると思いました。

714:nobodyさん
12/02/19 23:49:52.59
トランザクションかけてなかっただけの話ではなく?

715:nobodyさん
12/02/20 00:32:56.31 0kztJ4Qe
>>711
URLリンク(blog.livedoor.jp)
遅れてすみません。

>>714
見る限り、トランザクションは関係ないようです。
デュープとかいう手法でアイテムを複製されるバグのようです。

716:nobodyさん
12/02/20 00:51:48.56
変数名に$をつけるとかめんどくせーな

717:nobodyさん
12/02/20 01:11:59.90
>>715
見れば見るほど関係あるように見えるが。
デュープとトランザクションが関係ないという理由は?

718:nobodyさん
12/02/20 01:49:12.03
>>715
トランザクションでググればみんなが言ってる事が理解できるよ
あんたもプログラマの端くれなら
憶測で物事を決め付けてかかる癖は直しなさい

719:nobodyさん
12/02/20 03:43:08.72
デュープとかトランザクションとか横文字に知るからゆとりが混乱するんだろうが
排他制御って書いてやれよ

720:nobodyさん
12/02/20 10:15:38.36
>>713
基本的にこの手のものは二重ログインは防止するものではないよ。
ユーザーがひどく不便になる。

721:nobodyさん
12/02/20 12:18:04.55 GErhC2S3
cURLのIDNを有効にするにはどうしたらいいんでしょうか
"curl idn enable"でggってみてそれらしきページはあったんですが何を言ってるのがサッパリでした
OSはwindows vistaでPHPはver.5.3.8、cURLは7.21.7です

722:nobodyさん
12/02/20 12:56:17.89
>>721
何を言ってるのかサッパリならわからない単語でさらにぐぐらないと。
そうやって技術書をスタックにつんでこそ。

723:nobodyさん
12/02/20 14:12:46.11
うおー、PHP.netがつながらない。困った。

でも俺だけっぽいな?

724:nobodyさん
12/02/20 14:14:15.72
ほんとだつながらない

725:nobodyさん
12/02/20 14:19:42.73 7zywTD2d
>>723
俺も繋がらないよ (千葉県でOCN回線)

726:723
12/02/20 14:23:06.17
>>724-725
うちは、都内でflet's + Interlinkだ。
普通にさば落ちかな。

727:nobodyさん
12/02/20 14:34:51.94
www.php.net→タイムアウト
jp.php.net→変なメッセージが出る
jp2.php.net→サーバが見つからない

728:nobodyさん
12/02/20 14:37:32.11
usの2つは繋がる
URLリンク(us.php.net)
URLリンク(us2.php.net)

729:nobodyさん
12/02/20 14:40:31.59
DNS浸透の問題じゃないか?

php.net
繋がらないPCだと[64.246.30.37]
繋がるPCだと[69.147.83.197]

730:nobodyさん
12/02/20 14:42:50.02
ドドランド詳しく

731:nobodyさん
12/02/20 15:44:56.71
>>716
同感

普段他の言語使ってるから
PHPで依頼されるとき$にイライラする

732:nobodyさん
12/02/20 15:56:02.91
そしたらvarで変数定義して、あとで変数に$を付けるスクリプト作れ。

733:nobodyさん
12/02/20 16:01:28.31
$がないPHPもつくれるだろうが人間の利便性より、解析処理速度を優先したんだろ。
内部コードがUTF16のPHPも作れるが、計画して進展しないのはやはりソースの解析速度だろ。

734:nobodyさん
12/02/20 16:09:55.54
perlの変数に$がついてるからだろ

735:nobodyさん
12/02/20 16:15:07.69
JavaScriptには付いてないけど。
PHPはperlに元にしてるのか。

736:nobodyさん
12/02/20 16:15:38.57
文字列中の展開とかあるしな。
使える記号も選べるほどないし

737:nobodyさん
12/02/20 16:39:46.15
ドのはなぁ…
規模が小さければトランザクションだ~とかで済むけど
規模が大きくなると基本が通じなくなる事もあるみたいだしな

URLリンク(d.hatena.ne.jp)
見たいな事象もあったりするし

それならそれで手を考える必要はあるんだろうが
その手のライブラリをしっかりと整備出来ていなかったのが痛いな

738:nobodyさん
12/02/20 17:21:34.54
だから、現金で取引されるようなデータには
固有の値をいれとけとあれほd

739:721
12/02/20 19:29:31.34
>>722
ウウッ(´;ω;`)ヒントだけでも頼むよぉ・・・

740:nobodyさん
12/02/20 19:35:40.43
>>739
英語だけじゃなくて日本語も読めないの?

741:nobodyさん
12/02/20 19:42:12.40
PHP.net復活したくさ。

742:nobodyさん
12/02/20 20:14:43.94
>>721
再コンパイルの仕方がわからないならxamppからPHP抜いて試してみるとよかろう
俺の使ってるXAMPP Lite 1.7.3のPHP5.3.4はONになってる
最新バージョンがどうかは知らないが
最新のxampp1.7.7はPHP5.3.8だし試してみる価値はあるだろう

743:nobodyさん
12/02/20 20:18:08.26
画像アップロードがほぼ完成して、自分が作ったソースファイルを
読んでたのですか、ifとelseを多用して非常に読みにくくなってました。
php歴2年ですが、これって素人がよくやるようなことなのでしょうか?
なにか解決策はありますか?

744:nobodyさん
12/02/20 20:30:10.23
>>743
>>595

745:nobodyさん
12/02/20 20:43:06.11 NoHq1hRP
正規表現で特定の文字の間の文字を取り出すことはできますか?
例えば、
あいうえおあ
という文字列があったら、あとあの間の文字の(いうえお)を表示する。と言うことは可能でしょうか?

746:nobodyさん
12/02/20 20:46:16.34
>>745
>>1

747:nobodyさん
12/02/20 20:46:30.08
可能

748:nobodyさん
12/02/20 20:49:21.61
>>743
今度からは>>1よめ

ifelse多様してるならswitch文が速いらしい

749:743
12/02/20 21:09:36.19 Hy6/Os+0
すいません、下げてました。

>>748
switch文をを試してみます。

750:nobodyさん
12/02/20 23:39:14.07
>>747ありがとうございます。

751:nobodyさん
12/02/21 00:33:40.75
NginXとFastCGIで、
a.phpで
<?php echo file_get_contents("URLリンク(localhost)"); ?>
として、

b.phpで
<?php echo "hello"; ?>

とすると、固まってしまう。
b.phpで、file_put_contentsとかしてみると出力はあるから、アクセスはしてるんだけど、
レスポンスが取得できてないくさい。
fopenやstream_socket_clientもダメだった。
ちなみにa.phpでhtmlやtxtなどの静的コンテンツは取得できた。
a.phpをコマンドラインで実行すると普通にレスポンス返ってきてるんだが・・・
何が原因なのかさっぱりわからん。

752:nobodyさん
12/02/21 01:13:11.18
>>751
>>595

753:nobodyさん
12/02/21 01:20:19.98
>>752
>>751のどこに質問と書いてある?

754:nobodyさん
12/02/21 02:58:29.45
>>737
ねえ、そのリンク先のだとトランザクション管理できないって言ってる?
そうじゃないなら何でそれ出したの?

755:nobodyさん
12/02/21 06:54:25.99 6SIN0kwR
WikipediaのSingletonのJavaで書かれた項目をPHPに移植したいのですが、
URLリンク(ja.wikipedia.org)

1つ目の例の書き方だと問題ないのですが、
2つ目の例の書き方の2行目をPHPで書くのは無理でしょうか?
同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、
2つ目の例の2行目の書き方がPHPでだめだとして、改善方法はありますか?

final class Singleton {
    private static final $instance = new Singleton();
    private function __construct() {}
    public static function getInstance() {
        return Singleton::$instance;
    }
}
$s = Singleton::getInstance();
$s2 = Singleton::getInstance();
var_dump($s);
var_dump($s2);

Fatal error: Cannot declare property Singleton::$instance final~
そこで$instanceのfinalを取ると
Parse error: syntax error, unexpected T_NEW in~
となります。

外からアクセスできるので質が違いますが、
private static finalに近そうなconstも試して見ましたが同様のエラーが出ます。

756:nobodyさん
12/02/21 07:18:35.44
>>755
コンストラクタ内でやればいいのでは?

757:nobodyさん
12/02/21 07:19:30.05
ああごめん、違うか

758:nobodyさん
12/02/21 07:20:50.57
final外すとか

759:nobodyさん
12/02/21 08:11:46.42
答える側も基本的な事すら調べないのな…

>>755
> 同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、
違う、同期化コストはJavaのsyncronized修飾子に対しての言葉
PHPではif文で毎回調べるのが常套手段となっている

URLリンク(www.php.net)
> 宣言時に初期値を設定することもできますが、初期値は定数値でなければなりません。
> つまり、コンパイル時に評価可能な値でなければならず、
> 実行時の情報がないと評価できない値であってはいけないということです。

760:751
12/02/21 08:31:30.02
自己解決した。単純な話だった

761:nobodyさん
12/02/21 10:14:06.04
ルール無視したまま退散か、このlocalhost野郎

762:nobodyさん
12/02/21 10:14:54.16
ルール守った所でお前みたいな無能には一生わからないからな

763:755
12/02/21 10:19:56.57
>>756-759
レスありがとうございます。

>>759
なるほどそういう意味でしたか。
syncronizedがどういうものかはよくわかりませんが、
PHPでは最初の例が常套手段ということは理解しました。

比較対象のため少しJavaの勉強もしてみようと思います。
どうもありがとうございました。

764:nobodyさん
12/02/21 10:24:44.01 otlrgE39
基本的なことかもしれませんが、教えてください。

ftp_get関数を使って、リモートのファイルをローカルに保存したいのですが
うまくいきません。

リモートでPHPの動かしていると、オフィシャルマニュアルのいうところの
「ローカル」というのは、動いている場所を指してしまうのですか?

具体的に書くとレンタルサーバー上のtest.phpの中で、ftp_get関数を使うと
レンタルサーバーの/home/hoge/に「C:\temp\downloaded.txt」 という名前のファイルが
できてしまってローカルには何もダウンロードされないのですが、これは仕様ということですか?

765:nobodyさん
12/02/21 10:37:35.23
Java知らないのにJavaのコードを移植しようとはこれいかに

766:nobodyさん
12/02/21 10:40:04.48
んな難しいことじゃないだろ
Javaなんて知らんでも>>755程度ならPHPある程度やってるやつなら誰でも移植できる

767:nobodyさん
12/02/21 10:43:47.00
でもつまづいてるのは、知らないからだというw

768:nobodyさん
12/02/21 10:57:28.75
>>764
ローカルとは実行してるコンピュータのこと
当然レンタルサーバーでftp_getを使えばftp_getの引数で指定した先からサーバー(ローカル)にダウンロードされ保存される



769:nobodyさん
12/02/21 10:59:15.38 otlrgE39
>>768
やっぱりそうでしたか、目の前の箱だと思っていたのが間違いでしたね。汗
ありがとうございました。べつな方法を考えてみます。

770:nobodyさん
12/02/21 14:39:44.56
PHPでのチェックボックスでの値の受け取り方や配列の扱い方よくわからないので教えて下さい。htmlの部分で
<input type="checkbox" name="checkbox01[]" value="0"> ~ <input type="checkbox" name="checkbox01[]" value="2">
とチェックボックスをつくりました。そしてPHPの処理部分では

// チェックボックスに値があれば
if($_GET["checkbox01"]){
foreach($_GET["checkbox01"] as $val){
if($val==0){
$data["A"]='あ';
}
elseif($val=1){
$data["B"]='い';
}
elseif($val=2){
$data["C"]='う';
}
}
// $dataがアレばそれぞれ
if($data["A"]){
print_r($data["A"]);
}
if($data["B"]){
print_r($data["B"]);
}
if($data["C"]){
print_r($data["C"]);
}
}

771:nobodyさん
12/02/21 14:41:32.79

としたのですが、チェックすべてに値をつけても 「あい」 までしか表示されません。試しに // チェックボックスに値があれば の前で 
print_r( $_GET["checkbox01"]); 
としたら 
Array ( [0] => 0 [1] => 1 [2] => 2 )
と表示され、// $dataがアレばそれぞれ の前でも
print_r($data);
としたら
Array ( [A] => あ [B] => い )
と表示されたため、foreach文ないがおかしいとはおもうのですが解決方法がわかりません。
どのようにしたらいいのでしょうか?

長くなってしまったので連投してすみません、どなたかお知恵をかしてください。

772:nobodyさん
12/02/21 14:43:28.71
$val=1  → $val==1
$val=2 → $val==2

773:nobodyさん
12/02/21 15:08:48.42
これは質問者が間違って書いたから訂正してるのか、
別の人の解答なのかどっち?
ID無いからわからんな

774:770
12/02/21 15:21:10.42
>>772
ありがとうございます。こんな凡ミスなんて・・・
あと調べててin_array関数というのもみつけたのですが、foreachで繰り返して探すより

if(in_array("0", $_GET["checkbox01"] ){
}
if(in_array("1", $_GET["checkbox01"] ){
}

といったように内容は同じだとおもうのですがin_arrayで調べたほうがいいのでしょうか?

775:nobodyさん
12/02/21 15:37:57.26
>>774
全部処理するならforeach使うけどなぁ
in_arrayは検索する時だけ


776:770
12/02/21 16:07:46.92
>>775
ありがとうございます。
結局この場合はどちらがいいのでしょうか?

777:nobodyさん
12/02/21 16:17:22.51
>>776
この場合はforeach


778:nobodyさん
12/02/21 16:19:18.56
if($val==0){
$data["A"]='あ';
}
elseif($val=1){
$data["B"]='い';
}
elseif($val=2){
$data["C"]='う';
}

こんなことするなら最初からvalueにあいう入れればいいのに

779:nobodyさん
12/02/21 16:59:54.36
>>773
質問内容を理解してないから分からないんじゃないのか?
よって君はチェリーボーイ

780:nobodyさん
12/02/21 17:07:19.21
>>779
>>1読めって言ってんのがわかんねーやつは引っ込んでろよ

781:770
12/02/21 17:08:17.74
>>777
ありがとうございます。
そうじゃない場合はどんなときでしょうか?

782:nobodyさん
12/02/21 17:15:36.37
>>781
配列にひとつの値があるか検索する時


783:nobodyさん
12/02/21 23:58:50.45 QmooF5El
PHPの遅さを解消する方法はありますか?

784:nobodyさん
12/02/22 00:03:26.59
あなたの頭の回転の遅さを解消しましょう

785:nobodyさん
12/02/22 00:07:59.95
>>783
無駄な動作をなくせばいい

786:nobodyさん
12/02/22 01:07:04.45 HjiaSrjv
>>785
CakePHPを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

WordPressを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

OpenPNEを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

symfonyを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

787:nobodyさん
12/02/22 01:09:47.45
また発作か

788:nobodyさん
12/02/22 01:39:15.45 HjiaSrjv
結局、言語自体が遅い気がします。

789:nobodyさん
12/02/22 01:42:23.62
今時体感できるほど遅いなら単にサーバがしょぼいだけだろ

790:nobodyさん
12/02/22 01:44:59.53 HjiaSrjv
>>789
他の言語に比較して遅いです。
比較はJavaとPythonです。

791:nobodyさん
12/02/22 01:46:11.48 HjiaSrjv
PHPもページ単位で処理が終わるものなら早いですが、
オブジェクト指向を始めると途端にパフォーマンスが悪くなるようです。

792:nobodyさん
12/02/22 01:48:41.94 HjiaSrjv
>>789
ローカル環境でも遅いのでどうしようもありません。

793:nobodyさん
12/02/22 01:54:46.01
じゃ窓からPCでも捨てればいいと思うよ

794:nobodyさん
12/02/22 01:57:04.91 HjiaSrjv
PHPでセッションにオブジェクトを格納することは少ないのでしょうか?
アプリケーションスコープが無いのはわかっていますが、セッションはありますよね。
WordPressしかり、Cakeしかり、symfonyしかり、オブジェクト格納場所として
セッションは考えられていないようです。これが結果としDBへの
余分なアクセスを増大させているようです。

795:nobodyさん
12/02/22 01:58:42.03 HjiaSrjv
>>793
たとえばOpenPNEが稼働しているサイトで機敏に動くところはありますか?
自分が知っている限り無いと思いますが・・・。

796:nobodyさん
12/02/22 02:10:14.28
OpenPNE使ってるサイトなんて画像が多かったりコード量が多いサイトがほとんどだろ
なんでもかんでもPHPのせいにすればいいってもんじゃない

797:nobodyさん
12/02/22 02:18:02.00
>>789
さすがにそれは無いわ。サーバがしょぼいの敷居がよほど高くなければ。

798:nobodyさん
12/02/22 02:18:21.92 HjiaSrjv
>>796
書いていますが、デフォルトの状態ですでに重いのです。
一切カスタマイズしていない状態です。ちなみに3.6系の最新版です。
デバックモードで起動するとものすごい数のSQLクエリが発行されています。
>>794についてはどう思われますか?

799:nobodyさん
12/02/22 02:20:08.85 HjiaSrjv
PHPのインタープリタが遅いのは承知していますが、
それ以上にクエリをムダに発行しているように思えるのです。

800:797
12/02/22 02:20:36.63
>>798
PHP部に限って言うならopコードキャッシュ使う。
DBアクセス数が多くて、コネクション生成コスト、クエリコストが原因で遅いのであれば、PHP自体の問題ではなくなる

801:nobodyさん
12/02/22 02:21:25.34
本当にそれが無駄なのであれば改善すれば世界中の人に喜ばれるよ。

802:nobodyさん
12/02/22 02:22:22.14
>>794についてはどう思われますか?

一人だけで使うなら別にいいんじゃね

803:nobodyさん
12/02/22 02:23:07.36 HjiaSrjv
PHPのリソースの捉え方が非常に大雑把で困惑しています。

たとえばJavaであれば
1.アプリケーションスコープ
2.セッションスコープ
3.リクエストスコープ

以上の3スコープに欲するデータが無い場合のみDBへアクセスしますが、
CakeやWordPress、OpenPNEなどの場合はお構いなしに毎回DBへアクセス
しているのが不思議です。

804:nobodyさん
12/02/22 02:26:05.08
>>803
Webサーバを複数使うことを想定してそうなってるわけじゃなくて?
設定とかで変えられないの?ってか、変えられないからそのように断定しているんだろうけれど。

805:nobodyさん
12/02/22 02:30:02.12
>>803
ちなみに期待するレスポンスはどの程度で、現状はどれくらい?
同時接続クライアント数など、必要なものを列挙してほしい。ベンチの結果でもいい。

806:nobodyさん
12/02/22 02:32:41.04
それがわからないから管を巻いてんじゃねえかな

807:nobodyさん
12/02/22 02:40:30.48 HjiaSrjv
>>805
>>806
PHPの主要フレームワークやCMSのソースコードリーディングに基づき、
このスレを書き込みしています。実践というわけではありません。

気づいたことはオブジェクトの一時保存場所としてセッションが
使用されていないのが不思議なのです。だからSQL発行が非常に多い。
これはなぜですか?

808:nobodyさん
12/02/22 02:41:22.45
>>807
>>804の1行目は理解できる?

809:nobodyさん
12/02/22 02:43:20.60 HjiaSrjv
>>808
PHPは分散オブジェクトは対応していないのですか?

810:nobodyさん
12/02/22 02:46:14.38
>>809
Javaのスコープの話が出てきた時点でこうなりそうな気はしていたが。

今後の話をわかりやすくするために「分散オブジェクトに対応する」というのがどういうことか伝えてもらえるかな。

811:nobodyさん
12/02/22 02:50:27.92 HjiaSrjv
>>810
複数のコンピュータ間で同じオブジェクトを同一マシーン上で処理が済むことと同じようにすることですよね。

812:nobodyさん
12/02/22 02:53:35.00 HjiaSrjv
OpenPNE,WordPress、CakePHPはセッションへオブジェクトを格納する設計になっていないのでしょうか?

813:nobodyさん
12/02/22 02:54:02.25
>>811
それでいいのなら、対応してる。

814:nobodyさん
12/02/22 02:55:12.88
>>812
ソースコードリーディングは諦めたの?

815:nobodyさん
12/02/22 02:56:50.78 HjiaSrjv
>>812
なぜ同じクエリを何度も発行しているのでしょうか?
OpenPNE3.6系です。

816:nobodyさん
12/02/22 03:00:29.37
いらなクエリをコメントアウトすればいいんじゃね?

817:nobodyさん
12/02/22 03:02:33.49 HjiaSrjv
>>816
その論法で行くと全部コメントアウトになりますが・・・。

私の質問はPHPでは答えにくのでしょうか?

818:nobodyさん
12/02/22 03:04:26.65
そろそろしんどい。

>>815, 817
繰り返すが、それが本当に無駄なら報告すれば多方面から感謝されるからそうしたらいい。

819:nobodyさん
12/02/22 03:08:04.96 HjiaSrjv
>>818
そんなに大げさなことでしょうか?
OpenPNEを試されたことがありますよね?
デバックモードで起動するとSQL発行数がわかりますが、すごい量です。
これはなぜですか?と言っているだけです。だから遅いんじゃないでしょうかと。

820:nobodyさん
12/02/22 03:09:29.52 HjiaSrjv
セッションにオブジェクトを格納しない理由があるのでしょうか?
昔はシリアライズのバグの話は聞いたことがありますが、さすがに今は解消しているはずです。

821:nobodyさん
12/02/22 03:09:46.81
>>819
デバッグモードじゃなければ発行されないの?
何のために使われるクエリなのかは調べてないの?
OpenPNEは使ったこと無いよ。使ったこと無いならレスしないでっていうことなら喜んでレスやめる。

822:nobodyさん
12/02/22 03:09:49.44
セッション切れるまでリソース保持とかどんな罰ゲーム

823:nobodyさん
12/02/22 03:09:54.82
x86命令セット渡しても文句言いそうだな

824:nobodyさん
12/02/22 03:11:44.08
どういう学び方をしたらこんなこじらせた頭になるんだ?

825:nobodyさん
12/02/22 03:11:56.60 HjiaSrjv
>>821
デバッグモードで起動するとSQLクエリの発行数がわかります。

826:nobodyさん
12/02/22 03:13:20.43 HjiaSrjv
>>822
それならそれでいいんです。
PHPでは罰ゲームレベルという理解でよろしいのですね。

827:nobodyさん
12/02/22 03:13:21.46
こんなとこで使ったこと無い人相手にがんばるくらいならコード読み進めてみたら?

828:nobodyさん
12/02/22 03:14:30.57 HjiaSrjv
結局のところ、
PHPではセッションにオブジェクトを格納するのは一般的ではないという結論ですね。

829:nobodyさん
12/02/22 03:15:13.92
>>826
Javaだと放置セッションのリソースはいつ破棄されるの?

830:nobodyさん
12/02/22 03:15:30.89
>>826
だから言っただろ
一人だけで使うなら別にいいんじゃね
って

831:nobodyさん
12/02/22 03:15:45.98 HjiaSrjv
よくわかりました。道理でセッションが使用されていないわけだ。

832:nobodyさん
12/02/22 03:16:55.71 HjiaSrjv
>>829
アプリケーションサーバーの設定による。
ただし、プログラムレベルでは細かく殺してリソースのムダ遣いを減らします。

833:nobodyさん
12/02/22 03:17:02.95
他人のコードを読む時の絶望感といったら言葉にならない
らーらーらー ららーらー 言葉になら~ない

834:nobodyさん
12/02/22 03:17:23.17
PHPだけの問題じゃないでしょうに
Javaだって同じ事

835:nobodyさん
12/02/22 03:17:48.03
>>832
PHPも一緒だよ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch