Just a Computer Graphics Studio & My Life

[XAMPP][PHP] 處理上傳檔案

一直想要寫支API讓行動裝置能上傳影像到伺服器,首先我就來寫PHP如何處理上傳影像,再來包裝Restful API。

[XAMPP][PHP] 處理上傳檔案.jpg

成功上傳後馬上就能看到影像!(看我們楊大多認真啊XD~)

跟著前一篇教學:[XAMPP][PHP] 讀取資料庫顯示,一步一步走向後端奇幻領域吧!

網路上有教學總是能讓人快速上手,如此也能讓人馬上得到成就感!

[XAMPP][PHP] 處理上傳檔案2

本機端開啟網頁

首先寫個HTML,讓使用者選擇檔案,然後上傳。

<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

接著來寫上傳時,會觸發的PHP,要判斷檔案是否已存在、檔案類型、檔案大小是否符合我們所預期。

<?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); // Check if image file is a actual image or fake image if(isset($_POST["submit"])) {     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);     if($check !== false) {         echo "File is an image - " . $check["mime"] . ".";         $uploadOk = 1;     } else {         echo "File is not an image.";         $uploadOk = 0;     } } // Check if file already exists if (file_exists($target_file)) {     echo "Sorry, file already exists.";     $uploadOk = 0; } // Check file size if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

使用另一台電腦或手機,開啟連結,點擊選擇檔案,然後上傳,成功後馬上能在資料夾中看到影像喔!

[XAMPP][PHP] 處理上傳檔案3

伺服器中的資料夾

看到成果讓人十分興奮呢!

參考:PHP 5 File Upload

Advertisements

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: