Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Como faço para conseguir retirar de uma variável PHP $_FILES os nomes e tamanho dos arquivos estou fazendo dessa forma e não dá certo. É o upload de vários arquivos ao mesmo tempo com multiple.
for ($i = 0; $i < $numeroCampos; $i++) {
$Arquivo = $_FILES["file"]["name"][$i][0];
$tamanhoArquivo = $_FILES["file"]["size"][$i][3];
$nomeTemporario = $_FILES["file"]["tmp_name"][$i][2];
}Olá!
Segue sugestão:
js
function Carrega() {
const fileInput = document.getElementById("arquivo");
const fData = new FormData();
for (file of fileInput.files) {
fData.append('arquivo[]', file);
}
$.ajax({
url: "upload.php",
method: "POST",
data: fData,
contentType: false,
cache: false,
processData: false,
beforeSend: function () {
$('#respimg').html("Enviando...");
},
success: function (data) {
$('#msgret').html(data);
}
});
}
php
if (isset($_FILES['arquivo'])) {
for ($i = 0; $i < count($_FILES['arquivo']['name']); $i++) {
$nomeArquivo = $_FILES['arquivo']['name'][$i];
$tamanhoArquivo = $_FILES['arquivo']['size'][$i];
$nomeTemporario = $_FILES['arquivo']['tmp_name'][$i];
echo "<pre>Arquivo <b>$i</b>: ";
print_r([$nomeArquivo, $tamanhoArquivo, $nomeTemporario]);
echo '</pre>';
}
}
Eu fiz esse código em HTML
* } * * * * * * $.ajax({* * url: "upload.php",* * method: "POST",* * data: str, * * contentType: false,* * cache: false,* * processData: false, * * beforeSend:function(){* * $('#respimg').html("Enviando...");* * },* * success:function(data){* * $('#msgret').html(data); * * }* * });* * }* * **
**
PHP
*
*
**
<?php*
*
$numeroCampos = 2;*
*
if (isset($_FILES['arquivo'])){*
*
for ($i = 0; $i < $numeroCampos; $i++) {*
*
*
*
$nomeArquivo = $_FILES["arq"]["name"][$i];*
*
$tamanhoArquivo = $_FILES["arq"]["size"][$i];*
*
$nomeTemporario = $_FILES["arq"]["tmp_name"][$i];
*
*
**
}
*
*
**
*
*
**
Ele não faz se eu não colocar o if isset ele dá a mensagem de **Notice: Undefined index: arquivo
*