トップページphp
1001コメント347KB

【PHP】下らねぇ質問はここに書き込みやがれ 27

レス数が900を超えています。1000を超えると表示できなくなるよ。
00011様2006/08/23(水) 00:54:52ID:uM5Jzzy0
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0812nobodyさん2006/09/01(金) 22:23:24ID:???
>>807
言い訳が見苦しい。
「正確には〜」とか、典型的な自分の間違いを認められないタイプだね。
「でも〜」とか、全然理由になってないね。
0813nobodyさん2006/09/01(金) 22:25:47ID:+4PrUNf2
なんでそんなに人の揚げ足取りたがるのかね
0814nobodyさん2006/09/01(金) 22:27:15ID:???
間違っていることを間違っていると指摘したのにぐちゃぐちゃ言うから荒れるだけ。
0815良心君 ◆lX/3zqtk/U 2006/09/01(金) 22:44:59ID:???
>>811
多くのクライアントでは相対パスも受け付けるし、
相対パスで書いた方が移植性は高まる。
自分が相対パスを使っていることを認識していれば問題はないと思うけど。

ここら辺は宗教論争だから、どうでもいい。
0816nobodyさん2006/09/01(金) 22:52:21ID:???
>>815
Docomo端末とか相対パス指定を受け付けないよ。
比較的メジャーな環境で受け付けないものがあるのに問題なし?
0817nobodyさん2006/09/01(金) 22:59:31ID:???
>>693
亀だけれど、ありがとう。
組み込み方すらわからない素人です...orz

調べたりしてある程度知識を頭に入れてからまた来ます。。。
ノシ
0818良心君 ◆lX/3zqtk/U 2006/09/01(金) 23:00:02ID:???
>>816 そのことを認識していれば問題ないでしょ
0819nobodyさん2006/09/01(金) 23:06:49ID:???
>>815
全然宗教論争でも何でもありませんが?
IE で動いたから大丈夫だろうって浅はかさが笑えるんですが。
移植性が高まれば RFC は無視でも良いですか。
これから出てくる IE 7 が RFC に従った実装をしてきたらどうしますか?
IE 7 が悪いんですとか言うんですか?
絶対 URI しか受け付けないブラウザで動かないと文句を言われたら
そのブラウザが悪いって言いますか?
「多くのクライアント」ってどれだけ調べたんですか?
RFC に書かれているものに対して、何が宗教論争ですか?
0820nobodyさん2006/09/01(金) 23:11:15ID:???
これ以上何を言っても恥の上塗りですよ
0821nobodyさん2006/09/01(金) 23:12:11ID:???
>>818
認識してるから相対は使わないわけですが。つか、君はちゃんと認識してんの?
君が認識してる「相対でも動くクライアントと動かないクライアント」を列挙してみてよ。
ひょっとして君の言う認識って「うちのシステムはIE6でしか動作保障しません」ってこと?
0822良心君 ◆lX/3zqtk/U 2006/09/01(金) 23:12:30ID:???
>>819 必死だな
0823良心君 ◆lX/3zqtk/U 2006/09/01(金) 23:15:08ID:???
>>821 君がプログラムやHTMLを書くとき、

すべてのクライアントに対して保証しているのか?

漏れはしない。現実的じゃないから。
君はすごいね、尊敬しちゃうよ。
0824nobodyさん2006/09/01(金) 23:15:42ID:???
>>818
RFCで定められた決まりごとなんだから従うべき。

