ติดปัญหาถ้าโพสเป็นรูปภาพแล้ว ข้อมูลรูปไม่บันทึกไปฝั่ง server

พูดคุย phpBB3, SMF ปัญหา การติดตั้ง ปัญหา การลง Mod การแก้ไข หน้าตาบอร์ด การใช้งาน Joomla 1.5, 1.6, 1.7, 2.5 ,3.x รวมถึง Joomla 4 การใช้งาน wordpress และ CMS อื่นๆ
การตั้งคำถาม ควรระบุรุ่นที่ใช้ ในการตั้งคำตามด้วย นะ เช่น SMF 1.1.4 หรือ SMF2.0, OpenERP, Odoo และ รายละเอียดของ server OS, php เวอร์ชั่นไหน ฐานข้อมูลอะไร

Moderator: mindphp

กฎการใช้บอร์ด
คำถามหมวดนี้ ควรระบุ รายละเอียดของ Server OS, เวอร์ชั่น ของ PHP, CMS ที่ท่านใช้
รวมถึง Hosting หรือ Control Panel Hosting
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16022
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

ติดปัญหาถ้าโพสเป็นรูปภาพแล้ว ข้อมูลรูปไม่บันทึกไปฝั่ง server

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ทำเรื่องการส่ง post ข้าม server แต่ติดปัญหาตรงที่กระทู้ฝั่ง client อันไหนมีไฟล์ภาพด้วย (ส่งภาพแบบ base64) มันจะไม่บันทึกไปฝั่ง server ด้วย
ตัว phpBB จะต้องใช้ class หรือ function อะไรในการบันทึกรูปค่ะ
(ใช้ phpBB3.3.3)
ฝั่ง Cilent
screenshot-localhost-2021.02.16-17_12_53.png
ฝั่ง Server ที่รับมา
ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM-1.png
code ในส่วนบันทึกรูป

โค้ด: เลือกทั้งหมด

public function images_to_post($image, $topic_id, $user_id, $post_id) {

		$output_file = $this->config['upload_path'];

		foreach ($image as $key => $value) {
			$sql_ary = array(
				'physical_filename' => $value['physical_filename'],
				'attach_comment' => $value['attach_comment'],
				'real_filename' => $value['real_filename'],
				'extension' => $value['extension'],
				'mimetype' => $value['mimetype'],
				'filesize' => $value['filesize'],
				'filetime' => time(),
				'thumbnail' => 0, //$value['thumbnail'],
				'is_orphan' => 1,
				'in_message' => 0,
				'poster_id' => $user_id,
				'topic_id' => $topic_id,
				'post_msg_id' => $post_id,
				'download_count' => $value['download_count'],
			);

			$sql = 'INSERT INTO ' . ATTACHMENTS_TABLE . '
					' . $this->db->sql_build_array('INSERT', $sql_ary);

			$this->db->sql_query($sql);
			$this->base64_to_jpeg($value['img_base64'], $output_file, $value['physical_filename'], $value['extension']);

			$update = array(
				'post_attachment' => '1',
			);

			$sql = "UPDATE " . POSTS_TABLE . "
					SET " . $this->db->sql_build_array('UPDATE', $update) . "
				WHERE post_id = " . $post_id;

			$this->db->sql_query($sql);
		}

		return TRUE;
	}
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41131
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ติดปัญหาถ้าโพสเป็นรูปภาพแล้ว ข้อมูลรูปไม่บันทึกไปฝั่ง server

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

base64_to_jpeg() เอามาจากไหน
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16022
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: ติดปัญหาถ้าโพสเป็นรูปภาพแล้ว ข้อมูลรูปไม่บันทึกไปฝั่ง server

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

mindphp เขียน: 16/02/2021 5:50 pm base64_to_jpeg() เอามาจากไหน
เป็นอีก method หนึ่งนะคะ

โค้ด: เลือกทั้งหมด

public function base64_to_jpeg($data, $output_file, $name, $type) {
		$data = str_replace('data:image/image/png;base64,', '', $data);
		$data = str_replace('', '+', $data);
		$data = base64_decode($data);
		$file = $output_file . '/' . $name;
		$success = file_put_contents($file, $data);
	}
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 44