Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: SpiderNet en 15 Septiembre 2008, 06:40 am



Título: Analizemos esta instrucción
Publicado por: SpiderNet en 15 Septiembre 2008, 06:40 am
substr($a, 0, -1*strlen(strrchr($a,"/")))

y sabemos que $a=$_SERVER['PHP_SELF']

que obtenemos aqui???

Si pueden responder con un ejemplo, por favor.



Saludos!!!


Título: Re: Analizemos esta instrucción
Publicado por: дٳŦ٭ en 15 Septiembre 2008, 06:53 am
substr($a, 0, -1*strlen(strrchr($a,"/")))

y sabemos que $a=$_SERVER['PHP_SELF']

que obtenemos aqui???

Si pueden responder con un ejemplo, por favor.



Saludos!!!

"php" xD


Título: Re: Analizemos esta instrucción
Publicado por: SpiderNet en 15 Septiembre 2008, 07:05 am
Solucionado, Gracias de todas formas..

Lo explico

Tenemos
substr($a, 0, -1*strlen(strrchr($a,"/")))

y sabemos
$a=$_SERVER['PHP_SELF'] nos devuelve el nombre del archivo que se esta ejecutando con la ruta completa del sitio raiz, por ejemplo

/spider/net/ejemplos/probando.php
tenemos que $a es /spider/net/ejemplos/probando.php

strrchr($a,"/")
nos devuelve probando.php

strlen(strrchr($a,"/")) es lo mismo que
strlen(probando.php) que en este caso es 12

substr($a, 0, -1*$a) es lo mismo que
substr/spider/net/ejemplos/probando.php,0,-12)

y el resultado final es substr/spider/net/ejemplos/


entonces... substr($_SERVER['PHP_SELF'] , 0, -1*strlen(strrchr($_SERVER['PHP_SELF'] ,"/"))) nos devuelve el path del archivo que se esta ejecutando.

Y yo me pregunto no hay una funcion que haga esto de manera directa???


Saludos!!!




Título: Re: Analizemos esta instrucción
Publicado por: SpiderNet en 15 Septiembre 2008, 07:09 am
substr($a, 0, -1*strlen(strrchr($a,"/")))

y sabemos que $a=$_SERVER['PHP_SELF']

que obtenemos aqui???

Si pueden responder con un ejemplo, por favor.



Saludos!!!

"php" xD

Hola, se que tu tienes amplia experiencia en PHP. Podrias ayudarme con una aplicacion prefabricada el PHPBazar, conoces algo al respecto???

Instalacion, arranque, puesta en marcha.


Saludos!!!


Título: Re: Analizemos esta instrucción
Publicado por: Rentero en 16 Septiembre 2008, 17:54 pm
Ruta:
Código
  1. $_SERVER['SCRIPT_NAME']
  2. //...
  3. dirname(__FILE__);

http://es2.php.net/manual/es/reserved.variables.server.php
http://es2.php.net/dirname

Entre otras.


Título: Re: Analizemos esta instrucción
Publicado por: SpiderNet en 17 Septiembre 2008, 00:59 am
Gracias....

Revisando el index.php de joomla v1.5.7 vi esa instruccion o comando desconocido por mi y al revisar en google cai en cuenta que es el pequeño codigo arriba descrito por mi.

Este fragmento de codigo que coloque, lo saque de los fuentes de PHPBazar.

Los fuentes de PHPBazar en los encabezados de cada programa colocan cometarios acerca de nombre del programa, version, fecha, etc. Y dejan en blanco la fecha de elaboracion o ultima modificación.

Si existía una función que los programadores no usaron sino que crearon una propia quiere decir que les faltaba experiencia o conocimiento o la fecha de creación de estos programas son muy viejos y esta funcion es de PHP4 o PHP5 y no se han actualizado.

Comento todo esto por que la ventaja de usar software libre es usar los codigos elaborados como punto de partida para aprender  y elaborar unos nuevos y mejores y no comenzar desde cero.

Creo que comence mal con PHPBazar.

Cual de estas aplicaciones prefabricadas esta muy bien programada de manera estructurada, para analizarlo y seguir en la onda de aprender y avanzar???


Saludos!!!

P.D. Estoy recien revisando Joomla v1.5.7, esta programado bajo la filosofia de Programación Orientada a Objetos, el detalle es que es sumamente grande sus codigos.


Título: Re: Analizemos esta instrucción
Publicado por: Rentero en 17 Septiembre 2008, 02:59 am
Bueno, ando un poco desinformado sobre los últimos CMS pero estoy seguro que hay muchos donde elegir:
http://en.wikipedia.org/wiki/List_of_content_management_systems
http://www.hotscripts.com/PHP/index.html

Por otra parte creo que ese tipo de codigos asi de enrevesador, aunque no sean óptimos en su rendimiento, si enseñan mucho porque te hacen "comerte la cabeza" analizandolos ;)

A fin de cuentas, hay muchas formas de programar una misma cosa.