PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

phpを含むファイルを別のphpサーバーにアップロードする


fopen、fread、およびfwrite関数を使用して、ファイルストリームを開き、データストリームを読み取り、そのデータをファイルに書き込むことができます。

ファイルリソースは、必ずしもローカルマシン自体の場所を指している必要はありません。

以下は、ローカルサーバーからftpサーバーにファイルを転送する例です-

$file = "file_name.jpg";
$destination = fopen("ftp://username:password@example.com/" . $file, "wb");
$source = file_get_contents($file);
fwrite($destination, $source, strlen($source));
fclose($destination);

画像をFTPサーバーに転送する必要があります。したがって、サーバーは書き込みモードで開かれ、イメージはその場所に書き込まれ、ストリームは閉じられます。

curl拡張機能は、クライアントURLライブラリ(libcurl)を使用して、ある場所から別の場所にファイルを転送します。カールソリューションを実装するロジックは、以下のロジックに従います-

  • 最初にセッションを開始します。
  • 必要な転送オプションを設定できます。
  • 転送を実行できます。
  • セッションを閉じることができます。

curlセッションは、「curl_init」関数を使用して初期化できます。他のcurl関数で使用できるリソースを返します。

ファイルのアップロード先や転送セッションに関連するその他の要素は、「curl_setopt」を使用して設定できます。

これは、設定とオプションの値を表す事前定義された定数であるカールリソースを取ります。

以下は、同じことを示す例です-

$session_begin = curl_init();
curl_setopt($session_begin, CURLOPT_POST, true);
curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt'));
curl_setopt($session_begin, CURLOPT_URL, 'https://server2/upload.php');
curl_exec($session_begin);
curl_close($session_begin);

2番目のサーバーは、通常のファイルアップロードとして処理できます。


  1. HTMLでファイルアップロードボタンを作成するにはどうすればよいですか?

    HTMLでファイルアップロードボタンを作成する方法については、コードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <h1>File upload button example</h1> <p>Click on the "Choose File" button to upload a file:</p> <form> <input type="file" id="FILE" name="f

  2. PHPのreadfile()関数

    readfile()関数はファイルを読み取り、それを出力バッファーに書き込みます。 構文 readfile(file_path, include_path, context) パラメータ file_path- ファイルのパス include_path − include_path でファイルを検索する場合は、このパラメーターをTRUEに設定します。 コンテキスト- ストリームの動作を指定します。 戻る readfile()関数は、ファイルから読み取られたバイト数を返します。 例 <?php    echo readfile("o