機能
日本語版PHP マニュアルトップへ 英語版PHP Manualトップへ

リモートファイルの使用

php.iniallow_url_fopen を有効にした場合、 ファイル名をパラメータとする関数の多くで HTTP および FTP のURL を使用することができます。加えて、include(), include_once(), require(), require_once() 命令でURLを使用することができます (PHP 5.2.0 以降では、これらで使用するためには allow_url_include を有効にする必要があります)。 PHPがサポートしているプロトコルに関する詳細は サポートされるプロトコル/ラッパーを参照してください。

注意: PHP 4.0.3以前のバージョンにおいては、URLラッパーを使用するために、 configureオプション --enable-url-fopen-wrapper を使用してPHPをconfigureを行なう必要があります。

注意: PHP 4.3未満のWindows版PHPは次の関数については リモートファイルアクセスをサポートしてません: include(), include_once(), require(), require_once(), そしてImage 関数拡張によるimagecreatefromXXX関数。

例えば、リモートWebサーバーにファイルをオープンし、データを出力、デー タベースクエリーに使用するか、単にWebサイトのスタイルに合わせて出力 を行うことが可能です。

例1 リモートページのタイトルを得る

<?php
$file 
fopen("http://www.php.net/""r");
if (!
$file) {
  echo 
"<p>Unable to open remote file.\n";
  exit;
}
while (!
feof($file)) {
  
$line fgets($file1024);
  
/* タイトルとタグが同じ行にある場合のみ動作します。 */
  
if (eregi("<title>(.*)</title>"$line$out)) {
    
$title $out[1];
    break;
  }
}
fclose($file);
?>

(正しいアクセス権限を有するユーザとして接続した場合には) FTPサーバにファイルを書き込むこともできます。 この方法では、新規ファイルを作成することのみができます。 既存のファイルを上書きしようとした場合には、 fopen()の処理は失敗します。

'anonymous'以外のユーザーで接続を行う場合、URLの中で 'ftp://user:password@ftp.example.com/path/to/file' のように ユーザー名(そして多分パスワードも)指定する必要があります。 (Basic認証を要求された際にHTTP経由でファイルをアクセスする場合と 同じ種類の構文を使用することができます。)

例2 リモートサーバーにデータを保存する

<?php
$file 
fopen ("ftp://ftp.example.com/incoming/outputfile""w");
if (!
$file) {
    echo 
"<p>Unable to open remote file for writing.\n";
    exit;
}
/* データをここに書きます。 */
fputs ($file$_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

注意: 上の例からリモートログに書きこむためにこの手法を使用することを考えるかも しれません。 しかし残念ながら、リモート上のファイルが既に存在する状態では fopen()をコールすることができないため、 それはできません。 分散ロギングのようなことを行うには、 syslog() の使用を考えてみてください。

PHPメニュー

スポンサー

人材派遣・アルバイト

日本全国の人材派遣会社とアルバイト紹介サイトを集めたディレクトリです。派遣やアルバイトをお探しの方はご参考に。

会社設立

株式会社の設立や電子定款公証を専門とする方の紹介サイト。

風俗営業許可(バー・キャバクラ等)

バーやキャバレー、クラブやスナック、パチンコ店やダーツバー等を始める場合に必要な風俗営業許可を専門に扱うサイトです。

産業廃棄物収集運搬業許可

産業廃棄物を取扱う事業の中でも収集運搬を専門に許可取得代行を行う専門家を紹介するサイトです。建築関係で事業拡大を図りたい場合にご覧下さい。

NPO法人設立・助成金

NPO法人の設立や運営、助成金の申請を専門にするプロ集団です。


機能
日本語版PHP マニュアルトップへ 英語版PHP Manualトップへ