Buenas tardes soy nueva en el foro, por favor necesito ayuda con el siguiente codigo PHP estoy creando un mini explorador para previsualizar y descargar archivos, anteriormente lo tenia en linux pero ahora y corria bien ahora lo tengo en windows con Easy PHP. Mi problema es al momento de retornar (no regresa al directorio anterior sino abre la carpeta donde esta el PHP).. Solicito vuestra ayuda.
codigo
<?php
$dir_sistema="drsp/php";
$dir_sisweb="/var/www/sistemas_web";
/**************funcion para descargar archivos***************/
function DownloadFile($file) { // $file = include path
if(file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length:'.filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
$txt_file=""; // nombre del archivo a descargar
if (isset($_GET['file'])){
$txt_file=$_GET['file'];
DownloadFile($txt_file);
}
$txt_stitulo="";
if(isset($_GET['stitulo'])){
$txt_stitulo="".$_GET['stitulo']."";
}
$n_blinki=0;
if(isset($_GET['nblinki'])){
$n_blinki=$_GET['nblinki'];
}
$n_blinkd=0;
if(isset($_GET['nblinkd'])){
$n_blinkd=$_GET['nblinkd'];
}
$zzz="parent.superior.location.href='superior.php? stitulo=".$txt_stitulo
."';parent.inf_izq.location.href='inf_izq.php?nbli nki=".$n_blinki
."';parent.inf_der.location.href='inf_der.php?nbli nkd=".$n_blinkd."'";
?>
<html>
<?//<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">?>
<link href="../estilos/estilo1.css" rel="stylesheet" type="text/css">
<body bgcolor="#ffffff" onload="<?php echo $zzz ?>">
</body>
<?php
if(isset($_GET['orden'])){
$txt_orden=$_GET['orden'];
}else{
$txt_orden=1;
}
/**************fin de procedimiento***************/
function pdir($pdir,$dir,$posdir){
if(substr($dir,strlen($dir)-1)=="/" and $dir!="/"){
$dir=substr($dir,0,strlen($dir)-1);
}
$posf=strlen($pdir)-strlen(basename($pdir));
$pdir=substr($pdir,0,$posf);
return $pdir;
}
function busca_ext($ext){
$array_ext=array('doc'=>'doc.png',
'docx'=>'doc.png');
foreach($array_ext as $key => $val) {
if($ext==$key){
return $val;
}
}
return "nnn.png";
}
/**************fin de procedimiento***************/
/**************funcion para obtener directorio del xammp para la web***************/
$system_dir=getenv ( "DOCUMENT_ROOT");
/**************incializando variables**********************/
$txt_dir_sistema=getcwd();
$txt_dir_0=""; // directorio donde se inicia el sistema
$txt_dir=""; // nuevo directorio para ver archivos
/**************procedimiento para obtener directorio del scrip***************/
if(!isset($_GET['file']) and !isset($_GET['dir'])){
$txt_dir_0=getcwd();
}
/**************fin de procedimiento***************/
/**************procedimiento para obtener el nuevo directorio***************/
if (isset($_GET['dir_0'])){
$txt_dir_0=$_GET['dir_0'];
}
/**************fin de procedimiento***************/
/**************procedimiento para obtener el directorio de retorno***************/
if (isset($_GET['dir'])){
$txt_dir=$_GET['dir'];
if(substr($txt_dir,0,1)=="/"){
if(strpos($txt_dir,$system_dir)===false){
$txt_dir=getcwd();
}
}
if($txt_dir!=""){
chdir($txt_dir);
}
if(!isset($_GET['dir_0'])){
$txt_dir_0=getcwd();
}
$_pdir=getcwd();
if($txt_dir!=""){
$posdir=0;
if($_pdir!=$txt_dir_0){
$_pdir=pdir($_pdir,$txt_dir,1);
}
if ($txt_dir!="" and substr($txt_dir,strlen($txt_dir)-1,1)!="/"){
$txt_dir=$txt_dir."/";
}
}
}
$dirr=getcwd();
if(!isset($_pdir)){
$_pdir=$dirr;
}
/**************fin de procedimiento***************/
$abroDir = @ dir($dirr);
$ancho_ventana=100;
$contg=1;
$contd=1;
$contf=1;
$_ndir=substr($dirr,strlen($system_dir)+1);
if(strpos($txt_dir,$dir_sisweb)!==false){
$_ndirn=substr($txt_dir,strlen($dir_sisweb));
while (strpos($_ndirn,"../")!==false){
$_ndirn=substr($_ndirn,strlen("../"));
}
if(strpos($_ndirn,$system_dir)!==false){
$_ndirn=substr($_ndirn,strlen($system_dir));
}
if(strpos($_ndirn,$dir_sistema)!==false){
$_ndirn=substr($_ndirn,strlen($dir_sistema));
}
$_ndirn="../../".$_ndirn; // numero de directorios despues de /var/www/
}else{
$_ndirn=$txt_dir;
}
if ($_ndirn!="" and substr($_ndirn,strlen($_ndirn)-1,1)!="/"){
echo "y".$_ndirn.="/";
}
$arraydir=array();
$array_1=array();
$array_2=array();
$array_3=array();
$array_4=array();
$z="0000000000";
while ($contenido = $abroDir->read())
{
if (is_dir($contenido))
{
$arraydir[$contd]=$contenido;
$contd++;
}
else
{
if(strpos($contenido,"~")==false){
$file_name_original=$contenido;
$file_name_orden=strtolower($contenido);
$file_extension=strtolower(substr($contenido,strpo s($contenido,".")+1));
$file_size_original=filesize($contenido);
$file_ultima_modificacion=date("d-m-Y / H:i:s.",filemtime($contenido));
$file_ultima_fecha_orden=date("m-d-Y / H:i:s.",filemtime($contenido));
$sk=round($file_size_original/1000,2);
if($sk<1000){
$file_size= $sk." KB";
}else{
$sk=round($sk/1000,2);
if($sk<1000){
$file_size= $sk." MB";
}else{
$sk=round($sk/1000,2);
$file_size= $sk." GB";
}
}
$file_size_original=SUBSTR($z,0,10-strlen(trim($file_size_original))-1).$file_size_original;
$array_1[$contf][1]=$file_name_orden.$file_extension;
$array_2[$contf][1]=$file_extension.$file_name_orden;
$array_3[$contf][1]=$file_size_original.$file_extension.$file_name_or den;
$array_4[$contf][1]=$file_ultima_fecha_orden.$file_extension.$file_na me_orden;
$array_1[$contf][2]=$array_2[$contf][2]=$array_3[$contf][2]=$array_4[$contf][2]=$file_name_original;
$array_1[$contf][3]=$array_2[$contf][3]=$array_3[$contf][3]=$array_4[$contf][3]=$file_extension;
$array_1[$contf][4]=$array_2[$contf][4]=$array_3[$contf][4]=$array_4[$contf][4]=$file_size;
$array_1[$contf][5]=$array_2[$contf][5]=$array_3[$contf][5]=$array_4[$contf][5]=$file_ultima_modificacion;
$contf++;
}
}
}
$abroDir->close();
// ************* ordenamiento de arrays