[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 メーリングリストの案内