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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/10/05(木) 01:38:25ID:y1WWhz/p
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カテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0081nobodyさん2006/10/06(金) 11:10:38ID:???
>>80
題名や本文をちゃんと書けばいいのでは。
0082nobodyさん2006/10/06(金) 11:32:31ID:???
>>70
PHPをCGIとして動作させれば通るかも。
0083nobodyさん2006/10/06(金) 12:14:24ID:???
共用レンタルサーバーで
PHPのsession使うのはセキュリティの関係上DBにしてたのですが、
PHPをCGIとして動作させる場合、同様に共用レンタルサーバーでの
sessionの管理方法として、
DB、ファイル、どちらか優劣を決めることはできるでしょうか?
0084nobodyさん2006/10/06(金) 12:41:46ID:???
>>76
ありがとうございます
0085nobodyさん2006/10/06(金) 14:09:59ID:???
下のように、値が頻繁に変わって、5文字程度を取得したいのですが、
下のだと、たまに4文字しか抜き出せなかったりします。
何かお薦めの方法を教えてください。

$mictime = microtime();
$registdate = substr($mictime,2,5);
0086nobodyさん2006/10/06(金) 14:15:50ID:???
>>85
var_dump(microtime());
とかやって、どんな出力するのか確認してごらん。
で、マニュアルを読む。
http://www.php.net/manual/ja/function.microtime.php
0087nobodyさん2006/10/06(金) 14:43:00ID:???
>>85
5文字ってことは英数字でもいいの?
だったら

$microtime = md5($microtime());
$registdate = substr($mictime,0,5);

とかが簡単
0088872006/10/06(金) 14:44:24ID:???
ごめん。なんか間違えた。

$microtime = md5($microtime());
じゃなくて
$mictime = md5(microtime());
0089nobodyさん2006/10/06(金) 14:45:12ID:???
PHP専門誌『PHPプロ!マガジン』が創刊
http://www.thinkit.co.jp/free/news/0610/6/
0090nobodyさん2006/10/06(金) 14:59:52ID:???
>>86,87
ありがとうございます!
数字で取得したかったので、87さん、すいません。
substr($mictime,2,5)で取り出しても、最初の数が0だと抜き出す数字は
4桁になるのを、前に数字をつけて解決することにしました。下の
ような感じで取得することにしました。
$registdate="5".substr($mictime,2,5)
0091nobodyさん2006/10/06(金) 15:02:26ID:???
submitのフォームがあるページでエンターを押すと、
押したことになってしまいますが、これを無効にする方法ってありますか?
0092nobodyさん2006/10/06(金) 15:11:36ID:???
>>90
文字列から数字だけ取り出せばいいんじゃないの?
0093nobodyさん2006/10/06(金) 17:19:11ID:???
SESSIONでデータを持ちまわす場合、
データ量が多くなるとパフォーマンスは落ちますでしょうか?
0094nobodyさん2006/10/06(金) 18:22:26ID:???
セッション変数はsession_start()を呼んだ時ファイルから読み込まれる。
0095nobodyさん2006/10/06(金) 18:46:31ID:???
>>94
そうなの?
$_SESSION['hoge']とかで呼び出したときに、
その部分だけファイルからメモリに読み込まれるんだと思ったが・・・
0096nobodyさん2006/10/06(金) 18:47:17ID:???
>>95
効率悪いだろそれじゃ。
0097nobodyさん2006/10/06(金) 23:15:41ID:???
Perlのdbmマッピングみたいな仕組みなら変数単位に逐次ロードの方が
効率も良かったりするけどな。(その代わりディスク容量食うけど)
残念ながらPHPのはファイルに$_SESSION配列を丸ごとシリアライズで格納、
って方式だから$_SESSIONの中身が太るとパフォーマンス落ちるよ。
0098nobodyさん2006/10/06(金) 23:32:12ID:???
>>97
ん〜〜惜しいっ! 87点
0099nobodyさん2006/10/07(土) 00:19:55ID:prmnYVal
mb_eregを使用して文字列検索を行っているのですが
検索結果が配列の先頭にしか格納されません。

全ての検索結果を格納するにはどうすれば良いでしょうか?
お力添え、宜しくお願い致します。

