• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

revolucao

Guardar foto numa pasta do servidor --> erro

9 mensagens neste tópico

Boas

o codigo que aqui apresento esta a ser usado no localhost do meu cp que esta a funcionar com o wampserver

o codigo funciona direitinho...

//$target_path = "images/";

//$target_path = $target_path . basename($_FILES['imagem']['name']);

$_FILES['imagem']['tmp_name'];

$target_path = "images/";

$target_path = $target_path.$dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);

$nomefoto= $dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);

if(!move_uploaded_file($_FILES['imagem']['tmp_name'], $target_path))

{

da erro

}

else

{

                                       guarda o nome da imagem na base de dados

                                 }

no entanto quando o passo para o servidor na net,  ele nao funciona.....

qual será o problema precisarei de fazer um ftl upload, ou tera algume erro de estroctura?

se alguem poder ajudar...

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta isto:

            $target_path = $target_path.$dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);
            $nomefoto= $dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);
            /* ******* pmg ******* */
            ini_set('track_errors', '1');
            if(!move_uploaded_file($_FILES['imagem']['tmp_name'], $target_path))
            {
               da erro
               /* ******* pmg ******* */
               echo 'Erro no upload: ', $php_errormsg;
            }
            else
            {
                                       guarda o nome da imagem na base de dados
                                 }

Não testado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta isto:

            $target_path = $target_path.$dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);
            $nomefoto= $dia.$mes.$ano.$hora.basename( $_FILES['imagem']['name']);
            /* ******* pmg ******* */
            ini_set('track_errors', '1');
            if(!move_uploaded_file($_FILES['imagem']['tmp_name'], $target_path))
            {
               da erro
               /* ******* pmg ******* */
               echo 'Erro no upload: ', $php_errormsg;
            }
            else
            {
                                       guarda o nome da imagem na base de dados
                                 }

Não testado

continua a dar erro, apareceu erro no upload, mas nao especificou qual era...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E com error_reporting() activado?

Aparece mais alguma mensagem?

/* ... */
ini_set('track_errors', '1');
error_reporting(E_ALL);
/* ... */

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E com error_reporting() activado?

Aparece mais alguma mensagem?

/* ... */
ini_set('track_errors', '1');
error_reporting(E_ALL);
/* ... */

sim, sim ja apareceu 3 erros

1-->  Warning: move_uploaded_file(images/27112008111232386x400.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/a8345054/public_html/z_adicionar_tshirt.php on line 59

2--> Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpDf1rad' to 'images/27112008111232386x400.jpg' in /home/a8345054/public_html/z_adicionar_tshirt.php on line 59

3-->Notice: Undefined variable: php_errormsg in /home/a8345054/public_html/z_adicionar_tshirt.php on line 61

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Permission denied

A conta que o servidor usa tem que ter permissões de escrita na directoria images/

Como é que dás permissão a essa conta? Não sei ... talvez no Control Panel

Undefined variable

Hmmmm ... podes apagar o ini_set() e o echo 'Erro no upload: ' que não estão lá a fazer nada :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A conta que o servidor usa tem que ter permissões de escrita na directoria images/

Como é que dás permissão a essa conta? Não sei ... talvez no Control Panel

Hmmmm ... podes apagar o ini_set() e o echo 'Erro no upload: ' que não estão lá a fazer nada :)

Da para fazer isso atravez de codigo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Da para fazer isso atravez de codigo?

Provavelmente não; se não tens permissão de escrita, não deves ter permissão para mudar as permissões!

Mas experimenta o chmod().

// Acesso completo a toda a gente (### MÁ IDEIA ###)
chmod("/home/a8345054/public_html/images/", 0777);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Provavelmente não; se não tens permissão de escrita, não deves ter permissão para mudar as permissões!

Mas experimenta o chmod().

// Acesso completo a toda a gente (### MÁ IDEIA ###)
chmod("/home/a8345054/public_html/images/", 0777);

olha ja funciona, mudei as permições directamente na pasta images, no servidor, não cheguei a testar o codigo, vou guarda-lo pois pode vir a dar jeito

Obrigado pela ajuda, não chegava lá.....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora