2013-01-16 18 views
-1

我必須整合一個當前相對愚蠢的系統。因此,愚蠢的代碼。我需要的是讓用戶選擇一個PDF上傳。然後將PDF保存爲cusip_HLD.pdf,並保存爲儘可能多的cusip。 例如上傳一個文件並用不同的名字保存好幾次

$fundID = 8 
SELECT cusip FROM shareClass WHERE fundID = '$fundID' 

將返回

| CUSIP | 
| 1234567 | 
| 7894561 | 
| 3546841 | 

當前正在發生的代碼是下面的,但同時它回聲它救了幾次,move_uploaded_file出現在文件中拔出臨時存儲。

while($row = mysql_fetch_assoc($getCusipsResult)){ 
     $cusip = $row['cusip']; 
     $fullFileName = $cusip."_HLD.pdf"; 
     move_uploaded_file($_FILES["file"]["tmp_name"], "pdf/".$fullFileName); 
     echo "Stored in: pdf/".$fullFileName; 
    } 

編輯:如何修復代碼以滿足上述需求?

+0

您的問題缺少一個問號。 – glomad

+1

我表示需要,我說需求沒有得到滿足。我想這個問題可以推斷出 – mhopkins321

+0

你在說什麼「需要」?您需要提到的唯一要求是「讓用戶選擇要上傳的PDF」。不要試圖表達自己的看法,我真的不明白你在問什麼。 – glomad

回答

1

您只能移動上傳的文件一次。之後,它不再在臨時上傳目錄中(因爲你已經移動了它)。如果您需要創建該文件的多個副本,請改爲使用copy命令,例如,

while($row = ...) { 
    $fullFileName = ...; 
    if (is_uploaded_file($_FILES['file']['tmp_name'])) { 
     copy($_FILES['file']['tmp_name'], "pdf/$fullFileName"); 
    } 
} 

,如果這些文件都不會被用戶修改,那麼可以考慮使用硬鏈接代替,所以只有一個文件的副本保存,並簡單地指向其他的「副本」的原件。

+0

它們並未被用戶完全修改。然而,他們正在被另一個進程接管,並根據他們的名字採取不同的行動。但我會想象複製完美地解決這個問題。謝謝! – mhopkins321

相關問題