2010-02-19 36 views
5

trong một trong các dự án PHP của tôi, imagecreatefrompng phàn nàn rằng hình ảnh "không phải là tệp PNG hợp lệ".Sự cố với imagecreatefrompng (PHP)

Warning: imagecreatefrompng() [function.imagecreatefrompng]: 
'/.../...png' is not a valid PNG file in /.../...php on line ... 

Tôi chắc chắn, tệp hợp lệ vì tôi có thể mở tệp trong bất kỳ chương trình nào. Vì vậy, tôi đã tự hỏi những gì khác có thể gây ra cảnh báo này.

Có ai biết chi tiết đằng sau imagecreatefrompng hoặc có vấn đề tương tự trước đây không?

Nhờ sự giúp đỡ của bạn,

Timo

+0

Đường dẫn có chính xác không? –

+1

@Timo Chào mừng bạn đến với SO. Thay vì đặt SOLVED vào tiêu đề câu hỏi của bạn, hãy nhấp vào dấu kiểm màu xanh bên cạnh câu trả lời bên dưới. –

Trả lời

10

nó một hình ảnh PNG? Chạy file để chống lại hoặc thử số fileinfo functions.

+0

Cảm ơn bạn đã liên kết đến các chức năng của fileinfo. Tôi cho PHP kiểm tra loại mime và đáng ngạc nhiên đủ hình ảnh là một tập tin jpg - đổi tên nó thành .jpg giải quyết vấn đề. Tôi đoán mọi chương trình tôi đã mở tệp sẽ tự động phát hiện loại mime chính xác ... – Timo

+1

Tôi vẫn gặp lỗi tương tự sau khi kiểm tra các chức năng đó và nhận được giá trị mong muốn: "Hình ảnh PNG, 873 x 361, 8 bit/màu RGBA, không xen kẽ " – spuas

+3

@spuas: Sau đó, bạn có một vấn đề khác. –

0

Kiểm tra loại mime tệp này bạn sẽ tải lên bằng cách sử dụng dưới đây chức năng:

mime_content_type($_FILES['product_img']['tmp_name']) 

biên tập hình ảnh thường có thể nhận ra loại tập tin bằng nội dung của nó, php chỉ có thể cố gắng sử dụng các tập tin dựa trên kịch câm của mình -kiểu. Nếu nó không khớp thì có lỗi.

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