[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/10 00:01 / Filesize : 191 KB / Number-of Response : 862
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】



1 名前:nobodyさん mailto:sage [2009/02/03(火) 01:09:36 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

453 名前:nobodyさん mailto:sage [2009/05/12(火) 23:06:33 ID:???]
だからfile_existsの何が悪いのよ
適当なこと言わないでよ

454 名前:nobodyさん mailto:sage [2009/05/12(火) 23:06:47 ID:???]
別にいいやん。
ただWindowsだとchmodできんのはチト不便。

455 名前:nobodyさん mailto:sage [2009/05/12(火) 23:10:17 ID:???]
>>453
まず貴様がfile_existsって問題ない理由を述べればいいよ

456 名前:nobodyさん mailto:sage [2009/05/12(火) 23:13:14 ID:???]
>>455
マニュアルに使用上の注意について書いてないじゃない

457 名前:nobodyさん mailto:sage [2009/05/12(火) 23:15:59 ID:???]
また荒らしかよ

458 名前:nobodyさん mailto:sage [2009/05/12(火) 23:18:11 ID:???]
0666ってことはログファイルか

459 名前:nobodyさん mailto:sage [2009/05/14(木) 21:19:26 ID:???]
なんだってー

460 名前:nobodyさん mailto:sage [2009/05/15(金) 06:59:21 ID:???]
結局file_existsが駄目な明確な理由を誰も上げられないんですね
2chなんて所詮口だけ野郎ばっかりか・・

461 名前:nobodyさん mailto:sage [2009/05/15(金) 07:11:40 ID:???]
何を今更



462 名前:nobodyさん mailto:sage [2009/05/15(金) 08:06:57 ID:???]
>>460
ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。

463 名前:nobodyさん mailto:sage [2009/05/15(金) 08:18:07 ID:???]
>>460
このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし

464 名前:nobodyさん mailto:sage [2009/05/15(金) 08:23:51 ID:???]
>>463
たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね

465 名前:nobodyさん mailto:sage [2009/05/15(金) 08:24:53 ID:???]
何を今更

466 名前:nobodyさん mailto:sage [2009/05/15(金) 08:30:41 ID:???]
とまぁここまで全部>>460の自作自演なんだけどね

467 名前:nobodyさん mailto:sage [2009/05/15(金) 08:34:55 ID:???]
どこでRubyとPythonが台頭してるんだ?

468 名前:nobodyさん mailto:sage [2009/05/15(金) 08:36:49 ID:???]
>>467
地球上のどこかで

469 名前:nobodyさん mailto:sage [2009/05/15(金) 08:40:09 ID:???]
>>467
お前の知らない外の世界でだよ
まったくこれだから警備員は(ry

470 名前:nobodyさん mailto:sage [2009/05/15(金) 08:40:41 ID:???]
じゃちょっと示してみ

471 名前:nobodyさん mailto:sage [2009/05/15(金) 08:41:47 ID:???]
釣られてソース厨出現ww



472 名前:nobodyさん mailto:sage [2009/05/15(金) 10:14:37 ID:???]
>>460
仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?

473 名前:nobodyさん mailto:sage [2009/05/15(金) 12:25:37 ID:???]
>>460
じゃあこのまま使い続けてください
誰も止めはしませんので^^

474 名前:nobodyさん mailto:sage [2009/05/15(金) 13:22:36 ID:???]
過疎杉sage

475 名前:nobodyさん mailto:sage [2009/05/16(土) 22:47:21 ID:???]
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、
一体どういうときに使えばいいのだろう?

476 名前:nobodyさん mailto:sage [2009/05/16(土) 23:33:14 ID:???]
>>475
特に使う必要はない。
perlであったから、いれてみました、ってだけ。

477 名前:nobodyさん mailto:sage [2009/05/16(土) 23:42:36 ID:???]
>>476
じゃperlではどのように使われてるの?

478 名前:nobodyさん mailto:sage [2009/05/16(土) 23:45:50 ID:???]
それは老人にきいてください

Perlについての質問箱 39箱目
pc12.2ch.net/test/read.cgi/tech/1234181856/

479 名前:nobodyさん mailto:sage [2009/05/16(土) 23:48:44 ID:???]
お前は知らないんかw

480 名前:nobodyさん mailto:sage [2009/05/17(日) 00:49:35 ID:???]
>>475
配列をextractで展開するのと似たようなことが出来るかな。

$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){

${$key} = $value;

}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。


481 名前:nobodyさん mailto:sage [2009/05/17(日) 06:43:27 ID:???]
本日も過疎。
最新50に1週間も前のレスが表示されるってどんだけww



482 名前:nobodyさん mailto:sage [2009/05/17(日) 11:51:52 ID:???]
この板ではよくあること

483 名前:nobodyさん mailto:sage [2009/05/17(日) 22:52:05 ID:???]
俺が常駐してるスレなんて連続20レスほど保守あげ
しかも俺の

484 名前:nobodyさん mailto:sage [2009/05/18(月) 02:39:12 ID:???]
本番マシンで、エラーを表示させたくない場合、
ini_setと
error_reportingと
どっちを使うの?

485 名前:nobodyさん mailto:sage [2009/05/18(月) 02:49:39 ID:???]
display_errorsじゃねーの?

486 名前:nobodyさん mailto:sage [2009/05/18(月) 03:04:08 ID:???]
>>485
書き方は?

487 名前:nobodyさん mailto:sage [2009/05/18(月) 03:05:27 ID:???]
display_errorsってディレクティブでしょう?
ディレクティブってphp.iniにしか設定できないんでしょう?

レンタルサーバーなので、pnp.iniはいじれない環境です。
なので、php.iniをいじらなくてもできる方法を教えてください

488 名前:nobodyさん mailto:sage [2009/05/18(月) 03:11:25 ID:???]
じゃhtaccessでok

489 名前:名無し募集中。。。 [2009/05/18(月) 03:28:45 ID:wP2DRNT9]
ini_set('display_errors','on')

490 名前:nobodyさん mailto:sage [2009/05/18(月) 10:16:50 ID:???]
情報小出しうぜえ

491 名前:nobodyさん mailto:sage [2009/05/18(月) 10:36:42 ID:???]
小出しにしたほうがなんだかミステリアスでいいじゃないか



492 名前:nobodyさん mailto:sage [2009/05/18(月) 20:39:24 ID:???]
>>490
自閉症のあなたがたの
質問能力を鍛えてあげているのです。

営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??

493 名前:nobodyさん mailto:sage [2009/05/18(月) 20:40:09 ID:???]
>>489
これでいいの?

494 名前:名無し募集中。。。 [2009/05/18(月) 20:53:48 ID:wP2DRNT9]
今決まってることを先に全部伝えれば余分な工数が圧縮できるので
納期も見積もりも低く抑えることができるわけで
積極的な答えを引き出したいなら客も小出しにはしないけどな

495 名前:nobodyさん mailto:sage [2009/05/18(月) 20:55:50 ID:???]
>>494
それであなたは営業に回ったときに、

「情報の後出しウゼエwww」

とかって見込み客に言ってるの?

496 名前:nobodyさん mailto:sage [2009/05/18(月) 21:34:39 ID:???]
<a href="XXX">vvv</a>

これで、XXXにユーザーからの入力値を入れるんだけど、
javascriptのコードを書かれると
そのまま実行されるんで、
サニタイズしたいんだけど、専用関数あるの?

497 名前:nobodyさん mailto:sage [2009/05/18(月) 21:41:15 ID:???]
サニタイズ言うな

498 名前:nobodyさん mailto:sage [2009/05/18(月) 21:42:52 ID:???]
>>496
ttp://jp.php.net/htmlspecialchars

499 名前:名無し募集中。。。 [2009/05/18(月) 21:47:19 ID:wP2DRNT9]
>>495
「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど

500 名前:nobodyさん mailto:sage [2009/05/18(月) 22:14:26 ID:???]
>>498
それだとサニタイズできないでしょ。

501 名前:nobodyさん mailto:sage [2009/05/18(月) 22:53:23 ID:???]
>>500
・・・・え? 何がしたいの?



502 名前:nobodyさん mailto:sage [2009/05/18(月) 23:01:36 ID:???]
<a href="javascript:[ここにjavascriptのコード]">vvv</a>


こう書かれると、htmlなんとかでは
サニタイズできないでしょう?

だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?

503 名前:nobodyさん mailto:sage [2009/05/18(月) 23:03:28 ID:???]
error_reporting(0);

これって使わないの?

504 名前:nobodyさん mailto:sage [2009/05/18(月) 23:11:09 ID:???]
>>502
実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?

505 名前:nobodyさん mailto:sage [2009/05/19(火) 02:17:09 ID:???]
ログファイルの中味を見られないようにするために、
拡張子を.phpにしようと思います。

これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。

でもパーミッションが書き込み可能になっていると
問題ありますか?

506 名前:nobodyさん mailto:sage [2009/05/19(火) 02:28:01 ID:???]
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉
拡張子phpは最後の手段

507 名前:nobodyさん mailto:sage [2009/05/19(火) 02:31:21 ID:???]
>>505
発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。

508 名前:名無し募集中。。。 [2009/05/19(火) 03:02:13 ID:qJyAGOVK]
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw

509 名前:nobodyさん mailto:sage [2009/05/19(火) 10:05:00 ID:???]
>>495
素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。

510 名前:nobodyさん mailto:sage [2009/05/21(木) 17:42:51 ID:???]
php_browscap.ini は商用利用可能なのでしょうか。
その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。

511 名前:nobodyさん mailto:sage [2009/05/22(金) 00:11:50 ID:???]
教科書に、

「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」

と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?



512 名前:nobodyさん mailto:sage [2009/05/22(金) 00:13:11 ID:???]
>>511
いいと思います。

513 名前:422 mailto:sage [2009/05/23(土) 14:25:12 ID:???]
>>484に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。

514 名前:nobodyさん mailto:sage [2009/05/23(土) 14:27:08 ID:???]
ん名前欄は関係ないです。すみません。

515 名前:名無し募集中。。。 [2009/05/23(土) 14:27:44 ID:sw/qjhoP]
ini_setを最先頭行に書けばいいだけだと思うが

516 名前:nobodyさん mailto:sage [2009/05/23(土) 15:28:46 ID:???]
>>515
そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。

517 名前:nobodyさん mailto:sage [2009/05/23(土) 15:36:50 ID:???]
PHP前ならPHPのエラーはでないと思うが

518 名前:nobodyさん mailto:sage [2009/05/23(土) 15:38:13 ID:???]
データベースのエラー文がそのまま表示されてるサイトとかもあるし
そこまで気にしないでも

519 名前:名無し募集中。。。 [2009/05/23(土) 16:00:00 ID:sw/qjhoP]
流石に本番運用では気にした方がいいと思うが

520 名前:nobodyさん mailto:sage [2009/05/24(日) 19:13:43 ID:???]
携帯で画像をランダム表示したいのですが
どのようなスクリプトが使えるのでしょうか?

521 名前:nobodyさん mailto:sage [2009/05/24(日) 19:26:51 ID:???]
業者に1万円払って作ってもらえ



522 名前:nobodyさん mailto:sage [2009/05/24(日) 22:03:26 ID:???]
今なら俺が9980円で

523 名前:nobodyさん mailto:sage [2009/05/25(月) 00:22:37 ID:???]
session.use_only_cookiesが0の場合、

URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。

なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。

レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。

その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?

でもそれで間に合うのでしょうか?

524 名前:nobodyさん mailto:sage [2009/05/25(月) 00:24:05 ID:???]
phpc2.seesaa.net/article/52425834.html

例えばこのページだと、

ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );


こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?

525 名前:nobodyさん mailto:sage [2009/05/25(月) 00:29:11 ID:???]
ini_setじゃなくてphp.iniで設定しとけよみたいな

526 名前:nobodyさん mailto:sage [2009/05/25(月) 00:29:42 ID:???]
クッキーもヘッダ部に平文で流れてるだけだろ
これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ

527 名前:nobodyさん mailto:sage [2009/05/25(月) 01:19:22 ID:???]
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの

528 名前:nobodyさん mailto:sage [2009/05/25(月) 01:39:29 ID:???]
セッション要るようなエリアはhttpsにしとけばいいだけの話

529 名前:nobodyさん mailto:sage [2009/05/25(月) 02:09:17 ID:???]
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ

530 名前:nobodyさん mailto:sage [2009/05/25(月) 02:14:14 ID:???]
セキュリティの話をすると
ついてこれないヤツが必ずいるよね

高卒なのかな?

531 名前:nobodyさん mailto:sage [2009/05/25(月) 02:15:06 ID:???]
「外出するときは、必ずドアにカギをかけましょうね」
.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」



532 名前:nobodyさん mailto:sage [2009/05/25(月) 02:18:16 ID:???]
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ

533 名前:nobodyさん mailto:sage [2009/05/25(月) 02:33:17 ID:???]
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。

なので、javascriptをサニタイズする必要があるのですが、

ググって出てきたページに

php-web.net/security/sanitize.html

a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。

if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}

