2012-01-28 70 views
0

我試圖實現Valum的文件上傳(由本科隆https://github.com/bencolon/file-uploader改進),我遇到了一個問題。以前,我的upload.php根據某些輸入字段設置了上傳目標。在這裏看到:如何在使用基於AJAX的文件上傳器時動態設置上傳目標路徑?

//Directory where files are stored 
if ($grade == '9') 
{ 
$target = "storage/g9/"; 
} 
elseif ($grade == '10') 
{ 
$target = "storage/g10/"; 
} 
elseif ($grade == '11') 
{ 
$target = "storage/g11/"; 
} 
elseif ($grade == '12') 
{ 
$target = "storage/g12/"; 
} 


$target = $target . $_POST['snumber'] . "." . $extension;  
move_uploaded_file($_FILES['upload']['tmp_name'], $target); 

現在,一個基於AJAX文件上傳它開始上傳之前,你甚至打到進行提交,PHP沒有得到機會皮卡輸入字段來決定哪些上傳路徑將是,它只能去預定義的一個。要查看AJAX文件上傳器如何操作,請查看their PHP on GitHub。我如何製作它,以便上傳路徑根據用戶輸入字段而變化?

回答

0

我相信PHP在開始上傳文件時需要知道文件的保存位置。但是,您可以在完成上傳後通過PHP的rename()函數移動該文件。

還有move_uploaded_file()(儘管我自己從來沒有用過它)。

+0

那麼你是否建議我有一個輔助臨時文件夾?我理解的PHP上傳工作是這樣的:客戶端 - >服務器的PHP臨時文件夾 - >您在PHP腳本中設置的路徑。因此,在PHP的默認臨時文件夾之後,將其移至第二個臨時文件夾,直到AJAX完成上傳,然後在上傳腳本的末尾再次將其移動到我要移動它的位置,然後將其移至第二個臨時文件夾。 – 2012-01-29 00:15:47

相關問題