環境 Win XP, PHP 5.1.4, Apache 2.0

$str ="2004 2005 2006";
$ary = array();

if (mb_ereg("[0-9]{4}", $str, $ary)) {
echo "[0]".$ary[0]."<br />";
echo "[1]".$ary[1]."<br />";
echo "[2]".$ary[2];
}

実行結果

[0]2004
[1]
[2]
0100nobodyさん2006/10/07(土) 00:27:33ID:???
>>99
[0]以外の部分は正規表現で (〜) で括った部分が格納される。
0101nobodyさん2006/10/07(土) 00:58:51ID:???
>>99

$str ="2004 2005 2006";
$ary = array();

if (mb_ereg("[0-9]{4}", $str, $ary)) {
print_r($ary);
}

// ereg()は1回マッチしたら検索を止める。
// だから$aryに"2004"だけ入れてTRUE返して終わり。
// >>99の方法では$ary[1]や$ary[2]は存在しないので未定義としてエラーが出ているはず。

// 結果:
// Array ( [0] => 2004 )

echo "<br />\n";

// マッチするものを全部出す場合はpreg_match_all()とかを使う。

preg_match_all("/[0-9]{4}/", $str, $ary);
print_r($ary[0]); // $ary[0]は正規表現全体(この場合は4桁の数字)にマッチした部分でできた配列である。

// 結果:
// Array ( [0] => 2004 [1] => 2005 [2] => 2006 )
0102nobodyさん2006/10/07(土) 01:11:32ID:???
>>100-101
ありがとうございます、お陰さまで期待通りに動きました。

eregは1回しか検索してくれないのですね./ ,' 3  `ヽーっ
0103nobodyさん2006/10/07(土) 01:23:39ID:???
>>98
なにこいつ
しねばいいのに
0104nobodyさん2006/10/07(土) 01:26:37ID:???
おちつけw
0105nobodyさん2006/10/07(土) 02:05:48ID:JIECxGar
すいません、特定のCSSファイルから検索をしたいのですが、いいソース、または
解説サイトはありますか?
0106nobodyさん2006/10/07(土) 02:23:27ID:???
CSSファイルから検索って意味が分からんです。何だソレ。
0107nobodyさん2006/10/07(土) 02:27:00ID:JIECxGar
>>106
ごめんなさい、CSVファイルからでした ^^;
0108nobodyさん2006/10/07(土) 03:03:47ID:???
そのCSVファイルは日本語を含むのか?その場合の文字コードは?
0109nobodyさん2006/10/07(土) 03:13:54ID:???
探せばライブラリが沢山ありそーだが
0110nobodyさん2006/10/07(土) 03:15:01ID:JIECxGar
>>108
日本語含みます。EUC-JPです。
0111nobodyさん2006/10/07(土) 03:26:17ID:???
だったらfgetcsv()で1行ずつ読み込みながら対象カラムと比較していくだけでいけると思う。
0112nobodyさん2006/10/07(土) 12:35:56ID:2Dg2VxQN
会員制のページを作りたいと考えています。
そこでsessionについて質問があります。
例えば、idとパスワードで認証が行われるとします。
それが、DBに存在するものと一致すればログイン成功
その時にsession_idがクライアント側に渡される

次にsession_idがなければアクセスできないページがあると
isset()で確かめて認証するとします。

この場合だとsession_idを持っている=会員というところまではわかるのだと思いますが
どの会員かは、わからりませんよね?

ひとりひとり個人として認証する場合にはsession_idを渡すときに同時に
DBにもsession_idを登録しておきそれと一致するものを探すと言う作業をしなければ
ならないのでしょうか?
よくわからない日本語となっていますがよろしくお願いします。
0113nobodyさん2006/10/07(土) 12:56:43ID:???
user_idをセッションに入れればいいんじゃ?
0114nobodyさん2006/10/07(土) 14:11:31ID:???
$hoge配列の要素分繰り返しをするとき
いつも
$i =0;
while($i < count($hoge)){
}
としているのですが、
もっと簡単な記述方法ないでしょうか?

