Probleme php : move_uploaded_file

Résolu/Fermé
FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019 - 22 janv. 2017 à 20:41
FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019 - 23 janv. 2017 à 19:30
Bonjour,

J'ai trouvé ce code php qui permet normalement de uploder une image !
J'ai fait un copier collé du code en changeant le nom de la base de donnée et le repertoire de destination (de l'image).

Quand je lance le code sur Internet, j'obtiens les erreurs suivantes :

Warning: move_uploaded_file(avatars/12.jpg): failed to open stream: No such file or directory in /home/u699215262/public_html/editionprofil2.php on line 43


Warning: move_uploaded_file(): Unable to move '/tmp/phpO4T9Ij' to 'avatars/12.jpg' in /home/u699215262/public_html/editionprofil2.php on line 43

Merci de bien vouloir m'aider !

Cordialement
Florian

<?php
if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name'])) {
$tailleMax = 2097152;
$extensionsValides = array('jpg', 'jpeg', 'gif', 'png');
if($_FILES['avatar']['size'] <= $tailleMax) {
$extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
if(in_array($extensionUpload, $extensionsValides)) {
$chemin = "/membres/avatars/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
if($resultat) {
$updateavatar = $bdd->prepare('UPDATE liste_clients SET avatar = :avatar WHERE id = :id');
$updateavatar->execute(array(
'avatar' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id']
));
header('Location: profil2.php?id='.$_SESSION['id']);
} else {
$msg = "Erreur durant l'importation de votre photo de profil";
}
} else {
$msg = "Votre photo de profil doit être au format jpg, jpeg, gif ou png";
}
} else {
$msg = "Votre photo de profil ne doit pas dépasser 2Mo";
}
}
?>
A voir également:

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
22 janv. 2017 à 20:54
Bonjour,

Dans ton code, remplaces les lignes
$chemin = "/membres/avatars/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);


par :

$chemin = "/membres/avatars/".$_SESSION['id'].".".$extensionUpload;

if(!is_dir($chemin) || !is_writable($chemin)){
 echo "<br>Erreur: <br>Le chemin << $chemin >> n'existe pas ou ne dispose pas des droits necessaires";
}else{
 $fileToMove = !empty($_FILES['avatar']['tmp_name']) ? $_FILES['avatar']['tmp_name'] : NULL;
 if($fileToMove){
   $resultat = move_uploaded_file($fileToMove, $chemin);
 }else{
  echo "<br> Erreur, aucun fichier à déplacer !";
 }
}


0
FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019 14
22 janv. 2017 à 20:58
Merci beaucoup !

Mais pouvez-vous me dire exactement ce que ca veut dire en Français ?

Le navigateur affiche "Erreur:
Le chemin << /membres/avatars/12.jpg >> n'existe pas ou ne dispose pas des droits necessaires"

Merci de votre rapidité.
Florian
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019
22 janv. 2017 à 21:11
Ben... exactement ce qui est ecrit....
Le répertoire n'existe pas. ...
Ou tu n'as pas les droits suffisants pour y écrire. ..
0
FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019 14
22 janv. 2017 à 21:14
Le dossier membre et le dossier avatars existent ! Mais il faut uploder le fichier de l'utilisateur dans ce dossier. Et le fichier s’appellera : id de l'utilisateur et l'extensions.

Merci encore,
Florian
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019
22 janv. 2017 à 21:25
Ben non.. le chemin vers ton dossier n'est visiblement pas bon.... verifie le !!
0
FlorianJ29 Messages postés 68 Date d'inscription dimanche 22 janvier 2017 Statut Membre Dernière intervention 28 février 2019 14
22 janv. 2017 à 21:31
Le chemin d’accès de mes documents est : C:\Users\******\Documents\*******\HTML\membres\avatars

Dois-je l'écrire entièrement ?

Merci d'avance
0