Сначала задайте путь к файлу переменной, например $path = './test/A500_1.txt';
, затем извлеките имя файла с basename . Теперь у вас будет переменная для проверки по условию. Затем подумайте, что, поскольку вы будете выполнять это действие много раз, это должна быть функция, которую легко использовать повторно. Это должно выглядеть примерно так:
function processFile( $path ) {
$filename = basename( $path );
//read the entire string
$str = file_get_contents( $path );
//replace something in the file string
if ( strpos( $filename, 'A500_' ) === 0 ) {
$str = str_replace( 'TB', 'MD', $str );
} else if ( strpos( $filename, 'A700_' ) === 0 ) {
$str = str_replace( 'TB', 'JB', $str );
} else if ( strpos( $filename, 'A900_' ) === 0 ) {
$str = str_replace( 'TB', 'LD', $str );
} else {
// Return false if we don't know what to do with this file
return false;
}
//write the entire string
$writeResult = file_put_contents( $path, $str );
//return true after a file is written successfully, or false on failure
return $writeResult >= 0;
}
if(processFile( './test/A500_1.txt' )) echo "good!";
Отсюда, вероятно, будет хорошей идеей написать al oop, который перебирает все файлы, которые вы хотите обработать. scandir скорее всего то, что вы ищете. Затем снова используйте вашу новую функцию внутри этого l oop. Также обратите внимание, что я добавил проверку, чтобы убедиться, что запись в функции прошла успешно. Полезно не всегда предполагать, что файл может быть записан и явно проверять.
ОБНОВЛЕНИЕ: Пример синтаксиса l oop, так как вы спросили.
$files = scandir("./test/", 0);
foreach($files as $file)
{
if(processFile( $file )) echo "$file is good!";
}