Fórum upload de imagens so funciona no localhost #456855
27/09/2013
0
Fiz uma aplicação em PHP para fazer upload de várias imagens ao mesmo tempo, testei ela localmente e funciona perfeitamente, inclusive com a opção de apagar a imagem da pasta do servidor tb.
Porém, quando envio os arquivos para o servidor ele não funciona como deveria. O problema é que não aparece nenhum mensagem de erro, ele faz o upload das imagens, só q ele grava a mesma imagem várias vezes apenas com nomes diferentes. Então na tela aparece o total de imagens que foram "upadas" só que todas com a mesma aparência, como se tivesse sido "upada" a mesma imagem.
Já dei as permissões necessárias para as pastas (mas creio que esse não seria o problema, pois senão ele não estaria nem gravando as imagens na pasta).
Segue abaixo meus códigos, se alguém puder me ajudar a encontrar onde estou errando, agradeço.
O HTML:
<form action="" method="post" enctype="multipart/form-data">
<span class="">Nome da Obra</span><br />
<select name="obras" class="cx170">
<option value="-1">Selecione uma Obra</option>
<?php
if (!empty($lista_obras)) {
foreach ($lista_obras as $lo) {
if ($lo->getCodigo() == $codigo) {
$selecionado = "selected";
} else {
$selecionado = "";
}
echo "<option value=\"" . $lo->getCodigo() . $selecionado . "\">" . $lo->getNome() . "</option>";
}
}
?>
</select><br /><br />
<span class="">Fotos</span><br />
<input type="file" name="imagens[]" multiple="true" class="cx370" /><br /><br />
<input type="submit" name="gravar" value="Gravar" class="botao"/>
<input type="submit" name="limpar" value="Limpar" class="botao"/>
</form>
O PHP:
if (isset($_GET["id"])) {
$codigo = $_GET["id"];
$i = $foto_dao->listarFoto($codigo);
if (!empty($i)) {
foreach ($i as $im) {
$img = $im->getFoto();
if (unlink($img)) {
$deletar = $foto_dao->deletar($codigo);
$msg->addMensagemOk("Dados Deletados com Sucesso");
} else {
$erro->addMensagemErro("Erro ao Deletar Dados");
}
}
}
}
if (isset($_POST["gravar"]) || isset($_POST["atualizar"])) {
$codigo = $_POST["obras"];
$tipos = array('.jpg', '.jpeg', '.gif', '.png', '.JPG');
if ($codigo == '-1') {
$erro->addMensagemErro("Selecione a Obra");
} else {
$dir = "imagens_obras/";
$campos = count($_FILES['imagens']['tmp_name']);
for ($i = 0; $i < count($_FILES['imagens']['name']); $i++) {
$tipo = strrchr($_FILES["imagens"]['name'][$i], ".");
if (in_array($tipo, $tipos)) {
$imagem = md5($_FILES["Filedata"]["imagens"] . date("dmYhis"));
$imagem_final = $dir . $imagem . $tipo;
if (move_uploaded_file($_FILES['imagens']['tmp_name'][$i], $imagem_final)) {
$fotos = new Obras_foto();
$fotos->setObra_codigo($codigo);
$fotos->setFoto($imagem_final);
if ($foto_dao->gravar($fotos)) {
$msg->addMensagemOk("Foto <strong>" . $_FILES['imagens']['name'][$i] . " Gravada com Sucesso</strong>");
}
} else {
$erro->addMensagemErro("Erro ao Gravar Imagens. Consulte o Administrador do Site");
}
} else {
$erro->addMensagemErro("Tipo de Arquivo Inválido. <strong><br />Tipos permitidos: jpg, png, jpeg, JPG, gif</strong><br />");
}
}
}
}
Edson Pereira
Curtir tópico
+ 0Posts
28/09/2013
Marcio Araujo
posso está errado.
Gostei + 0
30/09/2013
Edson Pereira
Obrigado.
Gostei + 0
30/09/2013
Marcio Araujo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)