Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

joao.filho

Upload de arquivo com geração do link no site automatico..como fazer?

Recommended Posts

Pessoal, boa tarde.

Estou precisando de fazer uma página com formulario de upload para enviar alguns arquivos .doc e .pdf para o servidor, e precisaria que esses arquivos que vão ser enviados fossem aparecendo automaticamente em uma pagina html/php como links, para que outros pudessem baixar.

 

A parte do formulário sei como fazer, mais ou menos..mas não estou tendo ideias de como fazer os arquivos aparecerem na página.

Sei que devo ter algum script para que liste esses arquivos, mas não estou sabendo fazer..

 

Podem me dar uma dica ou código que sirva para isso.

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo... você pode usar o recurso dos índices do apache... e nem precisa escrever PHP.

 

Mas, com PHP:

$iterator = new RecursiveDirectoryIterator('C:\\Documents and Settings\\João\\Diretório dos Arquivos\\');
$recursiveIterator = new RecursiveIteratorIterator($iterator);

foreach ( $recursiveIterator as $entry ) {
    echo $entry->getPath() . '<br />';
    echo $entry->getPathname() . '<br />';
    echo $entry->getFilename() . '<br />';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo... você pode usar o recurso dos índices do apache... e nem precisa escrever PHP.

 

Mas, com PHP:

$iterator = new RecursiveDirectoryIterator('C:\\Documents and Settings\\João\\Diretório dos Arquivos\\');
$recursiveIterator = new RecursiveIteratorIterator($iterator);

foreach ( $recursiveIterator as $entry ) {
    echo $entry->getPath() . '<br />';
    echo $entry->getPathname() . '<br />';
    echo $entry->getFilename() . '<br />';
}

Olá rogério, vlew pela ajuda, com a ajuda do seu código, começei a pesquisar sobre o recursive directory,porém só um detalhe:

 

preciso que a lista seja gerada como links para os arquivos listados..esse seu código não faz isso..

sabe como fazer?

Esou pesquisando, mas tou sem tempo..ai fica difícil..rs:d

abração:d

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie o diretório downloads dentro do diretório onde está o arquivo php, e cole isso no arquivo php:

 

$diretorio = 'downloads';
$iterator = new RecursiveDirectoryIterator($diretorio);
$recursiveIterator = new RecursiveIteratorIterator($iterator);


echo '<ul>';
foreach ( $recursiveIterator as $entry ) {
    echo '<li><a href="' . $entry->getPathname() . '" title="Download ' . $entry->getFilename() . '">' . $entry->getFilename() . '</a></li>';
}
echo '</ul>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie o diretório downloads dentro do diretório onde está o arquivo php, e cole isso no arquivo php:

 

$diretorio = 'downloads';
$iterator = new RecursiveDirectoryIterator($diretorio);
$recursiveIterator = new RecursiveIteratorIterator($iterator);


echo '<ul>';
foreach ( $recursiveIterator as $entry ) {
    echo '<li><a href="' . $entry->getPathname() . '" title="Download ' . $entry->getFilename() . '">' . $entry->getFilename() . '</a></li>';
}
echo '</ul>';

Perfeito Rogério.Brigadão cara.

Estava precisando de mais uma ajudinha..rs:D

Preciso classificar os aqrquivos por ordem de envio

Ou seja, conforme eu fosse enviando os arquivos para o diretorio de onde o script busca esses fossem aparecendo em ordem do mais recente para o mais antigo no site.

 

Sei que deveria estar pesquisando e apredendo sozinho, o problema que estou sem tempo , e com esse trabalho pendente , ai vim buscar ajuda da galera fera do forum...

 

Ainda vou precisar fazer um formulario de envio de preferencia com senha, para estar enviando os arquivos para o site, se já tiver(em) algum script pronto que possam me enviar, agradeço.

Desculpem a exploração:d

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde!

 

Simplificando tudo!

 

*Cria as pasta com permissão (777) para o envio dos arquivos Ex: (doc, pdf, etc.. as pastas com os tipos do arquivos que você vai enviar).

*Crie no seu banco de dados, uma tabela de arquivos.

-----------------

| Arquivos |

-----------------

| arquivoID |

| arquivoNOME |

| arquivoFISICO |

| arquivoDATA |

| arquivoLOCAL |

------------------

Algo assim....

 

*Cria a página com formulário, de envio, com o input file, a data você pode pegar pelo PHP com a função date(), e o local, você pode usar um select com os options todas as pastas que você criou na raiz do site.

*cria o arquivo que recebe o formulario, e faça um move do arquivo para a pasta que você selecionou no formulário, então faça uma adição na tabela com NOME do aquivo, a DATA, e o local.

*crie uma pagina que ira mostrar a lista com os links para Download, ela vai funcionar da seguinte forma, faça a conexão com o banco de dados, e utilize um WHILE, para ler uma consulta SQL até o seu termino, e com a coluna arquivoDATA, você pode listar por ORDER de UPLOAD.... O RESTO é criatividade....

 

Exemplo + - de como ficaria essa página de Downloads.

 

$sql = mysql_query("select * FROM Arquivos ORDER BY arquivoDATA ASC"); // Ou arquivoID, também funcionaria
   while ($con = mysql_fetch_array($sql))
         {
   ?>
      <a href="<?=$con['arquivoLOCAL']?>/<?=$con['arquivoFISICO']?>" >  <?=$con['arquivoNOME']?> </a>
  <?php
         }
?>

 

Isso ae....

Compartilhar este post


Link para o post
Compartilhar em outros sites

não ficou muito belo mas, se você não quiser usar o banco para ordenar:

class Downloads implements IteratorAggregate {        private $lista;        public function __construct( $diretorio ){                $recursiveIterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator( $diretorio ) );                foreach ( $recursiveIterator as $arquivo ){            $this->lista[ $arquivo->getCTime() ]['nome'] = $arquivo->getFilename();            $this->lista[ $arquivo->getCTime() ]['caminho'] = $arquivo->getPathname();        }                krsort($this->lista);             }        public function getIterator(){        return new ArrayIterator( $this->lista );    }    }$downloads = new Downloads( 'teste' );echo '<ul>';foreach($downloads as $download){    printf( '<li><a href="%s">%s</a></li>' , $download['caminho'] , $download['nome'] );}echo '</ul>';
usando krsort pra ordernar Imagem Postada hehehehehe (vai, pode xingar, mas aqui funcionou hhehehehe)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.