Foros del Web » Programando para Internet » PHP »

conexion bd acces ruta relativa

Estas en el tema de conexion bd acces ruta relativa en el foro de PHP en Foros del Web. hola a todos he creado un funcion que realiza busqueda recursiva(en directorios y subdirectorios) de todas las bases de datos acces, aunque funcione hay una ...
  #1 (permalink)  
Antiguo 04/04/2013, 00:24
 
Fecha de Ingreso: abril-2013
Mensajes: 22
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta conexion bd acces ruta relativa

hola a todos

he creado un funcion que realiza busqueda recursiva(en directorios y subdirectorios)
de todas las bases de datos acces, aunque funcione hay una parte que me fastidia el uso del programa.

Código PHP:
$conexion=odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:/EntornoProgramac/AptanaWorkspace/Busqueda usuarios/'.$path.$resultado''''); 

donde viene la ruta necesito poner la ruta relativa y no absoluta,para poder subir la aplicacion a un servidor,al poner ruta relativa la aplicacion casca.

alguien tiene alguna solución??

salu2
  #2 (permalink)  
Antiguo 04/04/2013, 01:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: conexion bd acces ruta relativa

Primero, sería conveniente que no tengas espacios en los nombres de directorio y/o archivos.

Crea una variable o constante, donde tengas la ruta absoluta al directorio raíz del sitio; si estás trabajando en tu PC, sería algo como c:/ruta/raiz/aplicacion y, cuando lo subas al servidor quedaría algo como /home/public_html/aplicacion

$conexion=odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=' . $aqui_la_ruta_absoluta . '/'.$path.$resultado, '', '');
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/04/2013, 01:59
 
Fecha de Ingreso: abril-2013
Mensajes: 22
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: conexion bd acces ruta relativa

hola gracias por tu comentario

ya he cambiado los espacios pero el problema sigue siendo el mismo,

yo no dispongo la ruta del servidor porque es un servidor de alquiler,
la aplicación se aloja en mi dominio y la conexion tiene que partir de ai
con una ruta relativa.
  #4 (permalink)  
Antiguo 04/04/2013, 03:11
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: conexion bd acces ruta relativa

No importa que el servidor no sea propio, con echo __FILE__; puedes obtener nombre del script y, de paso, la ruta absoluta al mismo.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 04/04/2013, 07:59
 
Fecha de Ingreso: abril-2013
Mensajes: 22
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: conexion bd acces ruta relativa

Cita:
Iniciado por Triby Ver Mensaje
No importa que el servidor no sea propio, con echo __FILE__; puedes obtener nombre del script y, de paso, la ruta absoluta al mismo.
Código PHP:
function funcionRecursiva($path){


  
$rutaRaw=__FILE__;
$rutaRaw2=explode('\\',$rutaRaw);
$num=sizeof($rutaRaw2);
$ruta="";
for(
$i=0;$i<($num-1);$i++){
   
$ruta=$ruta.$rutaRaw2[$i]."\\";
}

$user=$_REQUEST['usuario'];
$nombre=$_REQUEST['nombre'];
$apellido1=$_REQUEST['apellido1'];
$apellido2=$_REQUEST['apellido2'];
$contrasena=$_REQUEST['contrasena'];
$email=$_REQUEST['email'];
$dni=$_REQUEST['dni'];



if(
$user!="" || $nombre!="" || $apellido1!="" || $apellido2!="" || $contrasena!="" || $email!="" || $dni!=""){

  
$carpetas=scandir($path);//carpetas es un array

 

    
foreach ($carpetas as $resultado) {
      if(
$resultado!="." && $resultado!=".." && $resultado!="Thumbs.db"){



        if(
is_file($path.$resultado)){//si lo encontrado es un fichero  
            
             
$partes=explode("."$resultado);
             
$extension=end($partes);
             if(
$extension=="mdb" && $resultado="gestor.mdb"){
                
$conexion=odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ='.$ruta.$path.$resultado'''');
               
                
//$conexion=odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=BusquedaUsuarios/'.$path.$resultado, '', '');

                
$sql="select * from usuarios where ";
                 
                 if (
$user!="") {
                    
$sql $sql "nombreusuario like'".$user."'";
                 }
                 

                  if (
$nombre!="") {
                    if(
$user!=""){$sql$sql ." and ";}
                    
$sql$sql ."nombre like'".$nombre."'";
                  }

                  if(
$apellido1!=""){
                    if(
$user!="" || $nombre!=""){$sql$sql ." and ";}
                    
$sql$sql ."apellido1 like'".$apellido1."'";
                  }

                   if(
$apellido2!=""){
                    if(
$user!="" || $nombre!="" || $apellido1!=""){$sql$sql ." and ";}
                    
$sql$sql ."apellido2 like'".$apellido2."'";
                  }

                  if(
$contrasena!=""){
                    if(
$user!="" || $nombre!="" || $apellido1!="" || $apellido2!=""){$sql$sql ." and ";}
                    
$sql$sql ."contrasena like'".$contrasena."'";
                  }

                  if(
$email!=""){
                    if(
$user!="" || $nombre!="" || $apellido1!="" || $apellido2!="" || $contrasena!="" ){$sql$sql ." and ";}
                    
$sql$sql ."email like'".$email."'";
                  }

                  if(
$dni!=""){
                    if(
$user!="" || $nombre!="" || $apellido1!="" || $apellido2!="" || $contrasena!="" || $email!=""){$sql$sql ." and ";}
                    
$sql$sql ."dni like'".$dni."'";
                  }
                if(
$conexion){
                   
$busqueda=odbc_exec($conexion$sql);  



             
                   if(
odbc_fetch_row($busqueda)){
                    echo 
"El usuario se encuentra en: <a href='".$path."index.asp'><b>".$path.$resultado."</b></a> <br>";
                   }

                }
                
             }
            }



          
//y si lo hallado es una carpeta
          
if(is_dir($path.$resultado)){           
            
funcionRecursiva($path.$resultado."/");
          }

      }
      
    }

   

}else{
    echo 
"Debe rellenar alguno de los campos<br>";

}

}

funcionRecursiva("carpeta/");
 echo 
"<a href='Formulario.html'>Volver</a>";

?> 
  #6 (permalink)  
Antiguo 04/04/2013, 13:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: conexion bd acces ruta relativa

El servidor local y el rentado son Windows? Lo pregunto porque usas \ como separador de directorios y, si sólo es para obtener la ruta, entonces convendría usar dirname().
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: bd, conexion, relativa, ruta, usuarios
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 01:04.