2013-01-13 32 views
0

我想查看存儲在上傳會話中的數據,但我得到的數據都是'Null',我會以錯誤的方式回答這個問題嗎?使用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> 
+0

你」重新獲得'ini_get('session.upload_progress.enabled')'? – lupatus

回答

2

你正在試圖獲得上傳進度狀態時,上傳已經完成。

如果你想讓它工作,那麼你可以例如發送你的表單到iframe,並在上傳期間詢問服務器,使用ajax,狀態是什麼。

我會建議使用它,而不是作爲一個備用的舊版本瀏覽器導致目前的瀏覽器都支持AJAX的上傳和可以顯示無需對服務器的額外請求,並創造了一些奇怪的隱藏的iframe的上傳進度;)