06-05-2007
If you are in, ahem, /directoryb (sorry, but I hate calling directories "folders"), you can call getcwd() to obtain "/directoryb". Since "../directorya/filea" does not start with a /, it must be a relative path. So prepend your current directory to it to get "/directoryb/../directorya/filea" which is an absolute path to the file in question. You could parse this to remove "/.." and the word preceding "/.." if you really need to simplify the path. But no matter what you do, it is possible for files to have multiple absolute paths that do not involve ".." due to symbolic links and loopback mounts.
10 More Discussions You Might Find Interesting
1. Programming
In the funtion C function link(char *existing, char *new);
existing has to be an absolute path.
But what happens if i want to make a ling to a file in the users home directory (assume file.txt exists)
i cant put in a "~/file.txt" or "./file.txt"
How can i turn the above into the entire path... (1 Reply)
Discussion started by: youngvet
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I have a file with about 60 lines of path:
app-defaults/boxXYZ.......
I want to change this to /my/path/goes/here/app-defaults/boxXYZ, but of course vi doesn't like the regualr :s/old/new/ command.
Is there any other quick way to do this?
Thanks ;) (2 Replies)
Discussion started by: Yinzer955i
2 Replies
3. UNIX for Dummies Questions & Answers
is cd ~ considered an absolute path? (2 Replies)
Discussion started by: Kirichiko
2 Replies
4. UNIX for Dummies Questions & Answers
I'm having problems accessing the Knoppix software on my current computer and the replacement CD I ordered hasn't arrived yet.
I have a guess at what the answer would be for this question but I am not sure as I cannot test it with the software.
I have to create a directory called class, and... (1 Reply)
Discussion started by: mzero
1 Replies
5. Shell Programming and Scripting
I have a script in which i want to print absolute path of the same script irrespective of path from where i run script.
I am using
test.sh:
echo "pwd : `pwd`"
echo "script name: $0"
echo "dirname: `dirname $0`"
when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Discussion started by: rss67
10 Replies
6. Shell Programming and Scripting
Hello,
I have a doubt:-
---------------------
Current script:-
################################################################################################
prefix=user@my-server:
find . -depth -type d -name .git -printf '%h\0' | while read -d "" path ; do (
cd "$path" || exit $?... (4 Replies)
Discussion started by: sahil_jammu
4 Replies
7. UNIX for Dummies Questions & Answers
Hello Everyone,
I want to convert
Relative Path - /home/stevin/data/APP_SERVICE/../datafile.txt
to
Absolute Path - /home/stevin/data/datafile.txt
Is there a built-in tool in Unix to do this or any good ideas as to how can I implement this.
-Steve (5 Replies)
Discussion started by: qwarentine
5 Replies
8. UNIX for Dummies Questions & Answers
I don't understand the question below..any can help me? thanks
Display the absolute path of the executable used when a
'grep' command is entered on the command line:
---------- Post updated at 08:30 PM ---------- Previous update was at 08:29 PM ----------
absolute (2 Replies)
Discussion started by: wk9031
2 Replies
9. UNIX for Dummies Questions & Answers
Hi,
Need to insert /usr/local/bin before scp in all the lines for the below using VI
#cat scpfile.txt
scp test.txt user@host1:
scp test.txt user@host2:
scp test.txt user@host3:
scp test.txt user@host4:
Regards,
Siva (2 Replies)
Discussion started by: ksgnathan
2 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies
REALPATH(3) 1 REALPATH(3)
realpath - Returns canonicalized absolute pathname
SYNOPSIS
string realpath (string $path)
DESCRIPTION
realpath(3) expands all symbolic links and resolves references to '/./', '/../' and extra '/' characters in the input $path and returns the
canonicalized absolute pathname.
PARAMETERS
o $path
- The path being checked.
Note
Whilst a path must be supplied, the value can be blank or NULL In these cases, the value is interpreted as the current
directory.
RETURN VALUES
Returns the canonicalized absolute pathname on success. The resulting path will have no symbolic link, '/./' or '/../' components.
realpath(3) returns FALSE on failure, e.g. if the file does not exist.
Note
The running script must have executable permissions on all directories in the hierarchy, otherwise realpath(3) will return FALSE.
Note
Because PHP's integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results
for files which are larger than 2GB.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.0 | |
| | |
| | Prior to this release, if only the last $path |
| | component did not exist, realpath(3) would not |
| | fail on *BSD systems. realpath(3) now fails in |
| | this case. |
| | |
| 5.2.1 | |
| | |
| | Prior to this version, realpath(3) returned |
| | FALSE if $path is an empty string or NULL. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
realpath(3) example
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>
The above example will output:
/etc/passwd
Example #2
realpath(3) on Windows
On windows realpath(3) will change unix style paths to windows style.
<?php
echo realpath('/windows/system32');
?>
The above example will output:
C:WINDOWSSystem32
SEE ALSO
basename(3), dirname(3), pathinfo(3).
PHP Documentation Group REALPATH(3)