0

我想查看存储在上传会话中的数据,但我得到的只是“空”,我是不是走错了路?

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 回答