Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Upload image

2 réponses
Avatar
Brice Boune
Salut tout le monde,

J'ai un problème que je n'arrive pas à solutionner.
Avec le code suivant, je veux "uploader" des images, mais sur mon serveur
distant, j'ai un message comme quoi il ne peut pas enregistrer le fichier.
J'ai beau regarder où cela pourrait bloquer et je ne voit pas.
Pourtant sur ma machine, les tests fonctionnent correctement, les images
s'enregistrent sans problème.

Si quelqu'un a une idée, elle est la bien venue.

Merci d'avance..


// Upload les 2 fichiers images
if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"]
== "formUploadPhotos")) {
$ok_param = isset($_FILES['photo']) != "" &&
$_FILES['photo']['name'] != "";
if (! $ok_param) {
$erreur = "Il faut transférer 2 fichiers obligatoirement :
vignette & photo\n";
$erreur .= "Aucune image n'est enregistrée.";
} else {
$dir_admin =
dirname(realpath($HTTP_SERVER_VARS['SCRIPT_FILENAME']));
$dir_photos = realpath($dir_admin . "/../photos/");

$photo = "$dir_photos/$colname_produit.jpg";
if (! @move_uploaded_file($_FILES['photo']['tmp_name'],
$photo)) {
$erreur = "Impossible d'enregistrer le fichier
$photo\n";
} else {
chmod($photo, 0644);
}
}
}

2 réponses

Avatar
Etienne SOBOLE
"Brice Boune" a écrit dans le message de
news:3fb0d7ce$0$10401$

J'ai un problème que je n'arrive pas à solutionner.
Avec le code suivant, je veux "uploader" des images, mais sur mon serveur
distant, j'ai un message comme quoi il ne peut pas enregistrer le fichier.
J'ai beau regarder où cela pourrait bloquer et je ne voit pas.
Pourtant sur ma machine, les tests fonctionnent correctement, les images
s'enregistrent sans problème.


Peux tu donner le message d'erreur stp.
il me semble que par defaut le fichier est uploader dans le répertoire tmp
ensuite il faut le déplacer ailleurs, ce que semble faire ton script.

a ce moment, il faut bien sur que le répertoire destinations soit accessible
en ecriture par apache.

Donc ca peut venir de plusieurs endroit.
soit le repertoire /tmp ne t'es pas accéssible (là je doute quand meme)
soit le répertoire temporaire d'upload a été modifer dans le php.ini et ne
t'es pas accéssible (ca peut etre ca)
soit le repertoire destination n'est pas accessible pas apache. (et la t'es
mal si tu as pas acces a un shell)

tu peux essayer de changer les droits d'un repertoire directement depuis le
PHP, mais je doute que ce soit possible si apache n'est pas le owner de ce
repertoire.

Bref; il faut que tu nous file le message d'erreur et que tu dises ou tu
héberge ton site web.

Etienne

Avatar
Niko
"Brice Boune" nous conta le 11/11/2003 :

Vérifies que tu as les droits d'écriture sur le repertoire de
destination.

Niko

--
Niko
Tarmo en devenir
Enlever nospam- pour me répondre