The fopen, fwrite, fprint, fread, and fclose commands let you work with files.
Before you can read from or write to a file, you need to open the file using the fopen function.
fopen takes two string arguments:
If you add a “+” character to the mode character, Maya opens the file to both read and write.
fopen returns a file handle. The file handle represents the open file. You should save this value in a variable so you can work with the open file using other commands such as fprint.
$fileId = fopen($exampleFileName,"r");
Once you have opened a file to read, you can actually read data from the file using one of the following commands:
To... | Use this command |
---|---|
Read a line (read to the next newline). |
fgetline (fileID) |
Read a word (read to the next whitespace). |
fgetword (fileID) |
Read a single value. |
fread (fileID, type) |
// Read a file one line at a time $fileId=fopen($exampleFileName,"r"); string $nextLine = `fgetline $fileId`; while ( size( $nextLine ) > 0 ) { print ( $nextLine ); $nextLine = `fgetline $fileId`; }
The feof <fileID> function returns non-zero if you are at the end of the file.
string $nextWord = `fgetword $fileId`; while ( !feof($fileId) ) { print ( $nextWord + "\n" ); $nextWord = fgetword($fileId); }
If an empty file is opened, feof will not detect that it is at the end of the file until at least one read is performed.
Once you have opened a file to write or append, you can actually write data to the file using one of the following commands:
To... | Use this command |
---|---|
Print to the file using an equivalent to the print command. |
fprint (fileID,string) |
Write binary data. |
fwrite (fileID, value) |
$fileId = fopen($exampleFileName,"w"); fprint($fileId,"Hello there\n"); fclose($fileId);
The fwrite command writes the data argument in binary format to a file. It writes strings as ASCII terminating with a NULL character. You should not use fwrite for writing to a text file or for writing raw bytes unless you want a NULL character on the end.
To flush the write buffer without closing the file, use fflush(fileID).
To reset the file position pointer to the beginning of the file, use frewind(fileID).
Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License