• ベストアンサー

PHP4.3.10

これまでに使っていたPHP4.2.3だと、 phpMyAdmin使用時にバグがあるということなので、 4.3.10を入れなおしてみました。 phpMyAdminは動くようになったのですが、今度は今までできていた、 ファイルのアップロードができなくなってしまいました。 php.iniの設定で file_uploads = On upload_max_filesize = 2M という設定はきちんとしてあります。 プログラムに問題があるのかな?と最初思っていたのですが、 レンタルしているサーバーでテストしたところ、普通にアップロードできます。 レンタルサーバーのPHPは4.2.3です。 自分として考えられる原因は、使用しているApacheのバージョンが古いのかな? というようなことなのですが(バージョンは1.3.27です。) 正直言って、よく分かりません。 もしApacheが問題なら、バージョンを上げたいとも思うのですが、 なるべく安定したものがいいと思っています。 2.0.50は手元にあるのですが、これでいいのかどうか…。 それとも他の設定がまずいのか…。 誰か知っている方おられましたら、ご回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

参考URLの$_REQUESTの注意のところに書いてあります。

参考URL:
http://jp.php.net/manual/ja/language.variables.predefined.php#language.variables.superglobals
iwaiwaiwa
質問者

お礼

その通りですね。 納得しました。 ありがとうございます!

その他の回答 (2)

  • wipe
  • ベストアンサー率52% (37/71)
回答No.2

失礼します。 ファイルのアップロードが出来ないというのは、 phpのコード内に書いたファイルアップロードの処理が正常に実行されないということで良いでしょうか? だとすると、PHPのバージョンによるコーディングの違いではないでしょうか? ソースコードを公開していただきたいです。 サーバーへのアップロードが出来ないというのであれば、セキュリティやFTPの環境設定などの問題ではないかと思います。 ファイルのアップロードができない詳細を教えていただきたいです。 以上よろしくお願いします。

iwaiwaiwa
質問者

補足

できました…。 というか、やはりプログラムに問題があったようです…。 申し訳ありません。 今までは: <input type="file" name="file_name"...> のnameの部分を: extract($_REQUEST); で配列化して、例えば、ファイル名なら: $file_name['name'] として取得していたのですが、 $file_name = $_FILE['file_name']; と修正したら、できるようになりました。 ローカル、レンタルサーバー上、両方で動きます。 4.2.3では、動き的には何の問題もなかったのですが、 4.3以降はダメなのでしょうか? もしご存知でしたら、教えてください。

  • YSW
  • ベストアンサー率23% (33/141)
回答No.1

そういえば、自分も何度か同じような問題に直面したことがあります。 たしか、$_FILE関数か何かがバージョンやサーバーによって違っていたような。 不確かな情報ですいません。

参考URL:
http://www.php.net/manual/ja/features.file-upload.php
iwaiwaiwa
質問者

補足

Apacheのバージョンを1.3.33まで上げてみましたが、 変化なしです。 一度、Apacheを完全にアンインストールしてから、 入れ直したので、どうもサーバーの問題ではないかもしれません。 やっぱり、PHPのバージョンの問題でしょうか? 元に戻すと、phpmyadminが使えなくなるし、 このままだと、ファイルがアップロードできないし、 誰か教えてください!

関連するQ&A