Foros del Web » Programando para Internet » PHP »

Carpeta no publica

Estas en el tema de Carpeta no publica en el foro de PHP en Foros del Web. Hola Buenas tardes a ver si alguien me puede ayudar. ¿Existe alguna forma en php en llegar a una carpeta fuera del public_html? Tengo una ...
  #1 (permalink)  
Antiguo 02/02/2007, 06:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Carpeta no publica

Hola Buenas tardes a ver si alguien me puede ayudar.

¿Existe alguna forma en php en llegar a una carpeta fuera del public_html?

Tengo una carpeta con documentos y los cuales quiero que no esten dentro de public_html, mi intencion es desde un archivo que esta en /home/dominio/public_html/carpeta/archivo.php poderme descargar ese documento que esta en /home/dominio/misdocumentos.

Le paso la ruta /home/dominio/misdocumentos/nombredearchivo pero nada siempre se me va a /home/dominio/public_html//misdocumentos/nombredearchivo

he probado con el dirname(/home/dominio/misdocumentos) . "/nombredearchivo"
y sigue igual
  #2 (permalink)  
Antiguo 02/02/2007, 06:55
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 1 mes
Puntos: 81
Re: Carpeta no publica

En el mismo sitio de la funcion dirname() en php.net encontre esto:
Cita:
Iniciado por info at gieson dot com
This one will put both the "www" and "file" path into an easy to transport array.

<?php
// build the www path:
$me = $_SERVER['PHP_SELF'];
$Apathweb = explode("/", $me);
$myFileName = array_pop($Apathweb);
$pathweb = implode("/", $Apathweb);
$myURL = "http://".$_SERVER['HTTP_HOST'].$pathweb."/".$myFileName;
$PAGE_BASE['www'] = $myURL;

// build the file path:
strstr( PHP_OS, "WIN") ? $strPathSeparator = "\\" : $strPathSeparator = "/";
$pathfile = getcwd ();
$PAGE_BASE['physical'] = $pathfile.$strPathSeparator.$myFileName;

// this is so you can verify the results:
$www = $PAGE_BASE['www'];
$physical = $PAGE_BASE['physical'];

echo "$physical<p>";
echo "$www<p>";
?>

The following will return something like:

Windows:
F:\dev\Inetpub\wwwroot\somedirectory\index.php
http://devserver/somedirectory/index.php

Unix:
/home/somepathto/gieson.com/webroot/index.php
http://www.gieson.com/index.php
  #3 (permalink)  
Antiguo 03/02/2007, 03:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Carpeta no publica

Gracias, ya he podido llegar a la carpeta, pero mi duda ahora es como forzar una descarga en dicha carpeta.
<?php
$f = "Ruta"
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$f\"\n");
$fp=fopen("$f", "r");
fpassthru($fp);
?>

Utilizando esto se me descarga un txt con errores.
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 00:16.