PHP - Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

 
Vista:

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Eduardo (4 intervenciones) el 16/10/2020 21:11:48
Hola buenas, necesito ayuda para este ejercicio en el cual tengo que pasar el contenido de un txt a otro txt pero con asteriscos.
Un ejemplo de esto:

Fichero 1 Texto-1.txt Fichero 2 Texto-2
1234567 1234567***
12 12********
1 1*********
**********

El límite es 10 y el problema que tengo es que al comprobar veo que no sean puesto asteriscos, no están en la posición quería (lo muestro en el código) y que no se mete en el segundo fichero
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
header('Content-Type: text/html; charset=UTF-8');
 
$fichero=@fopen('Texto-1.txt', 'rb' );
 
if(!$fichero)
{
   exit("ERROR: no se pudo abrir el archivo");
 
} else{
$contenido = fread($fichero, filesize('Texto-1.txt'));
 
$fichero2=@fopen('Texto-2.txt', 'w+b' );
 
	while (!feof($fichero))
	{
	$a=fgets($fichero);
 
		for ($i=0; $i <10 ; $i++) {
		$asterisco=$contenido."*";
 
		}
      $resultado=$asterisco."\r\n";
echo $resultado;
}
$fichero2=fwrite($resultado,$a);
 
}
fclose($fichero);
fclose($fichero2);
?>

Gracias por ayudar por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Eduardo (4 intervenciones) el 16/10/2020 23:17:28
Quería decir al poner el ejemplo ( Se ha puesto mal) :
Texto-1.txt
123
1234
12345
12

Texto-2.txt
123*******
1234******
12345*****
12********
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yoel
Val: 457
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Yoel (110 intervenciones) el 17/10/2020 00:21:25
Hola Eduardo, para poder completar con * php cuenta con un método para rellenar los espacio que es str_pad(), aqui en este link encuentras la ayuda completa y el ejemplo de la parte del código que tienes que modificar.

Gracias

Código que tienes que quitar.

1
2
3
4
for ($i=0; $i <10 ; $i++) {
		$asterisco=$contenido."*";
 
}

Colocar este en su lugar.

1
$asterisco=str_pad($input, 10,'*');

Nota: en lugar de colocar para el salto de linea "\r\n" colocar chr(13).chr(10) de esta manera se refleja mejor el salto de linea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Eduardo (4 intervenciones) el 17/10/2020 00:45:44
Hola Yoel, he hecho esos cambios pero aún siguen sin salirme los asteriscos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
header('Content-Type: text/html; charset=UTF-8');
 
$fichero=@fopen('Texto-1.txt', 'rb' );
 
if(!$fichero)
{
   exit("ERROR: no se pudo abrir el archivo");
 
} else{
$contenido = fread($fichero, filesize('Texto-1.txt'));
 
$fichero2=@fopen('Texto-2.txt', 'w+b' );
 
	while (!feof($fichero))
	{
	$a=fgets($fichero);
     	$asterisco=str_pad($contenido,10,'*');
      $resultado=$asterisco.chr(13).chr(10);
	echo $resultado;
}
$fichero2=fwrite($resultado,$a);
 
}
fclose($fichero);
fclose($fichero2);
?>

Esto es lo que me sale cuando lo abro :
1234567 12 1 1234 1234 12345
Warning: fwrite() expects parameter 1 to be resource, string given in F:\XAMPP\htdocs\Actividad 3.php on line 22

Warning: fclose() expects parameter 1 to be resource, bool given in F:\XAMPP\htdocs\Actividad 3.php on line 26
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.865
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por javier (493 intervenciones) el 17/10/2020 09:16:43
hola, mira, y si lo haces asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
 
class archivos{
 
public $datos;
public $archivo_nombre;
public $archivo_ruta;
 
public function arrayToTxt($datos = '', $ruta = '', $file = ''){
 
    if ($file != '') $this->archivo_nombre = $file;
    if ($ruta != '') $this->archivo_ruta = $ruta;
    if ($datos != '') $this->datos = $datos;
 
    $fp = fopen( $this->archivo_ruta . $this->archivo_nombre , "w");
 
    if (is_array($this->datos))
    {
 
        foreach($this->datos as $value){
            fwrite($fp , $value . PHP_EOL);
        }
 
        fclose($fp);
        return true;
    }
    else
    {
        return false;
    }
 
 
}
 
 
public function TxtToArray($file = '', $ruta = ''){
 
    if ($file != '') $this->archivo_nombre = $file;
    if ($ruta != '') $this->archivo_ruta = $ruta;
 
    $array = file( $this->archivo_ruta . $this->archivo_nombre, FILE_IGNORE_NEW_LINES);
    return $array;
}
}
 
$archivo1 = new archivos;
$archivo1->archivo_nombre = 'Texto-1.txt';
$resultado = $archivo1->TxtToArray();
 
$archivo2 = new archivos;
$archivo2->archivo_nombre = 'Texto-2.txt';
 
$relleno = [];
foreach ($resultado as  $value){
  $relleno[] = str_pad($value, 10, '*');
}
 
$archivo2->arrayToTxt($relleno);
$rellenado = $archivo2->TxtToArray();
 
foreach ($rellenado as $value){
  echo $value. '<br>';
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Yoel
Val: 457
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Yoel (110 intervenciones) el 18/10/2020 04:13:52
Hola Eduardo, si lo que quieres hacer es leer fichero 1 y crear el dos con el mismo contenido lo que con los * te dejo un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$file = fopen("Texto-1.txt", "r") or exit("Unable to open file!");
$file2data = '';
while(!feof($file))
{
 $linea = fgets($file);
//Conformamos el contenido del fichero 2
$file2data .= str_pad($linea, 10,'*').chr(13).chr(10);
}
fclose($file);
 
//Escribimos el fichero 2
$file2 = fopen("Texto-2.txt", "w");
fwrite($file2, $file2data);
fclose($file2);

Nota: También puedes usar la solución que te esta dando javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Script en PHP que lea el fichero “Texto-1.txt” y genere el fichero “Texto-2.txt” con asteriscos

Publicado por Eduardo (4 intervenciones) el 22/10/2020 01:54:07
Gracias,ya he podido solucionar el Script
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar