Foros del Web » Programando para Internet » PHP »

extraño problema al cargar base de datos desde php

Estas en el tema de extraño problema al cargar base de datos desde php en el foro de PHP en Foros del Web. Holas... pues les cuento que ahora me pille un problema.. cuando trate de subir un backup a mi base de datos... pues cuando busque y ...
  #1 (permalink)  
Antiguo 02/03/2007, 16:37
 
Fecha de Ingreso: mayo-2006
Mensajes: 99
Antigüedad: 17 años, 11 meses
Puntos: 0
extraño problema al cargar base de datos desde php

Holas...
pues les cuento que ahora me pille un problema.. cuando trate de subir un backup a mi base de datos... pues cuando busque y cague el archivo me dio el siguinete mesaje de error


Warning: file(SQL 11-01-2006.txt) [function.file]: failed to open stream: No such file or directory in D:\apachefriends\xampp\htdocs\www\prueba\Mantenimi ento.php on line 251

Warning: implode() [function.implode]: Bad arguments. in D:\apachefriends\xampp\htdocs\www\prueba\Mantenimi ento.php on line 251

Conectas a tu BD .. Cargas Archivo ... Conta.txt ...

Error al Cargar el archivo!...

pero lo mas curioso es que esto me pasa solo con los nombres de algunos archivos...
pues tenia un backup con el nombre ContaWeb 11-02-2005.txt
y efectivamente me subio la base de datos sin ningun problema....
luego ensaye renombrar el archivo y cargarlo... pero me salio de nuevo el mensaje de error....

la verdad no encuentro el motivo de esto... he estado revisando el codigoy no veo nada raro....
ahh. otra cosa el error solo sale cuando la ruta es fuera de la carpeta prueba que esta en el servidor local....
aui le dejo el codigo de formualrio que sube los achivos:


Código PHP:
    echo "<center> "
    
."<form name=fcarga action=modulos.php?name=Administracion&file=Mantenimiento method=POST>"
    
."<p class = 'Texto'>Archivo : <input type='file' name='fileSQL0' size=50 class='Campo'></p>"
    
."<p>&nbsp; </p>"
    
."<input type=submit name=cargarsql value=Cargar class= 'Boton'>"
    
."</form >"
    
."</center>"

