Desculpa aí galera, sei que pra vocês deve ser algo insignificante o que preciso, mas já quebrei muito a cabeça e ainda não consegui o que quero.
Estou iniciando em php. Peguei um script que é ótimo para o que eu quero, só que preciso fazer uma pequena modificação e não consigo, qualquer dica será bem vinda neste estágio da coisa.
Seguinte: tenho três scripts, um que pega a quantidade de fotos a serem enviadas, outro que constrói o formulário para upload, e um terceiro que processa tudo e envia. O que preciso é adicionar (o que sei fazer) mais um campo de texto no primeiro formulário onde o internauta digita seu primeiro nome, para que as fotos venham nomeadas assim: fulano 01, fulano 02. fulano 03...
O que não consigo é fazer com que o segundo script faça isso. Ai vão os três scripts :
form_conta.php
<form action="form_gera.php" method="post">
<b>Envio das fotos</b><br />
Seu primeiro nome:<input type="text" name="nomefoto" size="40"/><br>
Pergunta
Léo Muniz
Desculpa aí galera, sei que pra vocês deve ser algo insignificante o que preciso, mas já quebrei muito a cabeça e ainda não consegui o que quero.
Estou iniciando em php. Peguei um script que é ótimo para o que eu quero, só que preciso fazer uma pequena modificação e não consigo, qualquer dica será bem vinda neste estágio da coisa.
Seguinte: tenho três scripts, um que pega a quantidade de fotos a serem enviadas, outro que constrói o formulário para upload, e um terceiro que processa tudo e envia. O que preciso é adicionar (o que sei fazer) mais um campo de texto no primeiro formulário onde o internauta digita seu primeiro nome, para que as fotos venham nomeadas assim: fulano 01, fulano 02. fulano 03...
O que não consigo é fazer com que o segundo script faça isso. Ai vão os três scripts :
form_conta.php
<form action="form_gera.php" method="post">
<b>Envio das fotos</b><br />
Seu primeiro nome:<input type="text" name="nomefoto" size="40"/><br>
Qual a quantidade de imagens do Evento?
<input type="text" name="quantidade" size="5"/><br />
<input type="submit" value="OK"/>
</form>
form_gera.php
<?php
// Obtém quantidade enviada. Perceba que é verificado se foi fornecido um número inteiro,
// caso contrário é usada uma quantidade padrão, 5.
$Quantidade = (isset($_POST['quantidade']) && is_int(intval($_POST['quantidade']))) ? (int)$_POST['quantidade'] : 5;
// Abre formulário de upload
echo '<form action=processa_upload.php" method="POST" enctype="multipart/form-data">';
echo '<b>Envio das fotos</b><br />';
// Imprime os campos para upload, de acordo com a quantidade pedida
for($i = 1; $i <= $Quantidade; ++$i)
{
echo 'foto #' . $i . ': <input type="file" name="Fotos[]" /><br/>';
}
// Fecha formulário
echo '<br /><input type="submit" value="OK"/>';
echo '</form>';
?>
processa_upload.php
<?php
// Pasta de destino das fotos
$Destino = './fotos/';
// Obtém dados do upload
$Fotos = $_FILES['fotos];
// Contagem de fotos enviadas
$Conta = 0;
// Itera sobre as enviadas e processa as validações e upload
for($i = 0; $i < sizeof($Fotos); $i++)
{
// Passa valores da iteração atual
$Nome = $Fotos['name'][$i];
$Tamanho = $Fotos['size'][$i];
$Tipo = $Fotos['type'][$i];
$Tmpname = $Fotos['tmp_name'][$i];
// Verifica se tem arquivo enviado
if($Tamanho > 0 && strlen($Nome) > 1)
{
// Verifica se é uma imagem
if(preg_match('/^image\/(gif|jpeg|jpg|png)$/', $Tipo))
{
// Caminho completo de destino da foto
$Caminho = $Destino . $Nome;
// Tudo OK! Move o upload!
if(move_uploaded_file($Tmpname, $Caminho))
{
echo 'Foto #' . ($i+1) . ' enviada.<br/>';
// Faz contagem de enviada com sucesso
$Conta++;
}
else // Erro no envio
{
// $i+1 porque $i começa em zero
echo 'Não foi possível enviar a foto #' . ($i+1) . '<br/>';
}
}
}
}
if($Conta) // Imagens foram enviadas, ok!
{
echo '<br/>Foi(am) enviada(s) ' . $Conta . ' foto(s).';
}
else // Nenhuma imagem enviada, faz alguma ação
{
echo 'Você não enviou fotos!';
}
?>
Como disse, qualquer dica é válida nesta etapa do processo. Agradeço imensamente qualquer dica....
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.