e.aragona
Usuario habitual
Usuario habitual

Hola.

Les queria hacer una pregunta sobre php. Alguno conoce una manera de desde un script abrir un archivo, y en base a ese archivo poder realizar un conteo de caracteres,discriminar esos caracteres (osea poder decirle contame solamente las u, luego las d y etc.) y si alguno conoce alguna pagina donde poder ver bien como trabaja el file_put_contents, o alguna otra funcion para poder tener más control en donde se agregan datos nuevos o como borrar datos segun criterios.

Ejemplo

Supongamos que tengo en un txt esto.

u /*(cada u representa una unidad)*/

d /*(cada d representa una decena)*/

c /*(cada c representa una centena).*/

A mi lo que me gustaria hacer es lo siguiente, desde un script en mi pagina principal llamar fopen(contador.txt) y que primero cuente la cantidad total de u. y lo aloje en una variable.

si en ese archivo la cantinada de u <10, que escriba una u de lo contrario que borre nueve y en la linea siguiente agregue una d.

Luego que cuente las cantidad de d, si d<10 escribi una d, de lo contrario borra nueve d y en la linea siguiente escribi una c

y así.

para luego poder hacer un switch en base a esos valores y así poder armar un contador de visitas grafico para mi pagina web.

u=0

uu=1

uuu=2

uuuu=3

uuuuu=4

uuuuuu=5

uuuuuuu=6

uuuuuuuu=7

uuuuuuuuu=8

uuuuuuuuuu=9

Los numeros serian .png o .gif representando esos numeros.

Espero que se entienda, y no sea mucho despioles. Gracias!

Atte: Aragona Emmanuel.

Avatar Image
@man / @woman
@man / @woman

Como te lineas para montar un contador... si lo quieres hacer con un fichero, directamente guarda el número de la visita en el txt y listo, después simplemente tendrás que transformarle a algo gráfico.

Pero mejor, metete un poco con una base de dato y lo tendrás más facil y comodo.

Avatar Image
@man / @woman
@man / @woman

Ese esfuerzo vale una ayuda, con esto:

$fn= 'aca-el-path-al-archivo.txt';
$impr= ( is_file( $fn ) )? file_get_contents( $fn, FILE_TEXT )+1 : 1;
file_put_contents( $fn, $impr, FILE_TEXT );

En $fn cargas el nombre del archivo que va a ser el registro de visitas.

Cuanqo quieras mostrarlo, lo lees con file_get_contents y lo formateas a gusto (imagen, formato francés, etc).

e.aragona
Usuario habitual
Usuario habitual
Escrito originalmente por NoSetup.org

Como te lineas para montar un contador... si lo quieres hacer con un fichero, directamente guarda el número de la visita en el txt y listo, después simplemente tendrás que transformarle a algo gráfico.

Pero mejor, metete un poco con una base de dato y lo tendrás más facil y comodo.

NoSetup.org lo que pasa es que no me la pillo para transformalo a algo grafico de esa manera, va a decir verdad no lo habia pensado, ahora que lo pienso se me ocurren algun maneras de hacer lo que propones.

Con respecto a usar una base de datos, esto es algo para mí, no es ni un trabajo ni nada, y realmente me atrapa la idea de hacerlo atravez del fichero.!

Igual se agradece el aporte!.

Cita:GestionXls

Ese esfuerzo vale una ayuda, con esto:

$fn= 'aca-el-path-al-archivo.txt';
$impr= ( is_file( $fn ) )? file_get_contents( $fn, FILE_TEXT )+1 : 1;
file_put_contents( $fn, $impr, FILE_TEXT );

En $fn cargas el nombre del archivo que va a ser el registro de visitas.

Cuanqo quieras mostrarlo, lo lees con file_get_contents y lo formateas a gusto (imagen, formato francés, etc).

Gracias mirare esas funciones a ver como es la movida.

e.aragona
Usuario habitual
Usuario habitual

Puede que sea bastante desprolijo, pero de alguna manera logre que cuente hasta 99, en algunas partes no entiendo mi lógica, pero funciona!

Ahora el reto estaria en encontrar la manera de hacer un bucle que llegué hasta el millon.

Gracias a GestionXls y NoSetup.Org.

Aca el codigo que armé.


<?php
$homepage = file_get_contents("contador.txt",NULL,NULL,0);
$cantidad = strlen($homepage);
$cantidad = $cantidad;
if ( $cantidad < 10 ){
$homepage = $homepage."0";
$cantidad = $cantidad + 1;
file_put_contents("contador.txt",$homepage);}
else
{
$homepage = "0";
$cantidad = 1;
file_put_contents("contador.txt",$homepage);
}
echo "<br>";$decenas = file_get_contents("contadord.txt",NULL,NULL,0);
$cantidadD = strlen($decenas);
if( $cantidad == 1 ){
    $cantidadD = $cantidadD + 1;
    $decenas = $decenas."d";
    file_put_contents("contadord.txt",$decenas);
}
if ($cantidadD == 11){
    $decenas = "d";
    file_put_contents("contadord.txt",$decenas);
    $cantidadD = 1;
}
    
switch($cantidadD){
    case 1:
    echo "0";
    break;
    case 2:
    echo "1";
    break;
    case 3:
    echo "2";
    break;
    case 4:
    echo "3";
    break;
    case 5:
    echo "4";
    break;
    case 6:
    echo "5";
    break;
    case 7:
    echo "6";
    break;
    case 8:
    echo "7";
    break;
    case 9:
    echo "8";
    break;
    case 10:
    echo "9";
    break;
}
switch($cantidad){
    case 1:
    echo "0";
    break;
    case 2:
    echo "1";
    break;
    case 3:
    echo "2";
    break;
    case 4:
    echo "3";
    break;
    case 5:
    echo "4";
    break;
    case 6:
    echo "5";
    break;
    case 7:
    echo "6";
    break;
    case 8:
    echo "7";
    break;
    case 9:
    echo "8";
    break;
    case 10:
    echo "9";
    break;
}?>

PD: Tambien quedaria armar los graficos para los numeros y reemplazar los switch por <img src=",,,,.png">.

PD2: Para que funcione hay que armar 2 txt en la misma carpeta que el script. Uno de los Txt llamado contador y el otro contadord.

Gracias!

Avatar Image
@man / @woman
@man / @woman

¿ lo que intentas es...

un ejercicio de programación?, o...

para usar en una web?

e.aragona
Usuario habitual
Usuario habitual
Escrito originalmente por GestionXls

¿ lo que intentas es...

un ejercicio de programación?, o...

para usar en una web?

Un poco de las dos, estaria bueno que sirva para aplicar en la web.

Un hobbie!

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares