1

How do I enable writing via PHP to an alias directory.

I have the following on my VirtualHost:

<VirtualHost *:80>
ServerName domain.com
ServerAlias m.domain.com

...etc

AliasMatch ^(.*)/user/([a-zA-Z0-9_\-]+)/images/(.*) "C:/Apache/webroot/user/$2/images/$3" 
<Directory "C:/Apache/webroot/user">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

So if I tried to view a file or an image from m.domain.com I can see it being fetched from the alias directory; however, when I try to write it fails.

for example if i tried something like <?php file_put_contents("user/sam/images/sample.png", $img); ?> it would fail.

Any suggestions or ideas is really appreciated.

1 Answer 1

1

file_put_contents takes a file name, not webserver path. When you put in a relative path from the context of the webserver, it interprets it relative to $_SERVER['DOCUMENT_ROOT'].

To save into an aliased directory, you would need to specify the abolute path of that directory. There is a question about how to get the absolute directory of users public_html folders on StackOverflow

1
  • A relative path passed to file_put_contents is relative to the CWD, which may or may not be the DOCUMENT_ROOT.
    – MrWhite
    Commented Oct 8, 2013 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.