Foros del Web » Programando para Internet » PHP »

Variables predefinidas

Estas en el tema de Variables predefinidas en el foro de PHP en Foros del Web. Hola, Necesito saber de una variable, que me entrege unicamente el nombre del archivo donde se esta ejecutando. ejemplo archivos.php Solo el nombre,, He intentado ...
  #1 (permalink)  
Antiguo 30/11/2002, 11:18
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 15 años, 9 meses
Puntos: 0
Variables predefinidas

Hola,

Necesito saber de una variable, que me entrege unicamente el nombre del archivo donde se esta ejecutando.

ejemplo archivos.php

Solo el nombre,,

He intentado con <?php $PHP_SELF ?>

pero me dan www.dominio.com/archivos.php o alguna asi...

Gracias, por su ayuda....
__________________
Saludos
Rnstho Luna
go2mexico.com
  #2 (permalink)  
Antiguo 30/11/2002, 11:55
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Podrías hacer esto:

Código PHP:
<?php 
$url
="http://www.terra.com.mx/carpeta/archivo.php";
$pagina=explode("/",$url);
$numElementos=count($pagina)-1;
$nombrePagina=$pagina[$numElementos];
echo 
$nombrePagina;
?>
Saludos
  #3 (permalink)  
Antiguo 30/11/2002, 12:44
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 15 años, 4 meses
Puntos: 4
Re: Variables predefinidas

Cita:
Mensaje Original por Rnsto
Hola,

Necesito saber de una variable, que me entrege unicamente el nombre del archivo donde se esta ejecutando.

ejemplo archivos.php

Solo el nombre,,

He intentado con <?php $PHP_SELF ?>

pero me dan www.dominio.com/archivos.php o alguna asi...

Gracias, por su ayuda....

<?php echo basename($PHP_SELF); ?>
archivos.php

<?php echo dirname($PHP_SELF); ?>
www.dominio.com

Lo tomé de una aportación al manual de php que decia esto:
dirname("http://host.net/dir/dir2/")
// "http://host.net/dir"

basename("http://host.net/dir/dir2/")
// "dir2"


Suerte.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #4 (permalink)  
Antiguo 30/11/2002, 16:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Cita:
He intentado con <?php $PHP_SELF ?>
mm si con eso pretendias mostrar en tu navegador el nombre de tu script .. te faltó el "echo" ...

Código PHP:
<?
echo $PHP_SELF;
?>
o mejor (acogiendose al array Superglobla ..)

Código PHP:
<?
echo $_SERVER['PHP_SELF'];
?>
Si te va la segunda opción .. recuerda en ver las FAQ's de PHP (apartado Register_globals ON/OFF .. y afines)

Eso te dará "/script.php" .. si quieres quitarle el / delatne tan solo un :

Código PHP:
<?
echo str_replace("/"""$PHP_SELF); 
?>
Un saludo,
  #5 (permalink)  
Antiguo 02/12/2002, 18:28
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 15 años, 9 meses
Puntos: 0
Exacto Cluster..

Eso es lo que necesito quitarle el "/", Gracias por tu opcion...

Ahora mi pregunta es ?

Que seria mejor o cual es la diferencia ?


$PHP_SELF

$REQUEST_URI

Cual seria mas correcto que usuara ?
__________________
Saludos
Rnstho Luna
go2mexico.com
  #6 (permalink)  
Antiguo 03/12/2002, 07:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Depende ..

que necesitas?

El $PHP_SELF .. solo indica que script (nombre y ruta completa) se está ejecutando .. eso es útil por ejemplo para usarlo en un action= de un formulario que apunte a si mismo.

El $REQUEST_URI .. te da la ruta y nombre del script que se SOLICITO .. En teoria seria el mismo que se está ejecutando ..

Yo siempre uso y siempre he visto para el caso concreto de usar esas variables de servidor para enviarse a si mismo un script el PHP_SELF ..

Haz tus pruebas .. llama a tu script.php por el URL directo .. pasale parametros y le haces unos "echo" a estas dos variables de servidor ...

Un saludo,
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 18:03.