移植性を気にするなら、
相対パスを入れると絶対パスに直してくれる関数を作って対応すればいいだけのこと。
(http://www.php.net/manual/ja/function.realpath.php のコメントにあるhtmlpathとか)
0825nobodyさん2006/09/01(金) 23:18:29ID:???
>>824
絶対URIだぞ?絶対パスではない
0826nobodyさん2006/09/01(金) 23:18:49ID:???
>>823
821じゃないが、少なくともRFCに従ってプログラムを組んでいるなら
動かないクライアントの方に非があることは明白。
そっちにバグ改修をリクエスト出来るね。
0827nobodyさん2006/09/01(金) 23:18:58ID:???
>>823
>すべてのクライアントに対して保証しているのか?
RFCやそのた標準規格に対応した状態にする。
そのあと(もしくは同時に)メジャーなクライアントの非標準準拠の動作をサポートする形でいくらかの修正を加える
0828nobodyさん2006/09/01(金) 23:20:06ID:???
>>825
相対パスが得られたらスキーマとホストくっつければいいだけだろ。
0829nobodyさん2006/09/01(金) 23:21:17ID:???
>>823
最初からわざと仕様という名のバグを仕込むあなたにはかないませんよ〜!
0830nobodyさん2006/09/01(金) 23:22:00ID:???
>>823
全てのクライアントでは絶対に動作しないこと、を
最初から保障するのはいかがなものかと。
0831nobodyさん2006/09/01(金) 23:22:32ID:???
>>823
お前かなりレベルが低いな。教える立場じゃないぞw
みんな笑ってんのがわからんのか?w
0832nobodyさん2006/09/01(金) 23:24:08ID:???
>>823
逆に言うと「すべてのクライアントに対して保証(検証)」出来ないからRFCに従っておくんだが?
0833nobodyさん2006/09/01(金) 23:25:11ID:???
>>828
それなら無問題。
だが絶対パスを得る意味は無いぞ?
0834nobodyさん2006/09/01(金) 23:25:44ID:???
>>823
うちの会社では携帯サイトを作るときに、現存するアクセス可能なすべての機種で動作チェックするが?
0835良心君 ◆lX/3zqtk/U 2006/09/01(金) 23:26:39ID:???
質問スレでこんな話し続けるのは場違いだと思うけど、
ここには初心者も多いと思うので後学のためと思って、
いましばらく聞いてちょんまげ。

まずどうしてIEやFirefoxがRCFに合わせないで相対URIでも受け付けるのか?
その方が便利だからさ。

次に、RFCに強制力はない。

最後に、圧倒的なシェアのIEとFirefoxに準拠してない、
R F C の 方 が 非 標 準 だ 。
と思うね。別にIEとFirefoxで動けばいいよ。
0836nobodyさん2006/09/01(金) 23:28:59ID:???
>>835
…アホだ。アホがいる。
08378242006/09/01(金) 23:29:40ID:???
>>833
スキーマの切り替えやホスト部分の取得方法で汎用性が減ると思ったが、
オプションの引数とか付ければいい話だったな。反省している。
0838nobodyさん2006/09/01(金) 23:29:41ID:???
後学のためですかw
0839nobodyさん2006/09/01(金) 23:29:50ID:???
>>835
> まずどうしてIEやFirefoxがRCFに合わせないで相対URIでも受け付けるのか?
> その方が便利だからさ。
違うね。お前みたいな RFC に従わないプログラムを書くしょぼいプログラマが多かったからだろ。
仕方ないから救済してもらってるんだよ。
0840nobodyさん2006/09/01(金) 23:30:01ID:???
>>835
公式な標準であるRFCを勝手に拡張したのであって、RFCの要件は満たしてる
だから最低限RFCの要件をアプリケーション側で満たす必要はあるだろ。

それから各独自拡張に対応するのは何ら問題ではない
0841nobodyさん2006/09/01(金) 23:33:34ID:???
>>835
じゃあ何のためにIETFが組織されてるんだ?
0842nobodyさん2006/09/01(金) 23:34:13ID:???
なんか自分の非を認めない人がいるな
0843nobodyさん2006/09/01(金) 23:38:29ID:???
>>839
テーブルタグが不完全でも補正して表示するとか、IEはその種の救済が多いよね。
相対Locationも一部のサーバで実際に返しちゃってたのがあったのよ。だから対応する。
ブラウザ側は頑張って「幅広い環境で対応するように」作ってくれてるのに
それに甘えて誤った作りを良しとしてんだから始末に終えない罠。
0844良心君 ◆lX/3zqtk/U 2006/09/01(金) 23:49:29ID:???
規格は規格として尊ばなきゃいけないけど、

変わる続ける規格に固執してどうすんの?
多くのブラウザで対応してるなら、規格外の動作してもいいじゃん。
それがデファクトスタンダードでしょ?

>>843 そもそもTABLEタグはNetscapeの独自拡張だけどね!
0845nobodyさん2006/09/01(金) 23:57:34ID:???
トリップが付いてて良かったと思える瞬間
0846nobodyさん2006/09/02(土) 00:01:17ID:???
規格が変わってから対応すればいい、ただそれだけのこと。
デファクトスタンダードに楽したいからという理由で甘えるようじゃ問題外

TABLEが独自拡張だったのは過去の話だろ。
0847nobodyさん2006/09/02(土) 00:08:03ID:???
>変わる続ける規格に固執
少なくとも今話している規格は変わり続けていないんだけど。
baka
0848nobodyさん2006/09/02(土) 00:15:26ID:???
>>844

はっらいてぇぇぇぇ〜wwwwwwwwww

 今夜も笑わせてくれてありがとw

0849nobodyさん2006/09/02(土) 00:17:05ID:???
もう7年も前の規格だな。
0850nobodyさん2006/09/02(土) 00:23:06ID:???
質問ですが、アマゾンなどのようにクリックした商品を

最近みた商品 2件 ○○○、XXX,
その他の関連商品 5件 ・・・・・・

などのようにしたいのですが、PHPで可能でしょうか?
0851nobodyさん2006/09/02(土) 00:24:39ID:???
0852良心君 ◆lX/3zqtk/U 2006/09/02(土) 00:24:59ID:???
君たちは偉いなあ、律儀で。
僕は楽な方を選ぶね。

ただ僕を攻撃するだけのためにそんなこと言ってるのなら、
すんごくくだらないと思うけどね。
0853良心君 ◆lX/3zqtk/U 2006/09/02(土) 00:25:52ID:???
>>850 可能
0854nobodyさん2006/09/02(土) 00:26:38ID:???
>>852
別にお前の書き方なんざどうだっていいが、ここで答える以上厳密にやれよ
0855nobodyさん2006/09/02(土) 00:28:50ID:???
>>850
可能です。
仕事でやってるならどう実装するか考えるのが仕事です。無理なら他の人に任せてください。
趣味でやってるなら気長に勉強しながらがんばって。応援してる。

その中で自分ではどうしても解決できないPHPに関する問題に突き当たったらまた質問してください。
0856nobodyさん2006/09/02(土) 00:29:01ID:???
>>853
貴方の回答はあてになりません
08578502006/09/02(土) 00:35:54ID:???
やはり可能なんですね。
いろいろ調べてみます。
0858nobodyさん2006/09/02(土) 00:38:10ID:???
amazonはcookieに保存してるぞ
0859nobodyさん2006/09/02(土) 01:40:01ID:???
>>850
クッキーが現実的だろうな〜
もしくは何かの商品にアクセスする度にDBにいくつかレコードを持たせる
って言う手もあるな。
まぁ、会員登録とか必要になるだろうけど。
0860nobodyさん2006/09/02(土) 01:47:05ID:???
良心君へ
あなたの意見を尊重する方もおり、助かっている方もおります。
ただ、このスレが荒れる原因になるのでこのスレで
回答するときはコテつけるのはやめてください。
二度目の忠告です。
0861nobodyさん2006/09/02(土) 02:40:34ID:PkweSmHd
超初歩的なことだと思いますが探してみたけど
見つからないのでお願いします

print_rとかで配列の中身のぞいたときマニュアルだと
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
こんな見やすい形で表示されるっぽく解説されてるのですが
うちの環境だと、改行なしでひたすら並べて表示されてて
階層が深いと解読に多大な時間を要するのですが…

マニュアルみたいに表示される方法はあるのでしょうか?
お願いいたします
0862nobodyさん2006/09/02(土) 02:45:46ID:???
>>861
表示されてる画面を右クリック→HTMLソースを表示
じゃダメか?
0863nobodyさん2006/09/02(土) 02:47:01ID:???
>>861
echo "<pre>";
print_r($var);
echo "</pre>";
0864nobodyさん2006/09/02(土) 02:55:36ID:PkweSmHd
>>862
>>863
おわ!ソースではちゃんとでてたのか。
それを<pre>タグで囲むと…

しかもprint_rのマニュアルよく見たら<pre>ついてますねOTZ

失礼しました。ありがとうございます^^

0865nobodyさん2006/09/02(土) 03:02:25ID:rL49M+5z
質問させてください。
Apache2.055
PHP 5.1.5
WinXP Sp2
という環境にて運用しています。
連想配列を任意の順番で配置したいのですが、どうすればよいでしょうか。

$a = array();
$a['one'] = 'val_one';
$a['two'] = 'val_two';
$a['three'] = 'val_three';
$a['fore'] = 'val_fore';
としても
$a[0] のkeyに'one'が入ってくれません。

PHPドキュメントを読んで
array_push($a, array("one => val_one"));
こうすればできるかとも思ったのですが、だめでした。
どうかアドバイス頂けないでしょうか。宜しくお願い致します。
※特殊なキーソートルールに従って配列順をソートしたいので$a = array('one => val_one', 'two => val_two');のように固定値で設定することはできないのです。
0866nobodyさん2006/09/02(土) 03:10:48ID:???
>>865
そこは保障されないんじゃないかな?
連想配列=キー経由でデータアクセス
だから、そもそも順番に意味があるような
データを入れるのは適してないのでは?
$a=array();
$a[] = array('one', 'val_one');
$a[] = array('two', 'val_two');
とかじゃだめなの?
08678662006/09/02(土) 03:12:32ID:???
あ、ごめん。
※の注記ちゃんと読んでなかったよ。
0868nobodyさん2006/09/02(土) 03:22:18ID:???
>>865
”ソートされたキー”の配列を用意する

あと、どうでもいいけど
× fore
○ four
08698662006/09/02(土) 03:25:02ID:???
PHPドキュメント読んできたー
連想配列でも順番に入るような感じで例がのってましたね。

ちょっとあげあし取りになるかもだけど、
array("one => val_one");
ってダブルクォートの入り方がちがうよ。

あと質問よく読むと
>$a = array();
>$a['one'] = 'val_one';
>としても
>$a[0] のkeyに'one'が入ってくれません。
最後の行の文章がおかしくない?
foreachで$aをまわしたときに、'one'、'two'、...になってほしいってこと?

0870nobodyさん2006/09/02(土) 03:27:43ID:???
>>865
最終的に何がしたいのかよく分かんないんだけど、その格納の仕方で順番に配置できてるよ。
格納順に取り出す方法は
foreach($a as $v) {
echo $v;
}
とか
$list = array_values($a);
var_dump($list);
とか
while(list($k, $v) = each($a)) {
echo $v;
}
とかすんの。

$a[0]は「0番目の値」でなく「0というキーで格納した値」なので取り出せなくて当然。
もしも'val_one'を$a['one']と$a[0]の両方でアクセスしたいと言うなら、
$a[0] = 'val_one';
$a['one'] = 'val_one';
みたいにそれぞれ格納しないとダメ。
0871nobodyさん2006/09/02(土) 03:38:53ID:???
>>866-870
レス有り難うございます。
値を取り出すときは
foreach ($a as $key => $val) {
print "$key => $tmp <br >\n";
}
のような形で取り出し、$keyに"one" $valに"val_one"が入り
one => val_one
two => val_two
08728652006/09/02(土) 03:41:25ID:???
すみません、書き込み途中でボタンを押してしまいました。

上記の様な順番で出力させたかったのです。
>>870さんのレスを参考にもう一度やってみます。

fourとダブルクォートの入り方の指摘有り難うございました。
0873nobodyさん2006/09/02(土) 04:50:50ID:???
>>865
同じ配列に数値添字の値を加えて後の処理ができるのであれば
$a = array();
$a['one'] = 'val_one';
$a['two'] = 'val_two';
$a['three'] = 'val_three';
$a['fore'] = 'val_fore';
$a = $a + array_values($a);
print_r($a);
という方法もあるかな
0874nobodyさん2006/09/02(土) 05:03:40ID:???
>>865
ちょとみっともないけど、こんな感じでも
$a = array();
$a['one'] = 'val_one';
$a['two'] = 'val_two';
$a['three'] = 'val_three';
$a['fore'] = 'val_fore';
$b = array_keys($a);
print_r($b);

for ($i=0;$i<count($a); $i++)
echo $a[$b[$i]]."\n";

配列関連の関数をうまく使えばなにかと便利
何がしたいかわからないけど「特殊なソート」したいなら
コールバック関数が使えるソートが使えそうだけど・・
0875nobodyさん2006/09/02(土) 12:13:07ID:???
レベルひっくぅ
0876nobodyさん2006/09/02(土) 13:11:58ID:???
getID3()のver1.7.7を使ってMP3のタグを抜き出しているのですが
日本語が文字化けしてしまって、うまく変換できません。

文字化けは?n?l?E?}???C?_?[のようになってしまいます。

どう変換すべきなのか教えてください。
0877nobodyさん2006/09/02(土) 13:18:38ID:???
>>876
mb_convert_encoding
0878(^ω^) ◆shPHP/.kPI 2006/09/02(土) 13:22:46ID:???
UTF-8
0879nobodyさん2006/09/02(土) 13:25:01ID:DHuAFzD0
PHPでメールを送信するのは簡単なんですが、例えば送信しても送信先が無い場合、大抵エラーメールが返ってきますよね?
その返ってきたメールについて処理したいのですが、一体どこに届いてるのかわからず、SMTP エラーメールの処理、等で一応ググったのですが、よくわかりませんでした。
いったい何から調べれば良いのか検討もつきません。メールの基礎から勉強すればわかることなんでしょうか?良ければヒントだけでもお願いします。
0880nobodyさん2006/09/02(土) 13:28:27ID:???
>>877-878
ページ自体をUTF-8で構成してるんで
$title = mb_convert_encoding($title,"UTF-8");
で変換してみましたが、文字化けは変わらないです。
0881nobodyさん2006/09/02(土) 13:28:38ID:???
つ ftp://ftp.rfc-editor.org/in-notes/rfc2821.txt
0882nobodyさん2006/09/02(土) 13:30:58ID:???
>>880
第三引数
0883nobodyさん2006/09/02(土) 13:36:25ID:???
>>879
・"エラーメール"はバウンスメールと呼ばれる
・バウンスメールは送信元もしくはErrors-Toヘッダで指定されたアドレスに送られる
(ただしErrors-Toヘッダは規格になっていないので信頼性は低い)
・バウンスメールに関しての仕様はRFC1891-1894で定められている
 これら仕様はDSNと呼ばれるSMTPサービス拡張を定義している
・qmailは独自の仕様(QSBMF)で送信する。
0884プリンタ関数2006/09/02(土) 13:46:06ID:w59Qk5ot
[環境]
WINDOWS xp
IIS V5.1
PHP5.0.4


[内容]
プリンタ関数が使いたいが、導入の過程でエラーが起こり困っている。


[過程]
プリンタ関数(*1)によると

>この PECL 拡張モジュールは、 PHP にバンドルされていません。

とあるのでpecl-5.1.6-Win32.zipをダウンロード(*2)して解凍した。
php_printer.dllが目当てだが、とりあえず全てのファイルを
extensionフォルダ(自分の環境ではc:/php/ext)に移した後、
php.iniに

extension=php_printer.dll

の行を追加して保存し、コンピュータを再起動した。
その後、ブラウザからphpでつくったサイトを開くと
エラーボックスが何回か表示した後

Unable to load dynamic library - 指定されたプロシージャが見つかりません。

とブラウザ上に表示。
0885プリンタ関数 続き2006/09/02(土) 13:46:36ID:w59Qk5ot
エラーの表示に従うならばphp_printer.dllが指定したディレクトリに無い
と読めるのでphp.iniのディレクトリの指定を確認しても

extension_dir = "c:\php\ext\"

となっていて、問題なさそう。
他サイトで同じ状況の人がいないか探したところ、
[PHP-users 7023] printer関数が使えない
というML(*3)があったので読んでみるとどうやら同じ症状。
このサイトの[次の記事]に山本さんの自己レスがあり、
「php4winで配布しているパッケージで解決」とあったので
php4winのサイトを探してみたところ、どうやら閉鎖中(*4)。


*1 http://php.benscom.com/manual/ja/ref.printer.php
*2 http://php.benscom.com/get/pecl-5.1.6-Win32.zip/from/a/mirror
*3 http://ns1.php.gr.jp/pipermail/php-users/2002-April/007031.html
*4 http://www.php4win.com/


今でもプリンタ関数を使ってるという方いらっしゃいましたら
どうかアドバイスをお願いします。
08868792006/09/02(土) 13:57:58ID:???
>>883
SPAMがどうたらとかと言われるかと思いましたが、回答ありがとうございます。これらをヒントに勉強してみることにします。
なんとなく>>881も自分宛のような気もしますがよくわからず…すみません。自分宛でしたらありがとうございます。調べてみます。
0887nobodyさん2006/09/02(土) 13:59:34ID:???
>>886
メルマガとかメーリングリストを作ろうとしたら必要な知識だしな。
0888nobodyさん2006/09/02(土) 13:59:47ID:DHuAFzD0
下げてしまった。まぁいっか。
0889nobodyさん2006/09/02(土) 14:09:01ID:???
>>879
Return-Pathにメールが届くようにする。
そこにメールが届いたらプログラムが起動するようにする
(もしくは、デーモンを動かしてメールが届いたら処理をするようにする)。
起動したプログラム(or デーモン)で、エラーメールを解析。
08908792006/09/02(土) 14:19:36ID:DHuAFzD0
>>887
そうですね。一応処理できる事を知ったので、できることはしといた方が良いのかなと思ったので。

>>889
今のとこだいたいのイメージしか湧かないですが、流れはだいたいわかりました。ありがとうございます。
0891nobodyさん2006/09/02(土) 15:46:05ID:X9kYxdVI
echoでフォーム内でのaction=$_SERVER[PHP_SELF]>の正しい書き方がわかりません。

echo "<form action=$_SERVER[PHP_SELF]>\n";
echo "<form action=\"$_SERVER[PHP_SELF]\">\n";

一応、両方とも動くのですが正しい文法としては後者の記述でしょうか?
※メソッドとか抜けてますが、見やすくするために省略しました。
0892nobodyさん2006/09/02(土) 16:12:03ID:???
$_SERVER[PHP_SELF]
↑php4以降推奨されない書き方
0893nobodyさん2006/09/02(土) 16:25:31ID:???
変数部分を{}で括ってやるんじゃなかったっけ?
いずれにしても見難いから俺は結合演算子使ってる。
PHP的に正しい書き方って言ったら埋め込みなんだろーけど
0894nobodyさん2006/09/02(土) 16:31:19ID:???
>>891
$_SERVER[PHP_SELF]だとPHP_SELFが未定義の定数として認識される。
未定義の定数は文字列として扱われる。この場合は"PHP_SELF"という文字列。
ただし、これは推奨されておらずNoticeが吐かれる。

また、ダブルクォーテーション内で変数を扱うときは{}でくくる方がよい。

ちなみに俺なら
echo '<form action="', $_SERVER[PHP_SELF], '">', PHP_EOL;
とかく。
0895nobodyさん2006/09/02(土) 16:37:38ID:???
まずは変数の書き方を(ry
08968942006/09/02(土) 16:38:56ID:???
コピペしたらシクったorz
echo '<form action="', $_SERVER['PHP_SELF'], '">', PHP_EOL;
0897nobodyさん2006/09/02(土) 16:49:51ID:???
設計の問題なのですが 403 を適切に吐き
無駄な負荷を軽減しているのですが

当然なのですがカウンタが回りません

どの様な処理方法が考えられますでしょうか
0898nobodyさん2006/09/02(土) 16:52:57ID:???
釣り来たwww
0899nobodyさん2006/09/02(土) 16:54:00ID:???
>>897
403ってHTTPのステータスコードのこと?
だとしてどのようなアクセスに対して403を吐いていて
どのようなアクセスに対してカウンタを回したいの?
0900nobodyさん2006/09/02(土) 16:57:58ID:???
htmlとphpプログラムを記述したPHPファイル(hello.php)bェあります。
その中にhelloというユーザー関数を作成しました。
この関数を、フォームのsubmitボタンを押すと呼び出すようにしたいのですがうまくいきません。
どこをどのように改良したらよろしいのでしょうか?
ご教授お願いいたします。

<?php
function hello() {
print "Hello";
}
?>

<form method="post" action="hello.php">
<input type="submit">
</form>
0901nobodyさん2006/09/02(土) 16:59:51ID:???
>>900
関数は呼び出さなければ実行されない。
hello.phpに呼び出しを追加しろ。
0902nobodyさん2006/09/02(土) 17:01:48ID:???
>>900
読んでおいで
http://www.php.net/manual/ja/language.functions.php
0903nobodyさん2006/09/02(土) 17:02:11ID:???
ごめんなさい 304 Not Modified ね

書き間違えました

更新されていなければ 304 Not Modified
更新されていれば スクリプト実行

これをPHPの動的なページに適用しています。
カウンタはバックグランドではきちんと回っているのですが

304 Not Modified でページが再読み込みされない為
回らないように見えます。
0904nobodyさん2006/09/02(土) 17:20:54ID:???
>>903
釣りにしか見えないがブラウザのキャッシュを利用しているのだからサーバー側で
何も処理されない。当然、カウンタが増えるわけがない。
0905nobodyさん2006/09/02(土) 17:22:46ID:???
>>882
ID3v1タグって元々はどんなエンコードで入っているんですか?
いろいろやってみましたが、文字化けが直りませんでした。
0906nobodyさん2006/09/02(土) 17:29:26ID:???
>>903
単一スクリプトの出力を変化させつつ、304吐いて読み込ませないなんて矛盾したことは不可能

カウンタの部分が更新されることを望むなら
カウンタ表示部分を画像やAjaxで別途呼び出すようにするか
304を吐かないようにするか

負荷軽減と言ってるがそれがPHP実行によるCPU負荷を指してるなら、
304を吐かなくてもスクリプト側で重い処理だけキャッシュすればいい。

転送量の事なら圧縮転送させるだけでも効果が得られるかもしれない
0907nobodyさん2006/09/02(土) 17:30:11ID:???
自己解決しました。SJISでした。
0908nobodyさん2006/09/02(土) 17:38:41ID:???
>>906
>カウンタ表示部分を画像やAjaxで別途呼び出すようにするか

やはり別ファイルにして呼び出す方法しかないのでしょうかね
色々やって見ます。

スクリプト自体の処理負荷も回線負荷も
重い訳ではないので 304 はずしても問題ないんですがね。
09099002006/09/02(土) 17:40:02ID:???
自己解決しました。
制御文から関数呼び出しました。
0910nobodyさん2006/09/02(土) 17:44:17ID:???
パーミッションについて質問です。
htmlファイルは604
phpファイルは705
ログファイルは606
ですべて統一しても大丈夫でしょうか?
0911nobodyさん2006/09/02(土) 17:49:35ID:???
>>910
スレ違い。
実行状況にも因るしな
レス数が900を超えています。1000を超えると表示できなくなるよ。