-
Anonymous
Управление загрузкой файла AJAX POST в файл PHP
Сообщение
Anonymous »
Используя AJAX, я отправляю значение управления загрузкой файла в файл PHP.
Управление загрузкой файла ниже:
Вызов AJAX ниже:
Код: Выделить всё
var file_data = $('#policy_image').prop('files')[0];
var policy_image = new FormData();
policy_image.append('file', file_data);
$.ajax({
type: 'post',
url: 'addpolicy.php',
data: {
'policy': $('#policy').val(),
'policy_image': policy_image
},
enctype: 'multipart/form-data',
processData: false,
contentType: false,
success: function(data) {
alert('Success');
}
});
В моем PHP-файле я получаю опубликованное значение, как показано ниже.
PHP-файл:
Код: Выделить всё
$name = $_POST['policy'];
$imgFile = $_FILES['file']['name'];
$tmp_dir = $_FILES['file']['tmp_name'];
$imgSize = $_FILES['file']['size'];
$upload_dir = 'assets/img/policy/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
// if no error occured, continue ....
if(!isset($errMSG))
{
$stmt = $DB_con->prepare('INSERT INTO policy(name,image) VALUES(:name, :image)');
$stmt->bindParam(':name',$name);
$stmt->bindParam(':image',$userpic);
if($stmt->execute())
{
$successMSG = "new record succesfully inserted ...";
}
else
{
$errMSG = "error while inserting....";
}
}
теперь я получаю сообщение об ошибке типа «Неопределенный индекс: политика» и «Неопределенный индекс: политика_изображения»
Подробнее здесь:
https://stackoverflow.com/questions/428 ... o-php-file
1771074075
Anonymous
Используя AJAX, я отправляю значение управления загрузкой файла в файл PHP.
Управление загрузкой файла ниже:
[code]
[/code]
Вызов AJAX ниже:
[code]var file_data = $('#policy_image').prop('files')[0];
var policy_image = new FormData();
policy_image.append('file', file_data);
$.ajax({
type: 'post',
url: 'addpolicy.php',
data: {
'policy': $('#policy').val(),
'policy_image': policy_image
},
enctype: 'multipart/form-data',
processData: false,
contentType: false,
success: function(data) {
alert('Success');
}
});
[/code]
В моем PHP-файле я получаю опубликованное значение, как показано ниже.
PHP-файл:
[code]$name = $_POST['policy'];
$imgFile = $_FILES['file']['name'];
$tmp_dir = $_FILES['file']['tmp_name'];
$imgSize = $_FILES['file']['size'];
$upload_dir = 'assets/img/policy/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
// if no error occured, continue ....
if(!isset($errMSG))
{
$stmt = $DB_con->prepare('INSERT INTO policy(name,image) VALUES(:name, :image)');
$stmt->bindParam(':name',$name);
$stmt->bindParam(':image',$userpic);
if($stmt->execute())
{
$successMSG = "new record succesfully inserted ...";
}
else
{
$errMSG = "error while inserting....";
}
}
[/code]
теперь я получаю сообщение об ошибке типа «Неопределенный индекс: политика» и «Неопределенный индекс: политика_изображения»
Подробнее здесь: [url]https://stackoverflow.com/questions/42829937/ajax-post-file-upload-control-to-php-file[/url]