----------------------------------------------------

と書いてあるのですが、このコードでサニタイズできますか?

正規表現は使わなくてもいいの?

こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。

534 名前:nobodyさん mailto:sage [2009/05/25(月) 02:51:01 ID:???]
htmlspecialcharsでいいだろ

535 名前:nobodyさん mailto:sage [2009/05/25(月) 03:15:54 ID:???]
php.benscom.com/manual/ja/info.configuration.php

ここで

「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?

それとも、漏れが知らないだけで、
もう出ているのか?

536 名前:nobodyさん mailto:sage [2009/05/25(月) 03:18:53 ID:???]
出てるよ

537 名前:nobodyさん [2009/05/25(月) 03:23:54 ID:aHvsLNiK]
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか?
<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>

538 名前:nobodyさん mailto:sage [2009/05/25(月) 04:42:43 ID:???]
$xml = simplexml_load_file('hoge.xml');
var_dump($xml);
してみれば分かるよ

539 名前:nobodyさん mailto:sage [2009/05/25(月) 23:18:15 ID:???]
ini_set('magic_quotes_gpc', '0');

このやり方でオフにするのって

phpのバージョンが4.2以下でないと
使えないの?

540 名前:nobodyさん mailto:sage [2009/05/25(月) 23:35:00 ID:???]
いや? そんなことないけどなんで?

541 名前:nobodyさん mailto:sage [2009/05/25(月) 23:48:05 ID:???]
xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3675&forum=2

ここのページに、

>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います

って書いてあるけど??



542 名前:nobodyさん mailto:sage [2009/05/25(月) 23:49:14 ID:???]
www.webdeveloper.com/forum/archive/index.php/t-90414.html

ここのページにも、

>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.

って書いてあるけど???

543 名前:nobodyさん mailto:sage [2009/05/26(火) 00:12:13 ID:???]
Manualを見ろよ。 ttp://jp2.php.net/manual/ja/ini.list.php
4.2.4以降 PHP_INI_PERDIR になったからini_setじゃ無理。

544 名前:nobodyさん mailto:sage [2009/05/26(火) 00:17:18 ID:???]
>>541-543
そこまでわかってるならわざわざ聞きに来なくても・・・

545 名前:nobodyさん mailto:sage [2009/05/26(火) 01:13:59 ID:???]
アクセスログ等から
アクセスしてきたやつの
コンピューター名抜くのって
どうやってたの?

546 名前:nobodyさん mailto:sage [2009/05/26(火) 01:37:40 ID:???]
User Agentの話?

547 名前:nobodyさん mailto:sage [2009/05/26(火) 01:58:06 ID:???]
ウィンドウズなら同じワークグループだったらコンピュータ名抜けそう

548 名前:nobodyさん mailto:sage [2009/05/26(火) 11:21:02 ID:???]
特定のディレクトリ$dirの中でもっとも作成日付が新しいファイルのファイル名を取得したいのですが、

globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、
「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません

良い方法はないでしょうか

PHP5

549 名前:nobodyさん mailto:sage [2009/05/26(火) 11:50:15 ID:???]
ソート

550 名前:nobodyさん mailto:sage [2009/05/26(火) 12:02:33 ID:???]
$last = new SplFileInfo(null);
foreach(new RecursiveDirectoryIterator('target') as $entry)
if($entry->isFile() && $entry->getCTime() > $last->getCTime())
$last = $entry;
こんなんとか。

551 名前:548 mailto:sage [2009/05/26(火) 18:32:03 ID:???]
>>550
うわ〜一回で動きました
PHP5で実装された関数まだ使い慣れないんで初めて見ました
ありがとうございます

たまたまディレクトリ内の、取得したいファイル群の名前が全部日付なので、
これの応用で作成日付順じゃなくて名前の順で一番遅い(=新しい)ものを
取得できるんじゃないかと改造してるんですが私には不可能でしたw



552 名前:nobodyさん mailto:sage [2009/05/27(水) 16:01:50 ID:???]
メールフォームから送信してるんですけど相手に届きません
ローカルサーバです
PHP.iniのどの設定を変えたらいいですか?

553 名前:nobodyさん mailto:sage [2009/05/27(水) 16:40:06 ID:???]
ローカルアカウントには届くってんならOP25Bでググれ

554 名前:nobodyさん mailto:sage [2009/05/27(水) 23:11:44 ID:???]
それって自分のISPの回線の
SMTPサーバー経由でないと
メールを送信できないってやつ?

555 名前:nobodyさん mailto:sage [2009/05/28(木) 00:21:44 ID:???]
>>554
いえ、違うんです
レンタル鯖だとできたんですけど・・・

556 名前:nobodyさん mailto:sage [2009/05/28(木) 00:26:24 ID:???]
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ
プロバイダのヘルプをサブミッションポートで検索してみ

557 名前:nobodyさん mailto:sage [2009/05/28(木) 01:30:28 ID:???]
$filename = $month."/".$day.".csv":
$data = @file($filename);

PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。



558 名前:nobodyさん mailto:sage [2009/05/28(木) 01:44:46 ID:???]
ごめんなさい、自己解決しましたw
$が間違って&になってましたw
切腹してきますw

559 名前:nobodyさん mailto:sage [2009/05/28(木) 08:09:32 ID:???]
>>552
自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。

560 名前:nobodyさん mailto:sage [2009/06/01(月) 20:27:02 ID:???]
JISの漢字コードから

3021 → 亜

のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?

よろしくお願いします。

