Tôi đã viết một tập lệnh đọc qua tất cả các tệp trong một thư mục và trả về băm md5 cho mỗi tệp. Tuy nhiên, nó không hiển thị gì cho một tệp khá lớn. Tôi giả định rằng trình thông dịch có một số giá trị được đặt cho thời gian xử lý tối đa và vì phải mất quá nhiều thời gian để có được giá trị này, nó chỉ bỏ qua cùng với các tệp khác. Có anyway để có được một md5 checksum cho các tập tin lớn thông qua PHP? Nếu không, nó có thể được thực hiện thông qua một công việc chron với cPanel? Tôi đã cho nó một shot ở đó nhưng nó không có vẻ như lệnh md5sum của tôi đã từng được xử lý: Tôi không bao giờ nhận được một email với băm. Đây là PHP tôi đã viết. Đó là một mã rất đơn giản và tệp công trình cho các tệp có kích thước hợp lý:Nhận MD5 Checksum cho các tệp rất lớn
function md5_dir($dir) {
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo nl2br($file . "\n" . md5_file($file) . "\n\n");
}
closedir($dh);
}
}
}
"Tệp khá lớn" là gì? Kích thước tệp là gì? –
Lưu ý phụ: MD5 không phải là tổng kiểm tra, đó là một băm. Ngoài ra, nó không an toàn. –
Tôi ngu ngốc giả định rằng công cụ md5 xuất ra tổng kiểm tra md5. XD Tôi đang cố gắng thực hiện tệp 1 gig. – fny