โปรแกรมแจ้งซ้อมอยากให้รูปที่อัพโหลดแสดงหน้ารายการ

โปรแกรมแจ้งซ้อมอยากให้รูปที่อัพโหลดแสดงหน้ารายการ
ผมเพิ่มฟรอมอัพโหลดรูปภาพหน้า รับงานแล้วสามารถบันทึกได้แต่รูปภาพไม่แสดงที่หน้า รายการแจ้งซ่อม รบกวนอาจารย์ช่วยแนะนำด้วยครับ
03 เม.ย. 2567 5 393

แล้วได้เอาออกมาแสดงหรือเปล่าครับ จะต้องเขียนเพื่อแสดงรูปด้วยตัวเองครับ ในฟังก์ชั่น onRow (ใน View) รวมถึง query ชื่อไฟล์ที่จัดเก็บส่งให้ตารางด้วย (ใน Model)
#1

โปรแกรมแจ้งซ้อมอยากให้รูปที่อัพโหลดแสดงหน้ารายการ
ผมเพิ่ม 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());
}
}
}
#2

ไม่ค่อยเข้าใจเท่าไรครับ แต่ทั้งหมดทั้งมวล เราต้องจัดการนำมาแสดงผลด้วยตัวเองเท่านั้นครับ
#3

ครับอาจารย์คือความหมายผมแค่ไม่สามารเชฟไฟล์รูปภาพไปยังที่กำหนดไม่ได้ เลยไม่รู้ว่าตั้งค่าตรงใหนผิดครับ
#4

foreach ($request->getUploadedFiles() as $item => $file) {
ลอง print_r $item และ $file ดูว่ามีอะไรส่งมา ปกติมันจขะเป้นข้อมูลไฟล์ที่ส่งมา ลองรับค่าดูให้ถูก สามารถดูผลลัพทได้ที่ console ของ browser
#5
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M