561 名前:nobodyさん mailto:sage [2009/06/01(月) 21:02:57 ID:???]
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから
echo "\x1b\$B",pack('H*', 3021);



562 名前:560 mailto:sage [2009/06/01(月) 21:29:46 ID:???]
>>561

できました!
ありがとうございます。

こういうことって、どこで覚えるんでしょうか?

563 名前:nobodyさん mailto:sage [2009/06/01(月) 21:55:20 ID:???]
>>562
今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。

564 名前:nobodyさん [2009/06/07(日) 01:18:31 ID:q/9VwFhz]
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、
loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?

565 名前:名無し募集中。。。 [2009/06/07(日) 01:42:48 ID:kkylNn0/]
ない

566 名前:nobodyさん mailto:sage [2009/06/07(日) 01:53:33 ID:???]
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、
コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?

567 名前:nobodyさん mailto:sage [2009/06/07(日) 02:08:23 ID:???]
あるよ

568 名前:nobodyさん mailto:sage [2009/06/07(日) 02:15:41 ID:???]
>>566
よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか



569 名前:nobodyさん mailto:sage [2009/06/07(日) 02:35:59 ID:???]
おれが作るから半年待て

570 名前:nobodyさん mailto:sage [2009/06/07(日) 10:51:54 ID:???]
バッファの意味がわかりません><
どなたか親切な方^^いないでしょうけど教えてくdさい!

571 名前:nobodyさん mailto:sage [2009/06/07(日) 11:08:03 ID:???]
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK



572 名前:nobodyさん mailto:sage [2009/06/07(日) 11:50:14 ID:???]
すいません。記載するスレを間違えてしまいました。
初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。

573 名前:nobodyさん mailto:sage [2009/06/07(日) 11:53:14 ID:???]
ノートンよく知らないけど遮断した理由書いてあるログとかないの?

574 名前:572 mailto:sage [2009/06/07(日) 12:01:37 ID:???]
>>573
ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。


575 名前:nobodyさん mailto:sage [2009/06/07(日) 13:06:34 ID:???]
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ
ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと

576 名前:nobodyさん mailto:sage [2009/06/07(日) 13:25:53 ID:???]
最終的に吐き出したものをHTMLに保存してそれを表示させて
疑わしいものを削っていけばわかるかもよ

577 名前:572 mailto:sage [2009/06/07(日) 15:11:25 ID:???]
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。

578 名前:nobodyさん mailto:sage [2009/06/10(水) 11:22:45 ID:???]
変数に格納された数字を、正の数なら+を、負の数なら−を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか

PHP4

579 名前:nobodyさん mailto:sage [2009/06/10(水) 11:30:01 ID:???]
そんくらいなら自作してやれば

580 名前:nobodyさん mailto:sage [2009/06/10(水) 11:31:18 ID:???]
宿題か?

581 名前:578 mailto:sage [2009/06/10(水) 11:56:17 ID:???]
自作しますた
30秒で終わりますた
15分ぐぐって損しますた




582 名前:nobodyさん mailto:sage [2009/06/10(水) 11:59:44 ID:???]
>>581
You!ここに載せちゃいなよ!

583 名前:nobodyさん mailto:sage [2009/06/11(木) 10:23:35 ID:???]
んなもんifで数値比較するだけだろw

584 名前:nobodyさん mailto:sage [2009/06/11(木) 13:32:40 ID:???]
$str = $val > 0 ? '+' . $val : '-' . $val ;

あ、0のときはしらん。

585 名前:nobodyさん mailto:sage [2009/06/11(木) 14:09:33 ID:???]
-1を--1にする気か?

586 名前:nobodyさん mailto:sage [2009/06/11(木) 14:10:28 ID:???]
みんな printf 嫌いなの?

587 名前:nobodyさん mailto:sage [2009/06/13(土) 16:08:22 ID:???]
あえてセッション使わずにglobal変数使いまくって

入力画面←→確認画面→送信

と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと

588 名前:nobodyさん mailto:sage [2009/06/13(土) 16:18:56 ID:???]
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?

589 名前:nobodyさん mailto:sage [2009/06/13(土) 18:08:42 ID:???]
hiddenかsession以外でそれやる奴バカだろ

590 名前:nobodyさん mailto:sage [2009/06/13(土) 18:21:00 ID:???]
>>587
>あえてセッション使わずに

の時点で変だけど、そうしたい理由は何さ?

591 名前:587 mailto:sage [2009/06/14(日) 21:34:45 ID:???]
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり

>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある

>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら

最後のはセッション関係なかったっけ

機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ



592 名前:nobodyさん mailto:sage [2009/06/14(日) 21:54:41 ID:???]
>>591
>ブラウザのバックボタンで期限切れだしたくない

youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。

593 名前:nobodyさん mailto:sage [2009/06/14(日) 21:56:49 ID:???]
セッションキーをhiddenで渡せばいいだけの話だろ常考

594 名前:nobodyさん mailto:sage [2009/06/14(日) 22:00:08 ID:???]
>>593
そんなことできたのか
しらんかった

595 名前:nobodyさん mailto:sage [2009/06/14(日) 22:11:51 ID:???]
まぁ実際はただのリクエストだからなw

596 名前:nobodyさん mailto:sage [2009/06/15(月) 20:18:19 ID:???]
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?

597 名前:nobodyさん mailto:sage [2009/06/15(月) 20:32:09 ID:???]
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?

preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);

パターンは自分の条件に読み替えてくれ

598 名前:nobodyさん mailto:sage [2009/06/15(月) 21:11:06 ID:???]
PDOを使ったスクリプト配布してるとこ教えてください

599 名前:nobodyさん mailto:sage [2009/06/16(火) 13:07:05 ID:???]
どなたか〜〜

600 名前:nobodyさん mailto:sage [2009/06/16(火) 13:22:26 ID:???]
スレ違い

601 名前:nobodyさん mailto:sage [2009/06/16(火) 17:27:04 ID:???]
ですか。失礼しました

でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?



602 名前:nobodyさん mailto:sage [2009/06/16(火) 18:15:13 ID:???]
Manualのサンプルじゃ足りないの?

さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。

603 名前:nobodyさん mailto:sage [2009/06/16(火) 22:33:48 ID:???]
>>601
ソース見たフリースクリプトってどれ?

604 名前:nobodyさん mailto:sage [2009/06/16(火) 23:00:21 ID:???]
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです

605 名前:nobodyさん mailto:sage [2009/06/17(水) 01:01:12 ID:???]
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?

606 名前:nobodyさん mailto:sage [2009/06/17(水) 10:46:14 ID:???]
まあ作られた時期も見てみ

607 名前:nobodyさん mailto:sage [2009/06/18(木) 23:33:25 ID:???]
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www

608 名前:nobodyさん mailto:sage [2009/06/18(木) 23:34:17 ID:???]
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw

609 名前:nobodyさん mailto:sage [2009/06/18(木) 23:39:01 ID:???]
wwwwwwwwwwwwww

610 名前:nobodyさん mailto:sage [2009/06/18(木) 23:43:23 ID:???]
kimoi

611 名前:nobodyさん mailto:sage [2009/06/19(金) 01:47:29 ID:???]
早速ニコ動にうpかよw
保存すますたw



612 名前:nobodyさん mailto:sage [2009/06/19(金) 01:48:10 ID:???]
ごむぇん・・・誤爆・・・

613 名前:nobodyさん mailto:sage [2009/07/01(水) 11:28:04 ID:???]
WordPress の質問ってここで聞いてもいいんでしょうか。

arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。

home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。

環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。

614 名前:nobodyさん mailto:sage [2009/07/02(木) 11:12:33 ID:???]
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには

function foo() {
// ???
}

をどうしたらいいでしょうか。

func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。

615 名前:nobodyさん mailto:sage [2009/07/02(木) 14:46:54 ID:???]
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん

616 名前:nobodyさん mailto:sage [2009/07/02(木) 15:38:49 ID:???]
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。

foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。

617 名前:614 mailto:sage [2009/07/02(木) 15:41:46 ID:???]
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。

618 名前:nobodyさん mailto:sage [2009/07/02(木) 16:47:20 ID:???]
>>617
foo:セットされてないときfalse,セットされているときはその配列の内容が返る

$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false

function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}


619 名前:614 mailto:sage [2009/07/02(木) 16:55:15 ID:???]
>>618
最高です。。。
ありがとうございます!

620 名前:nobodyさん mailto:sage [2009/07/02(木) 21:49:43 ID:???]
せっかく5.3から省略三項演算子が使えるようになったというのに

621 名前:nobodyさん mailto:sage [2009/07/03(金) 06:14:31 ID:???]
echo "<input type=hidden name=※>";

のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。

変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。

PHP5



622 名前:nobodyさん mailto:sage [2009/07/03(金) 06:15:55 ID:???]
{}で参照なんかできないよ

623 名前:nobodyさん mailto:sage [2009/07/03(金) 06:21:26 ID:???]
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。

624 名前:nobodyさん mailto:sage [2009/07/03(金) 06:23:18 ID:???]
マニュアルか他のアプリのコードでも見てみれば?

625 名前:nobodyさん mailto:sage [2009/07/03(金) 06:31:04 ID:???]
いくつかの他アプリで{ }と・・・・

626 名前:nobodyさん mailto:sage [2009/07/03(金) 06:36:58 ID:???]
じゃそうすればいいんじゃね?

