Escribir un cuadrado en un archivo

$lado= filter_input(INPUT_GET, 'lado');
if (empty($lado)){
 $lado=3;
}
$f = fopen('cuadrado.txt', 'w');
for ($i = 0; $i < $lado; $i++) {
 fwrite($f, str_repeat('0', $lado)."\n");
}
fclose($f);

$tabla=file('cuadrado.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$cadena= file_get_contents('cuadrado.txt');
var_dump($tabla);
var_dump($cadena);
file_put_contents('cuadrado.txt', 'ola k ase????',FILE_APPEND);

Funciones de lectura completa en PHP

La siguiente función nos lee un fichero y lo pasa a un array:

file("test.txt")

La siguiente hace lo mismo pero como una string:

file_get_contents("test.txt");

Esta escribe directamente unos datos al fichero:

file_put_contents("test.txt","Hello World. Testing!");

Esta lee un fichero y lo imprime directamete en la pantalla:

readfile("viajeros.txt");

Leer y modificar web

$url='http://www.20minutos.es/minuteca/rita-barbera/';
if (!empty($_GET['url'])){
 $url=$_GET['url'];
}
$img=['http://debeverse.com/wp-content/uploads/2015/07/Gatito-Rezando.jpg','http://imagenesdeamistadunicas.com/wp-content/uploads/2016/imagenes/imagenes-bellas-de-gatitos.jpg','http://cdn.weruletheinternet.com//wp-content/uploads/images/2012/Janurary/overflow/1_10/cute_animal_pictures_7.jpg','http://4.bp.blogspot.com/_mwlHu9TqP1E/TC_KJ3EDgAI/AAAAAAAAAAU/tmD1V-ici4g/s1600/gatito.jpg','http://www.elmegatop.com/wp-content/uploads/gatito-triste.jpg','http://i1.wp.com/www.ateneupopular.com/wp-content/uploads/2012/03/gatotipo1.jpg?resize=550%2C317','http://genialesimagenes.com/wp-content/uploads/2015/09/gatito-tierno-bosteza.jpg'];
$f = fopen($url, 'r');

while (!feof($f)) {
 $linea = fgets($f);
 
 $linea= preg_replace('/src=\".*\.jpg/', "src=\"".$img[mt_rand(0,count($img)-1)], $linea);
 echo str_ireplace("barberá", "Bárbara", $linea);
}
fclose($f);

Variables variables

En PHP podemos tener variables variables, esto es, poniendo dos $$ accedemos al valor:

$nombre='Juan';
$a='nombre';
echo $$a; //Imprime Juan

Podemos extenderlo al infinito:

$Bar = "a";
  $Foo = "Bar";
  $World = "Foo";
  $Hello = "World";
  $a = "Hello";

  $a; //Returns Hello
  $$a; //Returns World
  $$$a; //Returns Foo
  $$$$a; //Returns Bar
  $$$$$a; //Returns a

  $$$$$$a; //Returns Hello
  $$$$$$$a; //Returns World

Funciones array (1)

Crear un array de un rango determinado:

range($inicio, $fin[,$paso])
$pares=range(2,100,2);
//Letras únicamente:
$lista=range('a','z');

Recorrer un array:

foreach (expresión_array as $valor)
    sentencias
foreach (expresión_array as $clave => $valor)
    sentencias

Rellenar valores en un array:

$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// el resultado es array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// el resultado es array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// sin relleno

Eliminar elementos de un array:

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
//          "azul", "negro", "granate")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
//          "azul", "púpura", "amarillo");

Juntar y separar arrays/cadenas

$array = array('apellido', 'email', 'teléfono');
$separado_por_comas = implode(",", $array);

echo $separado_por_comas; // apellido,email,teléfono

$pizza  = "porción1 porción2 porción3 porción4 porción5 porción6";
$porciones = explode(" ", $pizza);
echo $porciones[0]; // porción1
echo $porciones[1]; // porción2

Ejemplos cookies

Poner una cookie:

setcookie('destino',1,time()+86400*30);

Acceder a una cookie (unsafe):

echo $_COOKIE['test']

Acceder a una cookie (safe):

$destino=  filter_input(INPUT_COOKIE, 'destino');

Borrar una cookie:

setcookie('prueba',27,time()-1000);

Ejercicio viajes

viajes

A destacar:

 <h4>Nombre de los viajeros:</h4>
 <?php
 for($i=0;$i<$form['viajeros'];$i++){
 ?>
 <input class="form-control" type="text" name="nombres[]"/>
 <?php
 }
 ?>
 <input type="hidden" name="total" value="<?=$total?>"/>
 <input type="hidden" name="destino" value="<?=$form['destino']?>"/>


----


 $nombres= filter_input(INPUT_POST, 'nombres',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
 
 <h2>Destino: <?=@array("Lima","Logroño","Cancun","Ibiza","Chipre")[$destino-1]?></h2>