The following PHP code works to read one file and write the same content into another file:
<?php
$input = @fopen("./temp.def", "r");
$output = @fopen("./temp.tpc","w");
if ($input) {
while (!feof($input)) {
$buffer = fgets($input);
fputs($output, $buffer);
}
if (!feof($input)) {
echo "Error: unexpected fgets() fail
";
}
fclose($input);
fclose($output);
}
But when I add code to replace some content based off of whether or not a substring is some specific text it doesn’t work. Here’s the code for that:
<?php
$input = @fopen("./temp.def", "r");
$output = @fopen("./temp.tpc","w");
if ($input) {
while (!feof($input)) {
$buffer = fgets($input);
//check to see if it is a `row` line
$isrow = mb_substr($buffer, 0, 5, 'UTF-8');
if ($isrow == "row=:") {
$data = str_ireplace("row=:", "base=:[loc^nb]" . chr(10) . "row=:", $buffer);
else {
$data = $buffer;
}
}
fputs($output, $data);
}
if (!feof($input)) {
echo "Error: unexpected fgets() fail
";
}
fclose($input);
fclose($output);
}
The only thing changed in the code is the added part, highlighted in yellow, and the variable name change, highlighted in blue...