php 檔案上傳 move_uploaded_file

來源:互聯網
上載者:User

一個非常有用的方面, PHP是有能力管理檔案上傳到你的伺服器。允許使用者上傳檔案到您的伺服器開啟了一個整體的蠕蟲,所以請小心有利的檔案上傳。


PHP的-檔案上傳: H TML表單
在您可以使用PHP來管理您的上傳,您必須先建立一個HTML表單,讓使用者選擇要上傳的檔案。看到我們的HTML表單的教訓進行更深入的研究形式。

<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

www.111cn.net/phper/php.html

這是一個簡短說明的重要組成部分,上面的代碼:

是enctype = “ multipart /形式的資料” -要為我們將要建立的P HP檔案的正常工作。
行動= “ uploader.php ” -的名字我們的P HP頁面,將建立不久。
方法= “郵報” -通知瀏覽器,我們希望將資訊發送到該伺服器後使用。
輸入類型= “隱藏”名稱= “馬... -集允許的最大檔案大小,以位元組為單位,可以上傳。這種安全機制是很容易繞過,我們將顯示了堅實的備份解決方案在P HP。我們已定下檔案大小上限100KB為止在這個例子。
輸入名稱= “ uploadedfile ” -u ploadedfile是我們將如何存取檔案在我們的P HP指令碼。
儲存這種形式的代碼到檔案中,並呼籲它upload.html 。如果您認為它在瀏覽器中它看起來應該如下:

顯示:
 選擇要上傳的檔案:
之後,使用者點擊提交,資料將張貼到伺服器和使用者將被重新導向到uploader.php 。此PHP檔案會的形式進程的資料和做的所有工作。

PHP的-檔案上傳:什麼是P HP的怎麼辦?
現在,我們有權利HTML表單中我們可以開始代碼的PHP指令碼是要處理我們的上傳。通常情況下, PHP檔案應當作出重要決定,所有上傳:保留檔案或扔掉。檔案可能是從扔掉的原因很多,其中包括:

該檔案過大,你不想把它在您的伺服器上。
你想的人上傳圖片並上傳別的,像一個可執行檔( 。 exe ) 。
有問題的檔案上傳,因此你不能保持。
這個例子非常簡單,忽略了代碼,將增加這種功能。

PHP的-檔案上傳: u ploader.php
當uploader.php檔案執行,上傳的檔案存在於一個臨時儲存地區的伺服器上。如果該檔案不是轉移到不同的位置將被摧毀!為了節省寶貴的檔案我們將要使用的變數$ _FILES關聯陣列。

通過$ _FILES數組PHP在哪裡商店的所有資訊檔案。有兩個因素這陣,我們需要瞭解這個例子。www.111cn.net/phper/php.html

uploadedfile -u ploadedfile是參考,我們在我們指定的H TML表單。我們將需要此通知通過$ _FILES陣列的檔案,我們要玩。
變數$ _FILES [ ' uploadedfile ' ] [ '名稱' ] -名稱包含原始路徑的使用者上傳檔案。
變數$ _FILES [ ' uploadedfile ' ] [ ' tmp_name ' ] -t mp_name包含的路徑,臨時檔案存放在伺服器上。該檔案應該存在於伺服器的一個臨時目錄的臨時名稱。
現在,我們終於可以開始撰寫一個基本的PHP指令碼上傳經理!以下是我們如何將獲得的臨時檔案名稱,選擇一個永久性的名稱,並選擇一個地方來存放檔案。

// Where the file is going to be placed
$target_path = "uploads/";

/* Add the original filename to our target path. 
Result is "uploads/filename.extension" */
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

PHP的-檔案上傳: m ove_uploaded_file函數
現在,所有我們必須做的是調用move_uploaded_file功能,讓PHP的盡自己的魔術。 move_uploaded_file職能的需要知道1 )道路的臨時檔案(檢查! ) 2 )路徑,它是轉移到(檢查! ) 。

$target_path = "uploads/";

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

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

轉載請註明: www.111cn.net/phper/php.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.