使用php上传会话而不输出

时间:2013-01-13 19:29:27

标签: php

我想要查看存储在上传会话中的数据,但我得到的只是'空',我是否采取了错误的方式?

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>

1 个答案:

答案 0 :(得分:2)

您已尝试在上传完成后获取上传进度状态。

如果你想让它工作,那么你可以将你的表单发送到iframe,并在上传期间询问服务器,使用ajax,状态是什么。

我建议使用它作为旧浏览器的后备,因为目前的浏览器支持ajax上传,您可以显示上传进度而无需向服务器发送额外请求并创建一些奇怪的隐藏iframe;)