Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,976

HOME > PHP > PHP Forum > รบกวนช่วย>>> ใช้ php กับไลน์บอทเก็บรูปภาพ แต่บอทเก็บภาพไม่ครบ



 

รบกวนช่วย>>> ใช้ php กับไลน์บอทเก็บรูปภาพ แต่บอทเก็บภาพไม่ครบ

 



Topic : 133593



โพสกระทู้ ( 3 )
บทความ ( 0 )



สถานะออฟไลน์




ส่ง 1-2 รูป บอทสามารถเซฟรูปทัน แต่พอส่ง 3 รูปขึ้นไป บอทเซฟไม่ทัน

ทดลองเองแล้วจากตัวอย่างด้านล่างก็ยังไม่ได้เหมือนเดิม จนปัญญาแล้วครับ รบกวนช่วยทีครับ


33333


Code (PHP)
// ถ้าเป้น Message Event 
    if(!is_null($eventMessage)){
        $typeMessage = $eventObj->getMessageType();   
        // เก็บค่า id ของข้อความ
        $idMessage = $eventObj->getMessageId();          
        //  image
        if($typeMessage=='image'){
                $responseMedia = $bot->getMessageContent($idMessage);
            if ($responseMedia->isSucceeded()) {
                $dataBinary = $responseMedia->getRawBody(); // return binary
                $fileType = $responseMedia->getHeader('Content-Type');    
                if (preg_match('/image/',$fileType)) {                              
                        list($fileType,$ext) = explode("/",$fileType);
                        $ext = ($ext=='jpeg' || $ext=='jpg')?"jpg":$ext;
                        $fileNameSave = time().".".$ext;                    
                }
				 
				 
                $botDataFolder = 'LAMSAM /'; // โฟลเดอร์หลักที่จะบันทึกไฟล์
				$botDataUserFolder = $botDataFolder.$sourceType.'-'.$sourceId;
                if(!file_exists($botDataUserFolder)) { // ตรวจสอบ
                    mkdir($botDataUserFolder, 0777, true);
                }   
                // กำหนด path ของไฟล์ที่จะบันทึก
                $fileFullSavePath = $botDataUserFolder.'/'.$fileNameSave;
                file_put_contents($fileFullSavePath,$dataBinary); 
                // Directory
				//$directory = "/botData/$botDataUserFolder";
				// Returns array of files
				$files = scandir($botDataUserFolder);
				// Count number of files and store them to variable..
				$num_files = count($files)-2;
				$textReplyMessage = "รวม= $num_files แผ่น";
                $replyData = new TextMessageBuilder($textReplyMessage);
				
                //$failMessage = json_encode($fileType);              
                //$failMessage = json_encode($responseMedia->getHeaders());
                //$replyData = new TextMessageBuilder($failMessage);                      
            }else{
                $failMessage = json_encode($idMessage.' '.$responseMedia->getHTTPStatus() . ' ' .$responseMedia->getRawBody());
               $replyData = new TextMessageBuilder($failMessage);          
            }


ทดลองวนloop มั่วๆเองดู แต่ไม่ได้ครับ

Code (PHP)
// ถ้าเป็น image
        if($typeMessage=='image'){	
				for ($i = 0; $i < count($typeMessage); ++$i){	
                $responseMedia[$i] = $bot->getMessageContent($idMessage);
            if ($responseMedia[$i]->isSucceeded()) {
				
                // คำสั่ง getRawBody() ในกรณีนี้ จะได้ข้อมูลส่งกลับมาเป็น binary 
                // เราสามารถเอาข้อมูลไปบันทึกเป็นไฟล์ได้
                $dataBinary[$i] = $responseMedia[$i]->getRawBody(); // return binary
                // ดึงข้อมูลประเภทของไฟล์ จาก header
                $fileType[$i] = $responseMedia[$i]->getHeader('Content-Type');    
                if (preg_match('/image/',$fileType[$i])) {          
                    
                        list($fileType[$i],$ext) = explode("/",$fileType[$i]);
                        $ext = ($ext=='jpeg' || $ext=='jpg')?"jpg":$ext;
                        $fileNameSave[$i] = time().".".$ext;
                     
                }
				 
				 
                $botDataFolder = 'LAMSAM PAPER/'; // โฟลเดอร์หลักที่จะบันทึกไฟล์
				$botDataUserFolder = $botDataFolder.$sourceType.'-'.$sourceId;// มีโฟลเดอร์ด้านในเป็น sourceId อีกขั้น
                if(!file_exists($botDataUserFolder)) { // ตรวจสอบถ้ายังไม่มีให้สร้างโฟลเดอร์ sourceId
                    mkdir($botDataUserFolder, 0777, true);
                }   
                // กำหนด path ของไฟล์ที่จะบันทึก
                $fileFullSavePath = $botDataUserFolder.'/'.$fileNameSave[$i];
                file_put_contents($fileFullSavePath,$dataBinary[$i]); 




Tag : PHP, MySQL, Node.js









ประวัติการแก้ไข
2019-05-14 20:13:48
2019-05-14 20:18:14
2019-05-14 20:22:14
2019-05-14 20:23:32
2019-05-14 20:24:20
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-05-14 20:11:51 By : pwbank View : 318 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,031 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ปัญหาน่าจะเกิด Save ยังไม่เสร็จ แต่มีรูปใหม่ขึ้นมา เลยทำให้ Process ทำงานไม่สำเร็จครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-22 18:09:24 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนช่วย>>> ใช้ php กับไลน์บอทเก็บรูปภาพ แต่บอทเก็บภาพไม่ครบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่