Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

permitir subir imagenes al sever

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado

0
No hay votos
 
Votos totales: 0

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

permitir subir imagenes al sever

#1

Mensaje por micasamitelefono »

Versión de phpBB: 3.0.2
Tipo de phpBB: phpBB estandar, (tambien llamado Vanilla) phpBB2 o phpBB3
MODs Instalados: No
Tu conocimiento: Conocimiento básico
Enlace del Foro: http://www.opticos-optometristas.com/foro

¿Qué recuerdas haber hecho en el foro antes de aparecer este error?


¿Qué has realizado para intentar resolver el problema?


Descripción y Mensaje
Hola a todos, como el foro que he creado es para una comunidad de opticos-optometristas y muchas veces necesitamos ver imagenes para resolver casos, me estaba planteando la posibilidad de permitir a los users registrados subir imagenes al server (no tengo limite de capacidad), he encontrado un formulario para permitir esto, es este

Código: Seleccionar todo

<?php
/*
NOTA: 
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777. 
*/
//CONFIGURACION 
$maximo_tamano= '300000'; 														//tamaño maximo de los archivos. 100000 equivale a 100kb.
$direccion_envio= 'micorreo@gmail.com'; 		//la direccion a la que se enviara el email.
$url= 'http://www.miweb.com/foro/usuarios'; //la URL donde esta publicado el formulario. SIN la barra al final

//FIN CONFIGURACION
?>


<?PHP
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {

//recogemos las variables
$nombre=$_POST['nombre'];
$email=$_POST['email'];
$comentario=$_POST['comentario'];

//comprobamos si se adjunto un archivo, y si su tamano es menor al permitido
if (isset($_FILES['archivo']['tmp_name'])) {
$tipo=$_FILES['archivo']['type'];
//Formatos de archivo permitidos, si desean agregar mas, agregar un case para cada formato. 
switch ($tipo) {
	case "image/gif":
	$ext="gif";
	break;
	case "image/pjpeg":
	$ext="jpg";
	break;
	case "image/jpeg":
	$ext="jpg";
	break;
	case "image/png":
	$ext="png";
	break;
	case "application/zip":
	$ext="zip";
	break;
	default:
	$ext="error";
	break;
}

$aleatorio = rand(); 
$nombreoriginal= explode ('.', $_FILES['archivo']['name']);
$tamano=$_FILES['archivo']['size'];
$nuevonombre=$nombreoriginal[0].'-'.$aleatorio.'.'.$ext;
}

if (isset ($nuevonombre)) {
if ($ext=="error") {$error_archivo="<br />- Formato de archivo no permitido.";}
if ($tamano > $maximo_tamano) {$error_archivo="<br />- El tama&ntilde;o de su archivo supera el m&aacute;ximo permitido.";}
}

//comprobamos si todos los campos fueron completados
if ($nombre!='' && $email!='' && $comentario!='' && $error_archivo=='') {

// copiamos el archivo en el servidor
copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre);

//armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Contacto desde formulario</h2>';
$contenido .= '<p>Enviado el '.  date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong>';
$contenido .= '<p>Email: <strong>'.$email.'</strong>';
$contenido .= '<p>Archivo: <strong><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a> (formato:'.$ext.' - '.$tamano.' bytes)</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';

// si todos los campos fueron completados enviamos el mail
mail ($direccion_envio, "Contacto desde el formulario", $contenido, "From: $nombre\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit"); 
$flag='ok';
$mensaje='<div id="ok">Su archivo ha sido cargado con &eacute;xito<br /> Gracias por Contactarnos</div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario	
$flag='err';
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';

}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<title>Contactenos - v2</title>

<style>
	body {
			font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
			font-size: 76%;}
		
	#form {
	  	border: 3px double #eaeaea;
		  background-color: #FFC;
		  padding: 1em;
		  width: 30em;
		  margin: auto;}

	#form h2{
			font-size: 2em;
			margin: 0 0 0.5em 0;
			padding: 0;}


	#form .campo {
			border: 1px solid #999;
			padding: 0.3em;
			font-size: 1.5em;}

	#form .error {
			border: 1px solid #F00;
			padding: 0.3em;
			font-size: 1.5em;}

	#form .com {
			border: 1px solid #999;
			padding: 0.3em;
			font-size: 1.5em;
			width:18em;
			height: 10em;
			font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}

	#form .com-error {
			border: 1px solid #F00;
			padding: 0.3em;
			font-size: 1.2em;
			width:18em;
			height: 10em;
			font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}

  #form .boton {
			border: 2px solid #999;
			padding: 0.3em;
			font-size: 1.2em;
			width: 4em;}

	 #error {
		  border: 1px dashed #F00;
		  background-color: #FFF;
		  padding: 5px;}

	 #ok {
	    border: 1px dashed #060;
	    background-color:#FFF;
	    padding: 5px;}
			
