[theme-reviewers] fopen, fgets and freads errors

Tom Matteson perspectivevision at gmail.com
Sat Jul 16 22:42:19 UTC 2011


Darren ... I am pretty sure they were both using 3.1.x ... and in response
to your other question, my theme does not call get_file_data() anywhere.

*Best Regards
Tom Matteson*
----------------------------------------------------------------------------------------



On Sat, Jul 16, 2011 at 2:23 PM, Darren Slatten <darrenslatten at gmail.com>wrote:

> I'm guessing 3.1.x, since wp-includes/functions.php has an fopen() on line
> 4284 (whereas WP 3.2 has only a line break).
>
> The WP function calling fopen() is get_file_data(). Does your theme call
> this function directly?
>
> Here's the code:
>
> /**
>  * Retrieve metadata from a file.
>  *
>  * Searches for metadata in the first 8kiB of a file, such as a plugin or
> theme.
>  * Each piece of metadata must be on its own line. Fields can not span
> multple
>  * lines, the value will get cut at the end of the first line.
>  *
>  * If the file data is not within that first 8kiB, then the author should
> correct
>  * their plugin file and move the data headers to the top.
>  *
>  * @see http://codex.wordpress.org/File_Header
>  *
>  * @since 2.9.0
>  * @param string $file Path to the file
>  * @param array $default_headers List of headers, in the format
> array('HeaderKey' => 'Header Name')
>  * @param string $context If specified adds filter hook
> "extra_{$context}_headers"
>  */
> function get_file_data( $file, $default_headers, $context = '' ) {
>     // We don't need to write to the file, so just open for reading.
>     $fp = fopen( $file, 'r' );
>
>     // 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 );
>
>     if ( $context != '' ) {
>         $extra_headers = apply_filters( "extra_{$context}_headers", array()
> );
>
>         $extra_headers = array_flip( $extra_headers );
>         foreach( $extra_headers as $key=>$value ) {
>             $extra_headers[$key] = $key;
>         }
>         $all_headers = array_merge( $extra_headers, (array)
> $default_headers );
>     } else {
>         $all_headers = $default_headers;
>     }
>
>     foreach ( $all_headers as $field => $regex ) {
>         preg_match( '/^[ \t\/*#@]*' . preg_quote( $regex, '/' ) .
> ':(.*)$/mi', $file_data, ${$field});
>         if ( !empty( ${$field} ) )
>             ${$field} = _cleanup_header_comment( ${$field}[1] );
>         else
>             ${$field} = '';
>     }
>
>     $file_data = compact( array_keys( $all_headers ) );
>
>     return $file_data;
>
> }
>
>
> On Sat, Jul 16, 2011 at 4:14 PM, Darren Slatten <darrenslatten at gmail.com>wrote:
>
>> What version of WP are they using?
>>
>>
>>
>>
>> On Sat, Jul 16, 2011 at 3:49 PM, Tom Matteson <
>> perspectivevision at gmail.com> wrote:
>>
>>> Darren ... the first one switched to using a different theme because they
>>> could not resolve this. However, his WordPress installation was in a
>>> subdirectory (see the errors below **with the user's domain and subdirectory
>>> edited**) I do know the first user's site was hosted by surpasshosting dot
>>> com and per their security settings they would not enable allow_url_fopen
>>> ... other than that I am unaware of their php.ini settings
>>>
>>>
>>> Warning:
>>> fopen(
>>> http://primarydomain.com/sub-directory/wp-content/themes/wordsmith-anvil/style.css
>>> )
>>> [function.fopen]: failed to open stream: no suitable wrapper could be
>>> found in
>>> /home/primaryd/public_html/sub-directory/wp-includes/functions.php on
>>> line
>>> 4284
>>>
>>> Warning: fread(): supplied argument is not a valid stream resource in
>>> /home/primaryd/public_html/sub-directory/wp-includes/functions.php on
>>> line
>>> 4287
>>>
>>> Warning: fclose(): supplied argument is not a valid stream resource in
>>> /home/primaryd/public_html/sub-directory/wp-includes/functions.php on
>>> line
>>> 4290"
>>>
>>> One thing I had read somewhere is that using absolute paths (direct
>>> links) as opposed to relative paths could cause these errors to appear. In
>>> the Wordsmith Anvil theme the only direct links are:
>>>
>>>
>>>    - Developer and WordPress.org credit links (common with most all
>>>    themes)
>>>    - Link to FAQ and Theme Home page in Admin Theme Options Page (fairly
>>>    common)
>>>    - Various license links (common with all themes)
>>>    - Direct links assigned to Social Media variables for Twitter, FB,
>>>    Flickr, YouTube ...[eg $flickrurl = 'http://www.flickr.com/photos/';]
>>>    (common to themes with these options)
>>>
>>>
>>> The second user's site is hosted with secureserver.net (there apparently
>>> have been some errors with that host server and WordPress in the past see:
>>> http://wordpress.org/support/topic/defaultsecureservernet)
>>>
>>> The errors on the second user's site were the same. The user has
>>> currently deactivated the theme and has an under construction page
>>> displayed. I have emailed her to ask that she re-activate to get addtional
>>> feedback. I imagine it will be re-activated at some point today. For
>>> reference, the url to that site is: http://homesweethomerescue.org/
>>>
>>> As I discover additional details I will provide them.
>>>
>>> *Best Regards
>>> Tom Matteson*
>>>
>>> ---------------------------------------------------------------------------------------
>>>
>>>
>>>
>>> On Sat, Jul 16, 2011 at 12:37 PM, Darren Slatten <
>>> darrenslatten at gmail.com> wrote:
>>>
>>>> This would be a lot easier to diagnose if you could provide information
>>>> like:
>>>>
>>>>    - hosting environment
>>>>    - php.ini settings
>>>>    - full text of error messages
>>>>    - what types of pages/requests generate the errors
>>>>
>>>> If the errors are only showing in 2:10,000 installations, then there's a
>>>> good chance that those 2 users have an unusual server configuration or
>>>> file/URL structure. Could be caused by something like trying to open/include
>>>> a file or image that isn't in the typical location, relative to your theme.
>>>>
>>>>
>>>> On Sat, Jul 16, 2011 at 3:47 AM, Tom Matteson <
>>>> perspectivevision at gmail.com> wrote:
>>>>
>>>>> Greetings All Concerned ...
>>>>>
>>>>> I have a theme on the Repository--Wordsmith Anvil--which does not use
>>>>> fopen, fgets or freads functions. It has been downloaded close to 10,000
>>>>> times and I have just received a comment from the second user who is
>>>>> receiving errors referencing "failed to open stream: no suitable wrapper
>>>>> could be found in ...", or "supplied argument is not a valid stream resource
>>>>> in ..." with this theme. The errors all point to various lines of
>>>>> wp-includes/functions.php, except one file reference to the theme default
>>>>> css file, style.css. The first user told me they disabled all plugins. Also,
>>>>> they performed a fresh WordPress install and did not see the errors using
>>>>> TwentyTen and a number of other themes. The second user who contacted me
>>>>> yesterday told me they do not have any plugins installed and when they
>>>>> activated the Wordsmith Anvil theme, these errors display at the top of the
>>>>> page.
>>>>>
>>>>> Knowing that these functions are not used in this theme; yet the errors
>>>>> seem to be theme specific, and each user experiencing these errors have
>>>>> WordPress installations hosted on entirely different servers I am more
>>>>> uncertain as to why these errors are being displayed. I was hoping someone
>>>>> on this list may have experienced this with another theme and could shed
>>>>> some light on why these errors would occur when the theme does not use those
>>>>> functions. In fact, if these functions had been used in my theme, I am
>>>>> fairly certain it would not have been approved anyway.
>>>>>
>>>>> Otto, Nathan, Chip, Justin, Emil, Cais, etc ... any thoughts or
>>>>> feedback on this. I would like to address this so that users in the future
>>>>> do not see these errors.
>>>>>
>>>>> *Best Regards
>>>>> Tom Matteson*
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> theme-reviewers mailing list
>>>>> theme-reviewers at lists.wordpress.org
>>>>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Darren Slatten
>>>>
>>>>
>>>> _______________________________________________
>>>> theme-reviewers mailing list
>>>> theme-reviewers at lists.wordpress.org
>>>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>>>
>>>>
>>>
>>> _______________________________________________
>>> theme-reviewers mailing list
>>> theme-reviewers at lists.wordpress.org
>>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>>
>>>
>>
>>
>> --
>> Darren Slatten
>>
>>
>
>
> --
> Darren Slatten
>
>
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20110716/aec1e9a0/attachment-0001.htm>


More information about the theme-reviewers mailing list