PHP 上传:
Notice: Undefined index: file in
在线:$count = count($_FILES['file']['name']);
几乎运行我发现的所有带有此错误的代码...仍然没有得到任何结果
PHP 代码:
<?php
$count = 0;
if(isset($_POST['uploadFinish'])) {
$bcode = $_POST['code'];
$newpath = "upload/".$bcode."/";
if (!file_exists($newpath)) {
mkdir($newpath, 0755, true);
}
$count = count($_FILES['file']['name']);
if($count < 1) {
$message = "At least 1 file required"; $count='';
} else {
move_uploaded_file($_FILES['file']['tmp_name'], $newpath.'/File-'.$bcode);
}
}
?>
HTML/JS:
<button class="btn btn-primary btntrg123" id="uploadBtn" style="background: #008489; border-color: #008489">Upload file</button>
<form style="display: none!important;" id="uploadConf" method="post" enctype="multipart/form-data">
<div style='height: 0px;width:0px; overflow:hidden;'>
<input type="file" id="file" name="file[]" multiple="multiple" onclick="getFile()" class="btn btn-primary inptri123">
</div>
<input type="hidden" name="code" value="<?php echo $code; ?>">
<input name="uploadFinish" value="1" type="hidden">
</form>
<script type="text/javascript">
$(".btntrg123").click(function(event){
event.preventDefault();
$(".inptri123").trigger('click');
});
function getFile(){
document.getElementById("file").onchange = function () {
var file = this.value;
console.log(file);
var form = document.getElementById('uploadConf');
form.submit();
};
}
</script>
两个代码都是同一个 php 文件。从其他文件运行 php,结果相同。
Console.log 为我提供了文件,但它没有上传到服务器。 文件夹已创建。
最佳答案
多文件上传时可以使用
$name=$_FILES['file']['name'][$index];
$tmp=$_FILES['file']['tmp_name'][$index];
你的代码应该如下所示
$total = count($_FILES['file']['name']);
for( $i=0 ; $i < $total ; $i++ ) {
$tmp= $_FILES['file']['tmp_name'][$i];
if (!(empty($tmp )){
$path= "/upload/" . $_FILES['file']['name'][$i];
if(move_uploaded_file($tmp, $path)) {
echo $_FILES['file']['name'][$i]. ' uploaded';
}
}
}
关于javascript - undefined index -> PHP 上传不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57823191/