whileのなかで、さらに繰り返すとき
$i2 = 0;
とかしなければならなくていつもゲッソリするです
0115(^ω^)2006/10/07(土) 14:21:43ID:???
foreach ($hoge as $key) {}
0116nobodyさん2006/10/07(土) 16:31:02ID:???
どうでもいいことだが、
$i
ときたら次は
$j
だろう。
0117nobodyさん2006/10/07(土) 17:05:05ID:???
プリントスクリーンでコピッた画像をWEBに貼り付けられるようなシステムって
できないんでしょうかね?
エクセルに貼り付けるような感覚で。

できたらすごい便利だと思いませんか?
0118nobodyさん2006/10/07(土) 17:26:46ID:???
>>117
それが便利かどうかはともかく、可能か不可能かと言われれば余裕で可能です。

そしてそれを自動化したものの一種がいわゆる『きんたま』と呼ばれるものです。
0119nobodyさん2006/10/07(土) 17:27:52ID:???
あ、ここPHPスレか。

PHPだけで実現するとなるとちょっと難しいかも知れんね。
0120nobodyさん2006/10/07(土) 17:35:03ID:???
検索のときに、ページングなどで、その検索語を渡すと、
URLに日本語がそのまま表示されたり、その語が削除されたりします。
日本語で検索をするときは、urlencodeを使うべきなのでしょうか?
解決策を教えてください。
0121nobodyさん2006/10/07(土) 17:52:29ID:???
つ【RFC】
0122nobodyさん2006/10/07(土) 18:03:58ID:???
すいません><
RFCで調べても、わからないです。もう少しヒントを下さい
0123nobodyさん2006/10/07(土) 18:36:40ID:???
RFCを検索語にして調べるんじゃなくて、RFCの中でurlについて記述されているものを読め、ってことだ。
0124nobodyさん2006/10/07(土) 19:22:02ID:???
検索するときに、下のようなやり方で、DBに入れてもいいものなんでしょうか?
受け取った値をmysql_real_escape_stringをしないとセキュリティは危険なのでしょうか?

$keyword = $_GET[keyword];
if (get_magic_quotes_gpc()) {
$keyword = stripslashes($keyword);
}
$keyword = mysql_real_escape_string($keyword);
0125nobodyさん2006/10/07(土) 19:40:28ID:???
その後の使い方による
それで十分な場合もあるし、不十分な場合もあるし、十分すぎる場合もある
0126nobodyさん2006/10/07(土) 19:44:56ID:???
外部のxmlファイルの更新日を取得する関数はありますか?
01271172006/10/07(土) 20:15:12ID:+DkGqdIm
>>118

それってウィルスのことですか?
詳しく教えてくださいな。
0128nobodyさん2006/10/07(土) 20:56:36ID:???
>>125
ありがとうございます。その後の使い方は、WHERE comment = $keywordみたいに
使って、当てはまるものを抽出して、HTML上に表示させています。
この場合は平気でしょうか?
0129nobodyさん2006/10/07(土) 22:03:57ID:???
>>126
filemtime とか stat
0130nobodyさん2006/10/08(日) 00:30:12ID:???
>>124
プリペア独自の関数通さないなら
$keywordを''とかで囲った方が良い
0131nobodyさん2006/10/08(日) 00:31:23ID:???
あ、プリペアとか独自の関数ね・・・
0132nobodyさん2006/10/08(日) 00:44:39ID:???
>>130
ありがとうございます。じゃあ、WHERE comment = '$keyword' こんな感じで
平気ですよね!?ありがとうございます。
あと、ついでみたいで悪いのですが、
$con = mysql_connect($DBSERVER〜);
$selectdb = mysql_select_db($DBNAME〜);
$sql=SELECT〜
みたいな感じで、毎回DBを使うときは、$conと$selectdbを書いているのですが、
これは、一つのファイルにまとめて、インクルードして
$sqlだけ、個々のページに記述するのが普通なのでしょうか?
0133nobodyさん2006/10/08(日) 00:50:47ID:???
>>132
DBクラスや関数等を作るか
PEARのDBとかを使ったりするのが殆どだと思うけど
そのやり方で問題無いなら別にそれでも良いんじゃない?
0134nobodyさん2006/10/08(日) 02:28:15ID:???
標準のmail関数を使うためphp.iniでSMTPを設定してますが
これ認証が必要なSMTPは無理ですか?
0135nobodyさん2006/10/08(日) 07:05:44ID:???
注意: HTML などの複雑なメールを送信する場合は、PEAR パッケージの PEAR::Mail を 利用することを推奨します。注意: HTML などの複雑なメールを送信する場合は、PEAR パッケージの PEAR::Mail を 利用することを推奨します。
0136712006/10/08(日) 07:56:30ID:???
PearDBを使ってSQL Serverにアクセスできるようにはなりましたが、
今度は文字コードの件ではまってます。
SQL Serverでは、nvarcharのカラムのデータを、
PHPで取ってくるとShift-JISになります。
PHPではUTF-8で処理したいのですが、どうするのが一番良いでしょう?
DBから取得するごとにmb_convert_encodingでShift-JIS -> UTF-8
するのでしょうか?
0137nobodyさん2006/10/08(日) 09:05:00ID:oH20wXBj
なぜスクリプトを書くときはEUC-JPのコードで書くのか教えてください。
シフト-JISではいけないのですか?
0138nobodyさん2006/10/08(日) 09:13:47ID:???
>>137

