sábado, 26 de marzo de 2016

Php - 19. Subir archivos

En esta entrada os pongo un ejemplo de codigo para subir un archivo al servidor desde php, segun el siguiente codigo:

<!DOCTYPE html>
<html>

<head>
<meta charset='utf-8'>
<link rel="stylesheet" href="hojadeestilo.css">
<title>Subir archivo</title>
</head>
<body>
<header>
<h1>Subir archivo</h1>
<figure><img src="milogo.jpeg"/></figure>
</header>

<nav>
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="acercade.html">Acerca de</a></li>
</ul>
</nav>
<section>
<article>
<hgroup>
<h1>Formulario de subida</h1>
<h2>archivos</h2>
</hgroup>  

 <?php
  if(isset($_FILES["archivo"])){        
$archivo = $_FILES["archivo"]['name'];
// guardamos el archivo a la carpeta imagenes que debe estar creada
$destino = "imagenes/_".$archivo;
copy($_FILES['archivo']['tmp_name'],$destino);
 echo"<p>Archivo subido</p>".$archivo;
 ?>
<form method="post" action="
<?php
echo $_SERVER['PHP_SELF'];
?>
"enctype="multipart/form-data">
¡Sube tu foto!: <input type="file" name="archivo" />
 <input type="submit" name="enviar" value="Enviar" />
 </form>
 <?php
  }else {  
  ?>
<form method="post" action="
<?php echo $_SERVER['PHP_SELF']; ?>
"enctype="multipart/form-data">
 ¡Sube tu foto!: <input type="file" name="archivo" />
 <input type="submit" name="enviar" value="Enviar" />
 </form>

</article>

</section>

<aside>
<h1>Siguenos en:</h1>
<ul>
<li><a href="facebook.html">Facebook</a>
</li>
<li><a href="twitter.html">Twitter</a></li>
</ul>
</aside>
<footer>

<p>Pagina creada por Ticoticotaa @2016</p>

<ul>
<li><a href="contacto.html">Contacto</a>
</li>
<li><a href="mapaweb.html">Mapa Web</a></li>
</ul>
</footer>
</body>
</html>
El codigo php hace que compruebe si se ha enviado un archivo, en dicho caso sube el archivo al servidor y lo renombra.
Dentro del codigo he incluido un "if" (estructura condicional) mezclado con html, que comprueba si se mando el archivo, en caso negativo muestra el formulario y en caso positivo confirma el envio del archivo y vuelve a mostrar el formulario.
He incluido la autollamada en el mismo archivo (PHP_SELF) para evitar crear 2 archivos como en anteriores ocasiones.

No hay comentarios:

Publicar un comentario