627 名前:nobodyさん mailto:sage [2009/07/03(金) 06:39:26 ID:???]
すみませんでした
もうちょい詳しい人に聞いてみます

628 名前:nobodyさん mailto:sage [2009/07/03(金) 06:40:56 ID:???]
死ね低脳w

629 名前:nobodyさん mailto:sage [2009/07/03(金) 06:45:36 ID:???]
echo '<input type="hidden" name="',session_name(),'>';

630 名前:nobodyさん mailto:sage [2009/07/03(金) 08:57:30 ID:???]
>>621-622
まあできるかできないかで言えばできる

631 名前:nobodyさん mailto:sage [2009/07/03(金) 10:55:19 ID:???]
PHP は { } で関数と定数が埋め込めないのがダサい



632 名前:nobodyさん mailto:sage [2009/07/03(金) 11:43:51 ID:???]
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう

633 名前:nobodyさん mailto:sage [2009/07/03(金) 11:50:14 ID:???]
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ

634 名前:nobodyさん mailto:sage [2009/07/03(金) 12:48:46 ID:???]
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。

635 名前:nobodyさん mailto:sage [2009/07/03(金) 23:23:32 ID:???]
613ですが自己解決しました。

プラグインで smoothview というのがあったので
そのインターフェースを改造しました。

636 名前:nobodyさん mailto:sage [2009/07/04(土) 07:55:20 ID:???]
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。

637 名前:nobodyさん mailto:sage [2009/07/05(日) 21:23:19 ID:???]
powerd by *****
と表示しなくてもいいCMSはありませんか?

638 名前:nobodyさん mailto:sage [2009/07/08(水) 11:36:42 ID:???]
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?

639 名前:nobodyさん mailto:sage [2009/07/08(水) 11:48:42 ID:???]
>>638
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
  _____ _____  ______  _______
  |  ウェブ  | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ._________________
      |FastCGI PHP               │・検索オプション
      └────────────────┘・表示設定
         | Google検索 | I'm Feeling Lucky |  ・言語ツール
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索 ◎日本語のページを検索

640 名前:nobodyさん mailto:sage [2009/07/08(水) 11:52:55 ID:???]
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ

641 名前:nobodyさん mailto:sage [2009/07/08(水) 11:59:11 ID:???]
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。



642 名前:nobodyさん mailto:sage [2009/07/08(水) 12:01:18 ID:???]
ActivityTimeout=300

643 名前:nobodyさん mailto:sage [2009/07/08(水) 12:11:40 ID:???]
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません

644 名前:nobodyさん mailto:sage [2009/07/08(水) 12:37:53 ID:???]
FCGIext.iniだよ

645 名前:nobodyさん mailto:sage [2009/07/08(水) 12:55:07 ID:???]
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました

646 名前:nobodyさん mailto:sage [2009/07/08(水) 14:16:07 ID:???]
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。

XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。

ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?

根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。

647 名前:nobodyさん mailto:sage [2009/07/08(水) 14:34:54 ID:???]
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは

648 名前:nobodyさん mailto:sage [2009/07/09(木) 12:14:47 ID:???]
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。

649 名前:nobodyさん mailto:sage [2009/07/09(木) 13:19:44 ID:???]
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。

>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。

650 名前:nobodyさん mailto:sage [2009/07/09(木) 14:26:18 ID:???]
>>649
iframeって手もあるな。

651 名前:nobodyさん mailto:sage [2009/07/09(木) 17:26:11 ID:???]
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。



652 名前:nobodyさん mailto:sage [2009/07/09(木) 18:41:50 ID:???]
>>650
ありがとう。
iframe

653 名前:nobodyさん mailto:sage [2009/07/09(木) 18:48:35 ID:???]
すまんそん。

>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。

>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。

654 名前:nobodyさん mailto:sage [2009/07/09(木) 21:36:35 ID:???]
iframeなくなるの?

655 名前:age [2009/07/09(木) 22:48:26 ID:DwSsHHgt]
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?

656 名前:nobodyさん mailto:sage [2009/07/10(金) 02:40:08 ID:???]
>>655
exit か die で終了させちゃえばいいんじゃないの。

657 名前:nobodyさん mailto:sage [2009/07/10(金) 12:50:37 ID:???]
>>654

iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。

658 名前:ユキ [2009/07/12(日) 04:36:26 ID:au+P+rHJ]
初めまして。
PHPど素人です。

インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。

問題は以下のとおりです。

『数値1〜9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』

ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。

皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。

659 名前:nobodyさん mailto:sage [2009/07/12(日) 05:09:19 ID:???]
宿題は自分で

660 名前:nobodyさん mailto:sage [2009/07/12(日) 08:09:56 ID:???]
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する


    ↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる

661 名前:nobodyさん mailto:sage [2009/07/12(日) 08:11:34 ID:???]
$aが4桁か調べる。

もし5桁以上なら、エラーを吐いて死ぬ。

4桁なら、こんどは、$aが負の数かどうかを調べる。

0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。

$aのチェックが終わったら、$b、そして
、、、、$i。



662 名前:nobodyさん mailto:sage [2009/07/12(日) 08:14:51 ID:???]
次に、$a〜$iを配列に入れる。

そんで、その中の最大値を調べる(専用関数あり)

そして、こんどはその配列の、最小値を調べる(専用関数あり)

そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示

次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。

以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。

663 名前:nobodyさん mailto:sage [2009/07/12(日) 08:24:10 ID:???]
>>660-662
それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。

664 名前:nobodyさん mailto:sage [2009/07/12(日) 08:51:58 ID:???]
preg_matchでチェックとセットが同時にできる

665 名前:ユキ [2009/07/12(日) 14:48:56 ID:tG558Uf0]
>>660-664
ご親切にありがとうございます!!!!!

おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!

666 名前:ユキ [2009/07/12(日) 22:27:20 ID:tG558Uf0]
以下のように書いてみましたが、
これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。

if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
     if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}

if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}

if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}

if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}


667 名前:ユキ [2009/07/12(日) 22:28:07 ID:tG558Uf0]

if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}

if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}

if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}

if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}


$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";

668 名前:nobodyさん mailto:sage [2009/07/12(日) 23:06:46 ID:???]
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない

669 名前:nobodyさん mailto:sage [2009/07/13(月) 02:32:15 ID:???]
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い

670 名前:nobodyさん mailto:sage [2009/07/13(月) 11:10:34 ID:???]
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。

ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。

671 名前:nobodyさん mailto:age [2009/07/13(月) 18:25:41 ID:???]
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?



672 名前:nobodyさん mailto:sage [2009/07/13(月) 18:29:50 ID:???]
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?

673 名前:nobodyさん mailto:sage [2009/07/13(月) 19:15:29 ID:???]
>>671
パスは設定ファイルに入れておけばいいじゃない。

完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。

または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。

674 名前:nobodyさん mailto:sage [2009/07/13(月) 19:16:10 ID:???]
>>672
PEARのインストールができているかまずチェック。

675 名前:nobodyさん mailto:sage [2009/07/13(月) 21:11:07 ID:???]
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz

どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。

676 名前:nobodyさん mailto:sage [2009/07/15(水) 03:07:14 ID:???]
[環境] WinXP(XAMP) + PHP5
[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
 echo "Called HogeFunc1";
}
class HogeClass1{
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 $m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 public static function HogeFunc2 {
  echo "Called HogeFunc2";
 }
 $m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------

677 名前:nobodyさん mailto:sage [2009/07/15(水) 03:15:04 ID:???]
下の奴パースエラーにならないか?

678 名前:nobodyさん mailto:sage [2009/07/15(水) 03:16:29 ID:???]
上もだった。
色々ひどい。HOGE_TAG関数もないし

679 名前:nobodyさん mailto:sage [2009/07/15(水) 05:17:03 ID:???]
Reflection API

680 名前:nobodyさん mailto:sage [2009/07/15(水) 10:01:02 ID:???]
>>674
そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。

681 名前:nobodyさん mailto:sage [2009/07/15(水) 15:59:14 ID:???]
エラー表示の制御は基本中の基本だぞ



682 名前:nobodyさん mailto:sage [2009/07/16(木) 17:37:24 ID:???]
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど
全く繋がらないんだが俺だけかな?

683 名前:nobodyさん mailto:sage [2009/07/16(木) 18:39:37 ID:???]
www.php.netやphp.netじゃつながらなかったが
jp.php.net jp2.php.netとかはつながった

684 名前:nobodyさん mailto:sage [2009/07/16(木) 19:15:41 ID:???]
>>683
ホントだ! これでDLして勉強できる・・・
ありがとうございます

685 名前:質問です mailto:sage [2009/07/22(水) 01:15:02 ID:???]
xhtml構造で
他ページにおいてるphpを読み込むには
どうしたらいいですか?
いまはとりあえず、インラインとかobjectタグで
呼び出しています

ほかに良い方法があればお教えください
 

686 名前:nobodyさん mailto:sage [2009/07/22(水) 04:17:36 ID:???]
>>685
軽くエスパーして
つ require


687 名前:nobodyさん mailto:sage [2009/07/22(水) 16:32:04 ID:???]
すいません。超初心者ですが、配列と変数について困っています。
$ar = array(1,2); とすると
Array ( [0] => 1 [1] => 2 ) と表示されるのですが、

$date = "1,2";
$ar = array($date); とすると
Array ( [0] => 1,2 ) と表示されてしまいます。

$dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、
これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。

申し訳ありませんがよろしくお願いします。

688 名前:nobodyさん mailto:sage [2009/07/22(水) 17:05:38 ID:???]
$date = explode(",",1,2);
while ($i == 0){
$date1 = mt_rand(0,1000);
$date2 = mt_rand(0,1000);
if ($date1 == $date[0]){
if ($date2 == $date[1]){
break;
}
}
}
$ar = array($date1,$date2);

689 名前:687 mailto:sage [2009/07/22(水) 17:05:52 ID:???]
すいません、自己解決しました。
$ar = array($date); を
$ar = explode(",", $date); とすることでうまく動きました。
お手を煩わせて申し訳ありませんでした。

690 名前:687 mailto:sage [2009/07/22(水) 17:07:43 ID:???]
>>688さん
ありがとうございました。

691 名前:nobodyさん mailto:sage [2009/07/23(木) 00:45:19 ID:???]
685です
>>686トンです
require_onceとhtaccessやっても無理でした
再度トライ中
 



692 名前:nobodyさん mailto:sage [2009/07/23(木) 15:34:36 ID:???]
$this->name = "名前";
$this->mail = "メアド";
$this->tel = "電話";

などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか

693 名前:nobodyさん mailto:sage [2009/07/23(木) 15:39:20 ID:???]
var_dump($this);

ちなみに配列じゃないけどね

694 名前:nobodyさん mailto:sage [2009/07/23(木) 16:15:48 ID:???]
>>693
おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました

695 名前:nobodyさん mailto:sage [2009/07/23(木) 16:51:40 ID:???]
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、
入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、
修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう)

スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします
何か解決方法はないでしょうか

696 名前:nobodyさん mailto:sage [2009/07/23(木) 17:44:36 ID:???]
リセットはJSでやりゃあいいじゃん

697 名前:nobodyさん mailto:sage [2009/07/23(木) 17:57:10 ID:???]
UI としてリセット機能は不要なことが多いけど

698 名前:695 mailto:sage [2009/07/23(木) 18:08:13 ID:???]
なるほど、どっちもアリだと思うので両方検討してみます

699 名前:nobodyさん mailto:age [2009/07/23(木) 22:50:23 ID:???]
Apache入れないでphp.exe -lって出来る方法ってありますか?
Apacheを入れたPCでは現在使えています。

700 名前:nobodyさん mailto:sage [2009/07/23(木) 23:04:04 ID:???]
CLI版ならできるんじゃ?

701 名前:nobodyさん mailto:age [2009/07/23(木) 23:49:44 ID:???]
win zip版を落としてきて
パスphp.exe -l "%1"

これでダメなのです。
Apacheを入れてるときは動いてたのですが



702 名前:nobodyさん mailto:sage [2009/07/24(金) 10:45:01 ID:???]
エラー文言を出さないのは釣りということ。スルーで。

703 名前:nobodyさん mailto:sage [2009/07/24(金) 18:48:34 ID:???]
$_SESSION["input"] = $_POST;

としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか

現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・


PHP5

704 名前:nobodyさん mailto:sage [2009/07/24(金) 18:57:24 ID:???]
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?

705 名前:nobodyさん mailto:sage [2009/07/24(金) 19:15:54 ID:???]
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}


706 名前:nobodyさん mailto:sage [2009/07/24(金) 19:49:53 ID:???]
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ

707 名前:nobodyさん mailto:sage [2009/07/24(金) 20:12:12 ID:???]
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw

>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです

708 名前:nobodyさん mailto:sage [2009/07/24(金) 20:16:44 ID:???]
>>707
magic_quote

709 名前:nobodyさん mailto:sage [2009/07/24(金) 20:20:38 ID:???]
>>707
普通はHTMLに出力用データを埋め込んで表示

710 名前:nobodyさん mailto:sage [2009/07/25(土) 03:07:01 ID:???]
>>705>>708をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました

function h($data){
 if(is_array($data)){
    return array_map('h', $data);
 }else{
    return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
 }
}

呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }

動いてはいるものの正直自信全くナシですw


>>709
こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります

出力したいデータを詰め込んだ変数の中身はこんなかんじです

$output = "
 <table><tr>
   <td>名前</td>
   <td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
 </tr></table>
";

711 名前:nobodyさん mailto:sage [2009/07/25(土) 03:08:44 ID:???]
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です



712 名前:nobodyさん mailto:sage [2009/07/25(土) 06:09:00 ID:???]
>>710
<?php
/* 〜前処理〜 */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
 <td>名前</td>
 <td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>

713 名前:nobodyさん [2009/07/25(土) 09:38:50 ID:njtiSjD4]
&が置き換わるのは
htmlspecialcharsの仕様

714 名前:nobodyさん mailto:sage [2009/07/25(土) 17:11:32 ID:???]
>>712
おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか

>>713
ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・


ところで、>>710で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます


該当部分の処理を順番に並べると下のようになるのですが

$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);


これだと\が消えてしまうので、上の//*//の部分に


$str = preg_replace("/\\\\/i", "\\", $str);

を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか

715 名前:nobodyさん mailto:sage [2009/07/25(土) 17:16:16 ID:???]
stripslashesって何のために入れてるの?

716 名前:nobodyさん mailto:sage [2009/07/25(土) 17:35:20 ID:???]
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです

717 名前:nobodyさん mailto:sage [2009/07/25(土) 17:48:38 ID:???]
magic_quotes_gpc が効いてるだけでは

718 名前:nobodyさん mailto:sage [2009/07/25(土) 17:49:57 ID:???]
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい

719 名前:nobodyさん mailto:sage [2009/07/25(土) 17:58:30 ID:???]
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw

720 名前:nobodyさん [2009/07/25(土) 19:12:06 ID:y2BFJd1A]
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが
どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。

この例だと配列を2階層しか整形出来ない
function makejson($array){
    $return = "{\n";
    foreach($array as $key => $value){
        $return .= "\t".$key.":";
        if(is_array($value)==true){
            $return .= "{\n";
                foreach($value as $key => $value_2){
                    $return .= "\t\t".$key.":";
                    $return .= "\"".$value_2."\",\n";
                }
            $return .= "\t},\n";
        }else{
            $return .= "\"".$value."\",\n";
        }
    }
    $return .= "}";
    echo $return;
    exit;
}

721 名前:nobodyさん [2009/07/25(土) 19:12:30 ID:y2BFJd1A]
入力例
$array = array{
    'example' => array{
        'test1' => 'value1',
    },
    'example1' => 'value3',
}
makejson($array);
出力例
{
    example : {
        test1 : "value1",
    },
    example1 : "value3",
}

よろしくお願いします。



722 名前:nobodyさん mailto:sage [2009/07/25(土) 19:25:21 ID:???]
>>720
www.php.net/manual/ja/function.json-encode.php

723 名前:nobodyさん [2009/07/25(土) 19:48:52 ID:y2BFJd1A]
そんな便利な関数があったのねありがとう

724 名前:719 mailto:sage [2009/07/26(日) 17:13:42 ID:???]
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません

ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw

具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか

725 名前:nobodyさん mailto:sage [2009/07/27(月) 11:41:33 ID:???]
CSRF とか大丈夫なんかな

726 名前:nobodyさん mailto:sage [2009/07/28(火) 18:19:31 ID:???]
php5.2.5で、mb_send_mail()を使ってメールを送信する際、
spam扱いをなるべく避けるため第5引数で-fパラメータのReturn-Pathを設定したいのですが、

$r_path ='-f aaa@bbb.com';
mb_send_mail($to,$sub,$body,$header,$r_path);
としてもエラーが出て送信できません
第5引数を外せば送信できるので第5引数が原因だと思うのですが、
対策はないでしょうか

php.iniの設定は以下の通りです
sendmail_from → no value
sendmail_path → /usr/sbin/sendmail -t -i


727 名前:nobodyさん mailto:sage [2009/07/28(火) 19:54:00 ID:???]
>>726
-fの後ろに余分なスペースがあるとか。

728 名前:nobodyさん mailto:sage [2009/07/28(火) 21:42:53 ID:???]
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));


729 名前:nobodyさん mailto:sage [2009/07/28(火) 21:45:07 ID:???]
ワロタ

730 名前:728 mailto:sage [2009/07/29(水) 00:14:01 ID:???]
わかるかたいませんか?

731 名前:nobodyさん mailto:sage [2009/07/29(水) 00:18:36 ID:???]
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。

次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。



732 名前:nobodyさん mailto:sage [2009/07/29(水) 00:30:42 ID:???]
それって逆にパス文字列に戻せるのかな

733 名前:nobodyさん mailto:sage [2009/07/29(水) 00:34:01 ID:???]
戻せない

734 名前:nobodyさん mailto:sage [2009/07/29(水) 00:52:28 ID:???]
戻す必要ないしな

735 名前:nobodyさん mailto:sage [2009/07/29(水) 00:55:37 ID:???]
あの青春は戻らない

ハッシュのように、曖昧な記憶が残っているだけさ

736 名前:nobodyさん mailto:sage [2009/07/29(水) 00:57:34 ID:???]
>>728
別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。

737 名前:nobodyさん mailto:sage [2009/07/29(水) 09:23:39 ID:???]
>>736
ホント?

