PHP: chdir - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

chroot Каталоги

Last updated: Fri, 26 Jan 2007

view this page in

# chdir

(PHP 3, PHP 4, PHP 5)

chdir -- Сменить каталог

## Описание

bool chdir ( string directory )

Изменяет текущий каталог PHP на указанный в качестве параметра `каталог`. Возвращает `TRUE` в случае успешного завершения или `FALSE` в случае возникновения ошибки..

См.также описание функции getcwd().

add a note User Contributed Notes
chdir
andy dot clark at dial dot pipex dot com
21-Aug-2006 08:10
`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>';
}`
herwin at snt dot utwente dot nl
17-Aug-2006 11:58
`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)`
jeprubio _At_ gmail dot com
27-May-2005 12:25
`If you run this script when $sym_dir is a symbolic link to a directory:
echo getcwd()."\n";
chdir ($sym_dir);
chdir ('../');
echo getcwd()."\n";
It returns for example:
/dades/loc/real/mapes/navteq/anloc
/mapes/anloc
It will not return to the previous directory, it returns to the parent of the real directory where it links the symbolic link.
It's not necessary a bug but I think it's important to have present this.
It could be solved saving the current directory and then returning to it. For example:
$cwd = getcwd();
echo getcwd()."\n";
chdir ($sym_dir);
chdir ($cwd);
echo getcwd()."\n";
It returns:
/dades/loc/real/mapes/navteq/anloc
/dades/loc/real/mapes/navteq/anloc
Have fun :)
-------
Josep Rubio (Anloc S.L. www.anloc.net)`
add a note
chroot Каталоги

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST