PHP include tools from a central folder

Experts,

I find myself coding the same things repeatedly.

I'd like to put some oft-used code in a "Tools" folder to be re-used whenever I do a new website.   (I'm lousy at the relative/absolute path concept -- no surprise).

How do I include files from outside the DocumentRoot?

Capt
Glen GibbOwnerAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Ray PaseurConnect With a Mentor Commented:
Who is your hosting company?  On my shared server, I have access to the files above the document root (in other words, my "account" has several web sites, each with its own public_html web root directory).  If your hosting company cannot hook this up for you, change hosts ASAP.  Let me know if you want a recommendation.

Once you've got the common elements in the "account" directory instead of the web root, you can include() the shared library scripts with notation something like this...

require_once('../shared/common.php');

Best regards, ~Ray
0
 
Dave BaldwinFixer of ProblemsCommented:
First, you do have to have permission to access the files.  Second, you usually have to use the full path on the server.  If you are on shared hosting, you probably won't be allowed to do it anyway.
0
 
Glen GibbOwnerAuthor Commented:
That is, I can include the absolute path, for example:  "/var/tools/tools.php"?

Capt
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
Dave BaldwinFixer of ProblemsCommented:
I think that will depend on you having permission to access that file and directory.  I thought I had an example but I can't find it at the moment.  Try it, that's what I usually do.
0
 
Dave BaldwinFixer of ProblemsCommented:
Look at the examples for fread().  http://www.php.net/manual/en/function.fread.php
0
 
Mohamed AbowardaSoftware EngineerCommented:
You want to create a PHP library? what you can do is that you can create the library in a folder and copy this folder into your website /www/ and use PHP require() and require_once() to use the library in your script.
0
 
Glen GibbOwnerAuthor Commented:
Thanks, Experts!

Sometimes we just don't have the language.  Creating a library is exactly the right terminology.

However, I have more than one website residing on the same server.  So if I go back to the Document root, "www.example.com/", it doesn't include the DocRoot for "www.other.com/".

Thus, how to reference a folder "outside the DocRoot"?  That is, how do I include the library for both?  (BTW, I have rwx permissions.)

Capt
0
 
Mohamed AbowardaSoftware EngineerCommented:
You might want to copy the library into each website folder.
0
 
Glen GibbOwnerAuthor Commented:
Ouch!  I'm copying them now.  

The original question is, can I put them in a central library outside the DocRoot and include them in my websites?

I'm looking in Webmin.  Does the "per-directory option" allow me to use a central library?

If so, how?

Capt
0
 
Glen GibbOwnerAuthor Commented:
I'm hosting this on my own Linux server at home.   But I see how to move up a level thanks to your example.

Capt
0
 
Ray PaseurCommented:
Excellent, and thanks for the points, ~Ray
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.