[解決済み] PHPでcurlを使ってファイルをアップロードする方法 [終了しました]。
2023-05-07 13:30:28
質問
PHPでcURLなどを使ってファイルをアップロードする方法を知りたいです。何度もgoogleで検索しましたが、結果が出ません。
言い換えれば、ユーザーはフォーム上のファイルアップロードボタンを見て、フォームは私のPHPスクリプトに投稿され、私のPHPスクリプトは別のスクリプト(例えば、別のサーバー)にそれを再投稿する必要があるのです。
私はファイルを受け取り、それをアップロードするために次のコードを持っています。
のコードです。
echo"".$_FILES['userfile']."";
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if ( isset($_FILES["userfile"]) ) {
echo '<p><font color="#00FF00" size="7">Uploaded</font></p>';
if (move_uploaded_file
($_FILES["userfile"]["tmp_name"], $uploadfile))
echo $uploadfile;
else echo '<p><font color="#FF0000" size="7">Failed</font></p>';
}
受信ファイルにファイルを送信するコードが欲しい。
どのように解決するのですか?
使用します。
if (function_exists('curl_file_create')) { // php 5.5+
$cFile = curl_file_create($file_name_with_full_path);
} else { //
$cFile = '@' . realpath($file_name_with_full_path);
}
$post = array('extra_info' => '123456','file_contents'=> $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);
参照することもできます。
http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and-php/
PHP 5.5+のための重要なヒントです。
ここで
https://wiki.php.net/rfc/curl-file-upload
を使うべきですが、もしまだこの非推奨の方法を使いたいのであれば、次のように
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
関連
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] cURL を使ってファイル付き POST データをアップロードする
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】cURLを使用して、リクエストとレスポンスタイムを一度に測定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】空の配列要素を削除する
-
[解決済み】mysqli_result クラスのオブジェクトを文字列に変換できない
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み】mysqli::query(): mysqli をフェッチできない