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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001 ◆HhTh8Gv36s 2005/10/18(火) 05:53:51ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
0853nobodyさん2005/10/29(土) 11:35:45ID:???
>>852
パースエラーはお前の書き間違いなので環境には影響されないだろ
08548492005/10/29(土) 11:43:46ID:???
>>852
サーバ環境を変更したときに、パースエラーが発生する可能性のある処理を
具体的に挙げてください
0855nobodyさん2005/10/29(土) 11:55:04ID:???
PHPを入れ替えたりしたなら、可能性はあります。
必要なライブラリが入れ忘れたりしたら、パースエラーは出ます。
まあ、保険ですから、なければそれに越したことはないんですが。
0856nobodyさん2005/10/29(土) 12:08:59ID:???
ライブラリ不足でパースエラーにまでなるケースはないのかな。
ただし、未定義の関数を呼び出した場合など、
set_error_handler()でフックできないFatal errorが出ることはあります。
他にはメモリ制限を越えるケースなどもありますし・・・。
0857nobodyさん2005/10/29(土) 12:16:14ID:???
>>855
ライブラリがなかったからってパースエラーにはならんよ。
構文解析してんのはライブラリなんかがロードされるより先だし。
0858nobodyさん2005/10/29(土) 13:34:30ID:???
ignore_user_abortについてなんですが以下のような考えであってますでしょうか?

ignore_user_abort(2)
で閲覧者からのブラウザ操作を無効にする
ignore_user_abort(0)
で有効にする

という認識でファイル操作時に使ってるんですが…違ってたら教えていただきたいです。
0859nobodyさん2005/10/29(土) 14:04:28ID:oQPmcAu1
デザイン(html)とphpを極力分けたいのですが、
それ筋に詳しいサイトとか教えてもらえないでしょうか?

smartyのような外部スクリプトに頼るのは極力避けたいと思ってます。
08608592005/10/29(土) 14:10:04ID:???
テーブル周りが特に厳しいです。
例えば、mysqlからデータひっぱってきて表示させる場合など、
どうしてもテーブル周りのhtmlとphpが混在してしまってごちゃごちゃ
する感じが非常に鬱です。
0861nobodyさん2005/10/29(土) 14:34:28ID:???
>>859
そもそもその用途にphpは向かない
0862nobodyさん2005/10/29(土) 14:36:41ID:???
>>859
というかタグでのデザインは最小限にしてCSSを主体にすればいいじゃん
0863nobodyさん2005/10/29(土) 14:38:07ID:???
>>859
どうしてSmartyを避けるのはなぜ?
0864nobodyさん2005/10/29(土) 14:54:57ID:???
寝違えた。右向けない。
0865nobodyさん2005/10/29(土) 15:27:45ID:???
質問です。
セッション変数の利用では
session_start
でセッションを読み込み
session_write_close
で(もしくはそのPHPを抜けると)書き出すようなのですが、
「読み込んだけど、やっぱり書き出したくない」という我がままさんな時に利用できそうな関数が見つかりません。
そんなものは存在しないのでしょうか?

ttp://manual.xwd.jp/ref.session.html
の一覧の中にそれっぽいものが無かったのです。
session_destroy
が近いかなと思ったら、セッションファイル自体が「削除」されてしまいました。

0866nobodyさん2005/10/29(土) 15:33:48ID:???
そもそもセッションって何のために使うのか分からない
0867nobodyさん2005/10/29(土) 15:42:21ID:cNmjzv6x
フォームでPHPにデータを送って、PHPでMySQLのテーブルに追加するっていうcgiを作ってるんですが、
フォームで送ると必ず文字化けしてしまいます。
phpMyAdmin上で追加するとちゃんと表示されるんですが・・・
0868nobodyさん2005/10/29(土) 15:45:59ID:???
>>865
セッション変数の値を変更しなければ、たとえ書き出されても
内容は変わっていないので問題ないと思うんだけど…
0869nobodyさん2005/10/29(土) 15:47:29ID:???
>>868
お返事ありがとうございます。
ファイルの更新日時を別のPHPが参照しているので、更新されると困ってしまうわけです。
また、書き込みにもパワーを使うでしょうから書き込まないにこしたことはないかなと。
0870nobodyさん2005/10/29(土) 15:49:20ID:???
>>867
フォームからのクエリをちゃんとコード変換してる?
0871nobodyさん2005/10/29(土) 15:52:55ID:???
>>865
unset

