Не могу отправить файлы через обычный POST запрос
Столкнулся с проблемой, что не могу отправить никакие файлы через обычный пост запрос.
Файл то ли не предается, то ли не читается. Сам я разобраться, увы, не смог. Прошу вашей помощи
Код отправки
<div class="inp">
<input type="text" name="name">name<br>
</div>
<div class="inp">
<input type="text" name="address">address<br>
</div>
<div class="inp">
<input type="text" name="surname">surname<br>
</div><br>
<div style="float: left; width: 60%; overflow: none; height: 25%">
<div class="inp_half" id="series">
<input type="number" name="series" id="inp_half_2">series<br>
</div>
<div class="inp_half" id="number">
<input type="number" name="number" id="inp_half_2">number<br>
</div>
<div class="inp_half">
<input type="date" name="date">date<br>
</div>
<div class="inp_half">
<input type="number" name="cod">cod<br>
</div>
<div class="inp_half">
<input type="text" name="issued">issued<br>
</div>
</div>
<div style="float: right; width: 38%; padding: 1%; height: 25%;">
<div style="width: 46%; height: 110%; display: inline-block;">
<input type="file" name="img_upload_one" id="file_1" class="img">
<!--<label for="file_1">Добавить фото</label>-->
</div>
<div style="width: 46%; height: 110%; display: inline-block;">
<input type="file" name="img_upload_two" id="file_2" class="img">
<!--<label for="file_2">Добавить фото</label>-->
</div>
</div>
<div style="width: 100%; margin: 20% 0 0 0; height: 12%;">
<div class="inp_2">
<input type="text" name="email">email<br>
</div>
<div class="inp_2" id="tel">
<input type="number" name="telephone">telephone<br>
</div>
<input type="button" name="" value="Подтвердить" id="tel_sbt">
<input type="hidden" name="connect_id" value="<?= $user_id ?>">
</div>
<input type="submit" name="" id="sbm" value="Сохранить данные">
</div>
<div id="Ur" style="display: none;">
<input type="text" name="company_name">company_name<br>
<input type="number" name="inn">inn<br>
</div>
</form>
</div>
User_data.php
$img_type = substr($_FILES['img_upload_one']['type'], 0, 5);
$img_size = 2*1024*1024;
if(!empty($_FILES['img_upload_one']['tmp_name']) and $img_type === 'image'){
$img = addslashes(file_get_contents($_FILES['img_upload_one']['tmp_name']));
}else{
echo 'errrrrror';
}
$img_type_2 = substr($_FILES['img_upload_two']['type'], 0, 5);
$img_size_2 = 2*1024*1024;
if(!empty($_FILES['img_upload_two']['tmp_name']) and $img_type_2 === 'image'){
$img_2 = addslashes(file_get_contents($_FILES['img_upload_two']['tmp_name']));
}else{
echo 'errrrrror';
}
$connect->query("INSERT INTO `user_info`(`id`, `connect_id`, `surname`, `name`, `address`, `telephone`, `email`, `Password`, `series`, `number`, `date`, `cod`, `issued`, `photo_1`, `photo_2`, `type`, `inn`, `company_name`) VALUES (NULL, '$user_id', '$surname', '$name', '$address', '$telephone', '$email', '$password', '$series', '$number', '$date', '$cod', '$issued', '$img', '$img_2', '$type', '$inn', '$company_name')") or die('error');
Ответы (1 шт):
Автор решения: Денис
→ Ссылка
чтобы PHP определил файлы, то все должно быть заключено в тег form, у которго атрибут enctype="multipart/form-data"
если с аякс, то отправлять нужно src поля file (смотрите в сторону функции jquery FileReader();)