Olá!
Eu criei um código em PHP para salvar as fotos numa pasta com novos nomes dos arquivos de imagem. Até aí tudo bem, funciona o código. Só que agora preciso jogar de volta ao Front-End para salvar esses novos nomes e continuar o cadastro. Eu estou trabalhando numa função Javascript que está no arquivo separado. Eu estou tentando usar o HTMLCollection para pegar os nomes, já conseguir pegar o primeiro nome na posição [0]. Segue o código.
<?php
function bytesToSize1024($bytes, $precision = 2) {
$unit = array('B','KB','MB');
return @round($bytes / pow(1024, ($i = floor(log($bytes, 1024)))), $precision).' '.$unit[$i];
}
//Pega o id do usuário logado
$id_url = $_GET['id'];
// Numero de campos de upload
$numeroCampos = count($_FILES['image_file']['name']);
// Tamanho máximo do arquivo (em bytes)
$tamanhoMaximo = 1024*1024*2;
// Extensões aceitas
$extensoes = array(".jpg", "jpeg", ".gif", ".png", ".pdf", ".bmp", ".pdf", ".tiff");
//Local da pasta
$_UP['pasta'] = '../upload/';
$substituir = false;
for ($i = 0; $i < $numeroCampos; $i++) {
// Informações do arquivo enviado
$sFileName = $_FILES['image_file']['name'][$i];
$sSize = $_FILES['image_file']['size'][$i];
$sFileSize = bytesToSize1024($sSize, 1);
$nomeTemporario = $_FILES['image_file']['tmp_name'][$i];
// Verifica se o arquivo foi colocado no campo
if (!empty($sFileName)) {
$erro = false;
// Verifica se o tamanho do arquivo é maior que o permitido
if ($sSize > $tamanhoMaximo) {
$erro = "O arquivo " . $sFileName . " não deve ultrapassar " . $tamanhoMaximo. " bytes";
}
// Verifica se a extensão está entre as aceitas
elseif (!in_array(strrchr($sFileName, "."), $extensoes)) {
$erro = "A extensão do arquivo <b>" . $sFileName . "</b> não é válida";
}
// Verifica se o arquivo existe e se é para substituir
elseif (file_exists($_UP['pasta'] . $sFileName) and !$substituir) {
$erro = "O arquivo <b>" . $sFileName . "</b> já existe";
}
else{
//Pega a extensão do arquivo
$TipoExtensao = pathinfo($sFileName, PATHINFO_EXTENSION);
// O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta
// Primeiro verifica se deve trocar o nome do arquivo
$unixTime = time();
$timeZone = new \DateTimeZone('America/Sao_Paulo');
$time = new \DateTime();
$time->setTimestamp($unixTime)->setTimezone($timeZone);
$formattedTime = $time->format('d-m-Y_l_h-i-s-a');
$aleatorio = rand();
if($TipoExtensao == 'pdf'){
$nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.pdf';
}else{
$nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.jpg';
}
// Depois verifica se é possível mover o arquivo para a pasta escolhida
if (move_uploaded_file($nomeTemporario, $_UP['pasta'] . $nome_final)) {
// Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo
echo "Upload do arquivo ".$sFileName." foi efetuado com sucesso!";
echo "</br>";
echo<<<EOF
<p></p>
<p>Nome: {$sFileName}</p>
<p>Tamanho: {$sFileSize}</p>
<form id="resultado">
<input id="impu" type="text" ng-model="sp.nomeFoto[{$i}]" name="nomeFoto[{$i}]" disabled value={$nome_final}>
</form>
<p></br></p>
EOF;
} else {
// Não foi possível fazer o upload, provavelmente a pasta está incorreta
echo "Não foi possível enviar o arquivo, tente novamente";
echo "</br>";
}
}
} else {
echo "Selecione algum arquivo de imagem ou PDF para fazer o upload.";
}
?>
````Texto pré-formatado`
function novoUpload(impu) {
data = new Date();
dia = String(data.getDate()).padStart(2, '0');
mes = String(data.getMonth() + 1).padStart(2, '0');
ano = data.getFullYear();
end = "app/upload/"+document.getElementById("impu").value;
document.getElementById("demo").innerHTML = end;
ext = path.split('.').pop();
dataAtual = dia + '/' + mes + '/' + ano;
id = $rootScope.usuario.id;
url = arq.end;
userId = arq.id;
upIdAcao = arq.nome;
upTipo = 1;
upData = arq.dataAtual;
//upArray = arq.
return arq;
}