あとsession_write_closeは「普通は使わない」
0872nobodyさん2005/10/29(土) 15:54:01ID:cNmjzv6x
>>870
コード変換で調べてみます
できなかったらまた来ちゃいます
0873nobodyさん2005/10/29(土) 15:57:51ID:???
みんなセッション変数ってどういう場面で使ってる?
0874nobodyさん2005/10/29(土) 16:05:04ID:???
サイト内をぐりぐり移動させる系。
仕事だと頻繁に使うだろ。特に金がからむとこ。
0875nobodyさん2005/10/29(土) 16:05:33ID:???
>>873
セッション管理
0876nobodyさん2005/10/29(土) 16:05:59ID:???
>>873
ページ間で渡すデータが多い時、
ページ間で渡すデータにある程度の信頼性が必要な時、
ページ間の移行に自由度or制限を持たせたい時
等々・・・考えれば色々あると思うが
0877nobodyさん2005/10/29(土) 16:07:19ID:???
>>871
ありがとうございます。
unset試してみました。
だたセッションファイルの中身が0バイトになってしまい、望んでいた効果ではなかったようです。

0878nobodyさん2005/10/29(土) 16:08:54ID:???
>>876
> ページ間で渡すデータが多い時

それなら

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

といった感じでデータ渡していけない?
0879nobodyさん2005/10/29(土) 16:10:32ID:???
>>878
ブラウザ側にデータを持たせると、どう改竄されるかわからない。
その点実データがサーバー側にあるセッション変数は楽ちん。
0880nobodyさん2005/10/29(土) 16:16:07ID:???
>>877
まさかunset($_SESSION)とかやったんじゃないだろうな・・・・?
そうでないなら何がしたいのか良く分からん

>>878
もし渡すデータが1Mバイトとかに及んでも問題ないと思う?
0881nobodyさん2005/10/29(土) 16:19:26ID:cNmjzv6x
>>867です。
調べてみると、mb_convert_encoding();という関数を使うのが見つかったんですけど、
これはわざわざインストールしないといけないみたいなんですが、他に方法はありますか?
08828682005/10/29(土) 16:20:19ID:???
>>877
ざっとPHPのソースを追ったみたけど無理じゃないかなぁ。
session_start() で内部の(外部から操作できない)アクティブフラグがオン、
スクリプト終了時にアクティブフラグがオンであればセッションファイルを更新しているみたいだし。
自前でsession_set_save_handlerを書くしかないのかな…
他のPHPからセッションファイルの更新日時を参照してゴニョゴニョするって仕様を
何とかした方がいいようにも思うけど。
0883nobodyさん2005/10/29(土) 16:23:09ID:???
>>880
session_unset();
とやった結果、セッションファイルが0バイトに上書きされました。


unset();
で試してみましたが、セッションファイルの中身はそのままですが、
更新日時が更新されているので書き込まれてしまったようです。

やりたいことをあらためて説明しますと
「session_start()したあと、セッションファイルに書き込みをすることなくcloseしたい」のです。
イメージ的に言うと
sessin_no_write_close();
のような命令が欲しいのです。
0884nobodyさん2005/10/29(土) 16:25:42ID:???
>>882
なるほど。了解しました。
セッションファイルに持たせているファイルが多めなので、いったん読ませるのを避けたかったのです。

何か別のファイルに更新情報だけもたせ、それを見るようにしてみたいと思います。
ありがとうございました。
0885nobodyさん2005/10/29(土) 16:26:18ID:???
>>881
・cgiが出力するHTMLの文字コード(作りによっては = スクリプトの文字コード)
・MySQLクライアントが使用する文字コード
・MySQLのバージョンによっては、MySQLサーバーが使用する文字コード
が合っていれば、特に文字コード変換をしなくても化けないと思うけど。
0886nobodyさん2005/10/29(土) 16:26:35ID:???
>>879-880
なるほど・・・
となると今後は

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

というデータの渡し方は急速に過去の手法になってしまうわけ?
0887nobodyさん2005/10/29(土) 16:34:01ID:???
>>886
サーバーで保存するべきデータと、ブラウザから送るべきデータがあるだろ。
後者がある限り使われる
0888nobodyさん2005/10/29(土) 16:36:40ID:???
>>886
んな訳ない。セッションはページ間の受け渡しに使うものであって、
他の関係ないページにデータを渡す手段としてのGETやPOSTが無くなるとは
とても思えない。

