| App inventor 2 en español  Cómo programar los teléfonos móviles con Android
 mediante App inventor 2 - Juan Antonio Villalpando
 --- PHP y MySQL en App Inventor 2 -- Volver al índice del tutorial de PHP y MySQL  ____________________________ 323.- Subir archivo al servidor web mediante PHP.  - Vamos a subir archivos desde nuestro ordenador al servidor web, en nuestro caso al hosting de hostinger, 317_hosting_gratuito.  - Entraremos en una página web, desde esa página localizaremos en nuestro ordenador el archivo que queremos subir y lo subiremos a nuestro hosting. http://kio4.esy.es/subir_archivo.htm ---------------------------------------------------------------------------------- NOTA: si estás utilizando el hosting gratuito de hostinger, como hemos visto en el tutorial anterior, envía los archivos .htm y .php al servidor remoto mediante FTP, como hemos visto en el tutorial 317_hosting_gratuito. - Es necesario trabajar en este cliente FTP.  
 ________________________________________________________________________________________________________________
 - Inicio. - El usuario localiza un archivo en su ordenador y lo envía al servidor web.  - Entramos con el cliente FTP Filezilla en nuestro hosting y creamos una carpeta en el servidor remoto, llamada subidos. - En la parte del Sitio remoto, pulsamos con el botón derecho del ratón y Creamos un directorio llamada subidos.  
 - Ahora pulsamos con el botón derecho del ratón sobre el directorio subidos, para cambiarle los Permisos de archivo. 
 - Le marcamos todos los permisos para que cualquiera pueda subir archivos a ese directorio. - El directorio queda bastante desprotegido, pero nos puede valer para hacer pruebas. 
 _____________________________- Página web htm.
 
        
          | subir_archivo.htm
 |  
          | 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ES"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Subir archivo - KIO4.COM</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center">
  <p><b><font color="#0000FF" size="7" face="Arial, Helvetica, sans-serif"><b>WAMP - PHP - MySQL en App inventor 2<br/>
          <font color="#FF0000" size="4"><b>por Juan Antonio Villalpando<br/>
          <font color="#009900" size="7">-- PHP y MySQL en App inventor 2 --</font></font></font></b></p>
</div>
        <table width="79%" height="293" border="4" align="center" cellpadding="12" cellspacing="0" bordercolor="#009900" bgcolor="#FFFFCC">
          <tr valign="top"> 
            <td height="285" bgcolor="#FFFFFF"> 
              <p align="left"><font size="4" face="Arial, Helvetica, sans-serif">      Pulsa el Botón de <b><font color="#009900">Examinar</font></b> para elegir un archivo de tu ordenador y luego el Botón de
 <font color="#009900"><b>Enviar</b></font> para subirlo al servidor web. </font></font></font></p>
              <p align="left"><font color="#0000FF" size="6" face="Arial, Helvetica, sans-serif"><b>Subir archivos:</b> </font>              
              <p align="left">
              <form action="subir_archivo.php" method="post" enctype="multipart/form-data">
                <div align="center"> 
                  <font face="Arial, Helvetica, sans-serif">
<input name="nombre_archivo"  type="file" style="font-size:24px; font-family: arial;">
                   
                   
<br><br><br>
<button type="submit" style="font-size:24px; font-family: arial;">Enviar</button>
                  </font></div>
            </form></td>
          </tr>
</table>
</div>
</body>
</html>
 |  - Así quedará: http://kio4.esy.es/subir_archivo.htm _____________________________- Página y código PHP.
 
        
          | subir_archivo.php
 |  
          | 
<!doctype html public "-//W3C//DTD HTML 4.0 //ES"> 
<html>
<head>
       <title>Subir archivo PHP - KIO4.COM</title>
