Foros del Web » Programando para Internet » PHP »

Archivo PHP da opcion de descarga en vez de ejecutarse

Estas en el tema de Archivo PHP da opcion de descarga en vez de ejecutarse en el foro de PHP en Foros del Web. Hola. Les cuento que tengo una galeria de imagenes escrita en php, con funciones para gestionar las fotos via archivos particulars, como por ejemplo: borrar.php ...
  #1 (permalink)  
Antiguo 13/08/2009, 13:34
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Archivo PHP da opcion de descarga en vez de ejecutarse

Hola. Les cuento que tengo una galeria de imagenes escrita en php, con funciones para gestionar las fotos via archivos particulars, como por ejemplo:

borrar.php
crear_directorio.php
mover.php
renombrar.php

Y el caso es que ya es la segunda vez que el archivo mover.php no puede ser accedido via url para testeos, porque cuando escribo:

localhost/galeria/libreria/mover.php

... me aparece una ventana de descarga de archivo (mover.php).

Esto no pasa con otros ficheros, como ser borrar.php

Ahora misma la funcion dejo de funcionar, y me disponía a testearla cuando me encontré con este inconveniente por segunda vez (hace unas semanas paso lo mismo).

Reinicié el servidor Apache, y sigue igual.

El archivo en cuestion es el que señalo aqui (solo que online, pero al caso es lo mismo, porque se comporta igual)

libasoles.com.ar/libreria/mover.php

Si pueden darme una pista, mil gracias.

Y si quieren ver que con otros archivos esto no paso, clickeen aqui:
libasoles.com.ar/libreria/borrar.php
  #2 (permalink)  
Antiguo 13/08/2009, 13:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Archivo PHP da opcion de descarga en vez de ejecutarse

Descargalo para que veas la causa del error:

Código html:
Ver original
  1. <br><table border='1' cellpadding='2' bgcolor='#FFFFDF' bordercolor='#E8B900' align='center'><tr><td><font face='Arial' size='1' color='#000000'><b>PHP Error Message</b></font></td></tr></table><br />
  2. <b>Warning</b>:  copy() [<a href='function.copy'>function.copy</a>]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in <b>/home/a4073921/public_html/libreria/mover.php</b> on line <b>14</b><br />
  3. <br><table border='1' cellpadding='2' bgcolor='#FFFFDF' bordercolor='#E8B900' align='center'><tr><td><div align='center'><a href='http://www.000webhost.com/'><font face='Arial' size='1' color='#000000'>Free Web Hosting</font></a></div></td></tr></table>{"status":"1"}
  4. <!-- www.000webhost.com Analytics Code -->
  5. <script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
  6. <noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
  7. <!-- End Of Code -->

Error: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a4073921/public_html/libreria/mover.php on line 14

Parece que ni tu localhost ni 000webhost estan enviando los encabezados adecuados cuando hay algun error.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/08/2009, 14:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Gracias por hacerme notar eso. Al bajar ese archivo, lo que obtengo son los errores por falta de variables $_GET .

Transcribo el archivo original, al que no le he puesto manejo de errores porque ando a tientas:

<?php

$antiguo= $_GET['antiguo'];
$nuevo= $_GET['nuevo'];
$recorrido = $_GET['recorrido'];


if (copy($recorrido.$antiguo, $recorrido.$nuevo))
{unlink($recorrido.$antiguo);};


header('Content-type: application/json');
$return = array(
'status' => '1',
);
echo json_encode($return);

?>

Quizas mover.php no esta recibiendo todas las $_GET? Voy a hacer el mareo a un lado y testear la llamada.

Listo. Pude ver el error, y se trata de un mal paso de las variables. Gracias.

Parece que alteré uno de los parametros en algun lugar, y consecuentemente estaba alimentando mal a mover.php

Última edición por GatorV; 13/08/2009 a las 21:50
  #4 (permalink)  
Antiguo 13/08/2009, 14:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Archivo PHP da opcion de descarga en vez de ejecutarse

Ok, te daba la opcion de descargas por el encabezado que envias header('Content-type: application/json'); y la falta de verificacion de parametros. Bastaria con un else die('No se pudo copiar.'); en el if del copy().
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 13/08/2009, 15:45
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Archivo PHP da opcion de descarga en vez de ejecutarse

Tal cual. Funcionó como dijistes. Un 'else' imprime en pantalla, y uno sabe a que atenerse.
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 16:08.