例えばここ(掲示板等)からgoogleにだってデータ受け渡せるでしょ
http://www.google.co.jp/search?q=the+answer+to+life+the+universe+and+everything
0889nobodyさん2005/10/29(土) 16:45:31ID:62Wo0hD9
HTMLのフレームを使わないで、フレームっぽくみせる方法はあるでしょうか?
0890nobodyさん2005/10/29(土) 16:51:45ID:???
何をもってフレームっぽく?
あとここはPHPスレだから、htmlスレにいったほうがいいかと
0891nobodyさん2005/10/29(土) 17:51:01ID:cNmjzv6x
---header.inc----
<?php
function header($title) {
print <<< _HTML_
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
〜〜〜
<body>
_HTML_;
}
?>
-----------------

header.incをメインのphpで読み込んで、使いたいんですが、エラーがでます
<?php
require_once("header.inc");
function html() {
header("登録完了");
print <<< _HTML_
〜〜〜〜
_HTML_;
}
?>
0892nobodyさん2005/10/29(土) 18:02:31ID:???
>>891
エラーメッセージぐらい書け。
多分、header()という名前が標準関数と同じ名前だからダメと思われ。
0893nobodyさん2005/10/29(土) 23:55:06ID:???
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge");
を動かそうとすると前者はFALSE
08948932005/10/29(土) 23:59:51ID:oJpOHanR
ぎゃーーー途中で書いてしまった・・・。
もう一度最初から
Fedoracore4、apache2でphpを動かしています。
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge",$aho);
echo $aho;
を動かすと前者はFALSE、後者は1が帰ってきて
hogeフォルダが作れません。
windowsの場合だと上記の方法でうまく行っていたのですが
linuxではsystem関数やmkdir等を使う場合は特別な設定が必要なのでしょうか
0895nobodyさん2005/10/30(日) 00:18:38ID:???
>>894
つ「ぱーみっしょん」
0896nobodyさん2005/10/30(日) 00:20:33ID:1KfOrRxK
だめだ・・・MySQLの日本語のデータがどうしても文字化けしてしまう

[form.html]
 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

フォームから送られてきたものを処理するphpではデータをそのままSQLに送ってます

で、SQLの照会順序は
sjis_japanese_ci
テーブルの照会順序も
sjis_japanese_ci

なんで文字化けするんでしょう??
他どこをいじったらいいですか?
0897nobodyさん2005/10/30(日) 00:23:55ID:???
なぜ取り出したデータのコードを調べない?
0898nobodyさん2005/10/30(日) 03:28:29ID:1KfOrRxK
え、そんなんできるんですか?
ちなみにどうやるんでしょう・・・
0899nobodyさん2005/10/30(日) 03:45:54ID:???
>>896
文字コードって知ってる?
SQLにデータを入れるときに、SQLのキャラクタにあわせて文字コード変換してる?
とりあえずSQLに入れる前にmb_convert_encording汁。
0900nobodyさん2005/10/30(日) 09:42:35ID:???
>>896
MySQLと接続後(mysql_connect() を呼び出した後)に
mysql_query('SET NAMES sjis');
を実行したら直らないか?
09018932005/10/30(日) 11:18:12ID:os3jjLkZ
>>895
だー!そんな基本的なこと何忘れてんだろう・・
ありがとう!
0902nobodyさん2005/10/30(日) 13:26:35ID:oTdkkAz2
ifやwhileを使いまくってると{}が
ごちゃごちゃしてきて、
どの{}かさっぱり分からなくなってくるんだけど、
何か分かりやすい記述方法ないでしょうか?
インデントとか使ってるが全く俺には効果なしです。
0903nobodyさん2005/10/30(日) 13:30:59ID:???
メモ帳だからしょうがない。
0904nobodyさん2005/10/30(日) 13:32:20ID:???
>>902
ショートカットで現在指定している始点・終点括弧に飛ぶやつとか
範囲色が出るやつとか色々あるからエディタを変えなさい。
0905nobodyさん2005/10/30(日) 13:35:41ID:???
>>902
ifやwhileを減らせばいい。
0906nobodyさん2005/10/30(日) 13:46:58ID:???
見通しが悪くなるぐらい {} の中が長くなったりインデントが深くなる時は
中の処理を適度に関数化。
後は while の中で if 〜 else なんかの処理は continue を使って else を
排除する(インデントを浅くする)ことができる場合もあるし。
まぁ賛否両論だろうけど、好きずきで。
0907nobodyさん2005/10/30(日) 14:10:08ID:???
>>902
if (nantyara){

aatarakoutara;

} // end if

