Trong khi thiết lập hệ thống quản lý tệp trực tuyến và bây giờ tôi đã nhấn một khối.Đọc tệp PHP() và tải xuống lớn
Tôi cố gắng để đẩy các tập tin cho khách hàng sử dụng này modified version of readfile:
function readfile_chunked($filename,$retbytes=true) {
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$cnt =0;
// $handle = fopen($filename, 'rb');
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer;
ob_flush();
flush();
if ($retbytes) {
$cnt += strlen($buffer);
}
}
$status = fclose($handle);
if ($retbytes && $status) {
return $cnt; // return num. bytes delivered like readfile() does.
}
return $status;
}
Nhưng khi tôi cố gắng để tải về một tập tin 13 MB, nó chỉ phá vỡ lúc 4 MB. Điều gì sẽ xảy ra ở đây? Nó chắc chắn không phải là giới hạn thời gian của bất kỳ loại nào bởi vì tôi đang làm việc trên một mạng nội bộ và tốc độ không phải là một vấn đề.
Giới hạn bộ nhớ trong PHP được đặt là 300 MB.
Cảm ơn bạn đã được trợ giúp.
Chắc chắn có gì đó trong nhật ký lỗi, giả sử bạn đã bật tính năng này. Kiểm tra và sửa đổi câu hỏi. – timdev
Không. Không có gì liên quan đến điều này trong nhật ký lỗi. Tất cả những gì tôi có là một số cảnh báo không dùng nữa từ các tập lệnh khác nhau. – Nirmal
Bạn đang sử dụng ứng dụng nào để nhúng nội dung? Hành vi có thay đổi nếu bạn sử dụng một ứng dụng khách khác không? Đoán của tôi sẽ là đại lý bạn đang sử dụng không thể đối phó với mã hóa chunked lớn. Hãy thử một khách hàng khác và/hoặc đánh hơi lưu lượng truy cập. – symcbean