Array
(
)

upload de imagens so funciona no localhost

PHP
Edson Pereira
   - 27 set 2013

Olá amigos, estou com um pequeno (espero eu) problema.
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:
#Código
<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:
#Código
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 />");
}
}
}
}

Marcio Araujo
   - 28 set 2013

se ta rodando normal em localhost e quando é em um servidor da problema, o problema deve ta nele...será que ele da suporte a fazer varios uploads?
posso está errado.

Edson Pereira
   - 30 set 2013

Olá Márcio, obrigado por responder meu post. Já verifiquei com o suporte do servidor e eles falaram que não tem nenhuma restrição. Tem mais alguma ideia?

Obrigado.

Marcio Araujo
   - 30 set 2013

Edson, no momento, sem ideia do que possa ser...qualquer novidade retorno.