วิธีการนำข้อความที่ผู้ใช้กรอกให้เข้าไปอยู่ในไฟล์ pdf ด้วยภาษา php

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
jamepiyawat
PHP VIP Members
PHP VIP Members
Posts: 2008
Joined: 21/05/2019 10:45 am

วิธีการนำข้อความที่ผู้ใช้กรอกให้เข้าไปอยู่ในไฟล์ pdf ด้วยภาษา php

Post by jamepiyawat »

พอดีว่าผมนั้นได้ทำเว็บไซต์ที่ที่จะเป็นจะต้องให้ผู้ใช้ได้กรอกข้อมูลลงมาแล้วสามารถทำให้ข้อความที่ผู้ใช้กรอกลงมาได้นั้นดาวน์โหลดเป็นไฟล์ pdf ได้ซึ่งบทความนี้ก็จะมาอธิบายตั้งแต่ให้ผู้ใช้กรอกข้อความช่องไหนจะไปถึงวิธีการทำให้ข้อความนั้นออกมาเป็นไฟล์ pdf ออกมาเลยโดยใช้ภาษา php กันซึ้งวิธีอาจจะยุ่งยากเล็กน้อยแต่ก็ไม่น่าจะเข้าใจยากเท่าไรยังไงก็ลองเรียนรู้ไปด้วยกันนะครับ

อันดับแรกให้เราทำฟอร์มที่จะให้ผู้ใช้กรอกข้อความเข้าไปก่อน

Code: Select all

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <form class="" action="" method="post" enctype="multipart/form-data">
      <input type="text" name="text" value="">
      <input class="btn btn-success" type="submit" name="submit" value="บันทึก" />
      <?php
      if (isset($_POST['submit'])) { ?>
        <br>
        <?php $html2 = $_POST['text'];
        file_put_contents('filehtml'.".html", $html2);
        ?>
        <input type="button" name="button_form" value="ดาวน์โหลด" onclick="window.location = 'test48.php'">

    <?php  }
       ?>
    </form>
  </body>
</html>
ผลที่ได้
Selection_999(2461).png
Selection_999(2461).png (3.18 KiB) Viewed 313 times
และถ้าเรากรอกข้อความลงไปก็จะมีปุ่มให้เราดาวน์โหลดแสดงขึ้นมา
Selection_999(2462).png
Selection_999(2462).png (5.2 KiB) Viewed 313 times
เราจะเห็นได้ว่ามีการนำข้อความใส่เข้าไปอยู่ในตัวแปล $html2 และบรรทัดถัดมาก็จะเป็นการใช่คำส่ง file_put_contents ให้นำข้อความในตัวแปลนั้นไปเข้าไปในไฟล์ filehtml.html ทำให้เราจำเป็นต้องสร้างไฟล์ filehtml.html ขึ้นมาและถ้าเราลองเข้าไปดูที่ไฟล์ filehtml.html นั้นก็จะเห็นได้มีข้อความตามที่ผู้ใช้กรอกเข้ามาอยู่
Selection_999(2463).png
Selection_999(2463).png (10.29 KiB) Viewed 313 times
กลับมาที่โค้ดบรรทัดต่อมา จะเห็นได้ว่าปุ่ม ดาวน์โหลดนั้นจะให้เราคลิกไปที่ไฟล์ test48.php ซึ้งโค้ดในไฟล์ test48.php ก็จะมีดังนี้

Code: Select all

<?php
  $url = 'http://localhost/test/filehtml.html'; //พาดที่เรียกไฟล์ filehtml.html

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://192.168.2.43:5050/view/1/' . $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_USERPWD, "user:pass");
  curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
   //Save file
  $output = curl_exec($ch);
  header("Content-type:application/pdf");
  header("Content-Disposition:attachment;filename=result.pdf");
  //file_put_contents('./file/filehtml.pdf');
  echo $output;
  exit();
เราจะต้องเรียกใช้เว็บเซอร์วิสขึ้นมาแบบนี้

ผลที่ได้
Selection_999(2464).png
Selection_999(2464).png (32.43 KiB) Viewed 313 times
Selection_999(2465).png
Selection_999(2465).png (14.03 KiB) Viewed 313 times
เท่านี้เราก็จะได้ไฟล์ pdf ที่เป็นข้อความออกมาแล้ว หวังว่าจะเป็นความรู้ให้ผู้ใช้ได้เข้ามาอ่านกันนะครับไม่อยากอย่างที่คิดใช้ไหมครับกับการนำข้อความมาใส่ในไฟล์ pdf หลัก ๆ เราก็จะเป็นจะต้องมีไฟล์ 3 ไฟล์นะครับไฟล์ ฟอร์มที่ให้ผู้ใช้กรอก ไฟลที่ใส่ข้อความที่ผู้ใช้กรอก และไฟล์ที่ติดต่อกับเว็บเซอร์วิสเพื่อให้ปริ้นออกมาเป็น pdf นั้นเอง

ศึกษาเพิ่มเติม
บทเรียน HTML5
บทเรียน css
บทความแชร์ความรู้ CSS และ HTML
บทความแชร์ความรู้ php

ท่านใดที่มีข้อสงสัยหรือติดปัญหาเกี่ยวกับ CSS และ HTML สามารถเขียนกระทู้ตั้งคำถามไว้ได้ที่
ถามตอบ HTML CSS
ถามตอบ php

  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 7 guests