Tôi có tập lệnh tải xuống tệp mà tôi đã viết, đọc tệp từ bên dưới public_html và cho phép người dùng tải xuống tập lệnh sau khi kiểm tra xem người dùng đã đăng nhập chưa và tệp đó là một tệp hợp lệ để họ tải xuống.PHP: Tải xuống tập lệnh không hoạt động trên iPad
Một vấn đề mà tôi vừa mới gặp phải là trên iPad nó chỉ không làm được gì khi liên kết được nhấp.
Ví dụ mã tải về tập tin sau khi tất cả các kiểm tra đã được thực hiện:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/msword");
header("Content-Disposition: attachment; filename=\"file.doc\";");
header("Content-Length: 50688");
readfile(SITE_PATH .'/files/file.doc');
Kịch bản này đã được thử nghiệm và kiểm tra trên PC, Mac và Linux máy trong nhiều trình duyệt (FF, Opera, IE6-9, Chrome , Safari) và tất cả dường như hoạt động tốt, vì vậy nó phải là một cái gì đó mà iPad làm khác nhau.
Tôi tưởng tượng nó liên quan đến iPad không thực sự có cấu trúc tệp như vậy để tải tệp xuống, nhưng tôi không chắc chắn.
Có ai gặp vấn đề này trước đây không? Nếu vậy, có sửa chữa không?
không có liên quan: bạn có hai trường tiêu đề Loại nội dung. Chọn một. Ngoài ra, Content-Transfer-Encoding không phải là trường tiêu đề HTTP. –
@JulianReschke đã xóa những thứ đó, có vẻ như nó không có hiệu lực. Đã cập nhật câu hỏi để phản ánh. – Nick