Tutorial: Como hacer un host de archivos en PHP

  • Autor Autor Wocker
  • Fecha de inicio Fecha de inicio
W

Wocker

Épsilon
Social Media
Hoy venimos con un tutorial de como hacer un host de archivos en PHP para los que esten interesados.
Lo primero que vamos a hacer es a crear un archivo index.html con el siguiente codigo:
Insertar CODE, HTML o PHP:
<form action="<?=$PHP_SELF?>" method="post" name="form1" enctype="multipart/form-data">
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center">Archivo
<input id="archivo" type="file" name="archivo" /></p>
<p align="center"><input id="boton" type="submit" name="boton" value="Enviar" /></p>
Con ese archivo ya tenemos la mitad de nuestro host de archivos ahora creemos un archivo de
nombre $PHP_SELF.php y le ponemos el siguiente código:
Insertar CODE, HTML o PHP:
<? 
if($boton) { 
 if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) { 
 copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']); 
 $subio = true; 
 } 

if($subio) { 
 echo "El archivo ha sido subido "; 
} else { 
 echo "Verifica tu archivo"; 
} 
die(); 
} 
?>
Y con eso lo único que nos falta es darle los permisos 707 a la carpeta que queremos
que almacene nuestro archivos.
Nos debe quedar algo mas o menos así
php-host-1024x527.png

Fuente
 
Última edición:
Dos cosas:

1- No funciona
2- Tu no escribiste el code para poner FUENTE en letras tan grandes, Enlace eliminado
 
Dos cosas:

1- No funciona
2- Tu no escribiste el code para poner FUENTE en letras tan grandes, Enlace eliminado
Bueno a mi me funciono y perdon por lo de la fuente ya lo acomode lo puse en ese tamano si darme cuenta disculpas.
 
Pues a mi no me funciona el code con esa explicación que das, lo probe en mi host y no me sube nada, me manda una página de error... :/
 
Probando....
 
Siempre es bueno aprender cada día mas un poco de HTML :biggrin:
 
probando poes !
 
Así por encima se ve que no existe la variable boton por lo que nunca va funcionar el script.
 
vamos a hacer funcionar el script:
PHP:
<?php
if(isset($_FILES['archivo'])){
	foreach($_FILES['archivo']['error'] as $K=>$_E){
		if ($_E == UPLOAD_ERR_OK) {
			$A = 'upload/'.DameNombre($_FILES["archivo"]["name"][$K]);
			move_uploaded_file($_FILES["archivo"]["tmp_name"][$key],$A) or die("Ocurrio un problema al intentar subir el archivo.");
		}
	}
}else{
	echo '<form action="" method="POST" enctype="multipart/form-data">';
	for($x=1;$x<=10;$x++){
		echo 'Archivo '.$x.': <input type="file" name="archivo[]"><br/>';
	}
	echo '<input type="submit"></form>';
}
?>
1- el script esta mal programado, jamas vas a crear un archivo llamado $PHP_SELF, eso es 0 conocimientos de PHP... $PHP_SELF hace referencia al archivo en que se encuentra el codigo.. y si tu pones un index.html con codigo PHP JAMAS funcionaria!!!
2- el script tuyo jamas subira mas de un archivo, ya que no tienes un bucle para poder subirlos...
3- Antes de hacer copy & paste de algo que no sabes ni como funciona, ni como explicarlo, no lo hagas!

Ahora expliquemos la solucion a el "script..."
El script permite subir hasta 10 archivos al mismo tiempo, el bucle recorre las variables de los errores, si no a dado error sube el archivo, de lo contrario no lo sube, y el nombre del archivo es un md5.extencion, ejemplo si el nombre del archivo es pepe.jpg, este seria 926e27eecdbc7a18858b3798ba99bddd.jpg
 

Temas similares

jentox867
Respuestas
3
Visitas
347
jentox867
jentox867
M
Respuestas
2
Visitas
196
Luisa Andrade
L
Atrás
Arriba