0

アップロード セッションで保存されたデータを表示したいのですが、「Null」しか表示されません。これは間違った方法ですか?

session_start();
if(isset($_POST['submit'])){
     $target = "test/";
     $target = $target . basename('test') ;
     $file = ($_FILES["uploaded"]["name"]);
     $key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];

    var_dump($_SESSION[$key]);

if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)){echo "done";}else echo "error";
}

そしてhtml:

<form action="upload.php" method="POST" enctype="multipart/form-data">
   <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="test" />
   <input type="file" name="uploaded" />
   <input type="submit" name='submit' />
</form>
4

1 に答える 1

2

アップロードが既に完了しているときに、アップロードの進行状況を取得しようとしています。

機能させたい場合は、たとえば、フォームを iframe に送信し、アップロード時にサーバーに ajax を使用してステータスを尋ねることができます。

古いブラウザのフォールバックとして使用することをお勧めします。現在、ブラウザは ajax アップロードをサポートしており、サーバーに追加のリクエストを行ったり、奇妙な非表示の iframe を作成したりせずにアップロードの進行状況を表示できます;)

于 2013-01-13T19:43:22.700 に答える