Chủ Nhật, 30 tháng 11, 2014

Resize hình ảnh đơn giản với timthumb trong PHP




Lập Trình PHP – Trong thiết kế web thì chắc chắn các bạn đều biết lợi ích của việc resized cho website. Đây là một mã nguồn mở PHP với chức năng là crop và scale hình ảnh với các …
Lập Trình PHP – Trong thiết kế web thì chắc chắn các bạn đều biết lợi ích của việc resized cho website. Đây là một mã nguồn mở PHP với chức năng là crop và scale hình ảnh với các định dạng phổ biến như (JPG, PNG, GIF).

Cách hoạt động: timthumb cung cấp cho bạn một function có sẵn, bạn chỉ việc cung cấp các tham số và nó sẽ tự động thay đổi kích thức ảnh của bạn một cách tự động. Timthumb đang được sử dụng rộng rãi đặc biệt là các nhà phát triển website trên nền CMS WordPress.

Muốn sử dụng timthumb thì việc đầu tiên là các bạn phải download timthumb.php có sẵn. Các bạn có thể download TẠI ĐÂY.

Sau đó các bạn code file timthumb.php vào thư mục nào bất kỳ của website nơi bạn nghĩ là hợp lý nhất. Và cuối cùng là một tạo folder cache nằm cùng cấp với file timthumb.php (Nếu các bạn không tạo cũng được vì khi chạy nó cũng sẽ tự tạo cho các bạn)

Cấu trúc để sử dụng timthumb thì như sau:

1| <img src="timthumb.php?src=link_hinh_anh.jpg&h=250&w=300&zc=1" />

link_hinh_anh.jpg: Đường dẫn hình ảnh theo định dạng http://domain.com/anh.jpg
w=300: Width (chiều dài) của ảnh bằng 300px
h=250: Height (chiều cao) của ảnh bằng 300px
zc=1: Cắt và thay đổi kích cỡ để phù hợp với kích thước tốt nhất (mặc định).

Tất nhiêu là các bạn có thể thay đổi các tham số trên tùy theo yêu cầu phù hơp. Đặc biệt đối với tham số zc các bạn cần chú ý những tham số dưới đây.
zc=0: Thay đổi kích thước cho vừa kích thước quy định (không cắt xén).
zc=2: Thay đổi kích thước tương ứng để phù hợp với toàn bộ hình ảnh vào kích thước quy định và thêm đường biên nếu có yêu cầu.
zc=3: Thay đổi kích thước theo tỷ lệ điều chỉnh kích thước của hình ảnh thu nhỏ cho nên không có biên giới khoảng trống.

Lưu ý: Để sử dụng được timthumb.php thì hosting của bạn phải hổ trợ GD Library .Hầu hết các hosting Linux hiện giờ đều hổ trợ thư viện này.
Cách khắc phục timthumb không hoạt động:

Trước tiên, bạn cần phải xác định được timthumb đang gặp phải lỗi gì?

1. Debub website bằng cách dùng chrome, nhấp f12, mở qua tab console xem nó xuất hiện lỗi gì? Nếu không thấy lỗi thì tiến hành debug link timthumb, inspect element thằng hình ảnh, rồi copy cái link của thằng timthumb, chạy trực tiếp trên trình duyệt xem nó thông báo lỗi gì? Và sau đây là 2 lỗi thông báo phổ biến nhất:
Lỗi chưa chmod thư mục Cache của timthumb, dẫn đến nó không thể ghi tập tin mã hóa tạm vào đó, nên ko tạo được hình ảnh timthumb. Do đó, bạn hãy chmod lại thành 775 hoặc 777.
Lỗi xài hình ảnh ngoại, mặc định nó không cho chúng ta dùng link ngoài, do đó, phải enable lên bằng cách vào file timthumb.php và tìm dòng define (‘ALLOW_EXTERNAL’, FALSE); //Chứa FALSE thành TRUE

2. Trong trường hợp bạn copy dòng timthumb mà thấy nó ko xuất hiện link hình ảnh ở parameter ở phần src=…. thì nên kiểm tra lại code php của mình, xem nó có vấn đề gì? Debug xem tại sao lại ko ra src hình ảnh.

3. Kiểm tra Host các bạn có hỗ trợ hoặc bị lỗi không.

Hi vọng với những chia sẻ trên đây sẽ giúp các bạn một phần nào đó nâng cao thêm kỹ năng lậ trình thiết kế web. Nếu bạn thấy khả năng của bản thân còn khá kém thì các bạn nên chọn lựa cho bản thân một khóa học thiết kế web hợp lý để cải thiện kỹ năng của mình.

0 nhận xét:

Đăng nhận xét