【发布时间】:2014-07-10 17:56:51
【问题描述】:
首先,我在这里查看了一些类似的问题,但仍然无法解决我的问题。
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);
}
});
});
错误:
未定义索引:第 xx 行 /public_html/script.php 中的文件名(收集 $_FILES 变量的两行。
“错误:未上传”
【问题讨论】:
-
似乎 $_FILES 不包含“文件名”的键。您是否在表单标签中添加了
enctype=multipart/form-data? -
我刚刚添加了它,问题仍然存在。 :(
-
您可以发布您的表单标签吗?你也可以
print_r($_FILES)看看结果如何?顺便说一句,您应该更改代码的另一件事。isset()检查变量是否存在, $name 在您的情况下始终存在,无论它是否为空。请改用isset($_FILES['filename'])。 -
我刚改成isset($_FILES),最后使用了print_r($_FILES),它返回一个空数组:Array(