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)
(PHP 4, PHP 5, PHP 7)
chdir — Change directory
$directory
)
Changes PHP's current directory to
directory
.
directory
The new current directory
Returns TRUE
on success or FALSE
on failure.
Throws an error of level E_WARNING
on failure.
Example #1 chdir() example
<?php
// current directory
echo getcwd() . "\n";
chdir('public_html');
// current directory
echo getcwd() . "\n";
?>
The above example will output something similar to:
/home/vincent /home/vincent/public_html
Note: When safe mode is enabled, PHP checks whether the directory in which the script is operating has the same UID (owner) as the script that is being executed.
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)
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"
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>';
}