if (!function_exists('aib_thumb_data')) { /** * FIX 2026-09-10: build thumbnail bytes from the LOCAL source file. * * Replaces file_get_contents() on this site's own /timthumb.php URL. That old call * made the server issue an HTTP request to itself for every thumbnail it had to * build, tying up an extra Apache + php-fpm worker while the outer request waited, * and it kept an abandoned 2014 script (timthumb) on the critical path. * * Traversal is blocked on the incoming path rather than by comparing realpath() * against public_path(): Laravel's public/storage is a symlink that legitimately * resolves outside public/, so a realpath containment test rejects valid images. * * Returns the encoded image as a string, or false when the source is missing so * callers keep their existing "could not build the thumb" branch. */ function aib_thumb_data($path, $width = null, $height = null, $quality = null) { $rel = '/' . ltrim(str_replace('\\', '/', (string) $path), '/'); // No traversal, no null bytes, no remote schemes. if ($rel === '/' || strpos($rel, "\0") !== false || strpos($rel, '../') !== false || preg_match('#^/+[a-z][a-z0-9+.\-]*:#i', $rel)) { return false; } // Doc roots differ across these sites (public/, public_html/, ...). $bases = array(); if (function_exists('public_path')) { $bases[] = public_path(); } if (!empty($_SERVER['DOCUMENT_ROOT'])) { $bases[] = rtrim($_SERVER['DOCUMENT_ROOT'], '/'); } $src = false; foreach ($bases as $base) { if ($base !== '' && is_file($base . $rel)) { $src = $base . $rel; break; } } if ($src === false) { return false; } // Only ever re-encode real images. $info = @getimagesize($src); if ($info === false) { return false; } $quality = $quality ? (int) $quality : 95; if ($quality < 1 || $quality > 100) { $quality = 95; } // No resize requested -> hand back the original bytes, as before. if (!$width && !$height) { return file_get_contents($src); } try { $img = \Intervention\Image\Facades\Image::make($src); if ($width && $height) { $img->fit((int) $width, (int) $height); } elseif ($width) { $img->resize((int) $width, null, function ($c) { $c->aspectRatio(); $c->upsize(); }); } else { $img->resize(null, (int) $height, function ($c) { $c->aspectRatio(); $c->upsize(); }); } $data = (string) $img->encode(null, $quality); $img->destroy(); return strlen($data) > 0 ? $data : file_get_contents($src); } catch (\Exception $e) { // Resize failed (corrupt image, memory cap): cache the original rather than // letting an empty file get written and stick as a permanently broken thumb. return file_get_contents($src); } } } Liên hệ

aib.vn

LIÊN HỆ

Hotline: 0964827873 / 0916749239

CH1:Bún Bò Huế Bà Ba Chánh Nghĩa,Góc đường Ngô Gia Tự - Trần Phú, khu đô thị Chánh Nghĩa, P. Chánh Nghĩa, TP.Thủ Dầu Một, Bình Dương

CH2: Bún Bò Huế Bà Ba Hiệp Thành 68/86 đường Hoàng Hoa Thám ,Phú Lợi, TP.Thủ Dầu Một , Bình Dương

CH3:Bún Bò Huế Bà Ba Dĩ An (TT Hành Chính),Số 78 đường Số 9,TTHC Dĩ An, TP.Dĩ An, Bình Dương

CH4: Bún Bò Huế Bà Ba VSip,số 38,Đường D1,Khu Dân Cư Vietsing,TP Thuận An,Bình Dương

CH 5: Bún Bò Huế Đông Ba Chơn Thành,Đường số 8,Phường Hưng Long,Thị Xã Chơn Thành,Bình Phước

CH 6: Bún Bò Huế Đông Ba TP Bà Rịa_Vũng Tàu,108 Đường Hùng Vương,phường Phước Nguyên,TP Bà Rịa ,Tỉnh Bà Rịa -Vũng Tàu

CH 7:Bún Bò Huế Đông Ba Hà Tĩnh, Đường 22/12,thôn Nam Mới, xã Cương Gián, huyện Nghi Xuân, tỉnh Hà Tĩnh

CH 8:Bún Bò Huế Đông Ba EHOME 4,Đường D1,KDC Ehome 4,khu phố Hòa Long,P Vĩnh Phú,TP Thuận An,Tỉnh Bình Dương 

CH 9: Bún Bò Huế Bà Ba Lái Thiêu,492 Nguyễn Trãi,phường Lái Thiêu,TP Thuận An,Bình Dương

CH 10: Bún Bò Huế Bà Ba Đà Lạt,234 Hai Bà Trưng,phường 6, thành phố Đà Lạt,tỉnh Lâm Đồng

CH 11:Bún Bò Huế Bà Ba Thủ Đức,402 Quốc Lộ 13,Phường Hiệp Bình Phước,TP Thủ Đức,TP Hồ Chí Minh

CH 12:Bún Bò Huế Bà Ba Tân Phước Khánh,63 Đường DT746, Khu phố Bình Hòa 1, Tân Phước Khánh,TP Tân Uyên, Bình Dương

CH 13:Bún Bò Huế Bà Ba Phú Mỹ,348 Trần Hưng Đạo, Phường Phú Mỹ, Thị Xã Phú Mỹ, TP Bà Rịa, Tỉnh Bà Rịa -Vũng Tàu

CH 14: Bún Bò Huế Bà Ba Đồng Xoài,171 Lê Duẩn,phường Tân Bình,TP Đồng Xoài,Bình Phước

CH 15:Bún Bò Huế Bà Ba Đào Trinh Nhất, 10A29 Đường Đào Trinh Nhất, Phường Linh Tây, TP Thủ Đức

CH 16: Bún Bò Huế Bà Ba Lê Văn Quới. Số 388-390 Lê Văn Quới, Phường Bình Hưng Hòa A, Quận Bình Tân, TP Hồ Chí Minh

CH 17: Bún Bò Bà Ba Bàu Cát, Số 55 Bàu Cát, Phường 14, Quận Tân Bình,TP Hồ Chí Minh

CH :18: Bún Bò Huế Bà Ba Bình Trị Đông B,số 96,đường số 7,phường Bình Trị Đông B,quận Bình Tân,TP HCM

CH : 19: Bún Bò Huế Bà Ba Gò Vấp,497 Nguyễn Văn Khối,phường 8,quận Gò Vấp,TP HCM

CH 20: Bún Bò Huế Bà Ba Lê Hồng Phong,305 Lê Hồng Phong,phường Phú Hòa,TP Thủ Dầu Một,Bình Dương

Email: info@bunbodongba.vn

bunbodongba.vn / bunbodongba.com

 

https://maps.app.goo.gl/kcZgK7FyTzZZUy6W7?g_st=iz
zalo
Hotline