Foros del Web » Programando para Internet » PHP »

Que significa ese [.] y esos [..] ?

Estas en el tema de Que significa ese [.] y esos [..] ? en el foro de PHP en Foros del Web. Feliz semana, hice esto: Código PHP: $handle = opendir ( $_SERVER [ 'DOCUMENT_ROOT' ]. '/2005' );     while ( $file  =  readdir ( $handle )) {     echo  $file ...
  #1 (permalink)  
Antiguo 19/05/2004, 07:08
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Que significa ese [.] y esos [..] ?

Feliz semana, hice esto:

Código PHP:
$handle=opendir($_SERVER['DOCUMENT_ROOT'].'/2005');
    while (
$file readdir($handle)) {
    echo 
$file.'<BR>';
    }
    
closedir($handle); 
que significa ese [.] y esos [..] ?

Hay otra funcion que no me los incluya ?, o que solo me tenga en cuenta files ?.
De que me me servirian, o cuando, el [.] y los [..] ?

---------------------------

En 2 ocaciones me he encontrado con:

scandir
(PHP 5 CVS only)

scandir -- Lista los archivos y directorios ubicados en la ruta especificada

En queño se debe migrar a PHP 5 ?

Gracias.
  #2 (permalink)  
Antiguo 19/05/2004, 08:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

. : referencia al directorio actual.

.. : referencia al directorio padre del actual

Asi tienes que './fichero.php' hace referencia al fichero.php del directorio actual y '../fichero.php' al del directorio padre del actual.

PAra no mostrarlos, simplemente haces un if con esas cadenas. Y si solo quieres mostrar los ficheros puedes usar is_file() (www.php.net/is_file) apra comprobar si el elemento es fichero o no.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 20/05/2004, 08:21
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Una mano

Hola, podeis darme una no ?, yo hice esto y no me funciona:

Código PHP:
    $handle=opendir($_SERVER['DOCUMENT_ROOT'].'/2005');
    while (
$file readdir($handle)) {
    if(
is_file($file)){echo $file.'<BR>';}
    }
    
closedir($handle); 
Como se utiliza esa funcion ?.
  #4 (permalink)  
Antiguo 20/05/2004, 08:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y que es "no me funciona?" .. algún error que de PHP que arroje?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 20/05/2004, 08:56
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
No lee los files

No Cluster,

Código PHP:
$handle=opendir($_SERVER['DOCUMENT_ROOT'].'/2005');

    while (
$file readdir($handle)) {

    echo 
$file.'<BR>';

    }

    
closedir($handle); 
Imprime los files, pero esto:

Código PHP:
    $handle=opendir($_SERVER['DOCUMENT_ROOT'].'/2005');
    while (
$file readdir($handle)) {
    if(
is_file($file)){echo $file.'<BR>';}
    }
    
closedir($handle); 
No imprime nada. Al = que:

Código PHP:
$handle=opendir($_SERVER['DOCUMENT_ROOT'].'/2005');
    while (
$file readdir($handle)) {
    if(
is_file($handle)){echo $file.'<BR>';}
    }
    
closedir($handle); 
al = que si dejo is_file().

Pero en el directorio si hay los files ****.php


Eso es lo que no me funciona.
  #6 (permalink)  
Antiguo 20/05/2004, 08:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bien, el parametro de is_file() tiene que ser una ruta completa: directorio + nombre fichero. Y lo que te devuelve readdir() es solo el nombre de fichero.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 20/05/2004, 15:37
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Cluster, Josemi, esto esta esta muy regular ?

Oye, Cluster, Oye Josemi, me gustaria publicar esto en "las Faqs", esta muy regular ?

Cómo crear consolas/paneles en varios idiomas:

De muchas for+, asi la he desarrollado yo:

file_al_publico.php

Código PHP:
########## INICIA SELECCION DEL IDIOMA

    
$files '';
    
$handle=opendir($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas');
    while (
$file readdir($handle))
    {
    if(
is_file($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas/'.$file))
    {
    
$sele '';
    
$file explode('.',ucfirst($file));
    if(isset(
$_POST['idioma'])){if($_POST['idioma'] == $file[0])
    {
$sele ' SELECTED';}}
    
$files .= '<OPTION VALUE="'.$file[0].'"'.$sele.'>'.$file[0].'</OPTION>';
    }}
    
closedir($handle);
    
$idioma '<SELECT NAME="idioma" CLASS=SEL>'.$files.'</SELECT>';

########## FIN DE SELECCION DEL IDIOMA 
En la seccion del formulario del panel de opciones del usuario colocas:

Código PHP:
    echo $idioma
Ese dato lo guardas en una BD, y luego lo lees y lo registras en una SESSION, o bien, directamente lo almacenas en una SESSSION.

Los files son pasados a Mayusculas solo por estetica, luego al guardarlos en la SESSION se colocan en minusculas asi:

Código PHP:
    $_SESSION['lenguaje'] = strtolower($row["campo[idioma]"]); 
Y si acaso tuvimos el infortunio de dar con un/a webmaster bien inquiet@, que halla logrado pasar a la BD un vaor de file inexistente, (Si el file no existe), tonces tenemos un file_de_lenguaje_por_defecto.php.

Y luego colocamos al inicio de file_al_publico.php

Código PHP:
    if(false == @include($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas/'.$_SESSION['idioma'].'.php'))
{include(
$_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas/file_de_lenguaje_por_defecto.php');} 
Los files de lenguaje contienen cada uno las vars del idioma contienen variables + o menos asi:

castellano.php

Código PHP:
<?php

    $saludo 
'Hola';
    
$salvar_info 'Guardar';

?>
Mire a PHP-MyAdmin y ellos no utilizan Arrays, ellos lo hacen asi:

Código PHP:
$strUseHostTable 'Use la tabla Anfitrión (Host)';

$strUseTables 'Usar tablas';

$strUseTextField 'Use el campo de texto';

$strUseThisValue 'Use este valor';

$strUser 'Usuario';

$strUserAlreadyExists '¡El usuario %s ya existe!';

$strUserEmpty '¡El nombre de usuario está vacío!';

$strUserName 'Nombre de usuario';

$strUserNotFound 'El usuario que seleccionó no fue hallado en la tabla de privilegios.';
$strUserOverview 'Vista global del usuario';

$strUsers 'Usuarios';

$strUsersDeleted 'Los usuarios seleccionados fueron borrados exitosamente.';
$strUsersHavingAccessToDb 'Usuarios con acceso a &quot;%s&quot;'
Etc, etc, etc, son casi 700 variables en cada file de idioma.

Me gustaria mejorar la parte:

Código PHP:
    if(false == @include($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas/'.$_SESSION['idioma'].'.php'))
{include(
$_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/idiomas/file_de_lenguaje_por_defecto.php');} 
Para no utilizar @, pero Josemi me intento explicar, y yo no entender... :-s

Salu2!.

Sera que existe
Código PHP:
if(no_existe_file('tal.php')){} ? 
  #8 (permalink)  
Antiguo 20/05/2004, 20:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Anarko .. las FAQ's son públicas .. cualquiera puede publicar lo que estime oportuno (cuidando que no se repitan temas o por lo menos que se complementen).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 20/05/2004, 21:22
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Bueno, si, pero es que me gustaria colocar lo mejor de lo que pueda.

Por eso puse:

"Me gustaria mejorar la parte:..."

Por que no se como mejorarla
  #10 (permalink)  
Antiguo 20/05/2004, 21:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tienes la función:

file_exists()
http://www.php.net/manual/en/function.file-exists.php

Es función te devuelve "falso" si no existe el archivo y verdadero si existe (FALSE/TRUE)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:35.