Quiero que los usuarios puedan subir archivos.

que debo hacer para que los usuarios puedan subir y compartir archivos en mi foro ?

gracias
www.tingomusic.looptm.com
tingolon escribió:que debo hacer para que los usuarios puedan subir y compartir archivos en mi foro ?

gracias

Hola, puedo ayudarte en lo que necesitas, son 6 pasos y los escribo a continuacion:

1. Crea una carpeta "uploads" en alguna parte de tu dominio.

2. Crea un archivo llamado "subir.html" y guardalo en el mismo lugar donde esta guardada la carpeta "uploads" PERO NO ADENTRO DE UPLOADS sino en el mismo lugar donde se encuentra. Adentro de subir.html pone este contenido:
<html>
<head>
<title>Subir Archivo</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    [b]<font color="#99FF33">Enviar un nuevo archivo: </font>[/b]
    

    <input name="userfile" type="file">


    <input type="button" value="« Atras" onClick="history.back()">
    <input type="submit" value="Enviar »">
	</form>
</body>
</html>
3. Crea un archivo con el nombre de "upload.php" (sin comillas) y guardalo en la misma carpeta que donde esta la carpeta uploads y el archivo subir.html. Adentro de upload.php copia y pega el siguiente codigo:
<?
$folder = "uploads/"; // Carpeta a la que queremos subir los archivos
$maxlimit = 50000000; // Máximo límite de tamaño (en bits)
$allowed_ext = "rar,zip,jpg,gif,exe"; // Extensiones permitidas (usad una coma para separarlas)
$overwrite = "no"; // Permitir sobreescritura? (yes/no)

$match = ""; 
$filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
$filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
   $error = "- Ningún archivo selecccionado para subir.
";
}elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
   $error = "- El archivo [b]$filename[/b] ya existe
";
}

// comprobar tamaño de archivo
if($filesize < 1){ // el archivo está vacío
   $error .= "- Archivo vacío.
";
}elseif($filesize > $maxlimit){ // el archivo supera el máximo
   $error .= "- Este archivo supera el máximo tamaño permitido.
";
}

$file_ext = preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
$allowed_ext = preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
}

// Extensión no permitida
if(!$match){
   $error .= "- Este tipo de archivo no está permitido: $filename
";
}

if($error){
   print "Se ha producido el siguiente error al subir el archivo:
 $error"; // Muestra los errores
}else{
   if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
      print "[b]$filename[/b] se ha subido correctamente!"; //el mensaje que saldra cuando el archivo este subido
   }else{
      print "Error! El tamaño supera el máximo permitido por el servidor. Inténtelo de nuevo."; // Otro error
   }
}

?>
<form>
     <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
</form>
4. Modifica solo lo que dice que modifiques segun lo que vos quieras.

5. Subi todo eso a tu servidor por medio de FTP.

6. Para subir los archivos una vez que este todo subido a un dominio solo tenes que entrar a la pagina subir.html de tu web.
EDIT: Por favor a los moderadores borrar este post que lo escribi sin querer 2 veces, perdon por mi error. ^^


tingolon escribió:que debo hacer para que los usuarios puedan subir y compartir archivos en mi foro ?

gracias

Hola, puedo ayudarte en lo que necesitas, son 3 pasos y los escribo a continuacion:

1. Crea una carpeta "uploads" en alguna parte de tu dominio.

2. Crea un archivo llamado "subir.html" y guardalo en el mismo lugar donde esta guardada la carpeta "uploads" PERO NO ADENTRO DE UPLOADS sino en el mismo lugar donde se encuentra. Adentro de subir.html pone este contenido:
<html>
<head>
<title>Subir Archivo</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    [b]<font color="#99FF33">Enviar un nuevo archivo: </font>[/b]
    

    <input name="userfile" type="file">


    <input type="button" value="« Atras" onClick="history.back()">
    <input type="submit" value="Enviar »">
	</form>
</body>
</html>
3. Crea un archivo con el nombre de "upload.php" (sin comillas) y guardalo en la misma carpeta que donde esta la carpeta uploads y el archivo subir.html. Adentro de upload.php copia y pega el siguiente codigo:
<?
$folder = "uploads/"; // Carpeta a la que queremos subir los archivos
$maxlimit = 50000000; // Máximo límite de tamaño (en bits)
$allowed_ext = "rar,zip,jpg,gif,exe"; // Extensiones permitidas (usad una coma para separarlas)
$overwrite = "no"; // Permitir sobreescritura? (yes/no)

$match = ""; 
$filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
$filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
   $error = "- Ningún archivo selecccionado para subir.
";
}elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
   $error = "- El archivo [b]$filename[/b] ya existe
";
}

// comprobar tamaño de archivo
if($filesize < 1){ // el archivo está vacío
   $error .= "- Archivo vacío.
";
}elseif($filesize > $maxlimit){ // el archivo supera el máximo
   $error .= "- Este archivo supera el máximo tamaño permitido.
";
}

$file_ext = preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
$allowed_ext = preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
}

// Extensión no permitida
if(!$match){
   $error .= "- Este tipo de archivo no está permitido: $filename
";
}

if($error){
   print "Se ha producido el siguiente error al subir el archivo:
 $error"; // Muestra los errores
}else{
   if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
      print "[b]$filename[/b] se ha subido correctamente!"; //el mensaje que saldra cuando el archivo este subido
   }else{
      print "Error! El tamaño supera el máximo permitido por el servidor. Inténtelo de nuevo."; // Otro error
   }
}

?>
<form>
     <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
</form>
4. Modifica solo lo que dice que modifiques segun lo que vos quieras.

5. Subi todo eso a tu servidor por medio de FTP.
con los foros phpbb3 no tienes la opcion de subir archivos? sin tener que cambiar codigo ni nada, viene implementado