[PHP-users 9830] ファイルアップロードの不思議な現象
SEGAMI Takashi
php-users@php.gr.jp
Fri, 6 Sep 2002 13:17:29 +0900
瀬上です。
現在、ファイルアップロードの不思議な現象に頭を悩ましています。
どなたか、原因がわかりました教えてください。
例えば、A:\README.txtというファイルがあったとき、fileフォームに
つぎのようにタイプミスして入力しました。(\をつけるの忘れた)
A:README.txt
すると、あたかもアップロードしたかのように振る舞いのですが、
うまくSTOCKされません。普通ならタイプミスでは、ファイルが存在
しないので、アップロード処理は行われないと思うのですが、違う
のでしょうか?
なぜかフロッピーのAドライブだけ、この現象が起こります。HDDの
CやDドライブで同じように適当なファイルを存在させ、タイプミスを
しても、アップロード処理は行われません。
テスト環境を示します。バージョン等、なにも言わないで下さい!
OS: Windows 2000 SP1
WWWサーバ: IIS 5.0
PHP: 4.1.2 (ISAPI)
php.ini: register_globals=On
いかに示す簡単なファイルアップロードのPHPファイルでも、起こります。
皆さんところでは、この現象は起こらないでしょうか?
申し訳ないですが、他のバージョンや別の環境での結果を教えてください。
宜しくお願いします。
----upload.php---------------------------------------------------
<html>
<body>
<form enctype='multipart/form-data' method='POST'>
ファイルアップロードテスト
<?php
define (STOCKDIR, 'd:\temp'); // ←適当に変えてください。
// register_globals=Onの場合
if (isset($ul1)) {
echo "<br>UPLOAD 1 : ".$ul1;
if ($ul1 != "none") {
echo " : ".$ul1_name." : ";
$dstfile = STOCKDIR."/".$ul1_name;
if (copy($ul1, $dstfile)) {
echo $ul1_size." bytes";
if (is_file($dstfile))
echo " : stocksize=".filesize($dstfile)." bytes";
else
echo " : File not found!";
}
else
echo "FAILED";
}
}
?>
<input type='hidden' name='MAX_FILE_SIZE' value='2000000'>
<br><input type='file' name='ul1' size='80' maxlength='255'>
<br><input type='submit' name='action' value='アップロード'>
</form>
</body>
</html>
-------------------------------------------------------------------
/*
* 瀬上 孝司 / SEGAMI Takashi <sage@tokyo.microcad.co.jp>
* 株式会社マイクロ・シー・エー・デー 第2システム開発室
*/