2012-04-09 122 views
-2

我有一個目標變量,其中當我上傳一個文件,那麼它進入這個目的:什麼改變下面的變量?

<?php 
    // Edit upload location here 
    $destination_path = getcwd().DIRECTORY_SEPARATOR; 

    $result = 0; 

    $target_path = $destination_path . basename($_FILES['fileImage']['name']); 

    if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) { 
     $result = 1; 
    } 

    sleep(1); 
?> 

我想知道的是如何編輯上傳目的地?比方說,我想要文件上傳到目的地去portal.hud.ac.uk/Upload_App/Files/那麼我該如何改變這一點?

+0

'$ destination_path'是您的目標目錄。似乎你的代碼是從某處複製粘貼。有一個非常明確的評論。 '//在這裏編輯上傳位置' – safarov 2012-04-09 16:43:59

+1

來吧...真的嗎?更改變量的值是任何語言的完全基本技能...... – 2012-04-09 16:48:58

+0

當您打開上載的zip文件時,會提供代碼。無論如何,MArc B,我猜你年輕的時候學習編程的時候有些你不知道的東西,並且你問了一些問題,所以不要破壞我,並且說它很容易,一切都是垃圾。我要求的答案不是一個愚蠢的評論 – user1304328 2012-04-09 16:52:27

回答

2

只需將$destination_path更改爲任何你想要的。現在它的方式(getcwd().DIRECTORY_SEPARATOR),它將保存到當前工作文件夾(除非更改是包含腳本的文件夾)。這是非常不安全的,因爲我只能上傳一個名爲index.php的文件,任何訪問您站點的人都會運行我選擇插入的任何惡意代碼。

更安全的是將它保存在webroot之外,它不能通過HTTP直接訪問。例如:

$destination_path = $_SERVER['DOCUMENT_ROOT']."/../uploads/"; 

這將保存到一個名爲uploads包含Web根目錄(可能public_html)的文件夾中創建文件夾。

+0

所以只是爲了澄清,如果我有一個文件夾稱爲「uploads_app」腳本所在,並在該文件夾中是一個文件夾稱爲「上傳」,那麼上面的代碼將發送該文件到該文件夾​​? – user1304328 2012-04-09 16:55:59

相關問題