โปรแกรมแจ้งซ้อมอยากให้รูปที่อัพโหลดแสดงหน้ารายการ หน้าหลักเว็บบอร์ดทั่วไปโปรแกรมแจ้งซ้อมอยากให้รูปที่อัพโหลดแสดงหน้ารายการ สราวุฒิ อินทโร ผมเพิ่มฟรอมอัพโหลดรูปภาพหน้า รับงานแล้วสามารถบันทึกได้แต่รูปภาพไม่แสดงที่หน้า รายการแจ้งซ่อม รบกวนอาจารย์ช่วยแนะนำด้วยครับ กรกฎ วิริยะ แล้วได้เอาออกมาแสดงหรือเปล่าครับ จะต้องเขียนเพื่อแสดงรูปด้วยตัวเองครับ ในฟังก์ชั่น onRow (ใน View) รวมถึง query ชื่อไฟล์ที่จัดเก็บส่งให้ตารางด้วย (ใน Model) สราวุฒิ อินทโร ผมเพิ่ม onRow ให้แสดงภาพแล้วครับ แต่หน้าเพิ่มใบรับงานไม่ยอมบันทึกรูปภาพให้ครับต้องเอาภาพไปใส่ใน Folder เองถึงจะแสดง รูปภาพหน้า View // picture if (is_file(ROOT_PATH.DATA_FOLDER.'picture/'.$index->id.'.jpg')) { $img = WEB_URL.DATA_FOLDER.'picture/'.$index->id.'.jpg?'.time(); } else { $img = WEB_URL.'skin/img/noicon.png'; } $fieldset->add('file', array( 'id' => 'picture', 'labelClass' => 'g-input icon-upload', 'itemClass' => 'item', 'label' => '{LNG_Image}', 'comment' => '{LNG_Browse image uploaded, type jpg, jpeg} ({LNG_resized automatically})', 'dataPreview' => 'imgPicture', 'previewSrc' => $img, 'accept' => self::$cfg->inventory_img_typies )); รูปภาพหน้า Model ครับผมต้องแก้ตรงใหนเพื่อให้เชฟรูปเพื่อนำมาแสดงได้ครับ // อัปโหลดไฟล์ $dir = ROOT_PATH.DATA_FOLDER.'picture/'; foreach ($request->getUploadedFiles() as $item => $file) { /* @var $file \Kotchasan\Http\UploadedFile */ if ($item == 'picture') { if ($file->hasUploadFile()) { if (!File::makeDirectory($dir)) { // ไดเรคทอรี่ไม่สามารถสร้างได้ $ret['ret_'.$item] = Language::replace('Directory %s cannot be created or is read-only.', DATA_FOLDER.'picture/'); } else { try { $file->resizeImage(self::$cfg->inventory_img_typies, $dir, $save['id'].'.jpg', self::$cfg->inventory_w); } catch (\Exception $exc) { // ไม่สามารถอัปโหลดได้ $ret['ret_'.$item] = Language::get($exc->getMessage()); } } } elseif ($file->hasError()) { // ข้อผิดพลาดการอัปโหลด $ret['ret_'.$item] = Language::get($file->getErrorMessage()); } } } กรกฎ วิริยะ ไม่ค่อยเข้าใจเท่าไรครับ แต่ทั้งหมดทั้งมวล เราต้องจัดการนำมาแสดงผลด้วยตัวเองเท่านั้นครับ สราวุฒิ อินทโร ครับอาจารย์คือความหมายผมแค่ไม่สามารเชฟไฟล์รูปภาพไปยังที่กำหนดไม่ได้ เลยไม่รู้ว่าตั้งค่าตรงใหนผิดครับ กรกฎ วิริยะ foreach ($request->getUploadedFiles() as $item => $file) { ลอง print_r $item และ $file ดูว่ามีอะไรส่งมา ปกติมันจขะเป้นข้อมูลไฟล์ที่ส่งมา ลองรับค่าดูให้ถูก สามารถดูผลลัพทได้ที่ console ของ browser ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
รูปภาพหน้า View
// picture
if (is_file(ROOT_PATH.DATA_FOLDER.'picture/'.$index->id.'.jpg')) {
$img = WEB_URL.DATA_FOLDER.'picture/'.$index->id.'.jpg?'.time();
} else {
$img = WEB_URL.'skin/img/noicon.png';
}
$fieldset->add('file', array(
'id' => 'picture',
'labelClass' => 'g-input icon-upload',
'itemClass' => 'item',
'label' => '{LNG_Image}',
'comment' => '{LNG_Browse image uploaded, type jpg, jpeg} ({LNG_resized automatically})',
'dataPreview' => 'imgPicture',
'previewSrc' => $img,
'accept' => self::$cfg->inventory_img_typies
));
รูปภาพหน้า Model ครับผมต้องแก้ตรงใหนเพื่อให้เชฟรูปเพื่อนำมาแสดงได้ครับ
// อัปโหลดไฟล์
$dir = ROOT_PATH.DATA_FOLDER.'picture/';
foreach ($request->getUploadedFiles() as $item => $file) {
/* @var $file \Kotchasan\Http\UploadedFile */
if ($item == 'picture') {
if ($file->hasUploadFile()) {
if (!File::makeDirectory($dir)) {
// ไดเรคทอรี่ไม่สามารถสร้างได้
$ret['ret_'.$item] = Language::replace('Directory %s cannot be created or is read-only.', DATA_FOLDER.'picture/');
} else {
try {
$file->resizeImage(self::$cfg->inventory_img_typies, $dir, $save['id'].'.jpg', self::$cfg->inventory_w);
} catch (\Exception $exc) {
// ไม่สามารถอัปโหลดได้
$ret['ret_'.$item] = Language::get($exc->getMessage());
}
}
} elseif ($file->hasError()) {
// ข้อผิดพลาดการอัปโหลด
$ret['ret_'.$item] = Language::get($file->getErrorMessage());
}
}
}
ลอง print_r $item และ $file ดูว่ามีอะไรส่งมา ปกติมันจขะเป้นข้อมูลไฟล์ที่ส่งมา ลองรับค่าดูให้ถูก สามารถดูผลลัพทได้ที่ console ของ browser