文字コードの問題で、漢字を表示するときに\をつけないと文字化けするときがあるから
01391372006/10/08(日) 09:21:53ID:oH20wXBj
>>138
なるほど、文字化けという重要な問題が原因だったのですね。
ありがとうございました。
0140nobodyさん2006/10/08(日) 10:49:17ID:???
>>139
現象としては文字化けで済む場合もあるが、
本質はPHP(ZendEngine)がSJISのソースを実行できるようになっていない、
またSJISはEUC-JPなどと違ってきちんとSJISを考慮していない
(ASCII前提のものとか)と、適正な処理ができないコードが混じっているため。

必要なら別にSJISで書いたって構わないよ。
・PHPの設定で、ZendEngineに渡す前にSJISを解釈できる文字コードに変換するようにしておく
(ZendEngineから渡された文字コードをSJISに変換する逆方向も)
・その変換処理によるパフォーマンスやコストに目をつぶれる
ならば。
0141nobodyさん2006/10/08(日) 11:47:41ID:???
>>139

ていうかEUC-JPよりUTF-8の方がいいよ
0142nobodyさん2006/10/08(日) 11:54:22ID:???
UTF-8よりEUC-JPの方がいいよ
0143nobodyさん2006/10/08(日) 12:04:16ID:???
PHPはEUC-JPの方がいいな。
0144nobodyさん2006/10/08(日) 13:32:33ID:???
いやいやBig5が一番でしょう
0145nobodyさん2006/10/08(日) 14:45:45ID:???
ここは漢らしく全部画像で。
0146nobodyさん2006/10/08(日) 15:05:32ID:???
どうぞどうぞ
0147nobodyさん2006/10/08(日) 17:49:43ID:???
お主らこそ、まっこと漢の中の漢よのう。
0148nobodyさん2006/10/08(日) 19:19:40ID:???
おれが作るサイトは全部SJISですけど何か?
結局何にしようが文字化け怒る時は怒るよ
0149nobodyさん2006/10/08(日) 19:31:53ID:???
文字化けだとんだごるるるるらうらあああああああああああああああ!!!!!!!!!!!!!!!
なめてんのかこるるるるるるあああああああああああああ!!!!!!!!!!!!!!!!!!!
0150nobodyさん2006/10/08(日) 19:43:02ID:???
すいません、質問です。
下のようにindex.phpのあとに、/〜って書き込むと、index.phpがバグって
表示されます。これはどうすれば良いのでしょうか?セキュリティが
かなり危険だと思われるのですが、アドバイス下さい。お願いします。

