Site icon บริษัท โค๊ดบี จำกัด

สอน codeigniter image resize เปลี่ยนขนาดภาพที่อัพโหลด

php-codeigniter-framework

php-codeigniter-framework

<h4>สอน codeigniter image resize เปลี่ยนขนาดภาพที่อัพโหลด<&sol;h4>&NewLine;<p>&NewLine;<strong>สอน codeigniter image resize เปลี่ยนขนาดภาพที่อัพโหลด<&sol;strong><br &sol;>&NewLine;ในขั้นตอนของการพัฒนาเว็บไซต์ อีกนึ่ง feature หนึ่งที่มักจะมีอยู่แทบจะทุกเว็บไซต์ในปัจจุบันคือ การอัพโหลดรูปภาพ ยกตัวอย่างเช่นการอัพโหลดรูปภาพสำหรับทำรูปประจำตัวหรือรูปโปรไฟล์ อัพโหลดสลิปสำหรับการแจ้งโอนเงิน อัพโหลดรูปสำหรับ<&excl;--more--><&sol;p>&NewLine;<p>ตกแต่งในโปรแกรม เป็นต้น ในขั้นตอนของการอัพโหลด โปรแกรมจำเป็นจะต้องปรับขนาดรูปภาพที่ผู้ใช้งานอัพโหลดซึ่งอาจจะมีขนาดความกว้างและความสูงแตกต่างกันออกไป การทำ image resize จึงเป็นขั้นตอนที่สำคัญมาก ทั้งในเรื่องของการแสดงผลที่เหมาะสม สมส่วน และเรื่องของขนาดที่มีผลต่อการโหลดของเว็บไซต์โดยตรง สำหรับ codeigniter นั้น มีฟังก์ชั่นเกี่ยวกับการอัพโหลดและปรับขนาดให้รูปภาพให้ใช้งานที่ค่อนข้างครบถ้วน ลองมาดูกันครับว่าเราจะสามารถจัดการยังไงกับรูปได้บ้าง<br &sol;>&NewLine;<&sol;br><&sol;p>&NewLine;<h4>สร้างฟังก์ชั่นสำหรับทำ Image Resize<&sol;h4>&NewLine;<p>ในการสร้างฟังก์ชั่นนั้น เราสามารถสร้างไว้ใน controller โดยตรงหรืออาจจะแยกไปสร้างไว้ในส่วนของ libraries เพื่อจะได้สามารถนำไปใช้งานได้มากกว่าหนึ่ง controller ตัวอย่างฟังก์การทำ image resize <&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >private function resizeImage&lpar;&dollar;file&comma;&dollar;width&comma;&dollar;height&comma;&dollar;quality&rpar;&lbrace; &NewLine;&Tab;&dollar;image &equals; &dollar;file&semi; &NewLine;&Tab;&dollar;config&lbrack;'image&lowbar;library'&rsqb; &equals; 'gd2'&semi; &NewLine;&Tab;&dollar;config&lbrack;'source&lowbar;image'&rsqb; &equals; &dollar;image&lbrack;'full&lowbar;path'&rsqb;&semi; &NewLine;&Tab;&dollar;config&lbrack;'maintain&lowbar;ratio'&rsqb; &equals; TRUE&semi; &sol;&sol; ปรับขนาดโดยยังรักษาสัดส่วนของรูปไว้ &NewLine;&Tab;&dollar;config&lbrack;'quality'&rsqb; &equals; &dollar;quality&semi; &sol;&sol; ความละเอียดของรูปใหม่สูงสุด 100 &NewLine;&Tab;&dollar;config&lbrack;'width'&rsqb; &equals; &dollar;width&semi; &sol;&sol; ความกว้างของรูปภาพ &NewLine;&Tab;&dollar;config&lbrack;'height'&rsqb; &equals; &dollar;height&semi; &sol;&sol; ความสูงของรูปภาพ &NewLine;&Tab;&dollar;image &equals; base&lowbar;url&lpar;"uploads&sol;"&period;&dollar;image&lbrack;'file&lowbar;name'&rsqb;&rpar;&semi; &NewLine;&Tab;&dollar;this-&gt&semi;load-&gt&semi;library&lpar;'image&lowbar;lib'&comma; &dollar;config&rpar;&semi; &NewLine;&Tab;&dollar;this-&gt&semi;image&lowbar;lib-&gt&semi;resize&lpar;&rpar;&semi; &NewLine;&Tab;return &dollar;image&semi; &NewLine;&rcub;<&sol;pre>&NewLine;<p>ฟังก์ชั่น resizeImage จะรับค่าพารามิเตอร์มา 4 ตัวแปร คือ ข้อมูลรูป ความกว้าง ความสูง และความละเอียด ตามลำดับ<br &sol;>&NewLine;<&sol;br><&sol;p>&NewLine;<h4>วิธีเรียกใช้งาน<&sol;h4>&NewLine;<p>ตัวอย่างการใช้งานใน controller<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " > &NewLine;public function upload&lpar;&rpar;&lbrace; &NewLine;&Tab;if&lpar;&excl;&dollar;this-&gt&semi;upload-&gt&semi;do&lowbar;upload&lpar;'file'&rpar;&rpar; &NewLine;&Tab;&lbrace; &NewLine;&Tab;&Tab;echo &dollar;this-&gt&semi;upload-&gt&semi;display&lowbar;errors&lpar;&rpar;&semi; &NewLine;&Tab;&rcub;else&lbrace; &NewLine;&Tab;&Tab;&dollar;cover&lowbar;image &equals; &dollar;this-&gt&semi;upload&lpar;&dollar;this-&gt&semi;upload-&gt&semi;data&lpar;&rpar;&comma;640&comma;480&comma;80&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&Tab;&dollar;this-&gt&semi;load-&gt&semi;library&lpar;'upload'&comma; &dollar;config&rpar;&semi; &NewLine;&rcub;<&sol;pre>&NewLine;<p>จากตัวอย่างโค๊ดด้านบนตัวแปร &dollar;cover&lowbar;image คือ url สุดท้ายของรูปที่เราจะสามารถนำไปใช้งานต่อได้ โดยมีขนาดทั้งความกว้าง ความสูงและความละเอียด ตรงตามที่เราได้กำหนดไว้<&sol;p>&NewLine;

Exit mobile version