0908nobodyさん2005/10/30(日) 14:11:21ID:???
セッション管理ってURLに埋め込む方法とCookieに埋め込む方法の2種類有るらしいけど
どう使い分けてる?
0909nobodyさん2005/10/30(日) 14:22:32ID:???
>>908
Cookieだと以下のようなことが起きるのでURL埋め込み or HIDDEN渡しにしてCookieは使用していない。

ブラウザAを起動してユーザー名 xxx でログオンしてセッションに xxx を保存
別にブラウザBを起動してユーザー名 yyy でログオンしてセッションに yyy を保存

ブラウザAでログオンしたユーザー名が yyy になってしまう
0910nobodyさん2005/10/30(日) 14:23:04ID:???
>>908
要求セキュリティーレベルに応じて
0911nobodyさん2005/10/30(日) 14:27:21ID:???
$_POST["abc"]
$_POST[abc]
どっちが正しい表記だっけ?
0912nobodyさん2005/10/30(日) 14:32:54ID:???
>>911
試してみればすぐ判るだろうに。
$_POST["abc"] が正解。
0913nobodyさん2005/10/30(日) 14:48:12ID:???
$_POST[abc]が正しい。
0914nobodyさん2005/10/30(日) 14:50:36ID:???
>>911
まあ define("abc", ... ) とかない限りは上だ罠。
0915nobodyさん2005/10/30(日) 15:49:34ID:???
配列オブジェクトの、オブジェクトIDみたいなのってとれますか?

やりたいことは、複雑な入れ子になった配列にたいしてある関数を適用させるのですが、
すでに関数を適用した配列に対して2回以上の適用を避けるために、配列のIDみたいなのを取得して記録しておこうと思っています。

$hash = array();
function foo($array) {
 global $hash;
 $id = object_id($array);
 if ($hash[$id]) return;
 $hash[$id] = true;
 foreach ($array as $item) {
  if (is_array($item)) {
   foo($item);
  } else {
   ...
  }
 }
}

よろしくお願いします。
0916nobodyさん2005/10/30(日) 15:53:45ID:???
>>915
$array["foo済み"] = true
とかは?
09179152005/10/30(日) 16:01:16ID:???
>>916
データである$array自体に変更を加えるわけにはいかないんです。
この制約があるために、配列のIDみたいなのがないかなーと。
0918nobodyさん2005/10/30(日) 16:32:01ID:???
携帯等でページを見た場合で出力サイズがデカイ場合にページを分割したいのですが、
出力用の変数に出力する内容をぶちこんでサイズを見て分割、受け渡しはセッションで。
っていう方法しか思いつきません。他になにか方法があればヒントだけでも知りたいです。
0919nobodyさん2005/10/30(日) 17:02:36ID:???
テキストファイルの内容を弄るスクリプト作りたいのですが、
(テキストファイルにある文字列を書き込んだり、修正したりする感じです)
一から作るのもあれなんで、
モジュールとかないもんでしょうか?
0920nobodyさん2005/10/30(日) 17:57:59ID:???
>>915
条件ごとにサブルーチンへ飛ばせばすっきり。
09219152005/10/30(日) 18:06:56ID:???
>>920
???
すみません、いみがわからないです。
0922nobodyさん2005/10/30(日) 19:17:33ID:???
掲示板なんかでフォームの入力値を判断して、問題あったらエラーを表示
させるみたいなのあるじゃないですか。
そこの部分が個人的にきったないコードになってしまうんです。
いい見本きぼんぬ
0923nobodyさん2005/10/30(日) 19:29:50ID:???
悪い見本を見せてくれ。
長いと見る気無くすので骨子の部分だけで。
0924nobodyさん2005/10/30(日) 20:01:08ID:???
>>922
フォーム関連はフレームワーク使うかHTML_QuickFormみたいなの使うのが今のところ主流
0925nobodyさん2005/10/31(月) 02:51:28ID:MpHxARpO
PHP+GDで画像を出力するスクリプトを書いています。
出力の際に↓のようなコードを書いてるのですが、


header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);


IEだと、表示された画像を保存しようとしても、
ファイル名が  無題.BMP となり、保存形式もBMP形式しか選べません。
IEキャッシュの削除をしてみましたがだめでした。
(当然、PHPは4.x.x以上、GDはGIFが扱えるバージョンです。)

調べて見ると、どうもIEはContent-typeを無視するようで、
.htaccess で指定してみたんですが、これでも無視されてるようです。

