2012-02-05 6 views
21

estoy usando esto:obtener la carpeta hasta un nivel

echo dirname(__FILE__); 

que da:

C:\UwAmp\www\myfolder\admin 

Sin embargo, yo estoy buscando camino hasta:

C:\UwAmp\www\myfolder\ 

del script actual. ¿Cómo se puede hacer eso?

Respuesta

57

Se podía hacer cualquiera:

dirname(__DIR__); 

O:

__DIR__ . '/..'; 

... pero en un entorno de servidor web que probablemente encontrará que ya se encuentra dentro del directorio de trabajo del archivo actual, por lo Probablemente pueda usar:

'../' 

... para hacer referencia al directorio anterior. Puede reemplazar __DIR__ con dirname(__FILE__) antes de PHP 5.3.0.

También debe tener en cuenta what __DIR__ and __FILE__ refers to:

La ruta completa y el nombre del archivo. Si se usa dentro de una inclusión, se devuelve el nombre del archivo incluido.

Por lo tanto, puede que no siempre apunte a donde usted quiere.

+0

Ambos no funcionan :(Me sale cadena vacía con eso. – Dev555

+0

¿Qué es lo que realmente quieres hacer con la ruta? ¿Estás tratando de incluir un archivo, usarlo en un enlace, etc.? – DaveRandom

+0

bien funciona ahora, mi mal. Gracias – Dev555

11

Usted puede intentar

echo realpath(__DIR__ . DIRECTORY_SEPARATOR . '..'); 
+0

Me sale cadena vacía con eso. – Dev555

+0

Esto no debería darle una cadena vacía ... ¿Utiliza PHP 5.3? –

+0

php 5.2 es lo que estoy usando +1 para su ayuda sin embargo. – Dev555

8
echo dirname(__DIR__); 

Pero tenga en cuenta la constante __DIR__ fue agregado en PHP 5.3.0.

Cuestiones relacionadas