PHP 5.4.31 Released

chdir

(PHP 4, PHP 5)

chdirCambia de directorio

Descripción

bool chdir ( string $directory )

Cambia el directorio actual de PHP a directorio.

Parámetros

directorio

El nuevo directorio actual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING en caso de error.

Ejemplos

Ejemplo #1 chdir() ejemplo

<?php
 
// directorio actual
echo getcwd() . "\n";
 
chdir('public_html');
 
// directorio actual 
echo getcwd() . "\n";
 
?>

El resultado del ejemplo sería algo similar a:

/home/vincent
/home/vincent/public_html

Notas

Nota: Cuando el modo seguro está habilitado, PHP comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • getcwd() - Obtiene el directorio actual en donde se esta trabajando

add a note add a note

User Contributed Notes 3 notes

up
1
andy dot clark at dial dot pipex dot com
7 years ago
This only changes the directory for PHP, the output directory stays the same. If you are trying to access images from a relative path and you use the following then it will fail to render the image:

chdir ('images');
if (file_exists('php.gif'))
{
echo '<html>';
echo '<body>';
echo '<img src="php.gif">';
echo '</body></html>';
}

//However, it is possible to use the <base> tag in the header to change the directory for the resulting HTML, as you can see however this requires you to put the full path in place.

chdir ('images');
if (file_exists('php.gif'))
{
echo '<html>';
echo '<head><base href = "http://uk.php.net/images/"></head>';
echo '<body>';
echo '<img src="php.gif">';
echo '</body></html>';
}
up
1
herwin at snt dot utwente dot nl
7 years ago
When using PHP safe mode and trying to change to a dir that is not accessible due to the safe mode restrictions, the function simply fails without generating any kind of error message.

(Tested in PHP 4.3.10-16, Debian Sarge default)
up
0
php dot duke at qik dot nl
5 years ago
When changing dir's under windows environments:

<?php
$path
="c:\temp"';
chdir($path);
/* getcwd() gives you back "c:\temp" */

$path="c:\temp\"'
;
chdir($path);
/* getcwd() gives you back "c:\temp\" */
?>

to work around this inconsistency
doing a chdir('.') after the chdir always gives back "c:\temp"
To Top