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);
ich den Code oben haben, wird es angenommen, der Lage sein, eine Originaldatei "$file"
genannt zu öffnen und eine neue Datei erstellen sie dann schließen, seine jedoch nicht zu schaffen, und wenn ich es laufen, Ich erhalte diesen Warnfehler:Erstellen neuer Dateien aus einem alten
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
Jede Hilfe wird freundlich geschätzt.
Ich habe eine Datei mit dem Namen: 362931550.1a
ich einen Code haben, der sie in bestimmten Bereichen aufteilt, (es ist ziemlich lang zu schreiben), wenn ich das Skript ausführen ich es in meinem Browser sehen, aber es schafft keine 2 neue Dateien im Ordner.
lesen, dass mit 'X' Modus - 'Wenn die Datei bereits vorhanden ist, wird fehlschlagen der fopen() Aufruf von FALSE zurückkehren und einen Fehler von Ebene zu erzeugen E_WARNING.' –
ich aber zu setzen versucht, w i erhalten didnt die Ausgabe, die ich wollte., irgendwelche Ideen, was ich sonst setzen könnte? @u_mulder –
Wir wissen nicht, welche Ausgabe Sie wollen und was Sie bekommen, also bearbeiten Sie bitte Ihre Frage und klären Sie. –