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

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;
}
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
 
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 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'])
, 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