Algun Script Php para crear un simple contador de descargas

Iniciado por neopuerta360, 25 Septiembre 2010, 23:18 PM

0 Miembros y 1 Visitante están viendo este tema.

neopuerta360

Hola estoy buscando la manera de poder insertar en pequeño contador de descargas cada vez que se de click en el Link de descarga sin usar un bd mysql solo simple script php.
:D

neopuerta360

Encontre este codigo pero no se si esta bueno:


archivo:

Código (html4strict) [Seleccionar]

<form method="get" action="descargas.php">
<input type="hidden" name="direccion" value="direccion_del_programa.exe">
<input type="submit" value="Bajar Programa.exe">
</form>


descargas.php:

Código (php) [Seleccionar]

<?
$direc=$_GET['direccion'];
$file=file("contador_".$direc);

if($file[0]!=""){
   $numero=$file[0][0]+1;
} else $numero=0;

$fp=fopen("contador_".$direc,"w");
fwrite($fp,$numero);
fclose($fp);
?>



bomba1990

para sber si esta bueno o no, la mejor forma es probarlo. se ve bien el codigo, pero tendrias que poner una parte que redireccione al programa.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

Diabliyo

Si no programas en PHP, mejor ni le escarbes porque vas a tostear basura.

Lo mas aconsejable es manejar un PHP que disfrace o protega la descarga (jamas sepa la ubicacion). EL proceso es:

Como creas el enlace:
<a href="descargas.php?id=1234">Archivos Bajame</a>

Tomamos en cuenta que id=1234, el 1234 corresponde a una celda de la Base de Datos que se asocia con el archivo.

Dentro del archivo descargar.php

<?php
$consulta
mysql_query(); // consultamos, aqui metemos el ID

if( si_no_tuvo_exito() )
{
header'HTTP/1.0 404 Not Found' );
echo "<h1><b>Error:</b> el archivo que has intentado descargar no existe.</h1>";
}
else 
// si hubo exito
{
$bufmysql_fetch_array(); // obtenemos

//armamos archivo
$type_file//ponemos el tipo
$put_file//ponemos el archivo "dato.doc"
$put_url//ponemos la URL "/aqui/tengo/elarchivo/"

header'Content-Type: '$type_file);
header'Content-Disposition: attachment; filename='$put_file );
echo file_get_contents$put_url.$put_file );
unset($tmp);

header'Location: ?' );
}
?>

neopuerta360

Contador de desgarga solucionado.

Código (php) [Seleccionar]

<?
//determin la direccion de descarga
$url_descarga="http://url/archivo.zip";

if (is_writeable("contador.txt"))//contador
{
$arrayfichero=file("contador.txt");
$arrayfichero[0]++;
$fichero=fopen("contador.txt","w");
$grabar=fwrite($fichero,$arrayfichero[0]);
$cerrar=fclose($fichero);
}
header("location:$url_descarga");
?>

Shell Root

Creo que sería mejor así, ya que si el archivo no contiene nada saldrá el siguiente error, también sería bueno la verificación del contenido del archivo, por si quizás tiene texto.
Código (PoC) [Seleccionar]
PHP Notice:  Undefined offset: 0 in /home/shellroot/Escritorio/PoC.php on line 6

Código (php) [Seleccionar]
if (is_writeable("PoC.txt"))
{
$arrayfichero=file("PoC.txt");
if(empty($arrayfichero[0])){$arrayfichero[0] = 1;}
else{$arrayfichero[0]++;}
$fichero=fopen("PoC.txt","w");
$grabar=fwrite($fichero,$arrayfichero[0]);
$cerrar=fclose($fichero);
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360