Member 12899279 Ответов: 1

Как загрузить файлы с C++ с помощью curl на PHP-сервер


Пожалуйста, не приводите ссылки на документацию curl или примеры, так как они очень старые и запутанные
мне просто нужен очень простой пример, в котором, если я отправлю файлы типа .docx или .pdf из c++ в мой php-скрипт, я могу сохранить их в папке на php-сервере

Что я уже пробовал:

это то, что я знаю, как я могу отправлять значения переменных из c++ с помощью curl, но я ищу метод для загрузки файлов в папки на php-сервере, а не в таблицах
CURL * curl;
	curl_global_init(CURL_GLOBAL_ALL);
	CURLcode res;

	string UserName = pcobj.getUserName();


	string request = "UserName=" + UserName;
	string url = "http://localhost:8084/project/Files.php";
	curl = curl_easy_init();
	if (curl)
	{
		curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
		curl_easy_setopt(curl, CURLOPT_POSTFIELDS, request.c_str());
		res = curl_easy_perform(curl);
		if (res != CURLE_OK)
		{
			fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
		}
		curl_easy_cleanup(curl);
	}
	curl_global_cleanup();

Member 12899279

я смог сделать это с помощью следующего кода

Завиток *завиток;
CURLcode res;

curl_httppost* пост = нуль;
curl_httppost* последнее = нуль;
/*HttpPost* post = NULL;
HttpPost* last = NULL;*/

завиток = curl_easy_init();
если (завиток)
{
curl_formadd(&ампер;пост &амп;последние,
CURLFORM_COPYNAME, "name2",
CURLFORM_COPYCONTENTS, "CV",
CURLFORM_END);
curl_formadd(&ампер;пост &амп;последние,
CURLFORM_COPYNAME, "file2",
CURLFORM_FILE, "E:\\BIMS Uni\\CV.docx",
CURLFORM_END);



curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:8081/PCInfo/test.php");
curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);

Рес = curl_easy_perform(Curl для);
if (res)
{
возвращает 0;
}

curl_formfree(пост);
}
еще
{
возвращает 0;
}

curl_easy_cleanup(завиток);
Но теперь моя проблема заключается в том что я хочу загрузить несколько файлов у меня есть пути к каталогам этих файлов и я хочу чтобы они загружались на сервер автоматически с помощью какого то цикла а также В приведенном выше методе я не могу извлечь имя файла и я предоставляю имя файла через жесткое кодирование которое я не хочу использовать

1 Ответов

Рейтинг:
0

Richard MacCutchan

Смотрите комментарии по адресу libcurl - curl_easy_perform()[^].