2010-10-19 3 views
0

J'ai un site web PHP sur un serveur dédié RHEL5/CentOS. Le site est situé dans/var/www/html/betaPHP move_uploaded_file échoue pour une raison inconnue

J'ai un script:

/var/www/html/beta/scriptA.php 

qui appelle une fonction dans

/var/www/html/beta/code/inc/functions.php 

La fonction utilise move_uploaded_file() comme suit:

$status = move_uploaded_file($imagetmp_name,$destinationPath); 

L'impression de ces valeurs montre:

imagetmp_name=/tmp/phpiECxB6 
destinationPath=in_upload/images/907770756_publicpage.jpg 
status=false 

Ce que je pensais que devrait avoir travaillé depuis 'in_upload/images' existe:

drwxr-xr-x 5 root root 4096 Oct 19 07:40 in_upload 

et

drwxr-xr-x 2 root root 4096 Oct 19 07:40 images 

Qu'est-ce que je fais mal?

+0

Pouvez-vous montrer les résultats de 'print_r ($ _ FILES)', notamment le drapeau 'de error'? De même, essayez d'activer 'error_reporting (E_ALL);' dans le cas où il s'agit d'un problème d'autorisation dans le dossier cible –

+1

Au second regard, il s'agit d'un problème d'autorisations dans le dossier cible. Si je lis correctement 'drwxr-xr-x', seul l'utilisateur root est autorisé à écrire dedans –

+0

Hey Pekka/autres - devrais-je changer de root à apache? Est-ce que je dois le faire pour chaque dossier que j'écrirai? – siliconpi

Répondre

4

Vous n'avez pas de permissions d'écriture au in_upload ni images, seulement pour root.

Utilisez

chmod a+w in_upload 
chmod a+w images 

ou le changement que propriétaire/groupe de répertoires à l'utilisateur, sous lequel exécute apache. exemple:

chown apache:apache in_upload 
chmod g+w in_upload 
+0

travaillé comme un charme! – siliconpi

Questions connexes