As long as
allow_url_fopen is enabled in
php.ini, you can use HTTP and FTP URLs with most of the
functions that take a filename as a parameter. In addition,
URLs can be used with the include(),
include_once(), require() and
require_once() statements. See 附錄 I for more information about the
protocols supported by PHP.
注: In PHP 4.0.3 and older, in order to use URL wrappers, you were required to configure PHP using the configure option --enable-url-fopen-wrapper.
注: The Windows versions of PHP earlier than PHP 4.3 did not support remote file accessing for the following functions: include(), include_once(), require(), require_once(), and the imagecreatefromXXX functions in the 參考 XLI, Image functions extension.
For example, you can use this to open a file on a remote
web server, parse the output for the data you want, and then
use that data in a database query, or simply to output it in
a style matching the rest of your website.
You can also write to files on an FTP server (provided
that you have connected as a user with the correct access
rights). You can only create new files using this method; if
you try to overwrite a file that already exists, the fopen()
call will fail.
To connect as a user other than 'anonymous', you need to
specify the username (and possibly password) within the URL,
such as 'ftp://user:password@ftp.example.com/path/to/file'.
(You can use the same sort of syntax to access files via HTTP
when they require Basic authentication.)
注: You might get the idea from the example above that you can use this technique to write to a remote log file. Unfortunately that would not work because the fopen() call will fail if the remote file already exists. To do distributed logging like that, you should take a look at syslog().