Foros del Web » Programando para Internet » PHP »

formulario upload - ruta equivocada

Estas en el tema de formulario upload - ruta equivocada en el foro de PHP en Foros del Web. Buenas foro!. Vereis estoy utilizando el siguiente script para subir archivos a una carpeta que se encuentra dentro de un determinado directorio de mi web. ...
  #1 (permalink)  
Antiguo 25/07/2007, 14:41
 
Fecha de Ingreso: noviembre-2006
Mensajes: 241
Antigüedad: 17 años, 5 meses
Puntos: 7
formulario upload - ruta equivocada

Buenas foro!. Vereis estoy utilizando el siguiente script para subir archivos a una carpeta que se encuentra dentro de un determinado directorio de mi web.

La cuestión es que consigo que haga el upload, pero no a la carpeta que le indico en este caso la carpeta "mixtas" que está dentro del directorio marcas. Sino que lo deja en la carpeta "marcas". Alguien sabe porque puede ser esto?. Gracias de antemano y un saludo! :D

================

<?php

//directorio donde tienen que ir los archivos
$uploaddir = "../marcas/mixtas";

//cuantos archivos se pueden subir? si quieres un numero mayor de cantidades solo debes modificar esto y agregar campos de imagen en el formulario del mismo modo que el anterior
$cant = 1;

//tama&ntilde;o maximo permitido
$tam = 2000000;

//funci&oacute;n que evalua el tama&ntilde;o de los archivos
function check_size($archivo)
{
global $tam;
if(!($archivo <= $tam))
{
return false;
}
}

//funcion que evalua el tipo de archivo
function check_tipo($archivo)
{
if(exif_imagetype($archivo) != (IMAGETYPE_JPEG || IMAGETYPE_GIF || IMAGETYPE_PNG))
{
return false;
}
}

//compruebo los archivos
for ($i = 0; $i <= $cant - 1; ++$i)
{
if(check_size($_FILES['foto']['size'][$i]) === false)
{
echo "El tama&ntilde;o de la fotograf&iacute;a supera el limite permitido.";
}


elseif ((!($_FILES['foto']['tmp_name'][$i] == "")) && (check_tipo($_FILES['foto']['tmp_name'][$i]) === false))
{

echo "Por favor compruebe la extensi&oacute;n de la fotograf&iacute;a<BR>Solo se admiten archivos del tipo .gif, .jpg o .png.";

}


elseif (!($_FILES['foto']['tmp_name'][$i] == ""))
{
if($_POST['nombre_img']){ $nombre = str_replace(" ","-",strtolower($_POST['nombre_img'])); }else{ $nombre = "img_".rand(0,999999); }
move_uploaded_file($_FILES['foto']['tmp_name'][$i], $uploaddir.$nombre.".jpg");
echo "La imagen <B>". $nombre.".jpg" ."</B> ha sido subida al servidor correctamente.<br><br>";
}
}

?>


/// RESUELTO! ^^!
  #2 (permalink)  
Antiguo 25/07/2007, 14:49
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: formulario upload - ruta equivocada

Y si le agregas a $uploaddir una diagonal?

Así $uploaddir = "../marcas/mixtas/";
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 25/07/2007, 15:16
 
Fecha de Ingreso: noviembre-2006
Mensajes: 241
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: formulario upload - ruta equivocada

wenas TolerantX!!.

Pues efectivamente era eso.. tonto de mi que no lo vi antes.. :(. Pero de todos modos gracias por la atencion y por leerme :D.
  #4 (permalink)  
Antiguo 25/07/2007, 15:20
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: formulario upload - ruta equivocada

Para eso estamos :)
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #5 (permalink)  
Antiguo 29/11/2007, 17:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 17
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: formulario upload

Hola a todos...

Estoy intentando subir archivos al servidor por medio de move_uploaded_file, todo funciona bien... pero el momento que hago un for($i=0... solo se suben dos archivos de los 3 ó 4, etc que intento subir...

Código:
function Archivo($n){
		$this->inp = $n;
		$this->nom = $this->inp['name'];
		$this->tip = $this->inp['type'];
		$this->tam = $this->inp['size'];
	}

function subir($dir,$n){
		$r;
		if ($n != ''){
			$r = move_uploaded_file($this->inp['tmp_name'], $dir.$n);
		}
		return $r;
	}
En otra clase tengo lo siguiente:

Código:
for($i=0;$i<$num;$i++)
	{
		$nom_fot[$i] = $HTTP_POST_FILES['txtFot'.$i];
		$j=$i+1;
		$nom_fot_2[$j] = $HTTP_POST_FILES['txtFot'.$j];
		$ft1 = new Archivo($nom_fot[$i]);
		$ft2 = new Archivo($nom_fot_2[$j]);
		
			$objFot = new Fotos();
			$fot = "tmp";
			$cod_fot = $objFot->insertFotos($fot,$fot,$cod_sem);
			if($cod_fot!=0)
			{
				$f1 = "fot".$cod_fot;
				$f2 = "fot".$cod_fot."_1";

//La primera vez funciona, pero cuando $i = 1, la función subir() me retorna false y no sube los archivos... si $i=0 sube exitosamente...

				if ($ft1->subir($path,$f1.'.jpg') and $ft2->subir($path,$f2.'.jpg'))
				{
					$nom_fot[$i] = $f1.'.jpg';
					$nom_fot_2[$j] = $f2.'.jpg';
					if($objFot->actualizarFotos($cod_fot,$nom_fot[$i],$nom_fot_2[$j]))
					{
						$ok="ok";
					}
				}
			}	
		
	}
Espero que me puedan ayudar ya que no me devuelve ningún error la función o no sé como puedo hacer para saber lo que está sucediendo... estoy dos semanas utilizando PHP...

Gracias...
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 19:20.