Скажите пожалуйста, кто в курсе. Функции записи в файл: file_put_contents, fwrite и fputcsv проверяют ли корректность записи данных и повторяют ли попытку записи если в результате первой попытки данные записались неправильно?
этим ОС занимается. Имхо можно поймать момент, когда всё "записалось", но еще не записалось на хард и дернуть шнур =)
Но функции возвращают кол-во байт записанных если вернет ноль просто можно заново записать попробовать...
в php функции ввода-вывода при ошибке обычно возвращают либо 0 либо false + генерируют warning. это можно контролировать. вопрос с недо-сохраненным буфером должен решать flush|fflush. "записались неправильно" это из области сферических коней в вакууме.
Не. ну может конечно. Просто компы родились ради того, чтобы записывать и копировать без ошибок. Потому и пиратство. Но энтропия может только прибывать.
В общем этот вопрос у меня возник в связи с тем, что всегда есть вероятность записать на носитель информации, в определенный адрес одно содержимое, а прочитать потом совсем другое. Это было особенно актуально во времена дискет. Для жестких дисков это не актуально. Но все же спокойнее спиться, когда знаешь, что используемые тобой функции работают так, как тебе нужно. Еще один факт подтолкнувший меня к данному вопросу состоит в том, что время выполнения функции file_put_contents примерно в 4 раза больше времени выполнения file_get_contents (при использовании NFTS и 32-х байт информации для записи и считывания). Возможно, что дополнительное время тратится на проверочное считывание записанной информации, а возможно - на что-то другое. В последнем я как раз и хотел удостовериться, из каких именно элементарных операций состоит функция записи на диск...
Никакого проверочного считывания автоматом никогда не производится. Добавлено спустя 1 минуту 36 секунд: Можешь писать чексуммы если так прям всё серьёзно
Нет. Для полной надежности надо записать данные, потом их же считать и проверить, совпадают ли считанные данные с исходными. Но не будет ли это лишней (дублирующейся) работой?
есть какая-то контора, они сажают китайцев, и те каптчи вручную разгадывают и обратно отсылают текст каптчи.... для полной уверенности, можно им отправлять файл после записи, они прочитают и вернут обратно....ну и потом сравнивать с исходником.... ваще если подумать, вариантов масса )))
:-D Можно ещё собственного узбека нанять, научить, чтобы открывал в блокноте каждый изменённый файл и просматривал содержимое. И чтобы автомат ему список файлов для проверки составлял