Recent Changes - Search:

add Extensions page

hide Extensions

Extensions


hide Topics

Topics

show Changed

Changed

Visitor's book Site map pmwiki-2.5.9

Url Get

Extension Hub -

To do
  • change skiwi
  • remove this comment

UrlGet version 2026-04-16

Summary: A PmWiki extension to replace PmWiki's use of "file_get_contents" with "cURL"
Version: 2026-04-16
Prerequisites: PmWiki pmwiki-2.5.9; PHP 8.3; ExtensionHub
Status: Beta
Maintainer: skiwi
Licence: GPL3 #
Categories: Extensions
Users: (view / edit)
Discussion: UrlGet-Talk

Questions answered by this extension

I want to use the built in RecipeCheck or Blocklist recipes.

  • how do I do this if "allow_url_fopen" is disabled by my webhost?
  • how do I do this in preference to "file_get_contents" used internally by PmWiki?
  • I want to write a recipe that uses simplexml_load_file

Description

This extension provides a function UrlGet which uses cURL to retrieve the contents of the URL.
The global variable $UrlGetFunction is set to UrlGet using the PmWiki function SDV if it is not already set.

The internal PmWiki variable "$UrlGetFunction" is set to "UrlGet\UrlGet".
UrlGet is a function that uses "cURl"(approve sites) to retrieve the contents of a URL.
Returns the URL contents as a string, or FALSE, the same as "file_get_contents".
Returns error messages in $FmtV['$UrlGetMsg'].

Install as an extension

Usage

Configuration

There is no configuration.

Internationalisations

There are no internationalisations.

Details

Change log / Release notes

2026-04-16: add a test and documentation
2026-04-08: Initial version based on internal code modding diag.php to enable RecipeCheck.

Testing

It has been possible to carry out only limited testing. The extension is in production use on a Windows and a Linux system. A built in test exercises one successful read and one read failure.

  • if the extension does not work on Linux from the archive file uncompress it. This is being investigated.

For extension developers

Test if allow_url_fopen is enabled

// check if allow_url_fopen is enabled
$allowUrlFopen = ini_get('allow_url_fopen') === 1;
if (!$allowUrlFopen) {
    $retVal .= RECIPENAME . ': "allow_url_fopen" is not enabled.' . BR;
}

To enable use of this extension

SDV($UrlGetFunction, 'file_get_contents'); # defaults to built in function
$fileContents= @$UrlGetFunction($url);
if ($fileContents === FALSE) {
    $errMsg = $FmtV['$UrlGetMsg'] ?? '';
    $retVal .= RECIPENAME . ': unable to retrieve "' . $url . '" ' . $errMsg . BR;
}

See also

tahi Page last modified on 2026 Apr 16 11:32

Edit - History - Recent Changes - WikiHelp - Search - email page as link -> mailto:?Subject="KiwiWiki: Url Get"&Body="From KiwiWiki: Url Get (https://kiwiwiki [period] nz/Extensions/UrlGet) - A PmWiki extension to replace PmWiki's use of "file_get_contents" with "cURL