Annotation of embedaddon/php/ext/standard/tests/file/fread_fwrite_basic.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: fread & fwrite - Test reading and writing using a single resource
! 3: --CREDITS--
! 4: Dave Kelsey <d_kelsey@uk.ibm.com>
! 5: --FILE--
! 6: <?php
! 7:
! 8: /*
! 9: * proto int fwrite(resource fp, string str [, int length])
! 10: * Function is implemented in ext/standard/file.c
! 11: */
! 12:
! 13: /*
! 14: Prototype: string fread ( resource $handle [, int $length] );
! 15: Description: reads up to length bytes from the file pointer referenced by handle.
! 16: Reading stops when up to length bytes have been read, EOF (end of file) is
! 17: reached, (for network streams) when a packet becomes available, or (after
! 18: opening userspace stream) when 8192 bytes have been read whichever comes first.
! 19: */
! 20:
! 21:
! 22: $outputfile = __FILE__.".tmp";
! 23:
! 24: echo "--- testing rw moving about the file ---\n";
! 25: $h = fopen($outputfile, 'wb+');
! 26: $out1 = "The 1st prrt";
! 27: $out2 = " part of the ttxt";
! 28: $out3 = "text";
! 29: fwrite($h, $out1);
! 30: fseek($h, 0, SEEK_SET);
! 31: echo "start:".fread($h, strlen($out1) - 5). "\n";
! 32: fwrite($h, $out2);
! 33: echo "at end:".fread($h,100)."\n";
! 34: var_dump(feof($h));
! 35: fseek($h, -4, SEEK_CUR);
! 36: fwrite($h, $out3);
! 37: fseek($h, 0, SEEK_SET);
! 38: echo "final:".fread($h, 100)."\n";
! 39: fclose($h);
! 40:
! 41: echo "--- testing eof ---\n";
! 42: $h = fopen($outputfile, 'ab+');
! 43: fread($h,1024);
! 44: var_dump(feof($h));
! 45: fread($h,1);
! 46: var_dump(feof($h));
! 47: $out = "extra";
! 48: fwrite($h, $out);
! 49: var_dump(feof($h));
! 50: fread($h,1);
! 51: var_dump(feof($h));
! 52: fseek($h, -strlen($out) + 1, SEEK_CUR);
! 53: echo "last bytes: ".fread($h, strlen($out))."\n";
! 54: fclose($h);
! 55:
! 56: unlink($outputfile);
! 57:
! 58: echo "Done";
! 59: ?>
! 60: --EXPECT--
! 61: --- testing rw moving about the file ---
! 62: start:The 1st
! 63: at end:
! 64: bool(true)
! 65: final:The 1st part of the text
! 66: --- testing eof ---
! 67: bool(true)
! 68: bool(true)
! 69: bool(true)
! 70: bool(true)
! 71: last bytes: xtra
! 72: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>