Во-первых, не пытайтесь загружать файлы с помощью метода @, он устарел в PHP5.5, отключен по умолчанию в PHP5.6 и полностью удален в PHP7.0.используйте CURLFile для загрузки файлов.чтобы упомянуть путь, просто добавьте путь как другую переменную post в массиве.Что касается получателя, прочитайте об обработке загрузки файлов в статье php на php.net.наконец, подумайте, хотите ли вы, чтобы любой, кто находит URL, мог загружать любой файл или нет.(вероятно, нет, вы * вероятно * хотите установить пароль при загрузке), например,
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'file' => new CURLFile('path/to/file.jpg'),
'path' => '/where/ever/you/want.jpg',
'password' => 'd540cyLp419rdwelv8c-'
));
для отправителя и
if (! hash_equals(hash('sha256', 'd540cyLp419rdwelv8c-', true), hash('sha256', (string) ($_POST['password'] ?? ''), true))) {
http_response_code(403); // forbidden
die("wrong/missing password.");
}
$upload_path = $_FILES["file"]["tmp_name"];
$requested_file_path = $_POST['path'];
для получателя, опять же, смотрите вышеупомянутое "Обработка загрузки файлов в php "статья, чтобы узнать больше.