1

複数のサーバーにデプロイする php Web アプリがあります。それは、私のローカル インストールだけでなく、私が配置した他のすべてのサーバーでも動作します。

しかし、現在デプロイしているサーバーでは、すべてのファイル アップロード機能に問題があります。

デバッグしようとすると、finfo(FILEINFO_MIME_TYPE) を取得しようとして失敗していることに気付きました。

例: フォームには「file_import」というアップロード フィールドがあります。次のコード行を共有インポート関数に挿入しました。

die(print_r($_FILES['file_import']));

私のローカル インストールでは、次のように返されます。

Array
(
    [name] => US Capital Division.csv
    [type] => application/vnd.ms-excel
    [tmp_name] => C:\wamp\tmp\php3B7C.tmp
    [error] => 0
    [size] => 1268
)
1

現在のデプロイメントに同じファイルをアップロードすると、次のように返されます。

Array
(
    [name] => US Capital Division.csv
    [type] => application/vnd.ms-excel
    [tmp_name] => /tmp/phpJdRZDW
    [error] => 0
    [size] => 1268
)
1

どちらもエラーはないと言っていますが、展開サーバーは tmp_name 値のフォルダー名のみを提供しますが、ローカル インストールは一時フォルダーとファイル名を提供します。したがって、私のコードが $_FILES['file_import']['tmp_name'] を試すと、エラーになります。

サーバーの設定かフォルダの設定に違いないような気がしますが、何が原因なのかウェブ上で見つけることができません。

ありがとう。

4

1 に答える 1

0

実際には、phpJdRZDW内部[tmp_name] => /tmp/phpJdRZDWはフォルダーではありません...ファイルがフォルダー内にある間の一時的なファイル名です/tmp/(移動されて[通常]名前が変更されるのを待っています)。

于 2013-06-05T00:21:56.640 に答える