GugaSevero Postado 10 de julho de 2012 Denunciar Compartilhar Postado 10 de julho de 2012 Oi pessoal Uma amiga minha criou um simples cadastro de imagens para mim. Ela fez no wamp e estou tentando rodar no xampp e não estou conseguindo. Já alterei as permissões das pastas para leitura e gravação, porém, mesmo assim nada acontece. Alguém pode me dar uma luz? hehehe Valeu. Gustavo Severo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Hercules Jr Postado 10 de julho de 2012 Denunciar Compartilhar Postado 10 de julho de 2012 o path de onde as imagens serão salvas esta correto? lembre-se que o path do windows e do mac são completamente diferentes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
ooredroxoo Postado 11 de julho de 2012 Denunciar Compartilhar Postado 11 de julho de 2012 Como disse o Hercules, dá uma olhada nos caminhos para gravação das imagens, você está movendo elas, copiando. Outra coisa que você pode fazer é ativar a exibição dos erros dá uma olhada em <http://php.net/manual/en/function.error-reporting.php> caso não esteja sendo exibido poste o código que faz o envio para darmos uma olhada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
GugaSevero Postado 11 de julho de 2012 Autor Denunciar Compartilhar Postado 11 de julho de 2012 ooredroxoo, aqui ta o código de upload da imagens... Vejam se ajuda. Valeu function upload_varias_imagens($envarquivo, $diretorio) { $retorno = ''; $_recebe = sizeof($envarquivo); $pasta_dir = $diretorio . "/"; //diretorio dos arquivos //se não existir a pasta ele cria uma if (!file_exists($pasta_dir)) { mkdir($pasta_dir); chmod ("/acharimoveis/painel/$pasta_dir", 0755); } for ($i = 0; @$i < $_recebe; $i++) { if ($_FILES['foto']['name'][$i] <> '') { $imagem_nome = $_FILES['foto']['name'][$i]; $tamanho_arquivo = $_FILES['foto']['size'][$i]; $arquivo_temporario = $_FILES['foto']['tmp_name'][$i]; // Pega extensão do arquivo // preg_match("/\.(gif|GIF|bmp|BMP|png|PNG|jpg|JPG|jpeg|JPEG){1}$/i", $imagem_nome, $ext); // Gera um nome único para a imagem // $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; //Caminho de onde a imagem ficará $arquivo_nome = $pasta_dir . $imagem_nome; if (file_exists("$arquivo_nome")) { $erro=1; } // Faz o upload da imagem if (move_uploaded_file($arquivo_temporario, $arquivo_nome)) { $retorno.= $diretorio . "/" . $imagem_nome . "|"; }else{ $retorno.=''; } } } return $retorno; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
ooredroxoo Postado 12 de julho de 2012 Denunciar Compartilhar Postado 12 de julho de 2012 Você não está recebendo nenhum erro dessa função? Você pode usar o XDebug para debugar se ele está entrando nas funções e os valores das variáveis em tempo de execução. Caso deseje também pode colocar um echo em cada etapa para ter na página uma resposta do que está sendo feito no código. No codigo abaixo eu adicionei uns exemplos, se alguma das mensagens não aparecer é porque elas não estão sendo acessadas. <?phpfunction spitOut($mensagem, $linha = __LINE__){echo '<p>Mensagem debug da linha ' . $linha . ': ' . $mensagem . '</p>';}function upload_varias_imagens($envarquivo, $diretorio) {/** Mensagem **/spitOut("Entrou na função de upload");$retorno = '';$_recebe = sizeof($envarquivo);$pasta_dir = $diretorio . "/"; //diretorio dos arquivos//se não existir a pasta ele cria uma/** Mensagem **/spitOut("Verificando se a pasta /acharimoveis/painel/" . $pastadir . 'Existe!');if (!file_exists($pasta_dir)) { /** Mensagem **/spitOut("A pasta não existe, então vamos fazer uma nova!"); mkdir($pasta_dir); chmod ("/acharimoveis/painel/$pasta_dir", 0755);}/** Mensagem **/spitOut("Vamos varrer as fotos enviadas em $envarquivo");for ($i = 0; @$i < $_recebe; $i++) {if ($_FILES['foto']['name'][$i] <> '') { /** Mensagem **/spitOut("Varrendo a foto na index 0, nome da imagem: " . $_FILES['foto']['name'][$i]);$imagem_nome = $_FILES['foto']['name'][$i];$tamanho_arquivo = $_FILES['foto']['size'][$i];$arquivo_temporario = $_FILES['foto']['tmp_name'][$i];// Pega extensão do arquivo// preg_match("/\.(gif|GIF|bmp|BMP|png|PNG|jpg|JPG|jpeg|JPEG){1}$/i", $imagem_nome, $ext);// Gera um nome único para a imagem// $imagem_nome = md5(uniqid(time())) . "." . $ext[1];//Caminho de onde a imagem ficará$arquivo_nome = $pasta_dir . $imagem_nome;/** Mensagem **/spitOut("Preparando para gravar a imagem ".$imagem_nome);if (file_exists("$arquivo_nome")) { /** Mensagem **/spitOut("Erro já tem uma imagem neste lugar com este nome..."); $erro=1;}// Faz o upload da imagem /** Mensagem **/spitOut("Tentando colocar a imagem na pasta");if (move_uploaded_file($arquivo_temporario, $arquivo_nome)) { /** Mensagem **/spitOut("Conseguiu... Parabéns"); $retorno.= $diretorio . "/" . $imagem_nome . "|";}else{ $retorno.='';}}}return $retorno;}?>[/CODE] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Hercules Jr Postado 13 de julho de 2012 Denunciar Compartilhar Postado 13 de julho de 2012 seu chmod feito pelo código esta errado, você esta colocando / no inicio, isto significa que esta pasta esta na raiz do seu sistema de arquivos o que sinceramente, acho dificil. de um echo em $diretorio e veja o que retorna... sobre o chmod, usando-o pelo php, somente funciona em arquivos, então a melhor opção é fazer pelo terminal, coloque este comando abaixo do $pasta_dir = $diretorio . "/"; e poste o resultado aqui echo $pasta_dir."<br>\n".dirname(__FILE__);[/CODE] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.