Foros del Web » Programando para Internet » PHP »

problema con variable al subir archivos

Estas en el tema de problema con variable al subir archivos en el foro de PHP en Foros del Web. Que tal mi problema es que no me respeta una variable que tengo asignada a una carpeta que creo en la cual el usuario subirá ...
  #1 (permalink)  
Antiguo 21/09/2009, 17:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta problema con variable al subir archivos

Que tal mi problema es que no me respeta una variable que tengo asignada a una carpeta que creo en la cual el usuario subirá imagenes por medio de un formulario.
Es decir en mi mismo doc de php recibo datos los cuales los utilizo para crear una carpeta. Hasta aqui todo bien, pero al momento de hacer funcionar el formulario con el cual subiran imagenes no me respeta la variable de la carpeta, si sube la imagen pero en un lugar donde no quiero, asi tengo mi codigo:

Código PHP:
<?
$rut 
"gal/$carpeta/photos"
$ruta$rut.$_FILES['fichero']['name'];
if (isset(
$_POST['submit'])) { 
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta)) { // se coloca en su lugar final
                    
echo "<b>Upload exitoso!. Datos:</b><br>";
            echo 
"Nombre: <i><a href=\"gal/$carpeta/photos/".$_FILES['fichero']['name']." \">".$_FILES['fichero']['name']."</a></i><br>";
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
                        echo 
"<br><hr><br>";
        }
    }
}

?> 
<form action="<? echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
  <p>Archivo: 
    <input name="fichero" type="file">
  </p>
  <p>
    <input name="submit" type="submit" value="Upload!"> 
      </p>
</form>
NO ME RESPETA LA VARIABLE $carpeta, ya que al subir la imagen me la sube en:
gal//photos

¿Cómo tengo que poner en sintaxis la variable para que jale?
  #2 (permalink)  
Antiguo 21/09/2009, 17:55
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Una: Donde tienes declarada la variable $carpeta? pk pareciera que no tiene valor.

Dos: Si tienes php5 o + te recomiendo comenzar con <?php en vez de <?

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 21/09/2009, 19:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Información

Antes del codigo que puse viene lo siguiente solo que en este no me da ningun problema por eso solo puse lo anterior pero ahi te va lo que va antes para que puedas observar como saque esa variable:

[php]<?
//Conexion con la base
mysql_connect("localhost","xxxxx","xxxxxx");
//Ejecucion de la sentencia SQL
mysql_db_query("grupobiz_inmuebles","insert into $tipo(condicion,ubicacion,precio,periodo,edad,reca maras,banos,const,terre,descri) values ('$condicion','$ubicacion','$precio','$periodo','$ edad','$recamaras','$banos','$const','$terre','$de scri')");
?>

<?

$result=mysql_db_query("grupobiz_inmuebles","selec t * from $tipo order by id desc limit 1 ");

while ($row=mysql_fetch_array($result))

$ido = $row["id"];
?>
<?
switch($tipo){
case('departamentos'):
$inmue ="dep";
break;
case ('casas'):
$inmue ="cas";
break;
case ('locales'):
$inmue ="loc";
break;
case ('terrenos'):
$inmue ="ter";
break;
case ('bodegas'):
$inmue ="bod";
break;
}
?>
<?
$carpeta=$inmue.$ido;
echo $carpeta;
?>
<?
mkdir("gal/$carpeta/",0777);
chmod("gal/$carpeta/",0777);
mkdir("gal/$carpeta/photos/",0777);
chmod("gal/$carpeta/photos/",0777);
copy("gal/ar/AC_RunActiveContent.js","gal/$carpeta/photos/AC_RunActiveContent.js");
copy("gal/ar/cas1.html","gal/$carpeta/photos/cas1.html");
copy("gal/ar/cas1.swf","gal/$carpeta/photos/cas1.swf");
?>

Todo esto no me causa problemas como vez mi variable $carpeta la saco dependiendo de la opcion de inmueble que elijan y del id ( ejemplo dep001), con esta creo una carpeta con ese mismo nombre y copio otros archivos dentro de esta. EL PROBLEMA ES CUANDO INTENTO SUBIR IMAGENES A ESTA CARPETA PUES PONGO $carpeta EN LA RUTA DONDE SUBIR LAS IMAGENES PERO NO APARECE Y ME LOS SUBE EN OTRA RUTA gal//photos/ CUANDO DEBERÍA SUBIRMELOS EN gal/$carpeta/photos/ YO PIENSO QUE EL PROBLEMA ES DE SINTAXIS PERO USTEDES COMO VEN?

ENVIO DE NUEVO EL CODIGO:
Código PHP:
<?
//Conexion con la base
mysql_connect("localhost","xxxxx","xxxxxx");
//Ejecucion de la sentencia SQL
mysql_db_query("grupobiz_inmuebles","insert into $tipo(condicion,ubicacion,precio,periodo,edad,reca maras,banos,const,terre,descri) values ('$condicion','$ubicacion','$precio','$periodo','$ edad','$recamaras','$banos','$const','$terre','$de scri')");
?>

