Foros del Web » Programando para Internet » PHP »

Recuperar el propio nombre del archivo

Estas en el tema de Recuperar el propio nombre del archivo en el foro de PHP en Foros del Web. Una de esas ideas absurdas... ¿Cómo puedo recuperar en una variable el propio nombre del archivo? Por ejemplo tengo un archivo que se llame ejemplo.php ...
  #1 (permalink)  
Antiguo 22/10/2012, 07:38
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Recuperar el propio nombre del archivo

Una de esas ideas absurdas...
¿Cómo puedo recuperar en una variable el propio nombre del archivo?

Por ejemplo tengo un archivo que se llame
ejemplo.php

y quiero en una variable ese mismo nombre, sin la extensión

Código PHP:
$Nombre "ejemplo"
Si el archivo se llamare

Foros.php
necesito
Código PHP:
$Nombre "Foros"
¿Cómo le podría hacer?

Supongo que consta de 2 partes, 1° recuperar el nombre, 2° quitar la extensión. La extensión siempre va a ser la misma, así que probablemente no necesito condicionales.



Edito. Está por ahí la función opendir... pero no creo que vaya por ahí...

Última edición por Rafael; 22/10/2012 a las 07:43
  #2 (permalink)  
Antiguo 22/10/2012, 07:46
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: Recuperar el propio nombre del archivo

basename($_SERVER[REQUEST_URI])
y luego la funcion substr

salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #3 (permalink)  
Antiguo 22/10/2012, 07:53
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Recuperar el propio nombre del archivo

Hay muchas formas, te dejo un par,

Código PHP:
Ver original
  1. echo pathinfo(__FILE__, PATHINFO_FILENAME);
  2. echo PHP_EOL;
  3.  
  4. echo basename(__FILE__, '.php');
  5. echo PHP_EOL;

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 22/10/2012 a las 08:01 Razón: constant
  #4 (permalink)  
Antiguo 22/10/2012, 08:41
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Mil gracias a ambos. A estudiarr y a probar
  #5 (permalink)  
Antiguo 22/10/2012, 08:52
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Un poco offtopic... ¿Para qué se usa un End Of Line (PHP_EOL)?
  #6 (permalink)  
Antiguo 22/10/2012, 08:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recuperar el propio nombre del archivo

Es la forma dinámica de PHP detectar que tipo de Sistema Operativo tienes y así coloca el caracter que corresponde

windows = \r\n
mac = \r
linux = \n

En el caso de Master es que a él parece que le gusta usar mucho la consola en vez de usar un navegador y de esa forma ve dividido en cada línea. Si estás usando el navegador en vez de usar PHP_EOL usa <br />
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 22/10/2012, 09:00
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Oh. Perfecto.
  #8 (permalink)  
Antiguo 22/10/2012, 09:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recuperar el propio nombre del archivo

Ehh volvi a escribir luego que te dije eso, revisa nuevamente
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 22/10/2012, 14:10
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Revisado de nuevo.

Retomando el tema.
Me está funcionando muy bien... para lo que originalmente tenía pensado ...

Pero jugando con esto, lo estoy tratando de meter en un include. Dentro de ejemplo.php pongo un include con el script llamado RecuperarNombre.txt
Obviamente en mi variable aparece RecuperarNombre

¿Hay alguna cosa, como _parent?
  #10 (permalink)  
Antiguo 22/10/2012, 14:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recuperar el propio nombre del archivo

¿Que quieres lograr exactamente? Es que no entendí a que te refieres con _parent.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 22/10/2012, 15:47
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

A ver si así me explico mejor...


  #12 (permalink)  
Antiguo 22/10/2012, 15:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Recuperar el propio nombre del archivo

No entiendo que quieres realizar, pero al hacer include de tu archivo de texto, lo va a procesar como php (buscando los tags <? ?>).

Entonces en ese ámbito Cabecera va a obtener como __FILE__ Cabecera.txt, si lo que quieres es evaluar código de forma dinámica, tienes que hacer uso de eval() (aunque tiene muchas implicaciones de seguridad).

Saludos.
  #13 (permalink)  
Antiguo 22/10/2012, 16:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recuperar el propio nombre del archivo

Oh, debes ver el include como si hubieras escrito todo en la misma página. El include no es como el iframe que está dentro de una caja, sino debes verlo así

Código PHP:
Ver original
  1. // a.php
  2. texto, texto...
  3.  
  4. //b.php
  5. otro texto, otro texto.
  6.  
  7. //c.php
  8. <?php
  9. include 'a.php';
  10. echo '<br />';
  11. include 'b.php';

Es exactamen lo mismo que hacer esto
Código PHP:
Ver original
  1. // c.php
  2. texto, texto...
  3. otro texto, otro texto.

Todo está visualizado como si fuera una sola hoja. Ahora lo que quieres hacer el problema está en que la variable mágica __FILE__ hace referencia al archivo que lo está llamando. Así que lo que realmente está llamando __FILE__ es la ruta absoluta donde se encuentra Cabecera.txt. Algo así puede que te resulte

Código PHP:
Ver original
  1. $file = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME);
  2. if(file_exists($file . '.txt')){
  3.     include $file . '.txt';
  4. }
Pero esto es basado en la ruta que se escribio en la dirección. Debes tener cuidado con usar este tipo de código te recomiendo que mejor crees un listado tipo array y que verifiques con ese listado a ver si existe la dirección que se está probando.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 22/10/2012, 20:50
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Cita:
aunque tiene muchas implicaciones de seguridad
Cita:
Debes tener cuidado con usar este tipo de código
por eso soy diseñador...


Puedo preguntar ¿cómo qué cosa?
Y el ejemplo usando basename... ¿es un poquito menos inseguro que pathinfo?

¿Será más inseguro a que la secre le meta mano a los archivos del ftp?
  #15 (permalink)  
Antiguo 23/10/2012, 14:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recuperar el propio nombre del archivo

Si la idea es hacer un sistema en el que puedan añadir datos y estos datos los puedan visualizar, lo mejor es trabajar con base de datos. Si no te quieres complicar mucho entonces lo mejor es que trabaje a través de FTP. Es que hay mucho riesgo de seguridad tratar de usar un archivo texto y tratar de leer el texto de la forma como quieres, como por ejemplo lograr que una persona introduzca código o direcciones para robar información. Podrías crear un simple sistema en el que la secre ingrese información y se almacene en la base de datos y luego tu lees los datos o como te indiqué que la secre ingrese la información directamente en los archivos a través de FTP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 24/10/2012, 07:24
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Recuperar el propio nombre del archivo

Ok

Etiquetas: nombre, propio, variables
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 11:14.