09/05/27 23:11:44
それって自分のISPの回線の
SMTPサーバー経由でないと
メールを送信できないってやつ?
555:nobodyさん
09/05/28 00:21:44
>>554
いえ、違うんです
レンタル鯖だとできたんですけど・・・
556:nobodyさん
09/05/28 00:26:24
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ
プロバイダのヘルプをサブミッションポートで検索してみ
557:nobodyさん
09/05/28 01:30:28
$filename = $month."/".$day.".csv":
$data = @file($filename);
PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。
558:nobodyさん
09/05/28 01:44:46
ごめんなさい、自己解決しましたw
$が間違って&になってましたw
切腹してきますw
559:nobodyさん
09/05/28 08:09:32
>>552
自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。
560:nobodyさん
09/06/01 20:27:02
JISの漢字コードから
3021 → 亜
のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?
よろしくお願いします。
561:nobodyさん
09/06/01 21:02:57
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから
echo "\x1b\$B",pack('H*', 3021);
562:560
09/06/01 21:29:46
>>561
できました!
ありがとうございます。
こういうことって、どこで覚えるんでしょうか?
563:nobodyさん
09/06/01 21:55:20
>>562
今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。
564:nobodyさん
09/06/07 01:18:31 q/9VwFhz
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、
loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?
565:名無し募集中。。。
09/06/07 01:42:48 kkylNn0/
ない
566:nobodyさん
09/06/07 01:53:33
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、
コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?
567:nobodyさん
09/06/07 02:08:23
あるよ
568:nobodyさん
09/06/07 02:15:41
>>566
よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか
569:nobodyさん
09/06/07 02:35:59
おれが作るから半年待て
570:nobodyさん
09/06/07 10:51:54
バッファの意味がわかりません><
どなたか親切な方^^いないでしょうけど教えてくdさい!
571:nobodyさん
09/06/07 11:08:03
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK
572:nobodyさん
09/06/07 11:50:14
すいません。記載するスレを間違えてしまいました。
初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。
573:nobodyさん
09/06/07 11:53:14
ノートンよく知らないけど遮断した理由書いてあるログとかないの?
574:572
09/06/07 12:01:37
>>573
ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
575:nobodyさん
09/06/07 13:06:34
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ
ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
576:nobodyさん
09/06/07 13:25:53
最終的に吐き出したものをHTMLに保存してそれを表示させて
疑わしいものを削っていけばわかるかもよ
577:572
09/06/07 15:11:25
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
578:nobodyさん
09/06/10 11:22:45
変数に格納された数字を、正の数なら+を、負の数なら-を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか
PHP4
579:nobodyさん
09/06/10 11:30:01
そんくらいなら自作してやれば
580:nobodyさん
09/06/10 11:31:18
宿題か?
581:578
09/06/10 11:56:17
自作しますた
30秒で終わりますた
15分ぐぐって損しますた
582:nobodyさん
09/06/10 11:59:44
>>581
You!ここに載せちゃいなよ!
583:nobodyさん
09/06/11 10:23:35
んなもんifで数値比較するだけだろw
584:nobodyさん
09/06/11 13:32:40
$str = $val > 0 ? '+' . $val : '-' . $val ;
あ、0のときはしらん。
585:nobodyさん
09/06/11 14:09:33
-1を--1にする気か?
586:nobodyさん
09/06/11 14:10:28
みんな printf 嫌いなの?
587:nobodyさん
09/06/13 16:08:22
あえてセッション使わずにglobal変数使いまくって
入力画面←→確認画面→送信
と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
588:nobodyさん
09/06/13 16:18:56
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
589:nobodyさん
09/06/13 18:08:42
hiddenかsession以外でそれやる奴バカだろ
590:nobodyさん
09/06/13 18:21:00
>>587
>あえてセッション使わずに
の時点で変だけど、そうしたい理由は何さ?
591:587
09/06/14 21:34:45
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり
>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある
>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら
最後のはセッション関係なかったっけ
機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
592:nobodyさん
09/06/14 21:54:41
>>591
>ブラウザのバックボタンで期限切れだしたくない
youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
593:nobodyさん
09/06/14 21:56:49
セッションキーをhiddenで渡せばいいだけの話だろ常考
594:nobodyさん
09/06/14 22:00:08
>>593
そんなことできたのか
しらんかった
595:nobodyさん
09/06/14 22:11:51
まぁ実際はただのリクエストだからなw
596:nobodyさん
09/06/15 20:18:19
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
597:nobodyさん
09/06/15 20:32:09
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?
preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);
パターンは自分の条件に読み替えてくれ
598:nobodyさん
09/06/15 21:11:06
PDOを使ったスクリプト配布してるとこ教えてください
599:nobodyさん
09/06/16 13:07:05
どなたか~~
600:nobodyさん
09/06/16 13:22:26
スレ違い
601:nobodyさん
09/06/16 17:27:04
ですか。失礼しました
でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
602:nobodyさん
09/06/16 18:15:13
Manualのサンプルじゃ足りないの?
さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
603:nobodyさん
09/06/16 22:33:48
>>601
ソース見たフリースクリプトってどれ?
604:nobodyさん
09/06/16 23:00:21
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです
605:nobodyさん
09/06/17 01:01:12
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?
606:nobodyさん
09/06/17 10:46:14
まあ作られた時期も見てみ
607:nobodyさん
09/06/18 23:33:25
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www
608:nobodyさん
09/06/18 23:34:17
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
609:nobodyさん
09/06/18 23:39:01
wwwwwwwwwwwwww
610:nobodyさん
09/06/18 23:43:23
kimoi
611:nobodyさん
09/06/19 01:47:29
早速ニコ動にうpかよw
保存すますたw
612:nobodyさん
09/06/19 01:48:10
ごむぇん・・・誤爆・・・
613:nobodyさん
09/07/01 11:28:04
WordPress の質問ってここで聞いてもいいんでしょうか。
arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。
home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。
環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
614:nobodyさん
09/07/02 11:12:33
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには
function foo() {
// ???
}
をどうしたらいいでしょうか。
func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
615:nobodyさん
09/07/02 14:46:54
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
616:nobodyさん
09/07/02 15:38:49
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。
foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
617:614
09/07/02 15:41:46
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
618:nobodyさん
09/07/02 16:47:20
>>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
09/07/02 16:55:15
>>618
最高です。。。
ありがとうございます!
620:nobodyさん
09/07/02 21:49:43
せっかく5.3から省略三項演算子が使えるようになったというのに
621:nobodyさん
09/07/03 06:14:31
echo "<input type=hidden name=※>";
のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。
変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。
PHP5
622:nobodyさん
09/07/03 06:15:55
{}で参照なんかできないよ
623:nobodyさん
09/07/03 06:21:26
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。
624:nobodyさん
09/07/03 06:23:18
マニュアルか他のアプリのコードでも見てみれば?
625:nobodyさん
09/07/03 06:31:04
いくつかの他アプリで{ }と・・・・
626:nobodyさん
09/07/03 06:36:58
じゃそうすればいいんじゃね?
627:nobodyさん
09/07/03 06:39:26
すみませんでした
もうちょい詳しい人に聞いてみます
628:nobodyさん
09/07/03 06:40:56
死ね低脳w
629:nobodyさん
09/07/03 06:45:36
echo '<input type="hidden" name="',session_name(),'>';
630:nobodyさん
09/07/03 08:57:30
>>621-622
まあできるかできないかで言えばできる
631:nobodyさん
09/07/03 10:55:19
PHP は { } で関数と定数が埋め込めないのがダサい
632:nobodyさん
09/07/03 11:43:51
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
633:nobodyさん
09/07/03 11:50:14
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
634:nobodyさん
09/07/03 12:48:46
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
635:nobodyさん
09/07/03 23:23:32
613ですが自己解決しました。
プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
636:nobodyさん
09/07/04 07:55:20
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。
637:nobodyさん
09/07/05 21:23:19
powerd by *****
と表示しなくてもいいCMSはありませんか?
638:nobodyさん
09/07/08 11:36:42
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
639:nobodyさん
09/07/08 11:48:42
>>638
_______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|FastCGI PHP │・検索オプション
└────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
640:nobodyさん
09/07/08 11:52:55
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
641:nobodyさん
09/07/08 11:59:11
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
642:nobodyさん
09/07/08 12:01:18
ActivityTimeout=300
643:nobodyさん
09/07/08 12:11:40
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
644:nobodyさん
09/07/08 12:37:53
FCGIext.iniだよ
645:nobodyさん
09/07/08 12:55:07
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
646:nobodyさん
09/07/08 14:16:07
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。
XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。
ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?
根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
647:nobodyさん
09/07/08 14:34:54
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは
648:nobodyさん
09/07/09 12:14:47
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。
649:nobodyさん
09/07/09 13:19:44
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。
>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
650:nobodyさん
09/07/09 14:26:18
>>649
iframeって手もあるな。
651:nobodyさん
09/07/09 17:26:11
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。
652:nobodyさん
09/07/09 18:41:50
>>650
ありがとう。
iframe
653:nobodyさん
09/07/09 18:48:35
すまんそん。
>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。
>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
654:nobodyさん
09/07/09 21:36:35
iframeなくなるの?
655:age
09/07/09 22:48:26 DwSsHHgt
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?
656:nobodyさん
09/07/10 02:40:08
>>655
exit か die で終了させちゃえばいいんじゃないの。
657:nobodyさん
09/07/10 12:50:37
>>654
iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
658:ユキ
09/07/12 04:36:26 au+P+rHJ
初めまして。
PHPど素人です。
インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。
問題は以下のとおりです。
『数値1~9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1~9のどの数値が最大値、最小値か出力しなさい。』
ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。
皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。
659:nobodyさん
09/07/12 05:09:19
宿題は自分で
660:nobodyさん
09/07/12 08:09:56
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する
↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
661:nobodyさん
09/07/12 08:11:34
$aが4桁か調べる。
もし5桁以上なら、エラーを吐いて死ぬ。
4桁なら、こんどは、$aが負の数かどうかを調べる。
0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。
$aのチェックが終わったら、$b、そして
、、、、$i。
662:nobodyさん
09/07/12 08:14:51
次に、$a~$iを配列に入れる。
そんで、その中の最大値を調べる(専用関数あり)
そして、こんどはその配列の、最小値を調べる(専用関数あり)
そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示
次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。
以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。
663:nobodyさん
09/07/12 08:24:10
>>660-662
それだと「さらに数値1~9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
664:nobodyさん
09/07/12 08:51:58
preg_matchでチェックとセットが同時にできる
665:ユキ
09/07/12 14:48:56 tG558Uf0
>>660-664
ご親切にありがとうございます!!!!!
おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
666:ユキ
09/07/12 22:27:20 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:ユキ
09/07/12 22:28:07 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さん
09/07/12 23:06:46
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない
669:nobodyさん
09/07/13 02:32:15
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い
670:nobodyさん
09/07/13 11:10:34
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。
ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
671:nobodyさん
09/07/13 18:25:41
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?
672:nobodyさん
09/07/13 18:29:50
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?
673:nobodyさん
09/07/13 19:15:29
>>671
パスは設定ファイルに入れておけばいいじゃない。
完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。
または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
674:nobodyさん
09/07/13 19:16:10
>>672
PEARのインストールができているかまずチェック。
675:nobodyさん
09/07/13 21:11:07
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz
どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
676:nobodyさん
09/07/15 03:07:14
[環境] 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さん
09/07/15 03:15:04
下の奴パースエラーにならないか?
678:nobodyさん
09/07/15 03:16:29
上もだった。
色々ひどい。HOGE_TAG関数もないし
679:nobodyさん
09/07/15 05:17:03
Reflection API
680:nobodyさん
09/07/15 10:01:02
>>674
そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。
681:nobodyさん
09/07/15 15:59:14
エラー表示の制御は基本中の基本だぞ
682:nobodyさん
09/07/16 17:37:24
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど
全く繋がらないんだが俺だけかな?
683:nobodyさん
09/07/16 18:39:37
www.php.netやphp.netじゃつながらなかったが
jp.php.net jp2.php.netとかはつながった
684:nobodyさん
09/07/16 19:15:41
>>683
ホントだ! これでDLして勉強できる・・・
ありがとうございます
685:質問です
09/07/22 01:15:02
xhtml構造で
他ページにおいてるphpを読み込むには
どうしたらいいですか?
いまはとりあえず、インラインとかobjectタグで
呼び出しています
ほかに良い方法があればお教えください
686:nobodyさん
09/07/22 04:17:36
>>685
軽くエスパーして
つ require
687:nobodyさん
09/07/22 16:32:04
すいません。超初心者ですが、配列と変数について困っています。
$ar = array(1,2); とすると
Array ( [0] => 1 [1] => 2 ) と表示されるのですが、
$date = "1,2";
$ar = array($date); とすると
Array ( [0] => 1,2 ) と表示されてしまいます。
$dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、
これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。
申し訳ありませんがよろしくお願いします。
688:nobodyさん
09/07/22 17:05:38
$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
09/07/22 17:05:52
すいません、自己解決しました。
$ar = array($date); を
$ar = explode(",", $date); とすることでうまく動きました。
お手を煩わせて申し訳ありませんでした。
690:687
09/07/22 17:07:43
>>688さん
ありがとうございました。
691:nobodyさん
09/07/23 00:45:19
685です
>>686トンです
require_onceとhtaccessやっても無理でした
再度トライ中
692:nobodyさん
09/07/23 15:34:36
$this->name = "名前";
$this->mail = "メアド";
$this->tel = "電話";
などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか
693:nobodyさん
09/07/23 15:39:20
var_dump($this);
ちなみに配列じゃないけどね
694:nobodyさん
09/07/23 16:15:48
>>693
おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました
695:nobodyさん
09/07/23 16:51:40
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、
入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、
修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう)
スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします
何か解決方法はないでしょうか
696:nobodyさん
09/07/23 17:44:36
リセットはJSでやりゃあいいじゃん
697:nobodyさん
09/07/23 17:57:10
UI としてリセット機能は不要なことが多いけど
698:695
09/07/23 18:08:13
なるほど、どっちもアリだと思うので両方検討してみます
699:nobodyさん
09/07/23 22:50:23
Apache入れないでphp.exe -lって出来る方法ってありますか?
Apacheを入れたPCでは現在使えています。
700:nobodyさん
09/07/23 23:04:04
CLI版ならできるんじゃ?
701:nobodyさん
09/07/23 23:49:44
win zip版を落としてきて
パスphp.exe -l "%1"
これでダメなのです。
Apacheを入れてるときは動いてたのですが
702:nobodyさん
09/07/24 10:45:01
エラー文言を出さないのは釣りということ。スルーで。
703:nobodyさん
09/07/24 18:48:34
$_SESSION["input"] = $_POST;
としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか
現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・
PHP5
704:nobodyさん
09/07/24 18:57:24
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?
705:nobodyさん
09/07/24 19:15:54
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}
706:nobodyさん
09/07/24 19:49:53
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ
707:nobodyさん
09/07/24 20:12:12
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw
>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです
708:nobodyさん
09/07/24 20:16:44
>>707
magic_quote
709:nobodyさん
09/07/24 20:20:38
>>707下
普通はHTMLに出力用データを埋め込んで表示
710:nobodyさん
09/07/25 03:07:01
>>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さん
09/07/25 03:08:44
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です
712:nobodyさん
09/07/25 06:09:00
>>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さん
09/07/25 09:38:50 njtiSjD4
&が置き換わるのは
htmlspecialcharsの仕様
714:nobodyさん
09/07/25 17:11:32
>>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さん
09/07/25 17:16:16
stripslashesって何のために入れてるの?
716:nobodyさん
09/07/25 17:35:20
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです
717:nobodyさん
09/07/25 17:48:38
magic_quotes_gpc が効いてるだけでは
718:nobodyさん
09/07/25 17:49:57
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい
719:nobodyさん
09/07/25 17:58:30
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
720:nobodyさん
09/07/25 19:12:06 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さん
09/07/25 19:12:30 y2BFJd1A
入力例
$array = array{
'example' => array{
'test1' => 'value1',
},
'example1' => 'value3',
}
makejson($array);
出力例
{
example : {
test1 : "value1",
},
example1 : "value3",
}
よろしくお願いします。
722:nobodyさん
09/07/25 19:25:21
>>720
URLリンク(www.php.net)
723:nobodyさん
09/07/25 19:48:52 y2BFJd1A
そんな便利な関数があったのねありがとう
724:719
09/07/26 17:13:42
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません
ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw
具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか
725:nobodyさん
09/07/27 11:41:33
CSRF とか大丈夫なんかな
726:nobodyさん
09/07/28 18:19:31
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さん
09/07/28 19:54:00
>>726
-fの後ろに余分なスペースがあるとか。
728:nobodyさん
09/07/28 21:42:53
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));
729:nobodyさん
09/07/28 21:45:07
ワロタ
730:728
09/07/29 00:14:01
わかるかたいませんか?
731:nobodyさん
09/07/29 00:18:36
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。
次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。
732:nobodyさん
09/07/29 00:30:42
それって逆にパス文字列に戻せるのかな
733:nobodyさん
09/07/29 00:34:01
戻せない
734:nobodyさん
09/07/29 00:52:28
戻す必要ないしな
735:nobodyさん
09/07/29 00:55:37
あの青春は戻らない
ハッシュのように、曖昧な記憶が残っているだけさ
736:nobodyさん
09/07/29 00:57:34
>>728
別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。
737:nobodyさん
09/07/29 09:23:39
>>736
ホント?
738:nobodyさん
09/07/29 09:39:56
ソノウソホント
739:nobodyさん
09/07/29 13:45:36
25が暗号化されるんじゃないのか?
740:nobodyさん
09/07/29 14:02:50
セッションについて悩んでます
ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか
741:nobodyさん
09/07/29 14:11:35
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid
これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。
742:740
09/07/29 14:23:22
>>741
>session.use_trans_sid
ありがとうございます
ビンゴでした
一発で治りました
秀樹感激
743:nobodyさん
09/07/29 14:57:52 YfqDSQPl
この性器表現の意味分かる人教えて。
!preg_match("/^$type\.\w+\.php$/", $entry)
744:nobodyさん
09/07/29 16:59:17
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる
ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・
745:nobodyさん
09/07/29 17:23:30
>>744
ごめん勘違い
746:nobodyさん
09/07/29 19:47:14
>>744
さんきゅ
747:nobodyさん
09/07/31 09:32:14
童貞ですが何か?
748:nobodyさん
09/07/31 18:48:49
PHPのゲームってどれくらい負荷かかるのですか?
749:nobodyさん
09/07/31 19:11:43
PHPを何に使っているかによる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。
リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。
750:nobodyさん
09/07/31 20:55:23
なるほど
ありがとうございます
751:nobodyさん
09/08/01 23:44:33 FfAyQxIr
初心ですいません。今PHPで複数のサイトの更新情報を表示できるrssをつくりたくて
やっと表示できたソースがあったんですが、↓のやりかただと更新時間順に表示されなくて、
URL順になってしまいます。
$rss = array('http://○○','http://○○','http://○○');
これ以上ぐぐっても答えが出そうにないのでお知恵をお貸しください
752:nobodyさん
09/08/01 23:52:02
RSSを表示できるなら、その内容をパースすることもできるだろう。
パースして各RSSの更新日時を取得、それを順に並べて出力すりゃいい。
753:nobodyさん
09/08/02 10:58:28
微妙にスレチなんだけど、このスレの凄腕達はPHP開発環境使ってる?
var_dumpでブラウザに毎回出力してたんだがさっき自称凄腕に失笑された
754:nobodyさん
09/08/02 12:27:20
デバッグするならZendStudio、とりあえずさっと作って動作確認するなら秀丸+ブラウザorコマンドライン
755:nobodyさん
09/08/02 12:28:46
>>753
つ FirePHP
756:nobodyさん
09/08/02 15:17:53
var_dumpを笑う者はvar_dumpに泣く
じっちゃんがよく言ってた
757:nobodyさん
09/08/02 15:24:41
俺なんてブラウザでprint_rですけど
758:nobodyさん
09/08/02 16:16:05
フリーのIDEがZendFWに完全対応してくれるならいいんだけど・・・
759:nobodyさん
09/08/03 09:48:18
リモートデバッグとかステップ実行したいときはPDTだけど
普段はPHPエディタ+tortoisesvn
デバッグ表示はVar_Dump::display(); // pearのVar_Dump
あとはXdebug有効にしてる(エラー時にブラウザに色々情報でる)
凄腕じゃないのでほとんどの場合、これで十分。
760:nobodyさん
09/08/05 23:34:19
公式マニュアルのミスは何処に言えばいいんだ?
URLリンク(jp.php.net)
>min() は配列の中で最も大きい数値を返します
761:nobodyさん
09/08/05 23:39:36
>>760
ドキュメントの改善を手助けするには
URLリンク(jp.php.net)
762:nobodyさん
09/08/06 09:46:57
※ただしストレスが溜まる
763:nobodyさん
09/08/09 02:42:18
PHPの総合開発環境で何かおすすめないですか?
PHPエディタという奴は起動してすぐ落ちるのでだめでした
VisualStudioみたいのがいいんだけど、やはりフリーじゃなくお金払わないとだめですかね
764:nobodyさん
09/08/09 02:48:28
eclips + PDT
765:nobodyさん
09/08/09 04:26:11
>>764
コード書いた後の出力の確認ってどんな感じになるの?
766:nobodyさん
09/08/10 00:19:53
教えてください
CSVから1行一件のデータを読み込み
最初のforeachの中でif文使って条件分けしたデータを配列に入れて
その分けた数とforeachで表示させたいのですが
条件分けしたデータを入れる変数?配列?の宣言の仕方が分かりません
$Alllist = file("data.csv");
foreach( $Alllist as $list )
{
767:766
09/08/10 00:22:54
改行間違って送ってしまった orz
if( strcmp( $list, "A" ) == 0 )
$array = $list;
}
printf( "Count count($array)" );
foreach( $array as $wake )
{
768:766
09/08/10 00:25:21
最悪だ、2度失敗した
表示;
}
すみません、質問以前な事してますが
よろしくお願いします m(_ _)m
769:nobodyさん
09/08/10 00:30:52
strcmpで条件分けしたCSVの1行だけ
foreachで各列を表示したいんだよね?
それでいいのでは?
770:nobodyさん
09/08/10 00:55:07
推測になるが、例えば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さん
09/08/10 01:16:15
submitボタンが押されたらフォームの内容を
ファイルに書き込むプログラムを作りました。
a.php
-----------------------------------------------------
if($_POST['submit']) {
writeData();
}
-----------------------------------------------------
これは正常に動いているのですが、
a.phpからb.htmlなどにページ移動し、ブラウザの戻るボタンで戻ると
再度POSTデータが送信されてファイルに書き込まれてしまいます。
これを避ける方法がありましたら、ご教授願えますか?
772:nobodyさん
09/08/10 03:15:03
>>770
なんで===にしてんの?
773:nobodyさん
09/08/10 03:15:45
>>771
Locationで飛ばすとか
774:nobodyさん
09/08/10 06:26:50
>>771
書き込む内容をチェックしたり、セッション使ったり
用途に合わせた選択をすればいいと思う
>>772
==を使う方が例外的だろう
普通は===を使うぞ
775:nobodyさん
09/08/10 07:11:59
えっ
776:nobodyさん
09/08/10 07:30:39
なにそれ
777:766
09/08/10 10:34:50
>>769 >>770さんレスありがとうございます
まずCSV内に一致した数を表示させて
その後に分類されたデータを表示させたいので
分類と表示を一緒にはできない・・・ですよね
配列を宣言して、その配列にどんどん分類したデータを追加していく
C++で言うvector見たいなのはphpでは無いのでしょうか?
778:nobodyさん
09/08/10 10:39:06
hairetu = array();
hairetu[]="hogehoge";
hairetu[]="hagehage";
hairetu[]="tsurutsuru";
779:nobodyさん
09/08/10 12:16:40
== は型を無視して比較、
=== は型まで同一かどうかを比較、
だったっけか
780:766
09/08/10 13:47:28
>>778
ありがとうございます、うまくいきました
>>779
知らなかったー
781:nobodyさん
09/08/10 14:09:08
>>774
普通は===を使うぞの根拠をkwsk
782:nobodyさん
09/08/10 15:46:06
>>781
URLリンク(d.hatena.ne.jp)
この記事がとても参考になると思う
783:nobodyさん
09/08/10 15:51:30
>>782
全部マニュアルで明記されてることじゃん??
どの辺が普通なの?
784:nobodyさん
09/08/10 15:58:42
粘着質な奴だな
785:nobodyさん
09/08/10 17:08:21
答えられないんだw
786:nobodyさん
09/08/10 17:24:39
テキストファイルからURLを抽出するphpを書きたいのですが、
$source (元のテキストファイル)
$result (URLリスト)
とします。
URLリンク(phpspot.net)
ここを参考に以下のコードを書きました。
// $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さん
09/08/10 18:31:55
>>782
string型同士でも10e0とか数字比較されるのは知らなかった。
これは危険だな。
788:nobodyさん
09/08/10 20:09:42
>>786
ひょっとして
$source = 'hoge.txt';
とかじゃないよね?
preg_match_allの第2引数は検索対象となる”文字列”だからね?
789:nobodyさん
09/08/10 20:11:45
型まできちんと意識するときは===使うけど、意識するまでもないときは普通に==使うなあ。
まあ用心とか念のためとかいわれたらそう言う考え方もあるよね、だけど。
790:nobodyさん
09/08/10 20:17:14
型を意識しなくてもいい言語だからこそ型に関連するバグに嵌るんだよな
791:770
09/08/11 00:47:34
>>772
いまさらだが、striposは、見つからなかった場合、falseを返す。
== 0 とした場合、0文字目かfalseかを判断出来ないため、=== 0とした。
792:786
09/08/11 11:34:24
>>788
そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…
793:786
09/08/11 11:37:04
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか?
(ポインタをどうやって進めるんですか?)
794:nobodyさん
09/08/11 11:45:01
$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
09/08/11 11:46:06
<?php
$pointer=fopen("./book/memo", "r"); //ファイルを開きます
$line = fgets($pointer); //内容を取り出します
echo $line; //画面に内容を表示
fclose($pointer); //ファイルを閉じます
?>
こういうクソサンプル載せてるサイトってなんなんだろう…
全く意味がないw
796:786
09/08/11 11:48:25
>>794さん
ありがとうございます。
file_get_contentsがキモだったんですね。
797:nobodyさん
09/08/11 11:48:48
お前が言うな
798:nobodyさん
09/08/11 12:29:46
ワロタ
799:nobodyさん
09/08/12 11:34:05
Apache で聞くべきか悩んだのですがここで。
.htaccess で
php_value mbstring.func_overload 0
と書いても設定が変わりません。試しに
php_value mbstring.func_overload = 0
と書くとエラーになるので .htaccess は読まれているようです。
( mod_rewrite などは動いている )
解決策をご存知の方はいらっしゃいませんか。
800:nobodyさん
09/08/12 11:41:53
ini_get("mbstring.func_overload"); はいくつ?
801:799
09/08/12 11:54:07
>>800
7 なので 0 にしたくて
802:nobodyさん
09/08/12 13:46:11
>>801
だからよ、7ってことはその.htaccessが効いてないってことじゃないか。
803:799
09/08/12 13:47:48
>>802
なので何でだろう、と。
Apache スレの方がいいですかね。
804:nobodyさん
09/08/12 14:04:17
ini_set してまたini_getするとどうなる?
805:nobodyさん
09/08/12 14:05:09
AllowOverrideがNoneになってるとか?
806:nobodyさん
09/08/12 14:05:24
そもそも環境は?バージョンとか。
一部レンタルサーバじゃその変更使えないとか書いてるサイトもみかけたぞ
807:799
09/08/12 14:44:31
みなさん、いろいろとありがとうございます。
>>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さん
09/08/12 15:16:49
いやまあAllowOverrideはrewrite効いてるって書いてるから無いでしょ。
とりあえずこっちで試す限り普通に変更できるので、どこかで上書きしてるか
変更しないようになってるのでは。
インストールした直後の設定に戻しても同じかな
809:799
09/08/12 15:37:31
>>808
ですよね。
何かの見落としだと思うので
クリーンな環境で試してみます。
810:nobodyさん
09/08/12 21:21:14
今日初めて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さん
09/08/12 21:23:16
続き
mbstring.internal_encoding = EUC-JP
になっています。
812:nobodyさん
09/08/12 21:27:49
更に追記
ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります
日本語:自動判別にすると文字化けします
813:nobodyさん
09/08/12 21:56:23
冒頭に美乳と書く
814:nobodyさん
09/08/12 22:01:02
>>810
ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない
815:nobodyさん
09/08/13 01:01:40
なるほど。で、どうすればいいんでしょうか
816:nobodyさん
09/08/13 10:20:29
default_charset は?
817:nobodyさん
09/08/13 21:55:45
php.iniの中にdefault_charsetの設定がありません。これが原因でしょうか?
バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。
ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。
818:nobodyさん
09/08/13 21:59:48
適当な位置にdefault_charset = EUC-JPを追加してみたけどだめでした。
こりゃあきらめるしかないか。
819:nobodyさん
09/08/15 14:05:38
mixiのメッセージが届いたら、
「○○さんから届いたよ」っていうメッセージが
デスクトップに表示されるっていうプログラムを作りたいんですが、
「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?
820:nobodyさん
09/08/15 14:22:52
スレリンク(php板)l50
マルチ?
821:nobodyさん
09/08/17 17:42:19 YF5t01fc
ハリコの虎とかがむしゃらのようなスクリプトって公開されていますでしょうか?
822:nobodyさん
09/08/17 17:47:12
何だろうと思ったらエロ画像掲示板なのか
ぼく18歳未満なのでこれ以上調査できません><
823:nobodyさん
09/08/18 10:55:27 4md56gGq
質問です。
<?php
$test="てすと";
?>
<html><body>
<?=$test?>
</body></html>
これが表示されるサーバーと表示されないサーバがあるのですが、
どういう理由で違いが出るのでしょうか?
どこかサーバー側の設定が違うのでしょうか?
宜しくお願いします。
824:nobodyさん
09/08/18 10:58:12
>>823
short_open_tag
825:nobodyさん
09/08/18 11:14:03 4md56gGq
>>824
ありがとうございました。
無事、表示できるようになりました。
826:nobodyさん
09/08/18 15:33:36
ショートオープンタグは、
オフにしたほうがいい。
もし開発環境で、オンで、
そのまま開発して、
それでもし本番がオフだったら、
書いたコードがPHPとして
実行されずに、ソースが丸見えになる。
827:nobodyさん
09/08/18 15:36:44
俺の、ゆめは、将来のうちに
連れとか中間と、いっしょに、連合組んで
関東を統一することである。
学校出たら、トオルんとこの溶接、手伝って
金ためてアストロか、シーマを、迷ってるが買って、
単車も改造して、バリバリいい音出して走る。
俺は、ずっと将来現役で、走り続ける事が、夢である。
これ思い出した
828:nobodyさん
09/08/18 19:47:38
レンタ鯖がカスタマイズしたphp.iniの設置認めてるんですが、
こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを
log_errors = On
みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか
829:nobodyさん
09/08/18 20:10:14
>>828
レンタル鯖のマニュアル読んだほうがいい。
一概にどうとは言えないと思うよ。
830:nobodyさん
09/08/19 13:19:33 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さん
09/08/19 13:22:35
send_request関数が無いので何とも
832:nobodyさん
09/08/19 13:24:22
マルチだったのか。乙
833:nobodyさん
09/08/19 14:29:22
<?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さん
09/08/19 14:36:00
正しくヘッダ出してないからじゃね
835:nobodyさん
09/08/19 14:38:06
クッキー消せだって
836:nobodyさん
09/08/19 14:57:27
ありがとう
クッキー消したらうまくいった
クッキーなんて使ってないスクリプトなのになんでだろ・・・
837:nobodyさん
09/08/20 01:28:48
file_get_contentsとか、curl_execとかでPOST送信した場合、
相手から302が返ってくると遷移先にGETで送ってくれやがります
POSTで再送できないの?
838:nobodyさん
09/08/20 09:59:34
RFC2616
839:nobodyさん
09/08/20 23:15:54
>>838
「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?
その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。
840:nobodyさん
09/08/21 15:54:18
他人がつくったPHPアプリをメンテしているんですけど、スパゲッティになっています。
それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。
つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。
よろしくお願いします。
841:nobodyさん
09/08/22 03:08:28
>>840
・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する
842:770
09/08/22 03:44:58
>>840
使ったこと無いけど、inclued_get_dataはどう?
マニュアル見た感じ、取得出来そうなきがする
URLリンク(jp.php.net)
843:nobodyさん
09/08/22 12:27:40
>>841
全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・
844:nobodyさん
09/08/24 00:53:18
画像への権限について質問があります。
画面からファイル(画像)がアップロードされた場合に
URLリンク(test)
という風にファイルを保存しています。
また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。
ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?
845:nobodyさん
09/08/24 01:29:01
>>844
コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。
PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。
846:nobodyさん
09/08/24 01:40:50
>>845
ごめんなさい。ちょっと難しいです。
何か参考になるサイトがあれば教えて頂けますでしょうか?
847:nobodyさん
09/08/24 06:22:07
マニュアルみながらBASIC認証なりセッションなりやればいいんじゃね
848:nobodyさん
09/08/25 00:24:14
>>844
test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)
それで、phpから、そのjpgを呼び出して表示するように
すればよい。
1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。
直接test.jpgにブラウザからはアクセスできない。
それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。
849:nobodyさん
09/08/25 14:05:57
オンラインチャットを作りたいのですが、一から言語を覚えて作るのは難易度高いでしょうか
プログラミングはvbとhtmlしか経験ありません
850:nobodyさん
09/08/25 14:11:57
>>849
技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう
851:nobodyさん
09/08/25 14:22:31
1行掲示板みたいなので、javascriptで30秒リロードとかでいいんじゃねーの?
852:nobodyさん
09/08/25 14:26:06
いつの時代のチャットだよw
853:nobodyさん
09/08/25 14:31:29
>>850-851
ありがとうございます
インフラなら問題ありません
vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです
854:nobodyさん
09/08/25 14:40:32
VBでクライアントアプリ作って、
PHPでデータ受けて返すのを作れば
完成なんじゃないか
855:849
09/08/25 15:14:15
>>854
一応ブラウザ上で動かしたいもので、すみません
856:nobodyさん
09/08/26 00:56:09
VBの経験があるならクライアントにSilverlight使えばいいんじゃない
857:nobodyさん
09/08/26 05:55:55
cURLに関しての質問です。
やりたいこと: 自分のホームページ上からヤフオクへログイン。
現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。
mixiへログインすると正常にcookieも書き出してくれるのですが、
ヤフオクへアクセスを試みると Empty reply from server というエラーを
吐いてしまいます。もちろんcookieも書き出してくれません。
何かアドバイスを頂けると非常に助かります。m(__)m
(長くなるのでスクリプトは次レスで。)
858:857
09/08/26 05:57:44
>>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"] = "URLリンク(auctions.yahoo.co.jp)";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;
859:857
09/08/26 05:59:10
>>858の続きです。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URLリンク(login.yahoo.co.jp)");
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, "URLリンク(auctions.yahoo.co.jp)");
$result = curl_exec($ch);
curl_close($ch);
//取得結果を出力する。
echo $result;
?>
以上です。
860:nobodyさん
09/08/26 06:10:12
フィッシング詐欺?
861:849
09/08/26 06:25:22
>>856
今日図書館にいって調べてみます
ありがとうございました