<?

$result
=mysql_db_query("grupobiz_inmuebles","selec t * from $tipo order by id desc limit 1 ");

while (
$row=mysql_fetch_array($result))

$ido $row["id"];
?>
<?
switch($tipo){
case(
'departamentos'):
$inmue ="dep";
break;
case (
'casas'):
$inmue ="cas";
break;
case (
'locales'):
$inmue ="loc";
break;
case (
'terrenos'):
$inmue ="ter";
break;
case (
'bodegas'):
$inmue ="bod";
break;
}
?>
<?
$carpeta
=$inmue.$ido;
echo 
$carpeta;
?>
<?
mkdir
("gal/$carpeta/",0777);
chmod("gal/$carpeta/",0777);
mkdir("gal/$carpeta/photos/",0777);
chmod("gal/$carpeta/photos/",0777);
copy("gal/ar/AC_RunActiveContent.js","gal/$carpeta/photos/AC_RunActiveContent.js");
copy("gal/ar/cas1.html","gal/$carpeta/photos/cas1.html");
copy("gal/ar/cas1.swf","gal/$carpeta/photos/cas1.swf");
?>

Última edición por GatorV; 21/09/2009 a las 20:15
  #4 (permalink)  
Antiguo 22/09/2009, 08:07
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Pero ese while deberia estar abarcando solo una linea o varias??...

Porque de ser asi te va a tomar siempre el ultimo resultado

Agregales unas { } para encerrar lo que quieres.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 22/09/2009, 10:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema con variable al subir archivos

OK ya se lo puse sin embargo sigue teniendo el mismo error, no me valida la variable $carpeta al subir los archivos a ella, parece que esta mal la ruta pero no se como ponerla sigo creyendo que es error de sintaxis
  #6 (permalink)  
Antiguo 22/09/2009, 13:50
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Y cual es el error que te arroja ??
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 22/09/2009, 14:02
Avatar de danico90  
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: problema con variable al subir archivos

Creo que puede ser por dos cosas:

1. No esta concatenando la variable. Prueba:

Código PHP:
"gal//".$carpeta."//" 
ó

2."/" la barra inclinada hace que php se salte la variable. Entonces prueba poner dos barras inclinadas por cada una que quieras poner.
  #8 (permalink)  
Antiguo 22/09/2009, 14:10
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Es una posibilidad... pero php autointerpreta las variables dentro de las comillas dobles como en este caso:
Código PHP:
"gal/$carpeta/" 
Cita:
Iniciado por webmaster at daersys dot net
<?php
$var = "test";

echo "$var"; // Will output the string "test"

echo "\$var"; // Will output the string "$var"

echo '$var'; // Will do the exact same thing as the previous line
?>
Y en terminos de carpeta podria ser... pero como no sabemos que error es el que le arroja, podriamos estar interviniendo todo el dia en errores posibles en vez de atacar el error de raiz.

=)

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 22/09/2009, 16:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta

pues ya intente lo de las diagonales dobles y concatenarlo pero aun asi se lo salta, y no me arroja ningun error

la linea del problema es esta:

Código PHP:
if(move_uploaded_file($_FILES['fichero']['tmp_name'],"gal/".$carpeta."/photos/".$_FILES['fichero']['name'])) 
ya que se salta la variable $carpeta por lo que me guarda la imagen en "gal/photos" porque no reconoce la variable??

Última edición por GatorV; 23/09/2009 a las 08:46
  #10 (permalink)  
Antiguo 23/09/2009, 07:56
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Una de las maneras de ver el problema seria ir haciendo impresion de cada variable comenzando desde la primera.

Pero mirando tu codigo de nuevo me di cuenta de esto:
Código PHP:
"selec t * from $tipo order by id desc limit 1 " 
Y al parecer no trae ningun dato de la base de datos por que si no me equivoco ese SELECT t * deberia arrojar un error.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #11 (permalink)  
Antiguo 23/09/2009, 13:15
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema con variable al subir archivos

si fue un detalle sin embargo ese no es el problema es la ruta donde guarda las imagenes que suben al servidor creo que mejor buscare otra forma de agregar las variables a la ruta de envio de imágenes gracias por su cooperacion
  #12 (permalink)  
Antiguo 23/09/2009, 17:45
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con variable al subir archivos

Entiendo... pero de todas formas la ruta de $carpeta viene de esa consulta sql... y si esa consulta no funcionaba no funcionaria nunca $carpeta.

Haz intentado hacer un echo de $sql para ver si esa consulta que salga en pantalla te trae algun dato en phpMyAdmin o en algun cliente mysql q tengas ?
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #13 (permalink)  
Antiguo 29/09/2009, 11:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema con variable al subir archivos

si de hecho lo he probado con echos y si me arroja resultados bien y sin problemas me ha aparecido en echo por ejemplo"dep017" y me crea la carpeta pero lo de subir las imágenes a ese directorio es cuando truena yu no me la respeta como si no existiera la variable
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 02:00.