2017-01-10 64 views
-1

由於我使用dropzone.js存儲圖像到一個目錄,我想知道是否有PHP或其他內possibilty先選擇目的地或存儲文件夾中的文件被刪除之前。通常,在PHP中定義的文件夾有默認路徑,例如:開關/選擇默認的目錄中存儲文件夾

// upload.inc.php 

<?php 

include("../inc/config.inc.php"); 


$ds = DIRECTORY_SEPARATOR; 
$storeFolder = '../../gallery/samples'; 


if (!empty($_FILES)) { 

    $tempFile = $_FILES['file']['tmp_name'];   

    $targetPath = dirname(__FILE__) . $ds. $storeFolder . $ds; 

    $targetFile = $targetPath. $_FILES['file']['name']; 

    move_uploaded_file($tempFile,$targetFile); 

} 

?> 

現在,商店文件夾是預定義的。我想到的是首先將文件移動到dropzone字段,然後通過Jquery,html或以某種方式選擇文件要放到的文件夾。我不想在上傳腳本中不斷手動更改路徑。我怎樣才能建立這個?舉例來說,JStree看起來相當不錯,idk。

+0

用目標文件夾創建一個隱藏的輸入字段,並將其作爲文章傳遞,然後使用它?像那個idk那樣的東西。 – Phiter

+0

是的,但通過這樣做,表單上的操作方法會將其發送到預定義路徑的PHP文件(服務器端)。基本上是一樣的,不是嗎?我寧願點擊目標文件夾,然後啓動該過程。 –

+0

擁有一個輸入字段可讓您使用JavaScript動態更改它。 – Phiter

回答

0

假設你有你想要的文件夾,用來存放上傳存儲在JavaScript中的名字,你需要創建一個被用JavaScript填充一個隱藏的HTML表單元素:

HTML:

<input type="hidden" id="storefolder" name="storefolder"> 

JS:

var storefolder = document.getElementById["storefolder"]; 
storefolder.value = [VARIABLE]; // Whatever changes the folder needs to pass through here 

PHP:

$storeFolder = $_POST["storefolder"]; 

現在,您的JavaScript變量將成爲您的PHP變量,而用戶從未看到它在表單中輸出。請注意,您還可以使輸入字段可見(與type=text),並且只需使用它的值直接傳遞給PHP(如果需要),從而繞過對任何JavaScript的需求。

希望這會有所幫助!

+0

好吧,看起來對我很有希望。我會試試這個。我現在需要的就是像JStree那樣顯示可供選擇的主文件夾和子文件夾。通過檢查它們中的任何一個,屬性被分配給var,如上所示。到現在爲止還挺好。我提高了這一點。 –

+0

@what_me - 我不熟悉JSTree如何創建元素,但我認爲您可以相當容易地將它們分配給變量,或者至少以DOM爲目標。只要你能得到要分配給'storefolder.name'的文件夾,就不應該有任何問題:)另外,你實際上將這個答案標記爲問題的解決方案,而不是提升它。除非你有15個聲望,否則你不能「真正投票」,直到你獲得了15個聲望,而且你的獲得速度非常快 - 爲了將此答案標記爲正確,你贏得了兩個聲望。 –

+1

您應該設置值,而不是名稱。 – Phiter

相關問題