Foros del Web » Programando para Internet » PHP »

PHP OO Mini Explorador de Archivos en PHP

Estas en el tema de Mini Explorador de Archivos en PHP en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/07/2012, 14:54
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Mini Explorador de Archivos en PHP

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

Etiquetas: explorador, recursividad
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 12:07.