【PHP】下らねぇ質問はここに書き込みやがれ 67
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/11(金) 06:38:35ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0481479
2008/04/24(木) 13:17:47ID:RVXwLuUyPATH_INFOって↓みたくなるんじゃないの?
ttp://example.com/index.php/KEYWORD
0482nobodyさん
2008/04/24(木) 13:20:33ID:???0483nobodyさん
2008/04/24(木) 13:30:51ID:???0484nobodyさん
2008/04/24(木) 14:23:25ID:???> やっぱそこまでファイルの存在の確実性を意識しないとダメ?
それは要求次第。
単純に読み取りしたい時は調べても無駄だからやらない。
状態が分かってもそれは fopen() を呼んだ時点の状態ではないから。
>>444 が言う「ファイルが存在する場合のみ処理」の場合は
存在が分かればいいのだから file_exists() がより妥当っていうお話でしょう。
質問にまともに答えず別の話にもってく奴が悪いんだけどな。
あと fopen() の返り値はリソース型もしくは論理型の false なので
比較は fopen() !== false または is_resource(fopen()) で。
> ロック用ファイル作成する方法
システムコールのロックが使えない、欠陥がある場合や
mandatory lock したい時は使わる一つの手だね。
0485nobodyさん
2008/04/24(木) 14:37:34ID:WKXs89Yeヘッダとフッタだけ出力する.PHPに 中身のコンテンツを表示させる.PHPを
includeさせているとします。
このとき、中身のPHPにheader関数でリダイレクトさせる機能はつけられないんでしょうか?
この機能はそれより前に何も出力してないことが条件とありますが、
(親の.phpが)ヘッダを出力してるから無理?
テストしたところ動かないです。 これは上記の理由によるものですか?
0486nobodyさん
2008/04/24(木) 14:44:04ID:???test.phpの中身
フッタ
コンテンツ(ここは外部ファイルをインクルードして表示)
ヘッダ
んでtest.phpではじめの出力でheaderを送信させてリダイレクトさせたいということか?
0487nobodyさん
2008/04/24(木) 14:44:23ID:???0488485
2008/04/24(木) 14:57:52ID:WKXs89Ye<header></header>
<body>
<?php
include "nakami.php";//中身を読み込み。この中でリダイレクトさせてる(header()で)
?>
</body>
</html>
って感じです(外側の.php)
こういうやり方だと、リダイレクトしないんです。
0489485
2008/04/24(木) 15:02:12ID:WKXs89Yeどうもです
リダイレクトの関数を設置してるのは、読み込まれている側(コンテンツ部分)の
.phpです
0492nobodyさん
2008/04/24(木) 15:09:14ID:???で、なんでリダイレクトする必要があるわけ?
アフィ厨で不正やろうってわけじゃないよな
出力させたいページをそのコンテンツ部分に読み込ませればいいじゃん
0493485
2008/04/24(木) 15:14:28ID:WKXs89Ye結局ムリってことですよね、親のphpに出力されてるから…
この場合はjavascriptを中身の.phpに入れるしかないですよね?
>>492
フォームで、アンケート.php に「トップ.php」「確認.php」「完了.php」を
読み込ませてるんです。(ブラウザに表示されるURLは常にアンケート.php)
完了まで行ったら二重送信防止にリダイレクトさせたくて。。 って事情でした
0494nobodyさん
2008/04/24(木) 15:17:33ID:???アンケート.phpにいろんなファイルを読み込ませて一つのファイルで処理してるように見せかけたいの?
なんかあなたがやってるのは無駄な処理だな
0496nobodyさん
2008/04/24(木) 15:24:59ID:???0498nobodyさん
2008/04/24(木) 15:34:24ID:???0499485
2008/04/24(木) 15:36:55ID:WKXs89Ye僕のことですか? >>495も僕ですよ
本題とずれてきたのでsageたほうがいいかなと思いました
enq_top.php > enq_conf.php > enq_rewrite.php > enq_finish.php と、
トップから完了まで全パターンの.phpを(使いまわせるはずのヘッダやフッタ含めて)
作るのがめんどくさいのでincludeさせたんですが、、 他にどんな良い方法があったんだろうと
気になってます。 smarty使えば、ヘッダやフッタをテンプレートとして効率よく管理できるとは思いますが…
>>497
ありがとうございます 調べてみます
なんだか特殊な機能みたいで難しそうですが、、 ありがとう
0500485
2008/04/24(木) 15:39:29ID:WKXs89Yeあ、やっぱりsmartyですか…
一度勉強し始めて、基礎も出来てないのによしておこうと思ってやめました
またやってみようかなぁ。。 プロはみんな使ってるんでしょうか?>smarty
0501nobodyさん
2008/04/24(木) 17:02:09ID:???0502nobodyさん
2008/04/24(木) 17:57:45ID:???0503nobodyさん
2008/04/24(木) 18:22:27ID:???0504nobodyさん
2008/04/24(木) 18:40:44ID:???$str = '$url="hoge"; がいっぱい出てくる $url="hoge"; だらけの文字列';
echo str_replace('$url="hoge";', '<a href=hoge>hoge</a>', $str);
0505nobodyさん
2008/04/24(木) 18:45:03ID:???0506nobodyさん
2008/04/24(木) 18:59:23ID:???echo linkfy($url);
こうできませんかね。。。
0507nobodyさん
2008/04/24(木) 19:01:45ID:???0508nobodyさん
2008/04/24(木) 19:01:56ID:???0509nobodyさん
2008/04/24(木) 19:09:35ID:???0510nobodyさん
2008/04/24(木) 19:15:05ID:???http://www.php.net/manual/ja/language.functions.php
ここ読んで function linkfy($arg) 作ればいいよ。
sprintf( "<a href=\"%s\">%s</a>", $arg, $arg) を return するだけの関数。
0511nobodyさん
2008/04/24(木) 19:16:46ID:???0512nobodyさん
2008/04/24(木) 19:22:07ID:???0514nobodyさん
2008/04/24(木) 20:18:10ID:1f8tGK11http://www.php.net/manual/ja/index.php
0515nobodyさん
2008/04/24(木) 20:39:33ID:???http://www.php.net/download-docs.php
0516nobodyさん
2008/04/24(木) 21:15:56ID:mjxa+9jcリンク先のa.phpに文法エラーが存在する場合、IE6:500エラー Firefox:syntax error が
表示されます。
上記の場合、IEでsyntax errorを出現させる設定等あるのでしょうか?
どなたかご教示くださいませ。
0517nobodyさん
2008/04/24(木) 21:25:59ID:???0518nobodyさん
2008/04/24(木) 21:30:32ID:???[ツール] - [オプション]
[詳細設定]タブ
ブラウズ カテゴリの
HTTP エラー メッセージを簡易表示する
のチェックを外す
これIE6ね。IE7はワカンネ
0519516
2008/04/24(木) 21:35:25ID:mjxa+9jcIE6です。>>518の設定方法を試してみたところ syntax error が表示されました。
本当にありがとうございました。
0520nobodyさん
2008/04/24(木) 21:44:51ID:???0523nobodyさん
2008/04/25(金) 07:00:29ID:???何なの、このJP1、JP1ってレス?
0524nobodyさん
2008/04/25(金) 08:22:49ID:???営業へただからここで宣伝してるんだろ
0525nobodyさん
2008/04/25(金) 15:18:13ID:ETeE5V7l0527nobodyさん
2008/04/25(金) 15:31:54ID:???やったことねーけど
0529nobodyさん
2008/04/25(金) 20:54:21ID:???フリーの掲示板のcgiを探しています。
条件は
1.英語の掲示板であること。
2.投稿時にCAPTCHA認証すること。
です。
知ってましたら、教えてください。
0531nobodyさん
2008/04/25(金) 21:06:33ID:???0532nobodyさん
2008/04/26(土) 00:43:34ID:???0534nobodyさん
2008/04/26(土) 00:50:37ID:???0535nobodyさん
2008/04/26(土) 01:10:46ID:???0536nobodyさん
2008/04/26(土) 01:52:48ID:???0537nobodyさん
2008/04/26(土) 06:10:19ID:???確かに、一流のソフトであることは間違いないし、
色々な公共機関、金融システムで使われているし、
そんなことは周知の事実だと思うよ。
0540nobodyさん
2008/04/26(土) 12:50:06ID:???というか、maillogをみると、Fromが変わらないので、localhost.localhostからメールが飛んでしまい
受信先に拒否されてる感じです。
もともと、ZendFramwork使っていたのですが、問題を特定するために
mail("hoge@hoge.jp",'test','body','From: info@hoge.net' . "\r\n");
という最小限のコードで試しました。
php.iniのsendmail_from=なんかもいじってみましたが、Fromがlocalhost.localhostになってしまいます。
他になんか送らなきゃいけないheaderとかあるのでしょうか?
0541nobodyさん
2008/04/26(土) 12:59:44ID:???0542nobodyさん
2008/04/26(土) 13:20:52ID:ZONOtLDh0547nobodyさん
2008/04/26(土) 16:46:11ID:eenghTEYmb_send_mail でメールを送信する際に
あて先を
山田 <hoge@example.jp>
など使いたいのですが、
日本語や任意の文字列をアバウトに許可すると
セキュリティ的に怖いと感じます。
mb_send_mail のあて先部分は
この文字列を制限・エスケープかけておけばOKという
基準はあるでしょうか?
またお勧めの方法がありましたらお願いします。
0548nobodyさん
2008/04/26(土) 17:32:23ID:???入力文字のエスケープに関してのみならば
"メールヘッダーインジェクション"で検索すると
詳しいページが出てくる。
でも、その対策だけでは不充分。
掲示板で、htmlspecialcharsだけ使っても、大量の投稿であっという間に
荒らされるのと同じ。
一定時間内の多重投稿を防いだり、送信者のIPをメールの本文に記録したり
宛先がユーザーから入力可能な場合は、かなり対策が面倒。
ここでメールヘッダーに関して質問しているレベルで
メールの宛先をユーザーが入力可能なウェブメールなんてやると、
確実にメールサーバーがブラックリストに載る。
0549nobodyさん
2008/04/26(土) 17:32:47ID:???0550nobodyさん
2008/04/26(土) 18:08:34ID:TgkCKAumプログラム側で何とか軽減できないかって、相談をうけているんだすけど
出来るだけディスクへの負荷を減らす為のプログラムの設計だったり
そんな素敵なノウハウをまとめているサイトてありませんかね
0551nobodyさん
2008/04/26(土) 18:18:03ID:???0552nobodyさん
2008/04/26(土) 18:20:09ID:???0553nobodyさん
2008/04/26(土) 18:21:45ID:???0554nobodyさん
2008/04/26(土) 18:21:54ID:iM9ZNRfW動かしたいと思い、シェルスクリプトatr.sh
#!/bin/bash
/dir/atract
を用意して、index.php中で
<?php
system("./attract", $ret);
?>
として動かそうとしましたが、$ret=127が返ってくるのみで、
attract自体は動きませんでした。
もちろん、シェルで./atr.shと打つと atract が動きます。
どうしてphpから呼んだときだけ動かないのでしょうか?
環境はRed Hat Enterprise Linux v5、Apache2.2.3、php4.3.9(cgi)です。
0555nobodyさん
2008/04/26(土) 18:37:22ID:???0556nobodyさん
2008/04/26(土) 18:39:38ID:iM9ZNRfW0557nobodyさん
2008/04/26(土) 18:49:40ID:uk8GT5CYPHPのオブジェクト指向を勉強できる書籍で、オススメなのありますか?
ご教示ください。
0558nobodyさん
2008/04/26(土) 19:01:26ID:???0559nobodyさん
2008/04/26(土) 19:09:33ID:iM9ZNRfWsystem("/bin/bash /dir/atr.sh", $ret);
ともしてみましたが、動きませんでした。
0561nobodyさん
2008/04/26(土) 19:30:51ID:uk8GT5CYありがとうございます。
もう少し丁寧に解説しているものが欲しいです・・・
0563nobodyさん
2008/04/26(土) 20:19:06ID:uk8GT5CY0564nobodyさん
2008/04/26(土) 20:43:25ID:???オブジェクト指向を学んでPHPに取り入れろ
0566nobodyさん
2008/04/26(土) 21:01:40ID:???0567547
2008/04/26(土) 22:58:04ID:???サンクスコ
>>549
ソースきぼんぬ
不具合って脆弱性でしょうか、
ちなみに現最新バージョンのPHPでも直ってないのでしょうか?
0568nobodyさん
2008/04/26(土) 23:33:03ID:???興味があるんなら自分で調べろよ
有名なんだからググればすぐみつかるし、プログラム書く人間なら知らないのが疑問
0569nobodyさん
2008/04/26(土) 23:54:09ID:EXulrG+H0571nobodyさん
2008/04/27(日) 00:19:21ID:TNTz3zy3フレームワークって簡単なものは作れるけど、
結局、サイトによって独自関数やクラスを多用しなきゃいけないから
わざわざフレームワークにする意味無いよね?
単に、「他者と作業する上で便利」なだけであって、
開発者が自分だけの場合は、気にしなくて良いのかな?
0573nobodyさん
2008/04/27(日) 00:35:45ID:???一人で構築してるけど使ったほうが楽で助かる。抽象的に考えられるのがいい。
合わないと感じたなら無理に使わなくてもいいんじゃない?仕事ならともかく趣味の範疇なんだし。
0574nobodyさん
2008/04/27(日) 01:34:12ID:???自作クラスの関数内から(Ethnaから呼ばれることを前提とした)既存クラスにアクセスするところで嫌気がさしてやめた。
その手の問題を起こさない(もしくは処理できる)スキルがあれば一人FWもいいかも。
0575nobodyさん
2008/04/27(日) 01:48:03ID:???自然とFWが出来上がった漏れは天才。
0576nobodyさん
2008/04/27(日) 04:28:19ID:???PHPのバージョンが古い鯖に移植とかする際、関数毎にバージョン確認が面倒です。
ソース内の関数をリストアップして、バージョン○○以降で動きます、
みたいなチェック関数とかありませんか。
自分で作ればいいんだろうけど関数が数千もあるとさすがに面倒。
PHPマニュアルから自動取得するような技術力はありません。
0577nobodyさん
2008/04/27(日) 04:43:21ID:???0578nobodyさん
2008/04/27(日) 04:54:38ID:???まぁ関数名は、変数名と同じくシンボルとしてしかパースされなかったと思うから、判定が若干面倒ではあるけど。
0579540
2008/04/27(日) 05:00:08ID:pXevviUZ遅レスですがサンクス
2chブラウザ使ってるんですけど、一回下げるとそれ覚えてるみたいで思いがけず下げちゃうことがあるんですよね。
すいません。
ちなみに>>545は別人です。
別サーバーで問題なく遅れてたんですけど、新しいサーバーかりてそこに入れてみたら
まったくFromを変えられなくなったんですよ。
ちなみにCentOS5+qmail+PHP5.1.6です。
サーバーの設定の問題かと思ってサーバー借りてるところのサポートに連絡取ってみたら
「PHPの問題だ、こんなことで連絡してくんな。ググれカス!」
って怒られて、いろいろ調べてみたんですけど、にっちもさっちも行かなくて。
やっぱりPHPの問題なのですか?
0580nobodyさん
2008/04/27(日) 05:08:05ID:???■ このスレッドは過去ログ倉庫に格納されています