while (($line = fgets($handle)) !== false) {
//look for the first payor block
if(strpos($line, 'N1*PR*') !== false || $block_start) {
$header_end = true; $block_start = true;
//see if the block finished
if(strpos($line, 'CAS*CO*45*20.43**253*1.27~') !== false) {
$block_start = false;
$payor_blocks[$count] .= $line;
$count++;
}
$payor_blocks[$count] .= $line;
} else {
//append to the header
if($header_end) {
$footer .= $line."\n";
} else {
$header .= $line."\n";
}
}
}
//get payor blocks and create a file foreach payor
$new_files = array();
foreach($payor_blocks as $block) {
$filename = $file . "_" . $count;
$count++;
$new_files[] = array(
'name' => $filename,
'content' => $header."\n".$block."\n".$footer
);
//loop through new files and create them
foreach($new_files as $new_file) {
$myfile = fopen($file, "x");
fwrite($myfile, $new_file['content']);
//close the file
fclose($myfile);
У меня есть код, указанный выше, это, предполагают, чтобы быть в состоянии открыть исходный файл с именем "$file"
и создать новый файл затем закрыть его, однако его не создает, и когда я запускаю его, я получаю эту ошибку:Создание новых файлов из старого
Warning: fopen(362931550.1a): failed to open stream:
File exists in /script2.php on line 90 Warning:
fwrite() expects parameter 1 to be resource,
boolean given in /script2.php on line 94 Warning:
fclose() expects parameter 1 to be resource, boolean
given in /script2.php on line 96
Любая помощь любезно оценена.
Я один файла с именем: 362931550.1a
Я сделал код, который расщепляет их в определенных областях (его довольно долго, чтобы получить возможность отправлять), когда я запустить сценарий, когда я вижу его на моем браузере, но это не создает 2 новых файлов в папке.
чтения, что с 'x' режим -' Если файл уже существует, Еореп() приведет к ошибке, возвращая FALSE и генерируется ошибка уровня E_WARNING.' –
я попытался положить ш однако я не получил выход, который я хотел., любые идеи, что еще я мог бы поставить? @u_mulder –
Мы не знаем, какой результат вы хотите и что получите, пожалуйста, отредактируйте свой вопрос и уточните. –