</head>
<body>
<div align="center">
<b><font color="#0000FF" size="7" face="Arial, Helvetica, sans-serif"><b>WAMP - PHP - MySQL en App inventor 2<br/>
<font color="#FF0000" size="4"><b>por Juan Antonio Villalpando<br/>
<font color="#009900" size="7">-- PHP y MySQL en App inventor 2 --
</font></font></font></b>
</div>
<?php
// Juan A. Villalpando
// KIO4.COM
echo "<br><br><br><br><font size='5' face='Arial, Helvetica, sans-serif'>";
$directorio_de_subidas = "subidos/"; 
$nombre_archivo = basename($_FILES['nombre_archivo']['name']);
$direccion_completa = $directorio_de_subidas.$nombre_archivo;  
$tamano = filesize($_FILES['nombre_archivo']['tmp_name']);
if($tamano < 50000){
                    if(move_uploaded_file($_FILES['nombre_archivo']['tmp_name'], $direccion_completa)) { 
    
                        echo "- El archivo ".$nombre_archivo." ha subido al servidor.";                   
echo "<br><br><br><br><a href='http://kio4.esy.es/".$nombre_archivo."'>http://kio4.esy.es/subidos/".$nombre_archivo."</a>";
                    } else { 
                        echo "- Error en la subida del archivo."; 
                    } 
} else {
echo "- El archivo ".$nombre_archivo." no puede subir porque es mayor de 50 KB. Tiene ".$tamano," KB.";
}
echo "<br><br><center><a href='subir_archivo.htm'>Volver</a></center>";
echo "</font> ";
?> 
</body>
</html> |  ___________________________________- Comentarios del código PHP.
 - Los dos archivos anteriores subir_archivo.htm y subir_archivo.php, los subiremos a nuestro servidor web mediante FTP.  - El archivo recibido viene con esta variable: basename($_FILES['nombre_archivo']['name']) - Pero con eso apenas se puede trabajar, si quieres ver información deberá verlo en su carpeta temporal. $tamano = filesize($_FILES['nombre_archivo']['tmp_name']); - He limitado el tamaño del archivo permitido para subir en 50 KB.  - Si el tamaño del archivo es menor de 50000, se guardará en: $direccion_completa = $directorio_de_subidas.$nombre_archivo;  - Siendo el $directorio_de_subidas = "subidos/";  - He puesto códigos HTM dentro del PHP mediante los echo, para que las letras tengan una mejor presentación. - La línea: echo "<a href='http://kio4.esy.es/subidos/".$nombre_archivo."'>http://kio4.esy.es/subidos/".$nombre_archivo."</a>"; muestra la dirección del archivo una vez subido, si subes una imagen o un texto, lo podrás ver al pulsar el enlace.  - Para comprobar si los archivos han subido, podemos hacerlo mediante FTP entrando en el directorio subidos.  _____________________________- Comentarios.
 - Subimos mediante el cliente FTP Filezilla los archivos subir_archivo.htm y subir_archivo.php a nuestro hosting. 
 - Ahora pulsamos en la dirección indicada y podrás subir archivos al directorio subidos de mi hosting remoto.  http://kio4.esy.es/subir_archivo.htm - Los archivos que subamos se guardarán en el directorio subidos del hosting remoto.  - Si el archivo es de tipo de imágenes,  texto,  HTM,  mp3,... se podrá ver escribiendo... http://kio4.esy.es/subidos/nombredelarchivo.aaa _________________  - Un solo archivo. - Este es el mismo código que hemos visto anteriormente, en este caso he unido los archivo subir_archivo.htm y subir_archivo.php en un solo archivo.  
        
          | sube_archivo.php
 |  
          | 
<html>
<head>
<title>Subir archivo - KIO4.COM</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center">
  <p><b><font color="#FF0000" size="4"><b>por Juan Antonio Villalpando - kio4.com <br/></font></b></p>
</div>
        <table width="79%" height="233" border="4" align="center" cellpadding="12" cellspacing="0" bordercolor="#009900" bgcolor="#FFFFCC">
          <tr valign="top"> 
            <td height="225" bgcolor="#FFFFFF"> 
              <p align="left"><font size="4" face="Arial, Helvetica, sans-serif">      Pulsa el Botón de <b>
			  <font color="#009900">Examinar</font></b> para elegir un archivo de tu ordenador y luego el Botón de 
               <b>Enviar</b></font> para subirlo al servidor web.</font></p>
              <p align="left">
              <form action="sube_archivo.php" method="post" enctype="multipart/form-data">
                <div align="center"> 
<input name="nombre_archivo"  type="file" style="font-size:24px; font-family: arial;">
<br><br><br>
<button type="submit" style="font-size:24px; font-family: arial;">Enviar</button></font></div>
            </form></td>
          </tr>
</table>
</div>
<?php
// Juan A. Villalpando
// KIO4.COM
echo "<br><br><br><br><font size='5' face='Arial, Helvetica, sans-serif'>";
$directorio_de_subidas = "subidos/"; 
$nombre_archivo = basename($_FILES['nombre_archivo']['name']);
$direccion_completa = $directorio_de_subidas.$nombre_archivo;  
$tamano = filesize($_FILES['nombre_archivo']['tmp_name']);
if($tamano < 2500000){
                    if(move_uploaded_file($_FILES['nombre_archivo']['tmp_name'], $direccion_completa)) { 
    
	                    echo "- El archivo ".$nombre_archivo." ha subido al servidor.";                   
echo "<br><br><br><a href='http://kio4.com/appinventor/php/subidos/".$nombre_archivo."'>http://kio4.com/appinventor/php/subidos/".$nombre_archivo."</a>";
					} else { 
						echo "- ------"; 
					} 
} else {
echo "- El archivo ".$nombre_archivo." no puede subir porque es mayor de 2500 KB. Tiene ".$tamano," KB.";
}
echo "<br><br><center><a href='sube_archivo.php'>Volver</a></center></font>";
?> 
</body>
</html>
; |    ________________________________________________________
 _________________________
 _______________________
 _____________________
 ___________________
 _________________
 - Otro código para subir imágenes al servidor.
 - Aquí tenemos otro código para subir y luego ver la imagen subida al servidor. - Con un solo archivo PHP, localizamos el archivo a subir, lo subimos y lo vemos en la misma página. - Copia este archivo en tu servidor mediante FTP y ejecútalo. Luego consulta mediante FTP la imagen subida.  http://kio4.esy.es/blob_subir.php 
        
          | blob_subir.php
 |  
          | 
<?php 
if (isset($_FILES['imagen'])){
    
    move_uploaded_file($_FILES['imagen']['tmp_name'], $_FILES['imagen']['name']);
}
?>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data"> 
<input type="file" onchange="this.form.submit()" name="imagen"/>
</form>
<?php if (isset($_FILES['imagen'])){?>
<img src="<?php echo $_FILES['imagen']['name'] ?>" style="max-width:400px">
<?php }?> |  _____________________________- Propuestas.
 - Cambia el código PHP para que solo se puedan subir archivos de textos con la extensión .csv, por ejemplo. ____________________________________________________________________
   |