if (
$cargarsql == "Cargar" && $fileSQL0){
$sql implode(''file($fileSQL0));
$sql_sentencias=explode(';',$sql);
echo
"<p class=Texto> Conectas a tu BD .. Cargas Archivo ... $fileSQL0 ...</p>";
foreach (
$sql_sentencias as $sentencia_sql){
    if (
mysql_query($sentencia_sql)){ 

        
$vconsl="Consulta Ejecutada con Exito";
    }
    else{
        
$vconsl="Error al Cargar el archivo!...";
    }

ojala me puedan ayudar..
gracias de atemano....
__________________
El sabio puede sentarse en un hormiguero, pero sólo el necio se queda sentado en él
  #2 (permalink)  
Antiguo 02/03/2007, 20:35
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: extraño problema al cargar base de datos desde php

Hola algo curioso es esto "Mantenimi ento.php" el espacio q hay en ese nombre de archivo, no sera por eso...?

Salud2
__________________

  #3 (permalink)  
Antiguo 02/03/2007, 21:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 99
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: extraño problema al cargar base de datos desde php

no.. eso fue un error mio al postearlo....
__________________
El sabio puede sentarse en un hormiguero, pero sólo el necio se queda sentado en él
  #4 (permalink)  
Antiguo 03/03/2007, 05:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: extraño problema al cargar base de datos desde php

No será que no estás colocando las comillas a los atributos de tu form?
  #5 (permalink)  
Antiguo 03/03/2007, 06:25
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Re: extraño problema al cargar base de datos desde php

Creo que estás refiriendo mal el formulario, prueba con esto:

Código PHP:
echo "<center> "
    
."<form name=fcarga  enctype=multipart/form-data action=modulos.php?name=Administracion&file=Mantenimiento method=POST>"
    
."<p class = 'Texto'>Archivo : <input type='file' name='fileSQL0' size=50 class='Campo'></p>"
    
."<p>&nbsp; </p>"
    
."<input type=submit name=submit id=submit value=Cargar class= 'Boton'>"
    
."</form >"
    
."</center>"

if (
$_POST['submit'] && $fileSQL0){
$sql implode(''file($fileSQL0));
$sql_sentencias=explode(';',$sql);
echo
"<p class=Texto> Conectas a tu BD .. Cargas Archivo ... $fileSQL0 ...</p>";
foreach (
$sql_sentencias as $sentencia_sql){
    if (
mysql_query($sentencia_sql)){ 

        
$vconsl="Consulta Ejecutada con Exito";
    }
    else{
        
$vconsl="Error al Cargar el archivo!...";
    }


Y por supuesto, te has olvidado el "enctype=multipart/form-data" en un formulario que trata archivos !!!!

Acostumbrate de paso a poner comillas en los parámetros de las tags.

Salu2
  #6 (permalink)  
Antiguo 03/03/2007, 06:59
 
Fecha de Ingreso: mayo-2006
Mensajes: 99
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: extraño problema al cargar base de datos desde php

Hola. chimera .. he echo los cambios que me sugeriste.. pero ahora sale este mensaje..


Warning: file() expects parameter 1 to be string, array given in D:\apachefriends\xampp\htdocs\www\prueba\Mantenimi ento.php on line 251

Warning: implode() [function.implode]: Bad arguments. in D:\apachefriends\xampp\htdocs\www\prueba\Mantenimi ento.php on line 251

Conectas a tu BD .. Cargas Archivo ... Array ...

Error al Cargar el archivo!...
__________________
El sabio puede sentarse en un hormiguero, pero sólo el necio se queda sentado en él
  #7 (permalink)  
Antiguo 03/03/2007, 07:31
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Re: extraño problema al cargar base de datos desde php

Primer problema que tienes: Intentas procesar el formulario en la misma página en la que muestras los resultados. Yo lo haría en páginas distintas, o funciones distintas.

Segundo problema, recuperas bien el archivo, deberías hacerlo algo así:

Código PHP:
   $target_path1 "../almacenamiento/"//lugar donde guardas el archivo
   
$_FILES['fileSQL0']['tmp_name']; 
   
$target_path $target_path1 basename$_FILES['fileSQL0']['name']);
   
move_uploaded_file($_FILES['fileSQL0']['tmp_name'], $target_path);  
  
   
$target_path // esa es la url del archivo almacenado, para que puedas trabajar con el. 

Salu2
  #8 (permalink)  
Antiguo 03/03/2007, 07:32
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: extraño problema al cargar base de datos desde php

Insistes en no poner comillas, eso puede cortar las cadenas enviadas. Tampoco usas superglobales para tomar el archivo enviado:
Código PHP:
<?php
echo "<center> "
    
."<form name=\"fcarga\"  enctype=\"multipart/form-data\" action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">"
    
."<p class = \"Texto\">Archivo : <input type=\"file\" name=\"fileSQL0\" size=50 class=\"Campo\"></p>"
    
."<p>&nbsp; </p>"
    
."<input type=\"submit\" name=\"submit\" id=\"submit\" value=\"Cargar\" class=\"Boton\">"
    
."</form >"
    
."</center>"

if (
$_FILES['fileSQL0']){
/*
configurar
    mysql_connect('','','');
    mysql_select_db('');
*/
    
$sql implode(''file($_FILES['fileSQL0']['tmp_name']));
    
$sql_sentencias=explode(';',$sql);
    echo
"<p class=\"Texto\"> Conectas a tu BD .. Cargas Archivo ...".$_FILES['fileSQL0']['name']." ...</p>";
    foreach (
$sql_sentencias as $sentencia_sql){
        if (
mysql_query($sentencia_sql)){ 
               
$vconsl="Consulta Ejecutada con Exito";
        }
        else{
            
$vconsl="Error al Cargar el archivo!...";
        }
    } 

?>
  #9 (permalink)  
Antiguo 03/03/2007, 07:35
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: extraño problema al cargar base de datos desde php

Cita:
Iniciado por .:Chimera:. Ver Mensaje
Primer problema que tienes: Intentas procesar el formulario en la misma página en la que muestras los resultados. Yo lo haría en páginas distintas, o funciones distintas.

Segundo problema, recuperas bien el archivo, deberías hacerlo algo así:

Código PHP:
   $target_path1 "../almacenamiento/"//lugar donde guardas el archivo
   
$_FILES['fileSQL0']['tmp_name']; 
   
$target_path $target_path1 basename$_FILES['fileSQL0']['name']);
   
move_uploaded_file($_FILES['fileSQL0']['tmp_name'], $target_path);  
  
   
$target_path // esa es la url del archivo almacenado, para que puedas trabajar con el. 

Salu2
No hace falta mover el archivo para lo que él pretende.
  #10 (permalink)  
Antiguo 03/03/2007, 08:52
 
Fecha de Ingreso: mayo-2006
Mensajes: 99
Antigüedad: 17 años, 11 meses
Puntos: 0
De acuerdo Re: extraño problema al cargar base de datos desde php

Bueno.. primero que todo.. les agradezco la atencion y ayuda prestada...
segundo.. pues hize los cambios que sugerio Panino5001
y bueno funciona... bien... solo tuve que remplazar la linea

$sql = implode('', file($fileSQL));

por esta otra

$sql = implode('', file($_FILES['fileSQL0']['tmp_name']));

de verdad gracias por todo... chao y un saludo...
__________________
El sabio puede sentarse en un hormiguero, pero sólo el necio se queda sentado en él
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 18:15.