Re: Permission denied when executing 'copy' command inaPHPscript
| From: | Edward Diener | Date: | Mon, 15 Sep 2008 23:01:19 +0000 |
| Subject: | Re: Permission denied when executing 'copy' command inaPHPscript | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-280231@lists.php.net to get a copy of this message | ||
Ashley Sheridan wrote:
On Mon, 2008-09-15 at 18:27 -0400, Edward Diener wrote:Good idea. I will give it a try.Ashley Sheridan wrote:Unfortunately then the only thing to do in this case is to give the directory 777 permissions allowing it to be written to by any user. It's not ideal, but it is the only way which will let you write to it.On Mon, 2008-09-15 at 17:47 -0400, Edward Diener wrote:Agreed, but see my other reply.b wrote:Make sure that apache can write to that directory though. You may need to make apache the owner of the directoryEdward Diener wrote:OK, thanks for pointing this out.In a PHP file upload script which looks like: $htmlplace="aplace"; if ($_FILES['HtmlFile']['name'] != "") {You should take a look at is_uploaded_file() and move_uploaded_file().$filenamex = basename($_FILES['HtmlFile']['name']); copy($_FILES['HtmlFile']['tmp_name'],$htmlplace."/".$filenamex);}The directory perms of the 'to' directory ? It is 755.I am getting the error message: <br /> <b>Warning</b>: copy(aplace/ahtml.html) [<a href='function.copy'>function.copy</a>]: failed to open stream: Permission denied in <b>/home/directory/anotherdirectory/makecopy2.php</b> on line <b>6</b><br /> This was working perfectly before so I am at a loss as to why it is now failing. Does anybody have any idea what could be happening and what the Permission denied refers to and means ? Thanks !It means that the web server has been denied permission by the OS. Check that the directory perms are properly set.You might also want to use a full directory path (ie. from the root of the server) for the location the file should be saved to.I do not think I can know this from my PHP script.