上载PHP文件时出错
我试图打印多个文件的名称,但是上载PHP文件时出错,php,Php,我试图打印多个文件的名称,但是上传的数组没有给我任何信息。我能做什么 <?php if (!empty($_FILES['file'])) { foreach ($_FILES['file']['name'] as $key => $name) { if ($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name
上传的数组没有给我任何信息。我能做什么
<?php
if (!empty($_FILES['file'])) {
foreach ($_FILES['file']['name'] as $key => $name) {
if ($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "files/{$name}")) {
$uploaded[] = $name;
}
}
print_r($uploaded);
}
?>
<!doctype html>
<body>
<div>
<form action="" method="post" encype="multipart/form-data">
<div>
<input type="file" name="file[]" multiple="multiple">
<input type="submit" value="Upload">
</div>
</form>
</div>
</body>
我建议像这样重构代码;注意增加了两个检查以及一个$upload=array()
在循环之前初始化$upload
数组:
<?php
if(!empty($_FILES['file'])) {
$uploaded = array();
if (array_key_exists('name', $_FILES['file'])) {
foreach($_FILES['file']['name'] as $key => $name) {
if(array_key_exists('error', $_FILES['file']) $_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "files/{$name}")) {
$uploaded[] = $name;
}
}
}
print_r($uploaded);
}
?>
';
如果(!空($\u文件['file'])){
…
但是看看你的HTML文件,你的在$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
也存在,并且move\u uploaded\u file
正在返回true
。这三件事中的一件没有发生。encype=“multipart/form data”中不应该有一个t吗?这个问题似乎与主题无关,因为它与键入错误有关。查看我最近的编辑。它只是enctype中缺少一个“t”=“多部分/表单数据”
<?php
echo '<pre>';
print_r($_FILES);
echo '</pre>';
if(!empty($_FILES['file'])) {
…
<form action="" method="post" encype="multipart/form-data">
<form action="#" method="post" encype="multipart/form-data">
<form method="post" encype="multipart/form-data">