03-11-2010
While I would mostly agree with the file descriptor definition, a file pointer is not usually what you describe but commonly used to refer to what the standard C library uses to handle files (FILE *).
The associated functions are fopen, fclose, fread, fwrite, fscanf and the likes.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am trying to find a way to check the current status of a file. Such as some cron job processes are dependent on the completion of others. if a file is currently being accessed / modified or simply open state I will wait until it is done being processed before attempting the next process on that... (3 Replies)
Discussion started by: Gary Dunn
3 Replies
2. UNIX for Dummies Questions & Answers
What is a file descriptor in Unix??
How to find a file descriptor of a file in Unix??
Does it have anything to do with the Inode numbers?? (3 Replies)
Discussion started by: rahulrathod
3 Replies
3. UNIX for Dummies Questions & Answers
Hi everybody,
i am newbie to unix and confused with file pointers and file descripters.
could anyone help me to clear my doubts ..
when we call unix system calls to create a file then we are dealing wih file descripters
i think file descripters are also normals file as stored inhard disks... (1 Reply)
Discussion started by: johnray31
1 Replies
4. Programming
Hi,
I want to validate that a file is a socket file on Linux. I know I can do this using the S_ISSOCK macro, but I am not sure how to get the file descriptor for the socket file.
For example, I know that /tmp/mapping-foo is a socket file. In Python I can do something like this:
>>> import... (2 Replies)
Discussion started by: goon12
2 Replies
5. Shell Programming and Scripting
Hello All,
Im opening a file desciptor in perl and sending data using print CMD "$xyz".
is there a limit to the length of the string that I can give to this CMD at a time. (3 Replies)
Discussion started by: rimser9
3 Replies
6. UNIX for Dummies Questions & Answers
Hi
What the below path contains?
/proc/<pid>/fd (1 Reply)
Discussion started by: siba.s.nayak
1 Replies
7. Programming
Hi ,
i have two basic requirement on linux platform . I am using C language to do this .
1) copying one file to another (assuming i know their file descriptors)
2) Overwriting a file using it file descriptor .
Please guide.
regards
Aki (2 Replies)
Discussion started by: meet123321
2 Replies
8. Shell Programming and Scripting
Hello,
How can i use file descriptor in a script to read 2 files at the same time and extract line 200 from file 1 and line 500 from file 2.
Thanks. (6 Replies)
Discussion started by: LiorAmitai
6 Replies
9. Shell Programming and Scripting
I am trying to write a script which will only show me the file descriptor count for a process/pid. My script will return me the count only not the whole output. For example, I would like my script to return the output 23 this case, not the whole output.
Can anybody please help me how do I get... (11 Replies)
Discussion started by: mohullah
11 Replies
10. Shell Programming and Scripting
Greetings.
I am happily using constructs like the following; I have set -x to show fine distinctions.
$ exec 4> afile
+ exec
+ 4> afile
$ print -u4 This is the first line in afileAs you can see from the -x expansion, the shell performed the exec command and redirected file descriptor to... (4 Replies)
Discussion started by: rpaskudniak
4 Replies
FREAD(3) 1 FREAD(3)
fread - Binary-safe file read
SYNOPSIS
string fread (resource $handle, int $length)
DESCRIPTION
fread(3) reads up to $length bytes from the file pointer referenced by $handle. Reading stops as soon as one of the following conditions is
met:
o$length bytes have been read
o EOF (end of file) is reached
o a packet becomes available or the socket timeout occurs (for network streams)
o if the stream is read buffered and it does not represent a plain file, at most one read of up to a number of bytes equal to the
chunk size (usually 8192) is made; depending on the previously buffered data, the size of the returned data may be larger than the
chunk size.
PARAMETERS
o $handle
-A file system pointer resource that is typically created using fopen(3).
o $length
- Up to $length number of bytes read.
RETURN VALUES
Returns the read string or FALSE on failure.
EXAMPLES
Example #1
A simple fread(3) example
<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Example #2
Binary fread(3) example
Warning
On systems which differentiate between binary and text files (i.e. Windows) the file must be opened with 'b' included in
fopen(3) mode parameter.
<?php
$filename = "c:\files\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Example #3
Remote fread(3) examples
Warning
When reading from anything that is not a regular local file, such as streams returned when reading remote files or from
popen(3) and fsockopen(3), reading will stop after a packet is available. This means that you should collect the data
together in chunks as shown in the examples below.
<?php
// For PHP 5 and up
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
if (FALSE === $handle) {
exit("Failed to open stream to URL");
}
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
NOTES
Note
If you just want to get the contents of a file into a string, use file_get_contents(3) as it has much better performance than the
code above.
Note
Note that fread(3) reads from the current position of the file pointer. Use ftell(3) to find the current position of the pointer
and rewind(3) to rewind the pointer position.
SEE ALSO
fwrite(3), fopen(3), fsockopen(3), popen(3), fgets(3), fgetss(3), fscanf(3), file(3), fpassthru(3), ftell(3), rewind(3).
PHP Documentation Group FREAD(3)