Я бы сказал, что ведущий 0 пришел из языка C (синтаксис для восьмеричных чисел) и не имеет другого значения. Из man 2 umask
, т.е. вызов библиотеки Си:
umask() устанавливает маску создания файлового режима вызывающего процесса (umask) в значение mask & 0777 (т.е. используются только биты разрешения файла в mask), и возвращает предыдущее значение маски.
Маска umask не просто вычитается, а обрабатывается побитово. Биты, установленные в umask, очищаются в результирующем файловом режиме.
Попробуйте это:
<?php
$delete_from_line=35;
$delete_to_line=40;
$filename="/path/to/your/file";
exec('sed -i.bak ' . $delete_from_line . ',' . $delete_to_line . 'd ' . $filename);
?>