2011-11-03 35 views
6

tôi cần nhập hình ảnh từ nguồn của bên thứ ba. tệp nhập trông giống như:xử lý ảnh hàng loạt cronjob trong php

// import.csv 
group1;nameofimage1;http://www.site.com/image/image1.jpg;nameofimage2;http://www.site.com/image/image2.jpg; etc... 

bạn có thể có tối đa 20 hình ảnh trên mỗi dòng.

tôi có một cronjob đọc tệp và sau đó xử lý tệp (lặp mỗi dòng, phân tích từng dòng rồi cuộn tròn để lấy hình ảnh v.v. - đó là im ok).

hình ảnh được cung cấp quá lớn so với những gì tôi cần và đối với mỗi tệp tôi cần phải đổi kích thước chúng thành 50% kích thước ban đầu của chúng. tôi đã cố gắng sử dụng thư viện gd nhưng phải mất một thời gian rất dài để hoàn thành.

là bình thường? những gì tôi có thể sử dụng để làm cho nó nhanh hơn?

Thansk

Trả lời

7

GD thư viện không được tối ưu hóa cho hình ảnh lớn .. thực sự tôi muốn KHÔNG khuyên bạn nên sử dụng GD ở tất cả .. chỉ khi bạn không có lựa chọn khác ..

ImageMagick là của bạn wizard tại đây :)

Và một chút nhỏ khác. Tốt hơn là không sử dụng PHP cho tác vụ này. Bạn có thể sử dụng command line imagemagick tools cho việc này. Chỉ cần thêm một dòng khác vào tập lệnh cron/bash của bạn để tự động thay đổi kích thước hình ảnh nếu cần.

+0

tôi sắp sửa nói như thế nào bởi vì tôi không thấy bất kỳ imagemagik nào trên php.net nên làm cách nào? – Ken

+0

hm .. Tôi nghĩ rằng liên kết đầu tiên của tôi là php.net .. –

+0

xem nhận xét tại đây: http://php.net/manual/en/function.imagick-resizeimage.php –

Các vấn đề liên quan