Codeigniter - dynamically getting relative/absolute path outside of application folder

chris picture chris · Mar 6, 2013 · Viewed 94.3k times · Source

I am attempting to have a temporary cache folder of sorts just outside of and at the same level as the application folder. This is for storing images for a couple moments before moving them off-site.

I am trying to get a user's Facebook profile image and save it to my server. I have an image storage solution which requires me to take the photo, and rename it then pass it to the respective location for storage. My thoughts were using file_get_contents() and file_put_contents() I could store this file for a moment while processing it accordingly and then copy/move it to my storage method. However I do not wish to have the temp directory inside of the application folder - I want to have it at the same level as the application and system folder. My problem is accessing a relative path or absolute path (at the same level of the application folder) without hardcoding it.

Using (__dir__), (__file__), and something like realpath(APPPATH) only gives me results within the application folder. So I am hoping someone else knows a way to achieve this

Answer

Robin Castlin picture Robin Castlin · Mar 6, 2013

In the index.php file in the root, most useful paths are defined so that you can use them within the rest of the code. Have you tried FCPATH in this case?

FCPATH   -> '/'
BASEPATH -> '/system/'
APPPATH  -> '/application/'

UPDATE: As mentioned in the comments, the path examples above are only to give an overview. To increase the security of your project, BASEPATH and APPPATH wouldn't be inside FCPATH and instead outside of the public www/root directory.