738 名前:nobodyさん mailto:sage [2009/07/29(水) 09:39:56 ID:???]
ソノウソホント

739 名前:nobodyさん mailto:sage [2009/07/29(水) 13:45:36 ID:???]
25が暗号化されるんじゃないのか?

740 名前:nobodyさん mailto:sage [2009/07/29(水) 14:02:50 ID:???]
セッションについて悩んでます

ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか

741 名前:nobodyさん mailto:sage [2009/07/29(水) 14:11:35 ID:???]
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid

これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。



742 名前:740 mailto:sage [2009/07/29(水) 14:23:22 ID:???]
>>741
>session.use_trans_sid

ありがとうございます
ビンゴでした
一発で治りました
秀樹感激

743 名前:nobodyさん [2009/07/29(水) 14:57:52 ID:YfqDSQPl]
この性器表現の意味分かる人教えて。
!preg_match("/^$type\.\w+\.php$/", $entry)

744 名前:nobodyさん mailto:sage [2009/07/29(水) 16:59:17 ID:???]
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる

ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・

745 名前:nobodyさん mailto:sage [2009/07/29(水) 17:23:30 ID:???]
>>744
ごめん勘違い

746 名前:nobodyさん mailto:sage [2009/07/29(水) 19:47:14 ID:???]
>>744
さんきゅ

747 名前:nobodyさん mailto:sage [2009/07/31(金) 09:32:14 ID:???]
童貞ですが何か?

748 名前:nobodyさん mailto:sage [2009/07/31(金) 18:48:49 ID:???]
PHPのゲームってどれくらい負荷かかるのですか?

749 名前:nobodyさん mailto:sage [2009/07/31(金) 19:11:43 ID:???]
PHPを何に使っているかによる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。

リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。

750 名前:nobodyさん mailto:sage [2009/07/31(金) 20:55:23 ID:???]
なるほど
ありがとうございます

751 名前:nobodyさん [2009/08/01(土) 23:44:33 ID:FfAyQxIr]
初心ですいません。今PHPで複数のサイトの更新情報を表示できるrssをつくりたくて
やっと表示できたソースがあったんですが、↓のやりかただと更新時間順に表示されなくて、
URL順になってしまいます。
$rss = array('http://○○','http://○○','http://○○');

これ以上ぐぐっても答えが出そうにないのでお知恵をお貸しください



752 名前:nobodyさん mailto:sage [2009/08/01(土) 23:52:02 ID:???]
RSSを表示できるなら、その内容をパースすることもできるだろう。
パースして各RSSの更新日時を取得、それを順に並べて出力すりゃいい。

753 名前:nobodyさん mailto:sage [2009/08/02(日) 10:58:28 ID:???]
微妙にスレチなんだけど、このスレの凄腕達はPHP開発環境使ってる?
var_dumpでブラウザに毎回出力してたんだがさっき自称凄腕に失笑された

754 名前:nobodyさん mailto:sage [2009/08/02(日) 12:27:20 ID:???]
デバッグするならZendStudio、とりあえずさっと作って動作確認するなら秀丸+ブラウザorコマンドライン

755 名前:nobodyさん mailto:sage [2009/08/02(日) 12:28:46 ID:???]
>>753
つ FirePHP

756 名前:nobodyさん mailto:sage [2009/08/02(日) 15:17:53 ID:???]
var_dumpを笑う者はvar_dumpに泣く

じっちゃんがよく言ってた

757 名前:nobodyさん mailto:sage [2009/08/02(日) 15:24:41 ID:???]
俺なんてブラウザでprint_rですけど

758 名前:nobodyさん mailto:sage [2009/08/02(日) 16:16:05 ID:???]
フリーのIDEがZendFWに完全対応してくれるならいいんだけど・・・


759 名前:nobodyさん mailto:sage [2009/08/03(月) 09:48:18 ID:???]
リモートデバッグとかステップ実行したいときはPDTだけど
普段はPHPエディタ+tortoisesvn
デバッグ表示はVar_Dump::display(); // pearのVar_Dump

あとはXdebug有効にしてる(エラー時にブラウザに色々情報でる)
凄腕じゃないのでほとんどの場合、これで十分。

760 名前:nobodyさん mailto:sage [2009/08/05(水) 23:34:19 ID:???]
公式マニュアルのミスは何処に言えばいいんだ?

jp.php.net/manual/ja/function.min.php
>min() は配列の中で最も大きい数値を返します

761 名前:nobodyさん mailto:sage [2009/08/05(水) 23:39:36 ID:???]
>>760
ドキュメントの改善を手助けするには
ttp://jp.php.net/manual/ja/about.howtohelp.php





762 名前:nobodyさん mailto:sage [2009/08/06(木) 09:46:57 ID:???]
※ただしストレスが溜まる

763 名前:nobodyさん mailto:sage [2009/08/09(日) 02:42:18 ID:???]
PHPの総合開発環境で何かおすすめないですか?
PHPエディタという奴は起動してすぐ落ちるのでだめでした
VisualStudioみたいのがいいんだけど、やはりフリーじゃなくお金払わないとだめですかね

764 名前:nobodyさん mailto:sage [2009/08/09(日) 02:48:28 ID:???]
eclips + PDT

765 名前:nobodyさん mailto:sage [2009/08/09(日) 04:26:11 ID:???]
>>764
コード書いた後の出力の確認ってどんな感じになるの?

766 名前:nobodyさん mailto:sage [2009/08/10(月) 00:19:53 ID:???]
教えてください
CSVから1行一件のデータを読み込み
最初のforeachの中でif文使って条件分けしたデータを配列に入れて
その分けた数とforeachで表示させたいのですが
条件分けしたデータを入れる変数?配列?の宣言の仕方が分かりません
$Alllist = file("data.csv");
foreach( $Alllist as $list )
{


767 名前:766 mailto:sage [2009/08/10(月) 00:22:54 ID:???]
改行間違って送ってしまった orz
if( strcmp( $list, "A" ) == 0 )
$array = $list;
}
printf( "Count count($array)" );
foreach( $array as $wake )
{

768 名前:766 mailto:sage [2009/08/10(月) 00:25:21 ID:???]
最悪だ、2度失敗した
  表示;
}

すみません、質問以前な事してますが
よろしくお願いします m(_ _)m

769 名前:nobodyさん mailto:sage [2009/08/10(月) 00:30:52 ID:???]
strcmpで条件分けしたCSVの1行だけ
foreachで各列を表示したいんだよね?
それでいいのでは?

770 名前:nobodyさん mailto:sage [2009/08/10(月) 00:55:07 ID:???]
推測になるが、例えばcsvデータの1列目の文字に応じて、分類したいということなら、

function group_lists($list, $key, &$group) {
if (! array_key_exists($key, $group)) $group[$key] = array();

$group[$key][] = $list;
}

// ここから呼び出し元

$group = array();
foreach( $Alllist as $list )
{
if (stripos($list, 'A') === 0) {
group_lists($list, 'A', $group);
}
else if (stripos($list, 'B') === 0) {
group_lists($list, 'B', $group);
}
// 以下、場合分けの数だけelse ifが続く
}


771 名前:nobodyさん mailto:sage [2009/08/10(月) 01:16:15 ID:???]
submitボタンが押されたらフォームの内容を
ファイルに書き込むプログラムを作りました。

a.php
-----------------------------------------------------
if($_POST['submit']) {
writeData();
}
-----------------------------------------------------

これは正常に動いているのですが、
a.phpからb.htmlなどにページ移動し、ブラウザの戻るボタンで戻ると
再度POSTデータが送信されてファイルに書き込まれてしまいます。
これを避ける方法がありましたら、ご教授願えますか?



772 名前:nobodyさん mailto:sage [2009/08/10(月) 03:15:03 ID:???]
>>770
なんで===にしてんの?

773 名前:nobodyさん mailto:sage [2009/08/10(月) 03:15:45 ID:???]
>>771
Locationで飛ばすとか

774 名前:nobodyさん mailto:sage [2009/08/10(月) 06:26:50 ID:???]
>>771
書き込む内容をチェックしたり、セッション使ったり
用途に合わせた選択をすればいいと思う
>>772
==を使う方が例外的だろう
普通は===を使うぞ

775 名前:nobodyさん mailto:sage [2009/08/10(月) 07:11:59 ID:???]
えっ

776 名前:nobodyさん mailto:sage [2009/08/10(月) 07:30:39 ID:???]
なにそれ

777 名前:766 mailto:sage [2009/08/10(月) 10:34:50 ID:???]
>>769 >>770さんレスありがとうございます
まずCSV内に一致した数を表示させて
その後に分類されたデータを表示させたいので
分類と表示を一緒にはできない・・・ですよね

配列を宣言して、その配列にどんどん分類したデータを追加していく
C++で言うvector見たいなのはphpでは無いのでしょうか?

778 名前:nobodyさん mailto:sage [2009/08/10(月) 10:39:06 ID:???]

hairetu = array();
hairetu[]="hogehoge";
hairetu[]="hagehage";
hairetu[]="tsurutsuru";


779 名前:nobodyさん mailto:sage [2009/08/10(月) 12:16:40 ID:???]
== は型を無視して比較、
=== は型まで同一かどうかを比較、
だったっけか

