Чтобы начать работу, я рассмотрел несколько подобных проблем здесь, но по-прежнему не могу решить эту проблему.Загрузка файла PHP не работает. Получение ошибки:
HTML:
<input type="file" name="filename" multiple="multiple" data-classIcon="icon-plus" data-buttonText="Upload Your File">
PHP:
$name = $_FILES['filename'];
$temp_name = $_FILES['filename']['tmp_name'];
if(isset($name)){
if(!empty($name)){
$location = 'uploads/';
if(move_uploaded_file($temp_name, $location.$name)){
echo 'uploaded';
}
}
} else {
echo 'error: not uploaded';
}
JS:
$('#cc-submit').on('click', function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "balanced/example.php",
data: $('#creditcardpost').serialize(),
success: function(data)
{
alert(data);
}
});
});
Ошибка:
Undefined индекс: имя файла в /public_html/script.php на линии xx (две линии, которые собирать переменные $ _FILES.
"Ошибка: не загружен"
Кажется, что $ _FILES не содержит ключа для 'filename'. Вы добавили в свой тег формы 'enctype = multipart/form-data'? – Chris
Я просто добавил его, и проблема сохраняется. :( – IAteYourKitten
Можете ли вы опубликовать свой тег формы? Можете ли вы также «print_r ($ _ FILES)» и посмотреть, что получится? Есть еще одна вещь, которую вы должны изменить на свой код. «Isset()» проверяет существование переменной, $ name всегда существует в вашем случае, является ли оно пустым или нет. Вместо этого используйте 'isset ($ _ FILES ['filename']). – Chris