</style>

	</head>
	<body>
	<div id="form">
		
<h2>Formulario de Contacto v2</h2>
<p>Ejemplo del formulario de contacto con env&iacute;o de archivo</p>

<? echo $mensaje; /*mostramos el estado de envio del form */ ?>
<? if ($flag!='ok') { ?>
<form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
	<p>Nombre* <br />
	<input <? if (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<? echo $_POST['nombre'];?>" /></p>
	
	<p>Email* <br />
	<input <? if (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email"  value="<? echo $_POST['email'];?>" /></p>


	<p>Subir Archivo*<br />(Formatos permitidos: .gif, .jpg, .png, .zip) <br />
	<input <? if (isset ($flag) && $ext=='error' || $tamano > $maximo_tamano) { echo 'class="error"';} else {echo 'class="campo"';} ?> type="file" name="archivo"  value="<? echo $_FILE['archivo'];?>" /></p>
		
	<p>Comentario* <br />
	<textarea <? if (isset ($flag) && $_POST['comentario']=='') { echo 'class="com-error"';} else {echo 'class="com"';} ?> name="comentario"><? echo $_POST['comentario'];?></textarea></p>
	<p><input class="boton" type="submit" name="enviar" value="enviar" /></p>
	</form>
<? } ?>
	</div> <!-- end form-->

	</body>
</html>
pero me surgen algunas dudas

1- puede esto provocar una puerta de entrada a usuarios malintencionados
2- cómo hacer para que se compruebe que solo los registrados lo usan
3-he estado mirando por ahí, pero igual me ayudais y existe un método mejor que este.


muchisimas gracias[/i]

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


xoom
Ex Staff
Mensajes: 1158
Registrado: 03 Ene 2006, 09:02
Género:

Re: permitir subir imagenes al sever

#2

Mensaje por xoom »

¿Porqué no subís las imágenes como adjunto? Ese script que has publicado, no es para phpBB, deberás adaptarlos al código del foro.
URL: http://www.lasegundaguerra.com
Plantilla usuada: Dirty Board
MODs instalados: Medals Mods, Multi Race Rank Theme
Versión de phpBB: 3.08
Servidor: De pago

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: permitir subir imagenes al sever

#3

Mensaje por micasamitelefono »

pero subiendolos como adjuntos, se muestran en una caja que no me acaba de molar aparte de que si se sale del tamaño aparecen las barras de desplazamiento y quiesiera evitarlas. Por otra parte a que te refiers con que no está adaptado? a que no se inteegra en una pagina del foro? eso no me importa, simplemente despues daria instrucciones a los users para publicar la foto que se guarda en un directorio conocido

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


xoom
Ex Staff
Mensajes: 1158
Registrado: 03 Ene 2006, 09:02
Género:

Re: permitir subir imagenes al sever

#4

Mensaje por xoom »

Si no controlas el tamaño de la imagen publicada, te pueden deshacer toda la plantilla del foro. Es practicamente obligado poner un mod que reduzca las dimensiones cuando pasan de un máximo que creas oportuno. ¿Que pasaría si alguien sube una imagen original de una cámara digital de 2.200 pxl de ancho?

¿Porque no instalas directamente una galería de imágenes? Por ejemplo phpBB Gallery 0.1.2. Es un mod y por lo tanto quedará integrado en tu foro.
URL: http://www.lasegundaguerra.com
Plantilla usuada: Dirty Board
MODs instalados: Medals Mods, Multi Race Rank Theme
Versión de phpBB: 3.08
Servidor: De pago

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: permitir subir imagenes al sever

#5

Mensaje por micasamitelefono »

no se puede en la conf del foro limitar el tamño de publicacion de imagenes?

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: permitir subir imagenes al sever

#6

Mensaje por mitch »

Se puede todo eso

incluso, cambiar el "aspecto" de los adjuntos que dices te molesta.... pero crear un script para subir archivos, habiendo uno ya en phpBB3 que controla permisos y todo eso... no me parece adecuado.

Cerrado

Volver a “Foros de Soporte 3.0.x”