780 名前:766 mailto:sage [2009/08/10(月) 13:47:28 ID:???]
>>778
ありがとうございます、うまくいきました

>>779
知らなかったー

781 名前:nobodyさん mailto:sage [2009/08/10(月) 14:09:08 ID:???]
>>774
普通は===を使うぞの根拠をkwsk



782 名前:nobodyさん mailto:sage [2009/08/10(月) 15:46:06 ID:???]
>>781
d.hatena.ne.jp/hnw/20080606
この記事がとても参考になると思う

783 名前:nobodyさん mailto:sage [2009/08/10(月) 15:51:30 ID:???]
>>782
全部マニュアルで明記されてることじゃん??
どの辺が普通なの?

784 名前:nobodyさん mailto:sage [2009/08/10(月) 15:58:42 ID:???]
粘着質な奴だな

785 名前:nobodyさん mailto:sage [2009/08/10(月) 17:08:21 ID:???]
答えられないんだw

786 名前:nobodyさん mailto:sage [2009/08/10(月) 17:24:39 ID:???]
テキストファイルからURLを抽出するphpを書きたいのですが、

$source (元のテキストファイル)
$result (URLリスト)
とします。

phpspot.net/php/man/php/function.preg-match-all.html
ここを参考に以下のコードを書きました。

// $pattern = '/http:\/\/[a-z0-9\/\-_\.]+/i';
// $pattern = '/(?:")?(http:\/\/[^\s"]+)/';
$pattern = '/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/';

preg_match_all( $pattern, $source, $maches );
fputs($pointer, count($matches[0]));
fputs($pointer, "\n");

for ( $i=0; $i< count($matches[0]); $i++ )
{
fputs($pointer, $maches[1][$i]);
}

色々パターンを変えてやってみても、結果はいつも0(何もマッチしない)です。
これ以外の方法でも構わないので、テキストからURLリストを作る方法を教えてください。
よろしくお願いします。

787 名前:nobodyさん mailto:sage [2009/08/10(月) 18:31:55 ID:???]
>>782
string型同士でも10e0とか数字比較されるのは知らなかった。
これは危険だな。

788 名前:nobodyさん mailto:sage [2009/08/10(月) 20:09:42 ID:???]
>>786
ひょっとして
$source = 'hoge.txt';
とかじゃないよね?
preg_match_allの第2引数は検索対象となる”文字列”だからね?

789 名前:nobodyさん mailto:sage [2009/08/10(月) 20:11:45 ID:???]
型まできちんと意識するときは===使うけど、意識するまでもないときは普通に==使うなあ。
まあ用心とか念のためとかいわれたらそう言う考え方もあるよね、だけど。

790 名前:nobodyさん mailto:sage [2009/08/10(月) 20:17:14 ID:???]
型を意識しなくてもいい言語だからこそ型に関連するバグに嵌るんだよな

791 名前:770 mailto:sage [2009/08/11(火) 00:47:34 ID:???]
>>772

いまさらだが、striposは、見つからなかった場合、falseを返す。
== 0 とした場合、0文字目かfalseかを判断出来ないため、=== 0とした。



792 名前:786 mailto:sage [2009/08/11(火) 11:34:24 ID:???]
>>788
そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…


793 名前:786 mailto:sage [2009/08/11(火) 11:37:04 ID:???]
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか?
(ポインタをどうやって進めるんですか?)


794 名前:nobodyさん mailto:sage [2009/08/11(火) 11:45:01 ID:???]
$source = 'hoge.txt';
$pattern = '/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/mi';
preg_match_all( $pattern, file_get_contents($source), $maches );
print_r($maches);

795 名前:786 mailto:sage [2009/08/11(火) 11:46:06 ID:???]
<?php
 $pointer=fopen("./book/memo", "r");    //ファイルを開きます
   $line = fgets($pointer);       //内容を取り出します
  echo $line;               //画面に内容を表示
 fclose($pointer);              //ファイルを閉じます
?>

こういうクソサンプル載せてるサイトってなんなんだろう…
全く意味がないw

796 名前:786 mailto:sage [2009/08/11(火) 11:48:25 ID:???]
>>794さん
ありがとうございます。
file_get_contentsがキモだったんですね。

797 名前:nobodyさん mailto:sage [2009/08/11(火) 11:48:48 ID:???]
お前が言うな

798 名前:nobodyさん mailto:sage [2009/08/11(火) 12:29:46 ID:???]
ワロタ

799 名前:nobodyさん mailto:sage [2009/08/12(水) 11:34:05 ID:???]
Apache で聞くべきか悩んだのですがここで。
.htaccess で

php_value mbstring.func_overload 0


と書いても設定が変わりません。試しに

php_value mbstring.func_overload = 0


と書くとエラーになるので .htaccess は読まれているようです。
( mod_rewrite などは動いている )

解決策をご存知の方はいらっしゃいませんか。

800 名前:nobodyさん mailto:sage [2009/08/12(水) 11:41:53 ID:???]
ini_get("mbstring.func_overload"); はいくつ?

801 名前:799 mailto:sage [2009/08/12(水) 11:54:07 ID:???]
>>800
7 なので 0 にしたくて



802 名前:nobodyさん mailto:sage [2009/08/12(水) 13:46:11 ID:???]
>>801
だからよ、7ってことはその.htaccessが効いてないってことじゃないか。

803 名前:799 mailto:sage [2009/08/12(水) 13:47:48 ID:???]
>>802
なので何でだろう、と。
Apache スレの方がいいですかね。

804 名前:nobodyさん mailto:sage [2009/08/12(水) 14:04:17 ID:???]
ini_set してまたini_getするとどうなる?

805 名前:nobodyさん mailto:sage [2009/08/12(水) 14:05:09 ID:???]
AllowOverrideがNoneになってるとか?

806 名前:nobodyさん mailto:sage [2009/08/12(水) 14:05:24 ID:???]
そもそも環境は?バージョンとか。
一部レンタルサーバじゃその変更使えないとか書いてるサイトもみかけたぞ

807 名前:799 mailto:sage [2009/08/12(水) 14:44:31 ID:???]
みなさん、いろいろとありがとうございます。

>>804
mbstring.func_overload は PHP_INI_PERDIR なので
ini_set() できないだろと思いつつ、試してみましたが 7 のままです。

>>805
あ、それ怪しい、と期待したのですが
AllowOverride All
Options All
でした…。

>>806
自分のパソコンの実験サーバです。
Apache/2.0.63 + PHP 5.2.9-1 ( Windows Vista )

とりあえず php.ini の mbstring.func_overload = 0 をしてますが、
古いアプリが 7 を期待しているのがあって、普段は 7 がいいんです…。

808 名前:nobodyさん mailto:sage [2009/08/12(水) 15:16:49 ID:???]
いやまあAllowOverrideはrewrite効いてるって書いてるから無いでしょ。
とりあえずこっちで試す限り普通に変更できるので、どこかで上書きしてるか
変更しないようになってるのでは。
インストールした直後の設定に戻しても同じかな

809 名前:799 mailto:sage [2009/08/12(水) 15:37:31 ID:???]
>>808
ですよね。
何かの見落としだと思うので
クリーンな環境で試してみます。

810 名前:nobodyさん mailto:sage [2009/08/12(水) 21:21:14 ID:???]
今日初めてSmartyを使ってみたのですが、ブラウザで開くと文字化けしてしまいます。
phpとtplの文字コードはEUC-JPで、tplの出だしは
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
となっています。
そいやphpで書いてた時も同じものをprintしたんじゃだめで、
header( "Content-Type: text/html;charset=EUC-JP" );
と書かないと文字化けしたんですけど、関係あるでしょうか?どうやって解決すればいいんでしょう。

811 名前:nobodyさん mailto:sage [2009/08/12(水) 21:23:16 ID:???]
続き
mbstring.internal_encoding = EUC-JP
になっています。



812 名前:nobodyさん mailto:sage [2009/08/12(水) 21:27:49 ID:???]
更に追記
ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります
日本語:自動判別にすると文字化けします

813 名前:nobodyさん mailto:sage [2009/08/12(水) 21:56:23 ID:???]
冒頭に美乳と書く

814 名前:nobodyさん mailto:sage [2009/08/12(水) 22:01:02 ID:???]
>>810
ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない

815 名前:nobodyさん mailto:sage [2009/08/13(木) 01:01:40 ID:???]
なるほど。で、どうすればいいんでしょうか

816 名前:nobodyさん mailto:sage [2009/08/13(木) 10:20:29 ID:???]
default_charset は?

817 名前:nobodyさん mailto:sage [2009/08/13(木) 21:55:45 ID:???]
php.iniの中にdefault_charsetの設定がありません。これが原因でしょうか?
バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。
ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。

818 名前:nobodyさん mailto:sage [2009/08/13(木) 21:59:48 ID:???]
適当な位置にdefault_charset = EUC-JPを追加してみたけどだめでした。
こりゃあきらめるしかないか。

819 名前:nobodyさん mailto:sage [2009/08/15(土) 14:05:38 ID:???]
mixiのメッセージが届いたら、
「○○さんから届いたよ」っていうメッセージが
デスクトップに表示されるっていうプログラムを作りたいんですが、
「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?



820 名前:nobodyさん mailto:sage [2009/08/15(土) 14:22:52 ID:???]
pc11.2ch.net/test/read.cgi/php/1167984858/l50
マルチ?

