Categoría: Sin categoría
Mostrar imágenes carpeta upload
chdir('upload'); if ($gestor = opendir('.')) { while (false !== ($entrada = readdir($gestor))) { if ($entrada != "." && $entrada != "..") { $info= pathinfo($entrada); if ($info['extension']=="jpg" || $info['extension']=="png"){ echo '<img width="50" height="50" src="upload/'.$entrada.'">'; } } } closedir($gestor); }
Ficheros array
<form enctype=”multipart/form-data” action=”archivo.php” method=”POST”>
<!– MAX_FILE_SIZE debe preceder al campo de entrada del fichero –>
<input type=”hidden” name=”MAX_FILE_SIZE” value=”300000″ />
<!– El nombre del elemento de entrada determina el nombre en el array $_FILES –>
Foto: <input name=”foto” type=”file” /><br/>
Curriculum: <input name=”curri” type=”file” /><br/>
Informes: <input name=”informe[]” type=”file” /><br/>
<input name=”informe[]” type=”file” /><br/>
<input name=”informe[]” type=”file” /><br/>
<input type=”submit” value=”Enviar fichero” /></form>
$dir_subida = 'upload/'; $foto = $dir_subida . basename($_FILES['foto']['name']); $curri = $dir_subida . basename($_FILES['curri']['name']); if (move_uploaded_file($_FILES['foto']['tmp_name'], $foto)) { echo "Foto subida con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } if (move_uploaded_file($_FILES['curri']['tmp_name'], $curri)) { echo "Curriculum subido con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } for ($i=0;$i<count($_FILES['informe']['name']);$i++){ if (move_uploaded_file($_FILES['informe']['tmp_name'][$i], $dir_subida . basename($_FILES['informe']['name'][$i]))) { echo "Informe $i subido con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } }
Subir archivos PHP
Para subir un archivo necesitamos primero indicar en el formulario el typo de datos (multipart/form-data) y, opcionalmente, el máximo tamaño:
<!-- El tipo de codificación de datos, enctype, DEBE especificarse como sigue --> <form enctype="multipart/form-data" action="__URL__" method="POST"> <!-- MAX_FILE_SIZE debe preceder al campo de entrada del fichero --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES --> Enviar este fichero: <input name="fichero_usuario" type="file" /> <input type="submit" value="Enviar fichero" /> </form>
Después, en el PHP, debemos recoger el archivo y moverlo a su ubicación definitiva:
$dir_subida = '/var/www/uploads/'; $fichero_subido = $dir_subida . basename($_FILES['fichero_usuario']['name']); if (move_uploaded_file($_FILES['fichero_usuario']['tmp_name'], $fichero_subido)) { echo "El fichero es válido y se subió con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; }
Carácter de nueva línea \n
El carácter de nueva línea sólo funciona cuando está encerrado entre comillas dobles:
$a='hola\n';
$b="hola\n";
En el primer caso no hace salto de línea, en el segundo sí. Esto se aplica a la hora de imprimir en pantalla o escribir en ficheros.
En general el entrecomillado doble permite carácteres de escape, mientras que el simple no:
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);
Plugins validación formularios en jquery
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