Ir para conteúdo

POWERED BY:

Arquivado

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

AMDark

contagem de tempo download

Recommended Posts

ola pessoal, gostaria de saber como poderia fazer um esqueminha em php estilo os sites que hospedam arquivos como o rapidshare, 4shared aonde aparece um contador de tempo e quando aquele tempo chega a 0 (zero) aparece o botão para se fazer o download. Sou bem novato em php por isso fica a duvida, fico no aguardo e obrigado pela atençao, abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra que isso cara? isso é tãããõ ruim! é isso mesmo segue o que o mangakah disse isso mesmo,mas como sempre devemos pensar tambem em portabilidade! se faz a pergunta? e se o javascript estiver desativado?

 

Para contornar isso voce tera que adicionar o texto mostrando n° de segundos e adicionar este comando:

 

 

<meta http-equiv="refresh" content="10; ,URL=http://www.seusite.com.br/download.php">

 

aonde content é o numero de segundos que o usuario sera redirecionado! alguns sites de download ultilizam este metodo,so que dai voce ira necessitar apontar pro local aonde o arquivo esta!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mangakah consegui fazer funcionar perfeitamente com a sua dica muito obrigado

 

Micilini Roll amigo não entendi como devo inserir este comando que você mencionou. Ele vai no lugar do scritp java mencionado acima ou ele é um complemento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mangakah consegui fazer funcionar perfeitamente com a sua dica muito obrigado

 

Micilini Roll amigo não entendi como devo inserir este comando que você mencionou. Ele vai no lugar do scritp java mencionado acima ou ele é um complemento?

<meta http-equiv="refresh" content="10; ,URL=http://www.seusite.com.br/download.php">

é uma tag q vc pode por dentro de <head> e editar o content para a quantidade de segundos ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

somente esta tag amigo! lembrando que o numero que esta no content representa os segundos que o download ira ocorrer!



tem outra dica tambem! por exemplo que nao recomendo muito! seguinte dai voce somente irá fazer umas alterações no comando do mangakah,dai funcionara com e sem javascript! mas seguinte se voce fazer este tipo de alterção o usuario nao irá necessitar ficar esperando os 10 segundos! ou seja se nao estiver javascript ele ja mostra o link do download,mas de qualquer forma usa o meta tag que te falei!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo coloquei este cod em uma pag em branco e não aconteceu nada. com este codigo n aparece o contador? se for assim seria mais indicado para colocar em um (aguarde enquando o donwload é carregado...) certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu aconselho usar o JS com contador e se alguém entrar num cliente sem JS ou desativar o JS basta colocar <noscript>Erro: é nescessário ativar o JavScript para utilizar nosso site.</noscript>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<noscript>Erro: é nescessário ativar o JavScript para utilizar nosso site.</noscript>

 

pô cara tipo é aquele negocio ne! Temos que atender todos os publicos ne cara! como tinha dito sobre portabilidade,portabilidade significa:

 

 

 

 

entao voce pode fazer o seguinte cara! AMDark voce irá seguir estes passos!

 

1-Eu nao sei qual programa vc ultiliza para programar! mas vamos lá a primeira coisa que vc ira fazer é criar um novo projeto .php

2-Logo em seguida voce irá deixa-lo em branco ou seja ira apagar todos os codigos que existe nele(isso se existir)

3- voce ira inserir este comando dentro dele:

 

<noscript>
<h1>Aguarde 10 segundos enquanto o download sera iniciado!</h1>
<meta http-equiv="refresh" content="10; ,URL=http://www.seusite.com.br/download.php">
</noscript>

 

dai salve este projeto e rode no seu servidor local ou online! este comando pode-se usar em conjunto com o codigo que o mangakah lhe ofereçeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara esqueçe tudo !! e presta atenção em min! como voce disse que ainda é iniciante vc vai usar estes comando e nao vai entender nada! eu montei um codigo aqui que é mais facil de visualizar e bem simples de todos eles,e que faz dupla função! ou seja tem javascript e o com sem javascript eu deixei ele todo comentado para te ajudar a visualizar a melhor forma aqui esta ele:

 

