-1
<html>
<head>
<title>Main Page</title>
</head>
<body>
<h2>Main Page</h2>
<form  method="post" action="index.php" enctype="multipart/form-data">
<input type="file" name="filename">
<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>
<input type="submit"  value="Upload file">
<br>
<?php
echo $_FILES['filename']['name'];
$uploads_dir = '/uploads';
$tmp_name = $_FILES['filename']['tmp_name'][$key];
$name = $_FILES['filename']['name'][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
?>
</body>
</html>

このファイルをフォルダに移動するにはどうすればよいですか? 私は move_uploaded_file を使用しようとしましたが、それは下に移動しています...(

4

4 に答える 4

2

これを使って

echo $_FILES['filename']['name'];

BrianDriscollが指摘したように、 の宣言はファイル入力フィールドの前に置く必要がありますMAX_FILE_SIZE

<form action = "index.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="102400" />
    <input type="file" name="filename" />
    <input type="submit"  value="Upload file" />
</form>

$_FILES['filename']['name'] -nameユーザーがアップロードしたファイルの元のパスが含まれます。

$_FILES['filename']['tmp_name'] -tmp_nameサーバー上にある一時ファイルへのパスが含まれます。ファイルは、サーバー上の一時ディレクトリに一時的な名前で存在する必要があります。

Tizag のこのチュートリアルを参照してください。

于 2012-07-13T16:17:12.080 に答える
1

配列を使用して$_FILES、アップロードされたファイルに関する情報を取得できます。

何が含まれているかvar_dump($_FILES)を確認してください。

$_FILES['filename']ファイルの情報が含まれます。

  • $_FILES['filename']['name']元のファイル名として
  • $_FILES['filename']['tmp_name']サーバー上の一時ファイルへのパスとして。移動しないと消えます!を使って動かします。move_uploaded_file()

このチュートリアルを読むことをお勧めします

于 2012-07-13T16:24:02.987 に答える
0

他の人が言ったことに加えて、PHP マニュアルから MAX_FILE_SIZE の宣言も欠落しています:

MAX_FILE_SIZE 隠しフィールド (バイト単位) は、ファイル入力フィールドの前にある必要があり、その値は PHP が受け入れる最大ファイルサイズです。このフォーム要素は常に使用する必要があります。これにより、ユーザーは大きなファイルが転送されるのを待って、ファイルが大きすぎて転送が失敗したことに気付くという手間を省くことができます。心に留めておいてください: ブラウザー側でこの設定をだますのは非常に簡単です。そのため、この機能によってブロックされるより大きなサイズのファイルに依存しないでください。これは、アプリケーションのクライアント側のユーザーにとって便利な機能にすぎません。ただし、maximum-size の PHP 設定 (サーバー側) をだますことはできません。

<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>

于 2012-07-13T16:24:58.450 に答える
-1

フォームのアクション属性を定義する必要があります。

<form  method="post" action="" enctype="multipart/form-data">

編集:そしてabhshkdzが書いたもの。

于 2012-07-13T16:18:21.133 に答える