text/htmlとして出力するようにしたら、うまく GIF形式になったんですが、
それだと、Firefoxなどのブラウザでファイルの中身が表示されるように・・・

なにかうまい解決策はないでしょうか??

0926nobodyさん2005/10/31(月) 03:25:34ID:???
>>925
それはIEがおかしくなってるよ
通常は元の画像形式で保存できる

ダウンロードされたオブジェクト(プラグインとか)が壊れてるとそうなるらしい
キャッシュフォルダーの設定のとこでオブジェクトを表示して全部削除すると直ったと思った
09279252005/10/31(月) 05:27:15ID:???
>>926

と思ってPCとかでも試してみたけどだめでした

Content-typeが無視されるIEのバグのせいだと思うんですが・・・

うーん、うまい対策方法はないんだろうか

ほんとIEは消えてほしい ort
0928nobodyさん2005/10/31(月) 05:28:10ID:???
PCとか −> 他のPCとかで

でした。
0929nobodyさん2005/10/31(月) 05:49:32ID:???
IEでファイル保存するときのファイル名はcontent-dispositionでfilenameを指定すればいけんジャマイカ?
0930nobodyさん2005/10/31(月) 06:03:41ID:???
>>925
これも試してみ

ツール>インターネット オプション>全般>インターネット一時ファイル>
設定>オブジェクトの表示

状態の不明、壊れていますを削除

ttp://support.microsoft.com/default.aspx?scid=kb;ja;810978
0931nobodyさん2005/10/31(月) 06:21:37ID:???
>>930

だめでした

PHPで直接ファイル等を出力した場合に、
というか、

「どんなファイルでも、指定したContent-typeを無視して、
 ファイルの内容から勝手にContent-typeを判断する」、

というIEのバグのせいらしいので、オブジェクトやキャッシュとは無関係だと思います。


>>929

ちょっと調べてそれでやってみます
0932nobodyさん2005/10/31(月) 06:32:47ID:???
>>929

の方法で、
Firefoxとかで保存する際に、デフォルトのファイル名が 〜.php (ファイル形式 GIF)だったのが、
〜.gif(ファイル形式 GIF)になるようになりました!!!

しかし、肝心のIEは 無題.BMP(ファイル形式 BMPのみ)のまま・・・

やはり、 header(〜); で出力されたヘッダー全てが完全に無視されてるようです。

試しに、Content-typeの出力を

 header("Content-type: text/plain");

としてみましたが、見事に無視・・・

ちなみにIEは6です。ほんとIEだけは消えてほしい・・・

バグだからしょうがないんですかね ハァ
0933nobodyさん2005/10/31(月) 06:36:32ID:???
ttp://72.14.203.104/search?q=cache:d9PD9Fd8ijsJ:rwiki.moonwolf.com/rw-cgi.cgi%3Fcmd%3Dview%3Bname%3DXSS%2Btext%252Fplain%E5%95%8F%E9%A1%8C+content-disposition+IE+%E7%84%A1%E8%A6%96&hl=ja&lr=lang_ja

>>292のでぐぐったらこんなのが。
ここ参考にもうちょっとがんばってみまつ ort
0934nobodyさん2005/10/31(月) 06:59:24ID:???
>>932
俺のPCではIEでもちゃんとGIFで保存できるよ
ファイルの中身で判断してるのなら中身がGIFなら問題ないはず
↓はどうなる
http://nike.s151.xrea.com/x/imagettf.php?text=ABC&size=30&margin=10&bgcR=255&bgcG=255&type=gif
0935nobodyさん2005/10/31(月) 07:16:43ID:???
>>933
送っているGIF画像は完全な画像ですかね?

>ほんとIEだけは消えてほしい・・・
IEお断りにしたらいかが
0936nobodyさん2005/10/31(月) 07:26:34ID:???
>>934

それはきちんとgifで保存できました!
PHPの呼び出しかたはほぼ同じです。
なぜだろう・・・
出力の時点でおかしいのか・・・

>>935

imagegifで動的に出力してますが、Firefoxとかで中身を見るとGIFなので間違いないと思います。
IEお断り、したい ort

934のはなんでできるんだろう・・・
0937nobodyさん2005/10/31(月) 07:47:33ID:???
>>932
>試しに、Content-typeの出力を

> header("Content-type: text/plain");

>としてみましたが、見事に無視・・・

