Цель:
1. Чтобы включить идентификатор (в данном примере идентификатор = 1), когда форма загрузки представляется так, что она может быть доступна в submit.php
2. Для того, чтобы вставить имя в качестве sql db в зависимости от идентификатора.
Форма:
Как включить идентификатор в представлении формы?
<form action="#" enctype="multipart/form-data" method="post">
<input type="hidden" name="name" id="1">
<input type="file" name="upload" id="upload" >
<input class="button" type="submit" name="submit" value="Submit Content">
</form>
Сценарий:
$('input[type=file]').on('change', prepareUpload);
$('form').on('submit', uploadFiles);
function prepareUpload(event)
{
files = event.target.files;
}
function uploadFiles(event)
{
event.stopPropagation();
event.preventDefault();
var data = new FormData();
$.each(files, function(key, value)
{
data.append(key, value);
});
$.ajax({
url: 'submit.php?files',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(data, textStatus, jqXHR)
{
console.log('Successfully uploaded the file');
},
error: function(jqXHR, textStatus, errorThrown)
{
console.log('Failed to upload the file');
}
});
}
submit.php
<?php
$data = array();
if(isset($_GET['files']))
{
$error = false;
$files = array();
$uploaddir = 'uploads/';
foreach($_FILES as $file)
{
if(move_uploaded_file($file['tmp_name'], $uploaddir .basename($file['name'])))
{
$files[] = $uploaddir .$file['name'];
}
else
{
$error = true;
}
}
$data = ($error) ? array('error' => 'There was an error uploading your files') : array('files' => $files);
}
else
{
$data = array('success' => 'Form was submitted', 'formData' => $_POST);
}
echo json_encode($data);
?>
спасибо!
http://stackoverflow.com/questions/4500164/how-can-an-id-of-input-field-can-be-read-by-php Вы можете прочитать это ... –
Привет @Carlos! Благодаря! Но как я могу добавить id в данные в jquery? В настоящее время данные хранятся в файле, который я загружаю. Я не могу получить добавление или добавление id. – Mary
Просто имейте в виду, что люди могут изменить это значение на клиенсиде, прежде чем отправлять его на PHP. В зависимости от того, что вы делаете с ним, возможно, стоит написать некоторые проверки на стороне бэкэнда, чтобы убедиться, что ценность на самом деле является тем, чем она должна быть. – Bono