2010-01-17 92 views
0

下面是我的ajax文件上传器使用的脚本。上传器本身工作正常,但我需要一种方法来存储上传的文件,我使用会话变量。问题是如果我上传多个文件,每当我上传一个文件时第一个会话变量被覆盖,所以最终只有$ _SESSION ['hamhamham']包含数据。有人能告诉我我在这里做错了什么吗?在此先感谢Ajax文件上传脚本覆盖我的会话变量PHP

session_start(); 

$uploaddir = '../uploads/'; 
$uploadfile = $uploaddir . date() .time() . basename($_FILES['myfile']['name']); 


/* $_SESSION['hamhamham'] = $uploadfile; */ 

$full = false; 

if(isset($_SESSION['hamhamham'])){ 

    if(isset($_SESSION['hohoho'])){ 

     if(isset($_SESSION['workforme'])){ 

      if(isset($_SESSION['sweet'])){ 

       $full = true; 

      }else{ 
       $_SESSION['sweet'] = $uploadfile; 
      } 

     }else{ 
      $_SESSION['workforme'] = $uploadfile; 
     } 

    }else{ 
     $_SESSION['hohoho'] = $uploadfile; 
    } 

}else{ 
    $_SESSION['hamhamham'] = $uploadfile; 
} 

if($full==false){ 
    if (move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile)) { 
     echo "success"; 
    } else { 
     // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE! 
     // Otherwise onSubmit event will not be fired 
     echo "error"; 
    } 
}else{ 
    echo "too many files uploaded"; 
} 

回答

2

制造阵列

$_SESSION['files'][] = $uploadFile; 

要访问

foreach($_SESSION['files'] as $file_name) 
{ 
    // do stuff 
} 
+0

感谢队友!我欠你一瓶虚拟啤酒! – Drew 2010-01-17 17:25:19