Ir para conteúdo
  • Cadastre-se

Gravando imagens


Posts Recomendados

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

Link para o comentário
Compartilhar em outros sites

  • Respostas 5
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Top Postadores Neste Tópico

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.

Link para o comentário
Compartilhar em outros sites

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;

}

?>

Link para o comentário
Compartilhar em outros sites

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.


<?php
function 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]

Link para o comentário
Compartilhar em outros sites

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]

Link para o comentário
Compartilhar em outros sites

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

Visitante
Responder este tópico…

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Limpar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.



  • Estatísticas do Fórum

    • Total de Tópicos
      56.8k
    • Total de Posts
      465.8k
×
×
  • Criar Novo...