821 名前:nobodyさん [2009/08/17(月) 17:42:19 ID:YF5t01fc]
ハリコの虎とかがむしゃらのようなスクリプトって公開されていますでしょうか?



822 名前:nobodyさん mailto:sage [2009/08/17(月) 17:47:12 ID:???]
何だろうと思ったらエロ画像掲示板なのか
ぼく18歳未満なのでこれ以上調査できません><

823 名前:nobodyさん [2009/08/18(火) 10:55:27 ID:4md56gGq]
質問です。

<?php
$test="てすと";
?>
<html><body>
<?=$test?>
</body></html>

これが表示されるサーバーと表示されないサーバがあるのですが、
どういう理由で違いが出るのでしょうか?
どこかサーバー側の設定が違うのでしょうか?

宜しくお願いします。

824 名前:nobodyさん mailto:sage [2009/08/18(火) 10:58:12 ID:???]
>>823
short_open_tag

825 名前:nobodyさん [2009/08/18(火) 11:14:03 ID:4md56gGq]
>>824
ありがとうございました。
無事、表示できるようになりました。

826 名前:nobodyさん mailto:sage [2009/08/18(火) 15:33:36 ID:???]
ショートオープンタグは、
オフにしたほうがいい。

もし開発環境で、オンで、
そのまま開発して、
それでもし本番がオフだったら、
書いたコードがPHPとして
実行されずに、ソースが丸見えになる。

827 名前:nobodyさん mailto:sage [2009/08/18(火) 15:36:44 ID:???]
俺の、ゆめは、将来のうちに
連れとか中間と、いっしょに、連合組んで
関東を統一することである。
学校出たら、トオルんとこの溶接、手伝って
金ためてアストロか、シーマを、迷ってるが買って、
単車も改造して、バリバリいい音出して走る。
俺は、ずっと将来現役で、走り続ける事が、夢である。

これ思い出した

828 名前:nobodyさん mailto:sage [2009/08/18(火) 19:47:38 ID:???]
レンタ鯖がカスタマイズしたphp.iniの設置認めてるんですが、
こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを

log_errors = On

みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか

829 名前:nobodyさん mailto:sage [2009/08/18(火) 20:10:14 ID:???]
>>828
レンタル鯖のマニュアル読んだほうがいい。
一概にどうとは言えないと思うよ。

830 名前:nobodyさん [2009/08/19(水) 13:19:33 ID:rHPCm5Kh]
すいません、質問いいですか?
【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。

パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?

831 名前:nobodyさん mailto:sage [2009/08/19(水) 13:22:35 ID:???]
send_request関数が無いので何とも



832 名前:nobodyさん mailto:sage [2009/08/19(水) 13:24:22 ID:???]
マルチだったのか。乙

833 名前:nobodyさん mailto:sage [2009/08/19(水) 14:29:22 ID:???]
<?php
$mes ="
<html>
<head><title>aaa</title></head>
<body>aaa</body></html>";

echo $mes;
?>


たったこれだけのスクリプトがFirefoxでだけエラー起こす鯖があるんだけどなんでだろう
アドオンは当然全部切った

↓エラーメッセージ
501 Method Not Implemented
GET to /test.php not supported.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

834 名前:nobodyさん mailto:sage [2009/08/19(水) 14:36:00 ID:???]
正しくヘッダ出してないからじゃね

835 名前:nobodyさん mailto:sage [2009/08/19(水) 14:38:06 ID:???]
クッキー消せだって

836 名前:nobodyさん mailto:sage [2009/08/19(水) 14:57:27 ID:???]
ありがとう
クッキー消したらうまくいった
クッキーなんて使ってないスクリプトなのになんでだろ・・・

837 名前:nobodyさん mailto:sage [2009/08/20(木) 01:28:48 ID:???]
file_get_contentsとか、curl_execとかでPOST送信した場合、
相手から302が返ってくると遷移先にGETで送ってくれやがります
POSTで再送できないの?

838 名前:nobodyさん mailto:sage [2009/08/20(木) 09:59:34 ID:???]
RFC2616

839 名前:nobodyさん mailto:sage [2009/08/20(木) 23:15:54 ID:???]
>>838
「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?

その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。


840 名前:nobodyさん mailto:sage [2009/08/21(金) 15:54:18 ID:???]
他人がつくったPHPアプリをメンテしているんですけど、スパゲッティになっています。
それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。
つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。
よろしくお願いします。

841 名前:nobodyさん mailto:sage [2009/08/22(土) 03:08:28 ID:???]
>>840
・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する




842 名前:770 mailto:sage [2009/08/22(土) 03:44:58 ID:???]
>>840
使ったこと無いけど、inclued_get_dataはどう?
マニュアル見た感じ、取得出来そうなきがする
jp.php.net/manual/ja/intro.inclued.php

843 名前:nobodyさん mailto:sage [2009/08/22(土) 12:27:40 ID:???]
>>841
全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・

844 名前:nobodyさん mailto:sage [2009/08/24(月) 00:53:18 ID:???]
画像への権限について質問があります。
画面からファイル(画像)がアップロードされた場合に
test/img/test.jpg
という風にファイルを保存しています。

また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。

ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?

845 名前:nobodyさん mailto:sage [2009/08/24(月) 01:29:01 ID:???]
>>844
コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。

PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。

846 名前:nobodyさん mailto:sage [2009/08/24(月) 01:40:50 ID:???]
>>845
ごめんなさい。ちょっと難しいです。
何か参考になるサイトがあれば教えて頂けますでしょうか?

847 名前:nobodyさん mailto:sage [2009/08/24(月) 06:22:07 ID:???]
マニュアルみながらBASIC認証なりセッションなりやればいいんじゃね

848 名前:nobodyさん mailto:sage [2009/08/25(火) 00:24:14 ID:???]
>>844
test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)

それで、phpから、そのjpgを呼び出して表示するように
すればよい。

1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。

直接test.jpgにブラウザからはアクセスできない。

それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。

849 名前:nobodyさん mailto:sage [2009/08/25(火) 14:05:57 ID:???]
オンラインチャットを作りたいのですが、一から言語を覚えて作るのは難易度高いでしょうか
プログラミングはvbとhtmlしか経験ありません

850 名前:nobodyさん mailto:sage [2009/08/25(火) 14:11:57 ID:???]
>>849
技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう

851 名前:nobodyさん mailto:sage [2009/08/25(火) 14:22:31 ID:???]
1行掲示板みたいなので、javascriptで30秒リロードとかでいいんじゃねーの?



852 名前:nobodyさん mailto:sage [2009/08/25(火) 14:26:06 ID:???]
いつの時代のチャットだよw

853 名前:nobodyさん mailto:sage [2009/08/25(火) 14:31:29 ID:???]
>>850-851
ありがとうございます
インフラなら問題ありません

vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです

854 名前:nobodyさん mailto:sage [2009/08/25(火) 14:40:32 ID:???]
VBでクライアントアプリ作って、
PHPでデータ受けて返すのを作れば
完成なんじゃないか

855 名前:849 mailto:sage [2009/08/25(火) 15:14:15 ID:???]
>>854
一応ブラウザ上で動かしたいもので、すみません

856 名前:nobodyさん mailto:sage [2009/08/26(水) 00:56:09 ID:???]
VBの経験があるならクライアントにSilverlight使えばいいんじゃない


857 名前:nobodyさん mailto:sage [2009/08/26(水) 05:55:55 ID:???]
cURLに関しての質問です。

やりたいこと: 自分のホームページ上からヤフオクへログイン。

現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。
mixiへログインすると正常にcookieも書き出してくれるのですが、
ヤフオクへアクセスを試みると Empty reply from server というエラーを
吐いてしまいます。もちろんcookieも書き出してくれません。
何かアドバイスを頂けると非常に助かります。m(__)m
(長くなるのでスクリプトは次レスで。)


858 名前:857 mailto:sage [2009/08/26(水) 05:57:44 ID:???]
>>857の続きです。

スクリプト:
<?php
// POSTデータ準備 hiddenで送ってるデータが非常に多いので視認性のため一部割愛

$post_data[".u"] = "2c2vi55595i07";
$post_data[".v"] = "0";
$post_data[".challenge"] = "bwDQLWdW58F9ZAsaWVZwpkkumuzc";
$post_data["hasMsgr"] = "0";
$post_data[".chkP"] = "Y";
$post_data[".done"] = "auctions.yahoo.co.jp/jp";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;


859 名前:857 mailto:sage [2009/08/26(水) 05:59:10 ID:???]
>>858の続きです。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://login.yahoo.co.jp/config/login?");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($ch);

if ($result === false) {
// エラーが発生した場合の処理(現在ここでエラーを吐きだして終了する。)
print curl_error($ch);
exit();
}

// ログインが成功してたらトップページへ接続
curl_setopt($ch, CURLOPT_URL, "auctions.yahoo.co.jp/jp/");
$result = curl_exec($ch);

curl_close($ch);
//取得結果を出力する。
echo $result;
?>

以上です。

860 名前:nobodyさん mailto:sage [2009/08/26(水) 06:10:12 ID:???]
フィッシング詐欺?

861 名前:849 mailto:sage [2009/08/26(水) 06:25:22 ID:???]
>>856
今日図書館にいって調べてみます
ありがとうございました








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef