[PHP-users 23140]PHPでのアップロード

K.Nakatsuka tanpoko @ wk9.so-net.ne.jp
2004年 8月 30日 (月) 19:46:45 JST


お世話になります。
中司と申します。

最初に:
 本メールの内容は他のMLでも行っており、
 重複された方はご容赦願います。

phpでのアップロードを行うサンプルプログラム(書籍からのパクリ)が
特定のファイルだけ、実行してくれません。
失敗するファイルは、tgzファイルをrenameしたものです。
失敗するファイルサイズは約12K-Byteです。

アドバイスの程よろしくお願いします。

環境:
OS: FedoraCore1
Apache:2.0.50
PHP:5.0.0 (PHP:5.0.1も試しました)

 約1年前の環境では、動いていたような気がします。
同じファイルを試したかどうか、ちょっと怪しいですか...
そのときの環境
OS: RedHatLinux 8.0
Apache:2.0.46
php:4.3.2

ブラウザの表示結果
成功時:
$_FILES['uploaded']['tmp_name']=/tmp/phptFqW1H
$_FILES['uploaded']['name']=info.txt
$_FILES['uploaded']['size']=131
$_FILES['uploaded']['type']=text/plain
-rw------- 1 www www 131 8月 4 19:30 /tmp/test.out

失敗時:
Not Acceptable
An appropriate representation of the requested resource /~knaka/upload_php/upload.php
could not be found on this server.
Apache/2.0.50 (Unix) DAV/2 mod_jk2/2.0.4 PHP/5.0.0 Server at localhost Port 80


プログラムリスト:  (upload.php)
<?php
  $path="/tmp/test.out";
  if (!empty($_FILES['uploaded']['name'])) {
    echo <<<EOD
\$_FILES['uploaded']['tmp_name']={$_FILES['uploaded']['tmp_name']}<BR>
\$_FILES['uploaded']['name']={$_FILES['uploaded']['name']}<BR>
\$_FILES['uploaded']['size']={$_FILES['uploaded']['size']}<BR>
\$_FILES['uploaded']['type']={$_FILES['uploaded']['type']}<BR>
EOD;
    if (move_uploaded_file(
      $_FILES['uploaded']['tmp_name'], $path) == FALSE) {
      printf("ファイルの移動に失敗しました: %s<BR>\n",
        $_FILES['uploaded']['error']);
    }
    system("/bin/ls -l /tmp/test*");
  } else {
    echo <<<EOD
<form enctype="multipart/form-data" action="{$_SERVER['PHP_SELF']}" method=post>
<input type=hidden name=MAX_FILE_SIZE value=10000000>
送信ファイル名<input name=uploaded type=file size=60>
<input type=submit value=アップロード>
</form>
EOD;
}
?>



<*>---<*>------<*>------<*>------<*>---<*>
<*>      tanpoko @ wk9.so-net.ne.jp      <*>
<*>---<*>------<*>------<*>------<*>---<*>




PHP-users メーリングリストの案内