Search code examples
phpreadfile

@readfile in php?


I hate that google can not search for symbols. I saw this in some sample code and wondered why there is an @ sign before the readfile function:

@readfile($filename);

What does it mean different to without an @ symbol?


Solution

  • An @ before a command in PHP means that no errors are printed. It's called the error control operator.

    If you removed the @ and readfile would encounter an error (such as not being able to read the file), then—depending on your PHP settings—the error message will be amidst your site content; something you rarely, if ever, want. (It gets worse even, if this happens before a call to header() or start_session() because once content is sent, the headers can't be written anymore.)