http://localhost/php/index.php/aaa
0151nobodyさん2006/10/08(日) 19:50:11ID:???
いや、バグらないから。
0152nobodyさん2006/10/08(日) 19:58:07ID:???
そのindex.phpがバグってるんじゃないの。さらさないとだれーもわからない
0153nobodyさん2006/10/08(日) 20:10:09ID:???
すいません、バグるというか、CSSとかincludeするファイルが反映されなくなったりします。
これは相対パスで指定してるからでしょうか?
というか、これは危険なのでしょうか?
普通は、そのファイルは存在しません、みたいな表示をさせるのでしょうか?
0154nobodyさん2006/10/08(日) 20:23:59ID:???
さあ皆で円陣を組むぞ。エスパーを呼び出すんだ!
0155nobodyさん2006/10/08(日) 20:27:46ID:???
エスパー伊東だけど、呼んだ?
0156nobodyさん2006/10/08(日) 21:07:06ID:???
さぁ、エスパー召還の儀式を!
0157nobodyさん2006/10/08(日) 21:25:10ID:???
>>153
絶対path使え

これ /index.php/hoge だと
ブラウザにはディレクトリが違うという判断になるはず
0158nobodyさん2006/10/08(日) 21:56:06ID:???
とういうか、<base>?
0159nobodyさん2006/10/08(日) 22:25:44ID:???
掲示板であるような、httpが書かれたら自動的にリンクされるようにしたい
のですが、いまいちわかりません。
今は下のようにしているのですが、これだとできません。
どうか教えてください。
ereg_replace('http://+[a-zA-Z0-9\.\-\=\/\%\$\?\&\_]*', "<a href ='\\0'>
<font color=ff0000>"."\\0"."</font></a>", $string)
0160nobodyさん2006/10/08(日) 22:36:30ID:???
\\0と変数使ってるが、元側でどこが変数か指定してやれよ。
0161nobodyさん2006/10/08(日) 22:48:19ID:???
>>160
すいません、元側でどこが変数か指定してとはそうゆうことでしょうか??
0162nobodyさん2006/10/08(日) 23:54:56ID:???
「http・・・って書いてあるところを自動リンクにしたい」

ていうときには、全部一度にやらずに、分割してテストしながらやるといいと思うよ。

まず、http・・・にマッチする正規表現を調べる、これが第一段階。(replaceじゃなくてmatchするしないだけをしらべる)

第二段階は、リンクを張るやり方のテスト。簡単な文字、例えば、aaaを<a href="aaa">にreplaceするやりかたを調べる

第三段階で、その両者を合体させる。
0163nobodyさん2006/10/08(日) 23:57:11ID:???
あ、「aaa」ってのは例えば a+ とかの簡単な正規表現で、っていう意味ね。
0164nobodyさん2006/10/09(月) 00:56:36ID:???
>>162
http://www.amazon.co.jp/gp/product/4774126713/

↑この本とか読めば、全て解決する。
0165nobodyさん2006/10/09(月) 01:02:06ID:???
OS:CentOS4
Apache:2.0.55
PHP:4.4.2

PHPファイル自身が、自分が表示されているURLを取得するにはどうすればよいでしょうか?
=HTTPとHTTPSで別々の処理をしたい時に、URLのスキーム(http://https://等の部分)を取得して判別しようと考えています。

例)
http://www.example.com/check.php
https://www.example.com/check.php
check.php自身が、上記のような自分がページとして表示されている場合のURLを取得するには?

PHPマニュアルで、
ストリーム関数
http://www.php.net/manual/ja/ref.stream.php
ソケット関数
http://www.php.net/manual/ja/ref.sockets.php
を見てみましたが、URLを取得する関数があるのかよく分かりませんでした。
0166nobodyさん2006/10/09(月) 01:11:28ID:???
それを考える前に、結果欲しいものから、
「$_SERVER SSL」とかでぐぐってみないかねー。
0167nobodyさん2006/10/09(月) 01:17:31ID:mIjkQc8G
簡単な掲示板スクリプトなんですけど、記事の削除処理で困ってます(TAT)

http://learning.no.land.to/php/s/ver0/s/check_ver002.phps

一応、入力したパス、記事番号が一致したら
「一致しました。」
と出力する処理が成功している辺り、
やはり問題なのは記事の削除に使っている
array_splice()関数なようなんです><;;


どこが悪いのか教えていただけたらうれしいです。

初心者丸出しの質問ですがお願いしますm(_ _)m
0168nobodyさん2006/10/09(月) 01:19:15ID:???
・・・?
結局、現状何がどうなって困ってるんだ?
0169nobodyさん2006/10/09(月) 01:30:54ID:???
>>167
おk、順を追って考えてみよう

1.ログファイルを配列に読み込む
 $lines = file(LOG_FILE);
2.行を削除
 array_splice($lines,$i,1);
3.ログファイルを更新
 ファイルへの書き出し処理はどこに書いてるんだ?
01701652006/10/09(月) 01:38:20ID:???
>>166
アドバイスどうもありがとうございます。
とても助かりました。m(__)m

$_SERVERの項目をhttpページとhttpsページで見比べて、違う箇所を発見しました。
$_SERVER[SERVER_PORT] => 80 という部分も違いましたが、
$_SERVER[HTTPS] => on というそのものスバリのパラメータがあったので、とりあえずこれをSSLページ判別に利用してみます。
0171nobodyさん2006/10/09(月) 01:58:44ID:???
一つのページにいくつものフォームを書いてそれぞれにsubmitボタンを
与えて、Aボタンが押されたら、名前変更、Bボタンが押されたら、メアド変更
みたいにしたいのですが、受けとるページで、if(isset($_POST[B])){}のように
書いてもAボタンのif文が実行されてしまいます。
どうすればいいでしょうか??教えてください。
0172nobodyさん2006/10/09(月) 02:17:29ID:???
>>171
受け取るページに、
print_r($_REQUEST);
と書いて、受け取っている値をチェックしてみよう。

ボタンがたくさんある方のページは、
(1)ボタン毎に<form>〜</form>で囲んで確実に違う動作にする
(2)JavaScriptでボタン毎に動作を違うものになるようにする
という方法があるんじゃないでしょうか?
0173nobodyさん2006/10/09(月) 02:19:33ID:???
>>171

if ( isset( $_POST[B] ) ) { }
の部分を
if ( !empty( $_POST[B] ) ) { }
に変えてみたら動作変わる?
0174nobodyさん2006/10/09(月) 02:24:32ID:???
>>171
ありがとうございます。
ボタン毎にformを設定しているのですが、何か変な挙動が。笑
print_r($_REQUEST);←を使って色々と頑張ってみます!

あと、もう一つだけお願いがあるのですが、enterキーを押しても
submitが押されたことになるのを止めたいのですが、どうすればいいのでしょか?
0175nobodyさん2006/10/09(月) 02:59:58ID:???
そりゃブラウザの仕様の問題なのでは?
0176nobodyさん2006/10/09(月) 03:16:27ID:???
>>174
JavaScriptを使え。
詳しいやり方は検索すれば大量に見付かるから自分で探すように
0177nobodyさん2006/10/09(月) 03:30:06ID:???
>>174
ボタンごとにフォームを分ければ確実に出来る。俺はそうしてる。
それから、if文での判別には、submitボタンに設定したnameおよびvalueは使わないように。
理由は省くが、とにかく使わないように。
その代わり、hiddenで、name=mode value=A などとして、それを使って判別すると良い。
0178nobodyさん2006/10/09(月) 08:57:28ID:mIjkQc8G
>>168
すいません。、、あんまり詳しく書けてなかったみたいです><;;

>>169
おぉ!ありがとうございます!早速直して行きたいと思います!!

アドバイスありがとうございました^^A
0179nobodyさん2006/10/09(月) 11:12:33ID:???
>>173
emptyはあんまオススメできん・・・
0180nobodyさん2006/10/09(月) 11:16:45ID:???
>>178
直させたい所が多数・・・
0181nobodyさん2006/10/09(月) 11:17:20ID:/lkovAUh
Windows server 2003
PHP 4.4.2
apache 1.3.35
(現行システムとの兼ね合いで変更ができません)

アップロードされたファイルの本当の
ファイル種別を判別する方法に苦慮しています。
word/excel/powerpoint/mpegのファイルのみを許可したいです。
方法を教えてください。
おねがいします。

検討した対策
・拡張子や$_FILES[〜]['type']による判別→
  偽装が簡単にできるため×
  http://jp.php.net/manual/ja/features.file-upload.php
  
・fileinfo関数の使用→
  php4で利用可能なphp_fileinfo.dllがなく×
  http://pecl4win.php.net/ext.php/php_fileinfo.dll
■ このスレッドは過去ログ倉庫に格納されています