[wp-trac] [WordPress Trac] #32561: Warning: fread() expects parameter 1 to be resource, boolean given in get_file_data()
WordPress Trac
noreply at wordpress.org
Wed Jun 3 14:48:54 UTC 2015
#32561: Warning: fread() expects parameter 1 to be resource, boolean given in
get_file_data()
--------------------------+-----------------------------
Reporter: SpYdR | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: 4.1.3
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
PHP throw this error when wordpress try to read metadata from a file which
is missing or isn't readable (throwing a "failed to open stream: No such
file or directory" warning).
In ''wp-includes/functions.php'' the '''get_file_data''' function code
must be :
{{{
// We don't need to write to the file, so just open for reading.
$fp = fopen( $file, 'r' );
if ($fp === false) {
return array();
}
// Pull only the first 8kiB of the file in.
$file_data = fread( $fp, 8192 );
// PHP will close file handle, but we are good citizens.
fclose( $fp );
// Make sure we catch CR-only line endings.
$file_data = str_replace( "\r", "\n", $file_data );
/**
* Filter extra file headers by context.
*
* The dynamic portion of the hook name, `$context`, refers to
* the context where extra headers might be loaded.
*
* @since 2.9.0
*
* @param array $extra_context_headers Empty array by default.
*/
if ( $context && $extra_headers = apply_filters(
"extra_{$context}_headers", array() ) ) {
$extra_headers = array_combine( $extra_headers, $extra_headers );
// keys equal values
$all_headers = array_merge( $extra_headers, (array)
$default_headers );
} else {
$all_headers = $default_headers;
}
foreach ( $all_headers as $field => $regex ) {
if ( preg_match( '/^[ \t\/*#@]*' . preg_quote( $regex, '/' ) .
':(.*)$/mi', $file_data, $match ) && $match[1] )
$all_headers[ $field ] = _cleanup_header_comment(
$match[1] );
else
$all_headers[ $field ] = '';
}
return $all_headers;
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/32561>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list