параметры необходимо отправлять в формате application/x-www-form-urlencoded.Соответственно читаем доку...
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
Хеш лучше sha-256 минимум использовать, он длиннее что уменьшает вероятность коллизий.
Вероятность случайного совпадения всего двух хешей MD5 составляет 1/2^128, что составляет 1 к 340 ундециллионам 282 дециллионам 366 нониллионам 920 октиллионам 938 септиллионам 463 секстиллионам 463 квинтиллионам 374 квадриллионам 607 триллионам 431 миллиардам 768 миллионам 211 тысячам 456.
Однако, если вы сохраните все хеши, то вероятность немного выше из-за парадокса дня рождения . Чтобы иметь 50% шанс совпадения любого хэша с другим хешем, вам нужно всего 2^64 хеша. Это означает, что для получения коллизии в среднем вам потребуется хэшировать 6 миллиардов файлов в секунду в течение 100 лет .
$valid_types = array("jpeg", "png", "jpg", "svg");
$file_type = end(explode(".", $filename)); //а если IMAGE.JPG будет?
$TARGET_PATH = "images/products/"; //такие вещи обычно пишутся в константы
global $target_path; // 1) глобал использовать плохо,
// 2) написание различается,
// 3) пути должны быть абсолютными.
$mail->isSMTP();
...
$mail = new PHPMailer(true);
Ничего странного не замечаете? Включите вывод ошибок, или смотрите ерорлог пхп,Нет смысла смотреть код, если не понятно работает ли что-то вообще... Как вариант - первыми строчками поставьте
var_dump($_POST);
exit();
и смотрите вернул ли что-то вообще сервер... При этом Badoo и Avito изначально были на PHP. Но они скорее исключение, чем правило.Наоборот, они скорее правило. Характерные примеры - вк, фб... А про букинг который вообще на перле изначально был я вообще молчу.
забрать данные с моего же сервера при помощи fetch.но запрашиваете вы из другого домена, да?
Не исключено, что проблема и в самом сервере.Скорее всего, заголовки должны позволять кросорижин запросы, а не просто быть. Смотрите вкладку нетворк, какие заголовки, что получаете в ответ, вот это все...