[PHP-users 18310]Re: GETメソッド、POSTメソッドの不具合

Kasumi Iwata Kasumi_Iwata @ virtems.com
2003年 10月 7日 (火) 20:40:45 JST


こんばんは。岩田です。
桝形さんお返事どうもありがとうございます。

> > > 【環境】
> > > RedHat 7.3
> > > Apache 1.3.27-2
> > > PHP 4.1.2-5
> > > コンパイルオプションはデフォルトの状態です。
> 
> 上記の環境はサーバを移転してからの環境でしょうか?
> 移転する前の環境でしょうか?

移行前も以降後も同じバージョンです。

> 再現できる簡単なソースを提示してくれるとありがたかったり。。。(^^;

--html--
<FORM method="post" enctype="multipart/form-data"  
action="x-session-import.php">
<INPUT type="file" name="import_file">
<input type="submit" name="import" value="イ ン ポ ー ト">
</FORM>
-------

--PHP--
<?
if( $import ) {
   on_import();
}

function on_import() {
  global $HTTP_POST_FILES, $error;
  $tmp_file = $HTTP_POST_FILES['import_file']['tmp_name'];     
  if ( ! is_uploaded_file( $tmp_file ) ) {
      $error .= 'インポートする CSV ファイルを' .
                '選択してください。<br>'; 
     return;
  }
}
?>
-------

こんな感じです。

<input type="submit" name="import" value="イ ン ポ ー ト">に
より$importが入ってきたらインポート処理に行くようになっていま
す。

新サーバではPOSTでは$importを取得できず、GETにしたら$importは
取得できますが、on_import関数内のif ( ! is_uploaded_file( 
$tmp_file ) )で引っかかり、'インポートする・・・'というエラー
メッセージが出力されています。

GETにした場合は$HTTP_POST_FILESや、$_FILESや、$_GETで取得して
みたのですが、print_r();の結果を見る限りちゃんと取れていない
ようです。(何も入っていなかったり、クライアント側で選択した
ファイル名のみが入っていました。)

> と、ありましたが、post_max_sizeも確認できますか?

post_max_sizeはデフォルトのままの8Mでした。

> 1Kくらいの小さなテキストファイルもファイルアップロードできませんか?

そうですね1Kではないですが、数KBのも無理でした。


----------------------------------------
岩田香純 Kasumi Iwata
Kasumi_Iwata @ virtems.com

VIRTEMS Corp.
http://www.virtems.com



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