Jump to content
skinie18

Upload simples

Recommended Posts

skinie18

Ola, eu nao percebo grande coisa de php e tenho andado a ver códigos para fazer upload de ficheiros pequenos, tipo 1mb, e como vou ser apenas eu a user a pagina nao preciso de grandes sistemas de segurança porque eu nao vou tentar furjar o meu próprio código.

O problema e que nao consigo encontrar nada que me ajude a fazer upload dos ficheiros. Alguém me pode escrever algumas linhas de codigo ou dar um link util para o que eu quero?

- Vi sites que diziam para enviar ficheiros em PhP por ftp, com os dados de ftp, outros que nao usavam ftp, fiquei baralhado se é realmente preciso.

Obrigado!

Share this post


Link to post
Share on other sites
skinie18

achei este codigo aqui no P@P, como faço o input dos ficheiros com este codigo?

<?php
    // Função para fazer upload
    // Versão 1.0
    // Autor: www.profissionalweb.net
    // Retorna: Um array com duas elementos. arquivo e mensagem
    // Uso: list($arquivo, $mensagem) = upload('imagem.jpg','uploads/','jpeg,gif,png');
    // Exemplo: if($mensagem) print $mensagem;

    function upload($arquivo, $caminho="", $tipos=""){
        // Verifica se foi seleccionado um arquivo
        if(!$_FILES[$arquivo]['name']) return array('','Não foi especificado um arquivo para upload');

        // Atribui a variável nomearquivo o nome do arquivo especificado
        $nomearquivo = $_FILES[$arquivo]['name'];

        // Obter um array com as extenções dos arquivos
        $ext_arr = split("/.",basename($nomearquivo));

        // Obterm a ultima extenção dos arquivos
        $ext = strtolower($ext_arr[count($ext_arr)-1]);

        // Prepara para gerar um arquivo praticamente unico
        $unico = substr(md5(uniqid(rand(),2)),0,5);
        $nomearquivo = $unico . '_' . $nomearquivo;

        // Atribui a variável todosostipos, todos os tipos que foram especificados ao chamar a função
        $todosostipos = explode(",",strtolower($tipos));

        if ($tipos){
            // Verifica se a extenção está no array de todosostipos
            if(in_array($ext,$todosostipos));
            else {
                // Atribui a variável $result a mensagem de que não é um arquivo válido
                $result = "'".$_FILES[$arquivo]['name']."' não é um arquivo válido.";

                // Retorna a mensagem de erro
                return array('',$result);
            }
        }

        // Para onde deve ser enviado o arquivo que foi feito atravez de upload
        // Adiciona '/' no final da variável $caminho
        if($caminho) $caminho .= '/';

        // Caminho completo com o caminho e o nome do arquivo
        $caminhoearquivo=$caminho . $nomearquivo;

        // Atribui '' a variável $result que significa que ainda não tem mensagem
        $result="";

        // Move o arquivo da localização temporária e coloca-o no caminho correcto
        if (!move_uploaded_file($_FILES[$arquivo]['tmp_name'], $caminhoearquivo)) {
            // Não é possível fazer o upload
            // Atribui a variável $result a mensagem de que não consegui fazer o upload
            $result = "Não foi possível fazer o upload do arquivo '".$_FILES[$arquivo]['name']."'";

            // Verifica se o caminho não existe
            if(!file_exists($caminho)) {
                // A pasta não existe
                $result .= " : a pasta não existe.";
            } elseif (!is_writable($caminho)) {
                $result .= " : não pode escrever nessa pasta.";
            } elseif(!is_writable($caminhoearquivo)) {
                $result .= " : não pode escrever nesse ficheiro.";
            }
            // Atribui '' ao nome do arquivo
            $nomearquivo='';
        } else {
            // É possível fazer o upload
            // Verifica o tamanho do arquivo
            if(!$_FILES[$arquivo]['size']) {
                // O arquivo está vazio
                // Apaga o arquivo
                @unlink($caminhoearquivo);
                
                // Atribui '' a variável $nomearquivo
                $nomearquivo = '';
                
                // Atribui a mensagem de erro que o arquivo está vazio
                $result = "O ficheiro está vazio - Por favor use um ficheiro válido.";
            } else {
                // Faz o upload do arquivo
                // Dá permissão para escrita
                chmod($caminhoearquivo,0777);
            }
        }

        // Retorna o resultador da função
        return array($nomearquivo,$result);
    }
?>

eu tentei:

<form enctype="multipart/form-data" action="upload.php" method="post">
    Send this file: <input name="name" type="file">
    <input value="Send File" type="submit">
</form>

mas não deu!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.