Postado 10 de julho de 201213 anos comment_322678 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 Denunciar
Postado 10 de julho de 201213 anos comment_322696 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. Denunciar
Postado 11 de julho de 201213 anos comment_322842 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. Denunciar
Postado 11 de julho de 201213 anos Autor comment_323082 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; } ?> Denunciar
Postado 12 de julho de 201213 anos comment_323191 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] Denunciar
Postado 13 de julho de 201213 anos comment_323670 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] Denunciar
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.