ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

สำหรับใครที่ต้องการแปลงภาพจาก URL ของภาพสามารถใช้ ฟังก์ชัน file_get_contents() ได้ในกรณี Server ปลายทางอนุญาติให้เราเข้าไปอ่านขอมูล ได้ allow_url_fopen เป็น true เราสามารถอ่านไฟล์ และ save ไฟล์ได้ง่ายๆ เลย

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.png';
file_put_contents($img, file_get_contents($url));

แต่ถ้าปลายทางไม่อนุญาติ ก็อาจต้องใช้ curl หรือ web service  ช่วย

 

ตัวอย่างด้านล่างนี้เป็นการใช้ web service ช่วยส่ง url หน้าเว็บเพจ หรือ url ไฟล์ภาพ และ แปลงกลับมาเป็นไฟล์ภาพ

ตัวอย่างแรก เป็นการแปลง URL ที่เป็น HTML ของหน้าเว็บเป็นไฟล์ภาพ จาก webservice

<?php 	
	$url = 'https://www.mindphp.com/forums/index.php'; // หน้าเว็บที่ต้องการแปลงเป็นไฟล์ภาพ
	$api_endpoint = '[Web Service Server]';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $api_endpoint . $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERPWD, 'demo' . ":" . 'demo');
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        $output = curl_exec($ch);

       header ('Content-Type: image/jpg'); // บอก Browser ว่าให้แสดงเป็นไฟล์ภาพ

        echo $output;
        exit();
?>

ส่วนนี้ถ้าต้องการให้ ผู้ใช้ ดาวน์โหลดไฟล์ภาพออกไปสามารถใช้ header ด้านล่างนี้ เพิ่มเข้าไปก่อน echo ได้

header("Cache-Control: no-store, no-cache");  
header('Content-Disposition: attachment; filename="mindphp-download.jpg"');

 

ตัวอย่างที่สอง เป็นการแปล URL ของหน้าเว็บเป็นไฟล์ภาพ จาก Webservice

<?php
		$url = 'https://www.mindphp.com/forums/index.php';
		$api_endpoint = '[URL Web Service]';
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $api_endpoint . $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERPWD, 'demo' . ":" . 'demo');
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        $output = curl_exec($ch);

	file_put_contents('tmp1.jpg', $output); // ตั้งชื่อไฟล์ภาพ และเขียนลงไฟล์ด้วย ฟังก์ชั่น 
?>

อ่านเพิ่มเพิ่มรายละเอียดการใช้ฟังก์ชั่น ฟังก์ชัน file_put_contents()

ตัวอย่างไฟล์ ภาพจากตัวอย่าง URL นี้ ไฟล์นี้ไม่ได้ ย่อ เป็นไฟล์ต้นฉบับที่ได้จากการแปลงจะเห็นว่า ทุกอย่างเหมือนกับการที่เราเปิดหน้าจอ แล้ว capture ภาพเลย

ใครสนใจ ทดลองใช้ Web Service  แปลง URL ของหน้าเว็บเป็นภาพ ติดต่อได้ที่นี่

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เรียกค่า api ของกรมอุตุนิยมวิทยา
โดย eange08 อ 19 ม.ค. 2021 3:32 pm บอร์ด Programming - PHP
1
4
อ 19 ม.ค. 2021 3:38 pm โดย mindphp
มาทำความรู้จักส่วนประกอบของเรียงความภาษาอังกฤษ
โดย Kannaphat อ 19 ม.ค. 2021 1:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
อ 19 ม.ค. 2021 1:03 pm โดย Kannaphat
Web-facing computer คืออะไร
โดย Kannaphat อ 19 ม.ค. 2021 10:53 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
15
อ 19 ม.ค. 2021 11:14 am โดย Kannaphat
Digital Profile กับ PERSONA คืออันเดียวกัน หรือต่างกันคะ?
โดย MashallMang อ 19 ม.ค. 2021 10:37 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
10
อ 19 ม.ค. 2021 11:06 am โดย mindphp
พอจะมีวิธีทำ dropdown จังหวัดแบบไม่ต้องดึงจากฐานข้อมูล
โดย eange08 จ 18 ม.ค. 2021 10:12 pm บอร์ด Programming - PHP
4
31
อ 19 ม.ค. 2021 11:15 am โดย DanielPe
สอบถามเกี่ยวกับ api ของกรมอุตุนิยม
โดย eange08 จ 18 ม.ค. 2021 10:10 pm บอร์ด Programming - PHP
3
25
อ 19 ม.ค. 2021 11:18 am โดย DanielPe
เอาโฟล์เดอร์ออกยังไงครับ
โดย chakirin.bfds จ 18 ม.ค. 2021 3:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
23
จ 18 ม.ค. 2021 3:45 pm โดย chakirin.bfds
5 เหตุผลที่ควรจ้างบริษัทรับทำ SEO สำหรับธุรกิจของคุณ !
โดย totheworld จ 18 ม.ค. 2021 2:34 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
จ 18 ม.ค. 2021 2:34 pm โดย totheworld