phpを含むファイルを別のphpサーバーにアップロードする
fopen、fread、およびfwrite関数を使用して、ファイルストリームを開き、データストリームを読み取り、そのデータをファイルに書き込むことができます。
ファイルリソースは、必ずしもローカルマシン自体の場所を指している必要はありません。
以下は、ローカルサーバーからftpサーバーにファイルを転送する例です-
$file = "file_name.jpg"; $destination = fopen("ftp://username:[email protected]/" . $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番目のサーバーは、通常のファイルアップロードとして処理できます。
-
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
-
PHPのreadfile()関数
readfile()関数はファイルを読み取り、それを出力バッファーに書き込みます。 構文 readfile(file_path, include_path, context) パラメータ file_path- ファイルのパス include_path − include_path でファイルを検索する場合は、このパラメーターをTRUEに設定します。 コンテキスト- ストリームの動作を指定します。 戻る readfile()関数は、ファイルから読み取られたバイト数を返します。 例 <?php echo readfile("o