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

JoBlack

Upload de ficheiro

6 mensagens neste tópico

Olá

Tenho um servidor apache instalado localmente em c:\www para ir experimentando uma página que estou a construir.

Quando faço o upload de um ficheiro, em vez de ir parar a c:\www vai-me para c:\

O código é o seguinte, mas não consigo descobrir como alterá-lo de modo a colocar o ficheiro na pasta pretendida. Podem ajudar-me s.f.f.

Obrigado

 <?php

    $HTML = NULL;

    if(count($HTTP_POST_FILES) > 0){
        $allowed_types = array("application/pdf","application/msword"); 
        $size_limit = "1048576"; //em bytes -> 1 MB

        $file = $HTTP_POST_FILES["file"]["name"]; 
        $type = $HTTP_POST_FILES["file"]["type"]; 
        $size = $HTTP_POST_FILES["file"]["size"]; 
        $temp = $HTTP_POST_FILES["file"]["tmp_name"]; 

        $path_info = pathinfo($PATH_TRANSLATED);

        //Web server anonymous user must have
        //write permissions to this path:
        $write_path = $path_info["dirname"] . "/" . $file;

        if ($file){ 
            if ($size < $size_limit){ 
                if (in_array($type,$allowed_types)){ 
                    if(move_uploaded_file($temp,$write_path)){
                        $HTML = "<div>The file <tt>$file</tt> was sucessfully uploaded.</div>";
                    }
                    else{
                        $HTML = "<div>The file <tt>$file</tt> upload failed.</div>";
                    }
                }
                else { 
                    $HTML = "<div>Files of type <tt>$type</tt> are not permitted.</div>"; 
                }
            }
            else { 
                $HTML = "<div>File exceeds the size limit of $size_limit bytes.</div>";
            }
        } 

        $HTML .= "\n";
    }
?>  

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta alterar o $write_path para:

$write_path = "file:///C:/www/" . $file;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É isso mesmo, obrigado. Só mais uma questão.... e qdo colocar a página no servidor remoto como é que vou especificar o

$write_path ="file:///C:/www/" . $file;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É isso mesmo, obrigado. Só mais uma questão.... e qdo colocar a página no servidor remoto como é que vou especificar o

$write_path ="file:///C:/www/" . $file;

Tens que ver qual é o teu path completo até à directoria. Suponho que o servidor use linux por isso deves ter de por qualquer coisa como:

$write_path ="/home/hipnoted/public_html/upload/" . $file;

Mas verifica o path completo porque de certeza que não é igual ao meu. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É isso mesmo, obrigado. Só mais uma questão.... e qdo colocar a página no servidor remoto como é que vou especificar o

$write_path ="file:///C:/www/" . $file;

Tens de perguntar ao suporte do teu hosting pela path

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