Can anyone tell me why this part of my code is not functional?
The code might be quite messy to look at, but I've commented wherever I can.


$gp = fopen("myFile.txt","r"); while(($t = fgets($gp,1024)) && !feof($gp)) {
if ($t[0] == '=' &&$t[1] == 'D') {           \\Looks for =D in myFile.txt
$entryDate[] = fgets($gp,30);                   \\then takes next line and
} elseif ($t[0] == '=' &&$t[1] == 'A') {        \\puts it into $entryDate[]$entryAuth[] = fgets($gp,50); } elseif ($t[0] == '=' && $t[1] == 'C') { \\With a =C in myFile.txt$readAll = fread($gp,1024); \\it reads 1024 characters &$readAll = str_replace("                        \\replaces all newlines
", "<BR CLEAR=ALL>", $readAll); \\ with a HTML tag.$endPoint = strpos($readAll,"^end"); \\Detects the position of ^end$readTil = $endPoint - 1; \\ and outputs$readTil
$entryCont[] = substr($readAll,0,$readTil); \\ content to this point } else { /* Nothing to be done, go back to beginning of while */ } } The problem is that it doesn't actually go back to the beginning of the while loop. I've checked the array counts for the$entryDate[] array and it always
tells me that I have only 1 entry, even though myFile.txt has 2 or more entries.
So it doesn't seem to go anywhere. When I replace the part after checking for
=C with a simple fgets (like the other 'if' parts of the code), it works
perfectly. Something in the functions after the if( .... =C) is stopping the
while loop and I don't know what it is!
Note: It does execute all the functions after the if(... =C), because the
\$entryCont[] array contains all the formatted/substituted text.

-Wendy

-------------------------------------------------
This mail sent through IMP: www-mail.usyd.edu.au

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php