ล่าสุดการพัฒนาเว็บบทเรียน
×

PHP เกี่ยวกับการสอน

PHP บ้าน PHP แนะนำ PHP ติดตั้ง PHP วากยสัมพันธ์ PHP ตัวแปร PHP Echo / พิมพ์ PHP ชนิดข้อมูล PHP เงื่อนไข PHP ค่าคงที่ PHP ผู้ประกอบการ PHP If...Else...Elseif PHP Switch PHP ในขณะที่ลูป PHP สำหรับลูป PHP ฟังก์ชั่น PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals

PHP การจัดการ

PHP ฟอร์ม การจัดการ PHP ฟอร์ม การตรวจสอบ PHP ฟอร์ม จำเป็นต้องใช้ PHP ฟอร์ม URL/E-mail PHP ฟอร์ม สมบูรณ์

PHP สูง

PHP อาร์เรย์หลายมิติ PHP วันและเวลา PHP ประกอบด้วย PHP ไฟล์ การจัดการ PHP ไฟล์ เปิด / อ่าน PHP ไฟล์ สร้าง / เขียน PHP ไฟล์ อัปโหลด PHP Cookies PHP Sessions PHP ฟิลเตอร์ PHP Filters สูง PHP ผิดพลาด การจัดการ PHP ข้อยกเว้น

MySQL Database

MySQL ฐานข้อมูล MySQL สัมพันธ์ MySQL Create DB MySQL Create ตาราง MySQL Insert Data MySQL รับ ID เข้าครั้งสุดท้าย MySQL ใส่หลาย MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX แนะนำ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาสด AJAX RSS Reader AJAX โพลล์

PHP Examples

PHP ตัวอย่าง PHP ทดสอบ PHP ใบรับรอง

PHP การอ้างอิง

PHP แถว PHP ปฏิทิน PHP วันที่ PHP ไดเรกทอรี PHP ผิดพลาด PHP ระบบแฟ้ม PHP กรอง PHP FTP PHP HTTP PHP Libxml PHP จดหมาย PHP คณิตศาสตร์ PHP อื่น ๆ PHP MySQLi PHP SimpleXML PHP เชือก PHP XML PHP Zip PHP ช่วงเวลา

 

PHPอัพโหลดไฟล์ 5


ด้วย PHP, มันเป็นเรื่องง่ายที่จะอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์

แต่ด้วยความสะดวกมาอันตรายจึงมักจะระมัดระวังในการช่วยให้การอัปโหลดไฟล์!


การกำหนดค่า "php.ini" ไฟล์

ขั้นแรกให้มั่นใจว่า PHP มีการกำหนดให้การอัปโหลดไฟล์

ในของคุณ "php.ini" แฟ้มค้นหาหน้าที่มีคำสั่งและตั้งค่าให้เมื่อวันที่:

file_uploads = On

สร้างฟอร์ม HTML

ถัดไปสร้างรูปแบบ 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>

กฎบางอย่างที่จะปฏิบัติตามรูปแบบ HTML ข้างต้น:

  • ตรวจสอบให้แน่ใจว่ารูปแบบจะใช้วิธี = "โพสต์"
  • รูปแบบนี้ยังต้องการ following แอตทริบิวต์: enctype = "multipart / form ข้อมูล" ซึ่งจะระบุประเภทเนื้อหาที่จะใช้เมื่อส่งแบบฟอร์ม

โดยไม่ต้องข้อกำหนดข้างต้นอัปโหลดไฟล์จะไม่ทำงาน

สิ่งอื่น ๆ ที่จะแจ้งให้ทราบ:

  • type="file" แอตทริบิวต์ของ <input> แท็กแสดงให้เห็นช่องใส่เป็นตัวควบคุมไฟล์เลือกด้วย "Browse" ปุ่มถัดไปเพื่อควบคุมการป้อนข้อมูล

รูปแบบดังกล่าวข้างต้นส่งข้อมูลไปยังไฟล์ที่เรียกว่า "upload.php" ซึ่งเราจะสร้างต่อไป


สร้างอัปโหลดไฟล์สคริปต์ PHP

"upload.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;
    }
}
?>

สคริปต์ PHP อธิบาย:

  • $ target_dir = "uploads/" - ระบุไดเรกทอรีที่ไฟล์นั้นจะถูกวางไว้
  • $ target_file ระบุเส้นทางของแฟ้มที่จะอัปโหลด
  • $ uploadOk = 1 ไม่ได้ใช้เลย (will be used later)
  • $ imageFileType ถือนามสกุลของไฟล์
  • ถัดไปตรวจสอบว่าไฟล์ภาพที่เป็นภาพที่เกิดขึ้นจริงหรือภาพปลอม

หมายเหตุ: คุณจะต้องสร้างไดเรกทอรีใหม่ที่เรียกว่า "uploads" ในไดเรกทอรีที่ "upload.php" อยู่ไฟล์ ไฟล์ที่อัปโหลดจะถูกบันทึกไว้ที่นั่น


ตรวจสอบว่าไฟล์อยู่แล้ว

ตอนนี้เราสามารถเพิ่มข้อ จำกัด บางอย่าง

ครั้งแรกที่เราจะตรวจสอบหากไฟล์ที่มีอยู่แล้วใน "uploads" โฟลเดอร์ ถ้ามันไม่เกิดข้อผิดพลาดจะปรากฏและ $ uploadOk ตั้งค่าเป็น 0:

// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

จำกัด ขนาดไฟล์

ฟิลด์การป้อนข้อมูลในรูปแบบไฟล์ HTML ของเราข้างต้นเป็นชื่อ "fileToUpload"

ตอนนี้เราต้องการที่จะตรวจสอบขนาดของไฟล์ หากไฟล์มีขนาดใหญ่กว่า 500kb ข้อผิดพลาดจะปรากฏและ $ uploadOk ตั้งค่าเป็น 0:

 // Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

ประเภทไฟล์ จำกัด

รหัสข้างล่างนี้เพียง แต่ช่วยให้ผู้ใช้สามารถอัปโหลดไฟล์ JPG, JPEG, PNG, GIF และไฟล์ ทุกไฟล์ประเภทอื่น ๆ จะช่วยให้ข้อผิดพลาดก่อนที่จะตั้ง $ 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;
}

อัปโหลดไฟล์ที่สมบูรณ์สคริปต์ PHP

สมบูรณ์ "upload.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.";
    }
}
?>

กรอก PHP Filesystem อ้างอิง

สำหรับการอ้างอิงที่สมบูรณ์แบบของฟังก์ชั่นระบบแฟ้มไปที่ของเราสมบูรณ์ PHP Filesystem อ้างอิง