bonjour,
j'ai un probleme avec la modification de l'image du profile a l'aide de l'ajax,
mon code contient une fonction getXHR() qui sert a créér un xmlhttprequest
une fonction changeimage() pour l'envoie d'une requete au code php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 function getXHR(){ var req=null; try{ req=new XMLHttpRequest(); } catch(err1){ try{ req=new ActiveXObject("Msxml2.XMLHTTP"); } catch(err2){ try{ req=new ActiveXObject("Microsoft.XMLHTTP"); } catch(err3){ req=null; } } } return req; }
et un code php (cote serveur ) qui sert a supprimer l'image dont le nom et egale a celui du l'utilisateur connecté (c'est a dire $_SESSION['username'])
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function changephoto(){ var newphoto=document.getElementById('newphoto').value; var url4='message4.php?newphoto='+newphoto; req=new getXHR(); req.open('GET',url4,true); req.onreadystatechange=function(){ if (req.readyState==4){ if (req.status==200){ document.getElementById('photo').innerHTML=req.responseText; } } else {document.getElementById('photo').innerHTML='Loading...';} } req.send(null); }
, et copier la nouvelle image (celle de l' upload input dont name="newphoto")
et de la renommer dans le serveur pour qu'on puisse l'afficher a l'utilisateur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php session_start(); $uploadLocation="./";?> <?php $newphoto=$_FILES['newphoto']; $target=$_SERVER['DOCUMENT_ROOT'].'/profiles/'; $oldphoto=$target.$_SESSION['username'].'.jpg'; $target_path=$target.basename($newphoto['name']); if (move_uploaded_file($newphoto['tmp_name'],$target_path)){ rename ($target_path,$oldphoto); unlink($oldphoto); $image_path='../profiles/'.$_SESSION['username'].'.jpg'; $sizes=getimagesize($image_path); $largeur=$sizes[0]; $hauteur=$sizes[1]; $nlargeur=110; $nhauteur=$hauteur/($largeur/$nlargeur); echo '<image src="../profiles/'.$_SESSION['username'].'.jpg" height="'.$nhauteur.'" width="'.$nlargeur.'" alt="le profil de '.$_SESSION['username'].'"></image>'; } else{ echo 'l image n a pas pu etre modifier</br>'; echo "oldphoto : ".$oldphoto."</br>"; echo "newphoto : ".$newphoto."</br>"; echo "target_path : ".$target_path; } ?>
les dernieres echos (echo 'l'image n a pas pu etre....) sont des teste pour tracer les variable.
-ici est ce qu'il est possible de travailler avec $_FILES['newphoto'] ?et comment l'integrer dans le code?
et merci pour votre réponse![]()
Partager