<div id="divi" style="color:#000;"><!-- esta é a div que ira mostrar a mensagem na tela,ele tem-se o id chamado de divi -->
</div><!-- fechamento da div -->

<script language="javascript"><!-- comando inicial do javascript -->
var contador = 10;<!-- declara uma variavel chamada contator com valor igual a 10..este valor sera nada mais que os segundos para o download iniciar -->
id = setInterval(function(){<!-- faz uma referencia chamada id e dentro dele tem um setinterval que é um repetidor que ira repetir as funçoes em um intervalo de 1 em 1 segundo! - voce pode perceber que no fim do codigo existe o 1000 - que é 1 segundos se estivesse 2000 a função seria repetida dentre 2 em 2 segundos -->
var texto = "Seu download irá começar em "+contador+" segundos";<!-- declara uma variavel chamada texto e dentro dela estara o texto escrito [seu download ira começar em]+(coloca variavel junto ao texto)[10 - pois é o valor que esta dentro da variavel contador]+(coloca variavel junto ao texto)[segundos].... entao resumindo ele ira mostrar : seu downloa irá começar em 10 segundos -->
document.getElementById("divi").innerHTML = texto;	<!-- Este comando pega o elemento dentro desse codigo cujo id é igual a divi,no nosso caso o elemento que esta com id="divi", é a nossa div do comando acima! ,dai ele executa um innerHTML que ira inserir o texto dentro da div! mas que texto? ORA! o texto que esta dentro da variavel texto!, e qual é esse texto? voce pode ver acima o texto é: seu downloa irá começar em 10 segundos -->
contador --;<!-- Aparti deste momento ele pega a variavel contato que possue valor igual a 10 e diminiu -1 dela!,entao apartir desta linha a variavel contador nao possuira mais o valor 10 e sim o valor 9 ...dai quando o codigo se repetir novamente ele nao ira mais mostra aquela mensagem de 10 segundos e sim mostra a mensagem de 9 segundos e assim sucessivamente ate chegar a zero -->
if(contador <0){<!-- Agora ele faz uma pergunta: Ei variavel contador voce é menor que zero? Se ela for menor que zero executa as 3 linhas de baixo se nao ela nao entra neste comando e sai! -->
clearInterval(id);<!-- agora que estamos dentro do if isso significa que a mensagem que o usuario esta vendo na tela é: seu download ira começar em 0 segundos! isso quer dizer que ja esta na hora de parar a repetição do comando e para iremos usar o clear interval que em portugues significa LIMPAR INTERVALO. mas que intervalo iremos para ? iremos parar o intervalo cuja referencia se chama id! AGORA voce entende porque existe no comando o : id = setInterval(functio.... entao ele para a repetição! agora se nao se chamasse "id" e sim repeticao como : repeticao = setInterval(functio.... o comando ficaria assim: clearInterval(repeticao); -->
var completo = "Download sendo iniciado!"+'<a href="http://www.olyng.com" id="link">Download</a>';<!-- agora que a repetição finalizou iremos declarar uma variavel chamada completo que ira mostra na tela [download sendo iniciado!]+(coloca junto ao texto)[MOSTRA DO LINK CHAMADO DOWNLOAD], resumindo: download sendo iniciado! download -->
document.getElementById("divi").innerHTML = completo;	<!-- Este comando pega o elemento dentro desse codigo cujo id é igual a divi,no nosso caso o elemento que esta com id="divi", é a nossa div do comando acima! ,dai ele executa um innerHTML que ira inserir o texto dentro da div! mas que texto? ORA! o texto que esta dentro da variavel completo!, e qual é esse texto? voce pode ver acima o texto é: download sendo iniciado! download -->
}<!-- este ponto é fechado o comando if -->

<!-- se o usuario chegou ate aqui é porque a variavel contador ainda nao é igual a a zero e dai ele ira repetir o comando novamente! -->
},1000);<!-- aqui esta o comando o final do comando setinterval -->
</script><!-- lemnrando que se o javascript nao estiver ativado este comando nen chega a existir! e a div ficara em branco se nada e nenhum link -->


<!-- Agora e se o javascript estiver desativado? ele executa o comando abaixo -->

<script type="text/javascript">
    document.write("<!-- ");
</script>
<h1>Seu download será iniciado em 10 segundos</h1>
<meta http-equiv="Refresh" content="10;URL=http://www.seusite.com/download_da_musica.mp3" />
<script type="text/javascript">
    document.write(' --><script type="text/javascript">');
</script>

<!-- o comando acima nao deixa executar nada que estiver dentro dele! caso o javascript estiver desativado! tudo que estiver entre document.write sera mostrado na tela! -->

 

 

o codigo pareçe ser grande demais! mas na verdade ele é beem pequeno pois eu coloquei alguns comentarios dentre dele! rsrs pronto eu acho que esta resolvido bate palma !

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado Micilini Roll funcionou perfeitamente, agradeço a dedicação para me ajudar estou muito agradecido, abraços e tudo de bom para ti e aos outros que ajudaram tbm

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora uma duvida que ainda esta me complicando, pesquisei bastante mais ainda não entendi coo fazer para inserir este cod. dentro de uma pagina especifica do wordpress, alguem saberia me explicar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que a melhor solução seja criar um shortcode para inserção desse conteúdo.

 

No arquivo functions.php do seu tema, adicione:

function inserir_contador($atts) {
   return ' Código do Contador Aqui.' . 
          'Não se esquecendo de inserir o end. (URL)  '
          . $atts['url'] . ' no lugar correto';
add_shortcode( 'contador', 'inserir_contador' );
(não se esqueça de colocar o código que você quer inserir entre as aspas simples)

 

Edite a página do Wordpress que onde você quer que o contador apareça, inserindo o shortcode:

[contador url="URL AQUI"]

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo estou com duvidas sobre o que fazer nestas duas linhas:

 

'Não se esquecendo de inserir o end. (URL)  '
          . $atts['url'] . ' no lugar correto';

poderia comentar para haver um melhor entendimento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No código que você for inserir, que no caso, suponho, seja esse do post #11, você deve chamar pela variável [inline]$atts['url'][/inline] onde precisar imprimir o endereço do link de download. Por exemplo, na linha:

<meta http-equiv="Refresh" content="10;URL=http://www.seusite.com/download_da_musica.mp3" />

Deve ficar:

'<meta http-equiv="Refresh" content="10;URL=' . $atts['url'] . '" />'
Assim, o endereço que ficará após "URL=" será o que foi passado para o shortcode [inline]contador[/inline].

 

 

Sacou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo ve se é asism mesmo q tem que ficar o cod:

 

function inserir_contador($atts) {
   return ' <div id="divi" style="color:#000;"><!-- esta é a div que ira mostrar a mensagem na tela,ele tem-se o id chamado de divi -->
</div><!-- fechamento da div -->

<script language="javascript"><!-- comando inicial do javascript -->
var contador = 10;<!-- declara uma variavel chamada contator com valor igual a 10..este valor sera nada mais que os segundos para o download iniciar -->
id = setInterval(function(){<!-- faz uma referencia chamada id e dentro dele tem um setinterval que é um repetidor que ira repetir as funçoes em um intervalo de 1 em 1 segundo! - voce pode perceber que no fim do codigo existe o 1000 - que é 1 segundos se estivesse 2000 a função seria repetida dentre 2 em 2 segundos -->
var texto = "Seu download irá começar em "+contador+" segundos";<!-- declara uma variavel chamada texto e dentro dela estara o texto escrito [seu download ira começar em]+(coloca variavel junto ao texto)[10 - pois é o valor que esta dentro da variavel contador]+(coloca variavel junto ao texto)[segundos].... entao resumindo ele ira mostrar : seu downloa irá começar em 10 segundos -->
document.getElementById("divi").innerHTML = texto;	<!-- Este comando pega o elemento dentro desse codigo cujo id é igual a divi,no nosso caso o elemento que esta com id="divi", é a nossa div do comando acima! ,dai ele executa um innerHTML que ira inserir o texto dentro da div! mas que texto? ORA! o texto que esta dentro da variavel texto!, e qual é esse texto? voce pode ver acima o texto é: seu downloa irá começar em 10 segundos -->
contador --;<!-- Aparti deste momento ele pega a variavel contato que possue valor igual a 10 e diminiu -1 dela!,entao apartir desta linha a variavel contador nao possuira mais o valor 10 e sim o valor 9 ...dai quando o codigo se repetir novamente ele nao ira mais mostra aquela mensagem de 10 segundos e sim mostra a mensagem de 9 segundos e assim sucessivamente ate chegar a zero -->
if(contador <0){<!-- Agora ele faz uma pergunta: Ei variavel contador voce é menor que zero? Se ela for menor que zero executa as 3 linhas de baixo se nao ela nao entra neste comando e sai! -->
clearInterval(id);<!-- agora que estamos dentro do if isso significa que a mensagem que o usuario esta vendo na tela é: seu download ira começar em 0 segundos! isso quer dizer que ja esta na hora de parar a repetição do comando e para iremos usar o clear interval que em portugues significa LIMPAR INTERVALO. mas que intervalo iremos para ? iremos parar o intervalo cuja referencia se chama id! AGORA voce entende porque existe no comando o : id = setInterval(functio.... entao ele para a repetição! agora se nao se chamasse "id" e sim repeticao como : repeticao = setInterval(functio.... o comando ficaria assim: clearInterval(repeticao); -->
var completo = "Download sendo iniciado!"+'<a href="http://www.olyng.com" id="link">Download</a>';<!-- agora que a repetição finalizou iremos declarar uma variavel chamada completo que ira mostra na tela [download sendo iniciado!]+(coloca junto ao texto)[MOSTRA DO LINK CHAMADO DOWNLOAD], resumindo: download sendo iniciado! download -->
document.getElementById("divi").innerHTML = completo;	<!-- Este comando pega o elemento dentro desse codigo cujo id é igual a divi,no nosso caso o elemento que esta com id="divi", é a nossa div do comando acima! ,dai ele executa um innerHTML que ira inserir o texto dentro da div! mas que texto? ORA! o texto que esta dentro da variavel completo!, e qual é esse texto? voce pode ver acima o texto é: download sendo iniciado! download -->
}<!-- este ponto é fechado o comando if -->

<!-- se o usuario chegou ate aqui é porque a variavel contador ainda nao é igual a a zero e dai ele ira repetir o comando novamente! -->
},1000);<!-- aqui esta o comando o final do comando setinterval -->
</script><!-- lemnrando que se o javascript nao estiver ativado este comando nen chega a existir! e a div ficara em branco se nada e nenhum link -->


<!-- Agora e se o javascript estiver desativado? ele executa o comando abaixo -->

<script type="text/javascript">
    document.write("<!-- ");
</script>
<h1>Seu download será iniciado em 10 segundos</h1>
<meta http-equiv="Refresh" content="10;URL=' . $atts['url'] . '" />
<script type="text/javascript">
    document.write(' --><script type="text/javascript">');
</script>

<!-- o comando acima nao deixa executar nada que estiver dentro dele! caso o javascript estiver desativado! tudo que estiver entre document.write sera mostrado na tela! -->' . 
          'Não se esquecendo de inserir o end. (URL)  '
          . $atts['url'] . ' no lugar correto';
add_shortcode( 'contador', 'inserir_contador' );

amigo colei na ultima linha do functions.php mais deu um erro tem q estar dentro de alguma tag ou posso colocar abaixo de tudo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"deu um erro" não diz nada. Qual foi a mensagem de erro???

 

E remova esses comentários (tudo que estiver entre [inline]<!--[/inline] e [inline]-->[/inline], pois assim o código tá muito ruim de se ler.

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.