Connecting Tech Pros Worldwide Forums | Help | Site Map

move_upoaded_file permissions problem - Does something need configured on server?

bizt
Guest
 
Posts: n/a
#1: Jul 31 '06
Hi,

I am trying to carry out an upload and save file in directory operation
using move_uploaded_file(). However, when I run the script it give me
the following error:

Warning: move_uploaded_file(photos/sonyericsson_t610.jpg): failed to
open stream: Permission denied in
/home/martyn69/public_html/photos/add_photo.php on line 41

Warning: move_uploaded_file(): Unable to move '/tmp/phphPIdIj' to
'photos/sonyericsson_t610.jpg' in
/home/martyn69/public_html/photos/add_photo.php on line 41


I have ensured that the permissions for the folder are set to 777.
Also, I know that the file has been successfully uploaded as I have got
the processing script to display the filename, size, type etc. The
problem occurs at the move_uploaded_file() part. Does something need
configured on the server for this to work?

Cheers

Martyn Bissett


Erwin Moller
Guest
 
Posts: n/a
#2: Jul 31 '06

re: move_upoaded_file permissions problem - Does something need configured on server?


bizt wrote:
Quote:
Hi,
>
I am trying to carry out an upload and save file in directory operation
using move_uploaded_file(). However, when I run the script it give me
the following error:
>
Warning: move_uploaded_file(photos/sonyericsson_t610.jpg): failed to
open stream: Permission denied in
/home/martyn69/public_html/photos/add_photo.php on line 41
>
Warning: move_uploaded_file(): Unable to move '/tmp/phphPIdIj' to
'photos/sonyericsson_t610.jpg' in
/home/martyn69/public_html/photos/add_photo.php on line 41
>
>
I have ensured that the permissions for the folder are set to 777.
Also, I know that the file has been successfully uploaded as I have got
the processing script to display the filename, size, type etc. The
problem occurs at the move_uploaded_file() part. Does something need
configured on the server for this to work?
>
Cheers
>
Martyn Bissett
Hi Martyn,

2 folders are of import in this situation:
1) The folder where PHP stores the temp-file containing the uploaded file.
Often this is the temp directory.
2) The folder where you want to move the file to.

Maybe you have an exotic situation where PHP can store the file in the
tempdir, but has NO readpermissions on it. (Write yes, read no).

To check if this is the case:
1) check which directory is used to by PHP to store tempfiles,
2) check its filepermissions for user PHP (apache/nobody/www-data, whatever
that is in your case).

Hope that helps.
Regards,
Erwin Moller
bizt
Guest
 
Posts: n/a
#3: Jul 31 '06

re: move_upoaded_file permissions problem - Does something need configured on server?


To check if this is the case:
Quote:
1) check which directory is used to by PHP to store tempfiles,
2) check its filepermissions for user PHP (apache/nobody/www-data, whatever
that is in your case).
Thanks for that

Now, I purchase my webspace from a hosting company. Would I, in most
cases, have access to the temp dir and would I be able to change the
file permissions? I contacted my hosting company and they made some
changes that allowed it to work but they didnt give much info into what
was carried out.

Cheers

Burnsy

Erwin Moller
Guest
 
Posts: n/a
#4: Jul 31 '06

re: move_upoaded_file permissions problem - Does something need configured on server?


bizt wrote:
Quote:
Quote:
>To check if this is the case:
>1) check which directory is used to by PHP to store tempfiles,
>2) check its filepermissions for user PHP (apache/nobody/www-data,
>whatever that is in your case).
>
Thanks for that
>
Now, I purchase my webspace from a hosting company. Would I, in most
cases, have access to the temp dir and would I be able to change the
file permissions?
Yes, under most setups you have both write and read permissions on such a
temp dir.
Of course, the filepermissions of the files you want to access (via
move_uploaded)file()) IN the tempdir is what really matters.

Maybe your hostingcompany made PHP store files as the PHP-user with no
readrights, which sounds very strange to me.

You can check this yourself by using php_info(), and see what you can find
out about the tempdirectory. If you have shellaccess you can see the
directorypermissions yourself.

I contacted my hosting company and they made some
Quote:
changes that allowed it to work but they didnt give much info into what
was carried out.
Good it works now. Bad they didn't give you a short description on what they
changed. That way it is hard to learn what went wrong.
Quote:
>
Cheers
>
Burnsy

Regards,
Erwin Moller
Closed Thread