I'm trying to use some dynamic path names for an image upload page. In a tutorial they had something like this:

<?PHP

$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']); 

// this echoes something like " /foldername/ " presumbing that the php file is set inside that folder in the root.

$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'uploaded_files/'; 

// this echoes something like this "C:/folder/subfolder//foldername/uploaded_files/"

?>

basicly when you put the two strings togheter to create the path, in this case for a temporary directory to store uploaded files, each string has an "/" at the end and beginning... so when you link them you get "...subfolder//foldername..."

Is there any way to force any of the above commands not to display one of the "/" or to somehow eliminate it in order for the path to be valid?

Recommended Answers

All 3 Replies

You could use str_replace function to replace "//" with "/".

$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'uploaded_files/'; 
$uploadsDirectory = str_replace("//","/",$uploadsDirectory);

There are many other ways of fixing the problem. str_replace just seems the easiest to me.

thank you for the suggestion... but it turns out that it dosen't need it... despite the fact that echoing the patch and copy pasting that in a browser dosen't work... it seems that php is somehow able to interpret it properly and the code works even with "//" in it... I have no idea how but oh well...

Maybe this will work as well... ??????

$uploadsDirectory = dirname(__FILE__) . '/uploaded_files/';
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.