PHP заменить символ в файле без открытого файла

У меня есть файл, который содержит:
file content NULNULNULNUL something else,
Когда я пытаюсь получить содержимое файла
$str = file_get_contents($fileName), в $str появляются просто file content,
Как я могу заменить NUL в файле, без открытого файла?

0

Решение

1.) Получить заменяемый контент в виде строки. Сначала получите содержимое файла так же, как вы.

$str = file_get_contents($fileName)

Затем замените все вхождения NUL с пустым пространством, как:

$new_content =  str_replace('NUL'," ",$str);

ИЛИ ЖЕ

2.) Чтобы заменить содержимое внутри файла (заменить содержимое и записать его обратно в файл):

file_put_contents($fileName,str_replace('NUL',' ',file_get_contents($fileName)));

здесь мы используем file_put_contents — который записывает строку в файл. Мы передаем filename и replaced-string в качестве параметра

0

Другие решения

Я конвертирую каждый символ в код assci. Это работа сейчас:

$newStr='';
$str = file_get_contents($fileName);
$length = strlen($str);

for ($i=0; $i < $length; $i++)
{
$current = ord($str{$i});
if ($current != 0x0)
{
$newStr .= chr($current);
}
else
{
$newStr .= "";
}
}
$num = file_put_contents($fileName,$newStr);
-1

По вопросам рекламы [email protected]