|
|
|
สอบถาม Resize รูปแบบ Multiple Codeigniter ครับ หลังจากได้ทำการ Resize รูปแล้วมันไม่เข้าโฟเด้อแค่รูปเดียวครับผม |
|
|
|
|
|
|
|
ถ้าจะใช้ variable $config เดิมๆซ้ำๆแบบนี้ ของเก่าใช้เสร็จแล้วก็ unset($config); ไปซะสิครับ.
แล้วจัดโค้ด indent ให้อ่านง่ายๆหน่อยไม่ดีหรือ?
|
|
|
|
|
Date :
2018-10-19 06:45:52 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าจะใช้ variable $config เดิมๆซ้ำๆแบบนี้ ของเก่าใช้เสร็จแล้วก็ unset($config); ไปซะสิครับ.
แล้วจัดโค้ด indent ให้อ่านง่ายๆหน่อยไม่ดีหรือ?
หมายถึงลบรูป ต้นฉบับทิ้งใช่ไหมครับผม ไม่ทราบว่าใส่ยังไงครับพี่
|
|
|
|
|
Date :
2018-10-19 08:49:13 |
By :
teedesign |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_FILES['userfile']['name']= $files['file']['name'][$i];
ที่มันได้อันเดียว เพราะคุณ เอา variable ไปทับ object ต้นฉบับ ทำให้ object ต้นฉบับ เสียไป
และการทำงานของ object มันเป็น reference สัมพันธ์กัน
แก้เป็น
$fn = $files['file']['name'][$i]; แล้วเอา $fn ไปใช้ ทำแบบเดียวกันกับอันอื่น
///////////////////////////////////////////////////////////////////////////////
และ config สำหรับ library upload กับ image_lib นี่มันใช้ตัวเดียวกันเหรอครับ
กำหนดกัน คนละชื่อ
และเอา $this->load->library(..) ไปไว้ ก่อนลูป เรียกครั้งเดียว พอ
และใช้ คำสั่ง initialize($config); ภายในลูป กรณีมีการเปลี่ยน config
หรือจะใช้ คำสั่ง new หรือ ไม่ใช้ ก็ว่ากันไป
image_lib ก็เหมือนกัน
|
|
|
|
|
Date :
2018-10-19 10:35:42 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคร๊าบบบผมเพื่อม $this->image_lib->initialize($config); ตามพี่ Chaidhanan รูปเข้าเลยครับ
Controller
public function tab_advetise() {
//// เริ่มต้นในส่วนเอารูปเข้า
$files = $_FILES;
if(isset($_FILES['file']) && !empty($_FILES['file'])){
$count = count($_FILES['file']['name']);
for($i=0; $i<$count; $i++)
{
$_FILES['userfile']['name']= $files['file']['name'][$i];
$_FILES['userfile']['type']= $files['file']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['file']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['file']['error'][$i];
$_FILES['userfile']['size']= $files['file']['size'][$i];
$config['upload_path'] = './upload/advertise/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['file_name'] = date("dmYHis");
$config['max_size'] = '1024'; //เช็คขนาดต่อรูป 1024 KB ก็คือ 1MB
$config['max_width'] = '';
$config['max_height'] = '';
$this->load->library('upload', $config); //เรียกใช้ library upload สำหรับอัฟโหลดรูป
if (!$this->upload->do_upload('userfile')) { //ฟังชั่น do_upload('userfile') เช็คขนาดรูปว่าเกินหรือไม่
$this->session->set_flashdata('msg2', 'ไฟล์รูปมีขนาดใหญ่กว่า 1MB ');
redirect(base_url('guest#send_ad'));
exit;
}
//// จบในส่วนเอารูปต้นฉบับเข้า
//// เริ่มต้น Coopy ต้นฉบับรูป และ Resize รูป
$data = $this->upload->data(); //เรียกใช้ฟังก์ชั่น data(); เพื่อเรียกชือไฟล์
$config['image_library'] = 'gd2';
$data["file_name"]; //เรียกใช้ Araay ฟังชั่น data(); เพื่อเรียกชือไฟล์
$config['source_image'] = './upload/advertise/' . $data["file_name"];
$config['create'] = TRUE;
$config['maintain_ratio'] = TRUE; // ปรับขนาดโดยยังรักษาสัดส่วนของรูปไว้
$config['quality'] = '100%'; // ปรับลดความคมชัดรูป
$config['width'] = 200;
$config['height'] = 200;
$config['new_image'] = './upload/advertise/thumb/' . $data["file_name"];
$this->load->library('image_lib', $config); ////เรียกใช้ library image_lib ทำงานเกี่ยวกับรูป
$this->image_lib->initialize($config); //initialize ฟังก์ชั่นทำงานเกี่ยวกับรูป
$this->image_lib->resize(); //ฟังก์ชั่น resize รูป*/
$fileName = $data["file_name"];
$images[] = $fileName;
}
}
$images_filter = array_values(array_filter($images)); //array_values(array_filter()); ฟังก์ชั่นไม่เอาค่าว่าง
$fileName = implode(',',$images_filter);
$this->guest_model->upload_image($this->input->post(),$fileName);
redirect(base_url('guest#send_ad'));
}
|
ประวัติการแก้ไข 2018-10-20 11:40:56 2018-10-20 11:42:16
|
|
|
|
Date :
2018-10-19 12:46:37 |
By :
teedesign |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|