PHP - Generar archivo Plano en el servidor funciona pero cuando accedo desde otro equipo no

   
Vista:

Generar archivo Plano en el servidor funciona pero cuando accedo desde otro equipo no

Publicado por Oscar Mauricio oscarmauricio316@gmail.com (17 intervenciones) el 26/08/2013 17:21:27
Cordial saludo

Estoy trabajando in proyecto para la compañia y tengo una falla al generar los archivos planos producto de la consulta a mysql


Cuando lo lo ejecuto en localhost opera bien y me genera el archivo plano pero cuando lo hago desde otra pc en la red lan ejecuta la consulta , no sale ningun error y tampoco genera al archivo

Gracias de antemano

este es el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<title></title>
    </head>
    <body>
       <?php
        include 'funciones.php';
        $conexion=  conectarse();
 
        $selectdiaantes=$_POST['diadesde'];
        $selectmesantes=$_POST['mesdesde'];
        $selectañoantes=$_POST['añodesde'];
 
        $selectdiahasta=$_POST['diahasta'];
        $selectmeshasta=$_POST['meshasta'];
        $selectañohasta=$_POST['añohasta'];
 
        $fecha1="$selectañoantes-$selectmesantes-$selectdiaantes 00:00:00";
        $fecha2="$selectañohasta-$selectmeshasta-$selectdiahasta 23:59:59";
 
            echo "BUSQUEDA POR FECHA ",$fecha1,$fecha2;
 
 
 
$Consulta=mysql_query("SELECT u.nombreusuario,
                              p.placa,
                              e.estado,
                              r.hora,
                              r.observaciones
                       FROM   usuarios u,
                              registro r,
                              placas p,
                              estado e
                       WHERE r.idusuario=u.idusuario and
                             r.idplaca=p.idplaca and
                             r.idestado=e.idestado and
                             r.hora between '$fecha1' and '$fecha2'   
                             ",$conexion);
 
if ($row = mysql_fetch_array($Consulta)){
 
     $salida=fopen("C:\\nombredelarchivo.txt","w");
   do {
 
       $linea=$row["placa"].",".$row["estado"].",".$row["estado"].",".$row["hora"].",".$row["observaciones"]."\r\n";
fwrite($salida,$linea);
 
   } while ($row = mysql_fetch_array($Consulta));
 
   fclose($salida);
}
 
else {
echo "¡ No se ha encontrado ningún registro !";
}
 
?>
    </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de terra

Generar archivo Plano en el servidor funciona pero cuando accedo desde otro equipo no

Publicado por terra (62 intervenciones) el 26/08/2013 19:14:42
Hola Oscar,
Te recomendaría realizar en esta linea:
1
$salida=fopen("C:\\nombredelarchivo.txt","w");

por...
1
$salida=fopen("\\NombreServidor\RecursoCompartido\nombredelarchivo.txt","w");

Probalo y comenta si te sirvió.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Generar archivo Plano en el servidor funciona pero cuando accedo desde otro equipo no

Publicado por Oscar Mauricio (17 intervenciones) el 26/08/2013 21:20:09
ok. entiendo

una duda no quiero guardar el archivo en el servidor , lo que quiero es guardarlo desde la computadora donde me conecto-

Gracias por su colaboracion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

Generar archivo Plano en el servidor funciona pero cuando accedo desde otro equipo no

Publicado por terra (62 intervenciones) el 26/08/2013 23:59:04
Ok.
Para que el archivo lo guarde en tu PC cliente tendrás que compartir una carpeta en el PC Cliente y la linea del script:
1
$salida=fopen("\\NombreServidor\RecursoCompartido\nombredelarchivo.txt","w");

deberías cambiarla por:
1
2
3
4
5
6
7
8
9
$PCCliente = gethostbyaddr($_SERVER['REMOTE_ADDR']); // Obtengo el NOMBRE del PC cliente
$RecursoCompartido = "RecursoCompartido"; // carpeta compartida
$NombreArchivo = "Texto.txt"; // nombre del archvivo propiamente dicho
$NombreCompleto = "\\\\".$PCCliente."\\".$RecursoCompartido."\\".$NombreArchivo ; // TARGET completo
 
$f = fopen($NombreCompleto, "w");
    $contenido = fread($f, filesize($NombreCompleto));
    fclose($f);
    echo "<br>".$contenido;

Obvio que as variables, puedes pasarla por metodos GET o POST según tu FORM.

Importante


1
gethostbyaddr()

obtiene leyendo el archivo HOST de windows. Si en este archivo tienes otros HOST escritos a manos te cogerá el dato de la PRIMERA linea del archivo HOST.

Espero haber sido claro en todo.. sino sigue preguntando.
saludos y comenta pls!
thks!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar