Foros del Web » Programando para Internet » PHP »

Subir archivo

Estas en el tema de Subir archivo en el foro de PHP en Foros del Web. Estoy intentando subir un archivo(imagen) desde una página (subirimagen.php) que se encuentra a dos niveles del directorio raiz: Código HTML: <form name= "for" action= "subirimagen.php?valor=1" ...
  #1 (permalink)  
Antiguo 01/01/2012, 18:56
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Subir archivo

Estoy intentando subir un archivo(imagen) desde una página (subirimagen.php) que se encuentra a dos niveles del directorio raiz:

Código HTML:
<form name="for" action="subirimagen.php?valor=1" method="post" enctype="multipart/form-data">

		<input type="file" name="imagen">&nbsp;<input type="submit" name="submit" value="Subir imagen">

	</form> 

y la estoy intentando subir a una carpeta (comic) que esta en la raiz y para ello utilizo:

Código PHP:
if($_GET['valor'] == 1)
$foto_name $HTTP_POST_FILES['imagen']['name'];
$nombre_temporal $HTTP_POST_FILES['imagen']['tmp_name'];
$tipo_archivo $HTTP_POST_FILES['imagen']['type'];
$tamano_archivo $HTTP_POST_FILES['imagen']['size'];
        
        if(
is_uploaded_file($nombre_temporal)) 
        {
            
$ruta "../../comic/".$comic."/".$foto_name;
            
//copy($nombre_temporal, $ruta);
            
move_uploaded_file($nombre_temporal$ruta);
                  } 
Pero el caso es que no esta subiendo el archivo al servidor use copy o move_uploaded_file

¿Estoy haciendo algo mal?

E probado quitando los "../../" con $_SERVER['DOCUMENT_ROOT'] y nada


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #2 (permalink)  
Antiguo 01/01/2012, 18:57
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

explicate por favor
  #3 (permalink)  
Antiguo 01/01/2012, 19:00
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Subir archivo

¿Que es lo que no entiendes?

Estoy intentando subir un archivo a un servidor.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #4 (permalink)  
Antiguo 01/01/2012, 19:01
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

si te sirve mira este post en el ultimo comentario posteo una manera de como subir y grabar la ruta en mysql.

http://www.forosdelweb.com/f18/inser...-datos-967216/
  #5 (permalink)  
Antiguo 01/01/2012, 19:06
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Subir archivo

Creo que me expresado mal, la imagen si que sube al servidor a una carpeta temporal, pero falla al hacer:

Código PHP:
copy($nombre_temporal$ruta); 
move_uploaded_file($nombre_temporal$ruta); 
Cualquiera de las dos instrucciones no hace nada, no mueve el archivo desde la carpeta temporal a la carpeta que le especifico.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #6 (permalink)  
Antiguo 01/01/2012, 19:15
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

al parecer tu codigo podria funcionar pero bueno si quieres te paso un codigo te lo explico como lo implementas
  #7 (permalink)  
Antiguo 01/01/2012, 19:38
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

codigo en el encabezado




//esto ya sabras es al condicion de si se envia una caja de texto
if (isset ($_POST["nombre"])) {

//extensiones de archivos disponibles
$archivos_disp_ar = array('jpg', 'jpeg', 'gif', 'png', 'tif', 'tiff', 'bmp');
//carpeta donde vamos a guardar la imagen
$carpeta = '../../comics/';
//recibimos el campo de imagen el campo es donde examinas la ruta de la imagen
$imagen = $_FILES['imagen']['tmp_name'];
//guardamos el nombre original de la imagen en una variable
$nombrebre_orig = $_FILES['imagen']['name'];
//el proximo codigo es para ver que extension es la imagen
$array_nombre = explode('.',$nombrebre_orig);
$cuenta_arr_nombre = count($array_nombre);
$extension = strtolower($array_nombre[--$cuenta_arr_nombre]);

//validamos la extension si no es la que se permiten dara un mensaje de error
if(!in_array($extension, $archivos_disp_ar)) $error = "Este tipo de archivo no es permitido";

//si no hay errores entonces procedemos a guardar la imagen
if(empty($error)){

//creamos nuevo nombre para que tenga nombre unico
$nombre_nuevo = time().'_'.rand(0,100).'.'.$extension;
//nombre nuevo con la carpeta
$nombre_nuevo_con_carpeta = $carpeta.$nombre_nuevo;
//por fin movemos el archivo a la carpeta de imagenes
$mover_archivos = move_uploaded_file($imagen , $nombre_nuevo_con_carpeta);
//de damos permisos 777
chmod($nombre_nuevo_con_carpeta,0777);

//recojo los datos que grabare en la base de datos si no quieres grabar en la BD pues bora estas 3 lineas de abajo
$nombre = $_POST["tipo"]; $usuario = $_POST["nombre"];
$sql = mysql_query("INSERT INTO fotos (Nombre, Usuario, Archivo)VALUES('{$nombre}','{$usuario}','{$nombre_ nuevo}')");

//este codigo es para informarle al usuario que el archivo se ha cargado exitosamente
$respuesta ='Su archivo se ha enviado exitosamente';}
}










la parte html sera mas interesante pero mas sencilla
  #8 (permalink)  
Antiguo 01/01/2012, 19:45
 
Fecha de Ingreso: enero-2012
Mensajes: 11
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Subir archivo

Donde definis $ruta?
  #9 (permalink)  
Antiguo 01/01/2012, 19:46
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

en el form action lo reemplazaras por como se llama tu archivo

y listo no es complicado de entender espero que te sirva







<span class="style1">Tamaño maximo Permitido 1.99 MB</span><br />
estado de la tranferencia<span class="style1">
<?php if(!empty($error)){echo 'Error: este formato no es permitido';}elseif(!empty($respuesta)){echo 'Su archivo se ha enviado exitosamente';}else{echo '';}?>
</span><br />
<form action="pagina.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<label for="imagen"></label>
<table width="50%" border="0" align="center">
<tr>
<td width="50%"><div align="center" class="style1">1. Seleccione la imagen
<input name="imagen" type="file" class="style21" id="imagen" />
</div></td>
</tr>
<tr>
<td><div align="center"><span class="style1">2. Nombre de la imagen</span>
<input name="tipo" type="text" id="tipo" size="40" maxlength="99" />
</div></td>
</tr>
<tr>
<td><div align="center"><span class="style1">3. usuario
<label>
<input type="text" name="nombre" id="nombre" />
</label>
</span></div></td>
</tr>
<tr>
<td><div align="center" class="enviar">
<input type="submit" name="button" id="button" value="Submit" />
</div></td>
</tr>
</table>
</form>
  #10 (permalink)  
Antiguo 01/01/2012, 19:46
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Subir archivo

cual la ruta que recibo de la pc o la ruta donde guardare la imagen
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:40.