text/plainでも無題.BMPになるってこと?もしそうだとしたら、ファイルの中身が実はGIFじゃないのでは?
本当に中身がGIFなら、先頭の6バイトにGIF89a(16進数で0x474946383961)って入ってるはず。
(面倒がらず、きちんと確認してみな)
つーか、GDのバージョンによってはGIFって扱えなかったと思うから、その影響だったりしない?
0938nobodyさん2005/10/31(月) 08:01:55ID:???
>>937

ファイルの先頭は透明GIFではないので、GIF87aになってます
これもなんか問題ありますかね???

FirefoxではGIFででてますし、GDもそんな古いバージョンではないので、
GDの問題はないと思うのですが・・・

今、テスト用のサーバーを設定したので、設定が完了したらスクリプトをアップしてみます・・
なぜだ・・・
0939nobodyさん2005/10/31(月) 08:05:23ID:???
と思ったら設定、もうできたみたいです。

つ ttp://phptest.s155.xrea.com/x/test.php

ちなみにスクリプトは↓です。
やっぱりBMPでしか保存できない・・・・。鯖のXREAの問題なのかな・・・

<?php
$im = ImageCreate(128, 64);
imagefill($im, 0, 0, ImageColorAllocate($im, 0x00, 0x00, 0xff));

header("Content-type: image/gif");
header("Content-Disposition: inline; image.gif");
header("Cache-control: no-cache");
imagegif($im);
imagedestroy($im);
exit;
?>
0940nobodyさん2005/10/31(月) 08:10:14ID:???
つ [ header("Cache-control: no-cache"); ]
0941nobodyさん2005/10/31(月) 08:22:25ID:???
なんと、no-cacheの出力やめたらできました!!!

データ入力を受けてその都度違うもん出力してたので、
no-cache っていれなきゃいけないもんだと思ったら、これいらなかったんですね・・・

もっかい勉強しなおしてきます O......rt

朝早くからいろいろとアドバイスくれたみなさん、本当にありがとうございましたm(_ _)m
0942nobodyさん2005/10/31(月) 09:31:37ID:???
なんでno-cache入ってるとだめなの?
09439412005/10/31(月) 09:56:27ID:???
IEはキャッシュにGIFファイルを作って、
それを読み込んできてるんですかね・・・

考えてみれば、キャッシュから読み込んできたとしても、
それはそのパラメータで作られた唯一の画像なわけだから、
別にno-cacheにする必要はなかったんだなぁ・・・

0944nobodyさん2005/10/31(月) 10:04:35ID:???
キャッシュに入っていない画像は表示したままをBMPで保存しようとするのはIEの仕様っぽい
だからキャッシュが壊れている時は、キャッシュに無い時と同様にBMPで保存される
Gecko系はもう一度要求し直すんだっけ?
0945nobodyさん2005/10/31(月) 10:22:58ID:???
no-cacheにするとキャッシュされないから、IEは保存しようとしても
BMPとして保存しようとするわけか。
0946nobodyさん2005/10/31(月) 10:28:01ID:vz5n2QeI
クラスいっぱい作ったら重くなったりする?
クラス1個の中にファンクションめっちゃ作るか
いっぱいクラス作ってファンクションちょっとずつ入れるかどっちがいいかな
0947nobodyさん2005/10/31(月) 10:58:17ID:???
オブジェクト指向をかじる程度でも勉強したほうがいいと思われ・・・。
0948nobodyさん2005/10/31(月) 11:20:53ID:vz5n2QeI
いや、今勉強中なんですよ・・・
クラスいっぱい作ってやってるんですが、
ある掲示板の配布スクリプトDLして見てみると、
クラス1個しか使ってなかったので、不安になって聞いてみました
0949nobodyさん2005/10/31(月) 11:27:56ID:???
>>948
よーし パパ ベンチしてみるぞっ、と思ったけど、
クラスいっぱいつー状況が想定できない・・・
掲示板程度なら、10個もいかないべ。
0950nobodyさん2005/10/31(月) 11:35:35ID:???
たとえ速度が速くなるとしても、無関係の機能が一つのクラスに押し込まれるのは勘弁。
なんのためのクラスなのかと。。。
0951nobodyさん2005/10/31(月) 11:44:35ID:vz5n2QeI
じゃあここのは悪い例?
ttp://www.phpweb.jp/
0952nobodyさん2005/10/31(月) 11:54:52ID:???
これでメンテナンスしやすいと思うんならいいんでないかい。
レス数が950を超えています。1000を超えると書き込みができなくなります。