Я начинающий на PHP, и я все еще пытаюсь разработать правильные методы обработки файлов. Обычно я в порядке с проб и ошибок, но когда дело доходит до удаления и изменения данных, мне всегда нравится быть в безопасности.Удаление раздела файлов в PHP?
Я написал код ниже, чтобы удалить определенный раздел файла, но я не уверен, будет ли он работать с более крупными файлами или в непредвиденных условиях, для которых требуется опыт для кодирования.
Я испытал это только сейчас, и он сделал работу, но я хотел бы, чтобы запустить его с помощью более опытных программистов первым:
function deletesection($start,$len){
$pos=0;
$tmpname=$this->name."tmp.tmp";
$tmpf=fopen($tmpname,"wb+");
rewind($tmpf);
$h=fopen($this->name,"rb");
rewind($h);
while(!feof($h)){
$this->xseek($h,$pos);
$endpos = $pos+1000;
if($endpos>$start && $pos<$start+$len){
$readlen=$start-$pos;
$nextpos=$start+$len;
}
else{
$readlen=1000;
$nextpos=$pos+1000;
}
fwrite($tmpf,fread($h,$readlen));
$pos=$nextpos;
}
fclose($h);
unlink($this->name);
rename($tmpname,$this->name);
}
Это внутри класса, где «имя» свойства является путем к файлу ,
Я пишу файл по 1000 байт за раз, потому что я получал ошибки в максимальном объеме памяти, превышающем при тестировании файлов более 30 МБ.
Это может быть лучший вопрос для [нового бета-сайта Code Review] (http://codereview.stackexchange.com/). Тем не менее, это выглядит с первого взгляда. Возможно, немного круглая. Подумайте о добавлении комментариев в каждый раздел, объясняющий * почему * того, что он делает. Также рассмотрите возможность добавления пробелов вокруг ваших равных знаков и справа от запятых, для дополнительной удобочитаемости. – Charles