8791 sujets

Développement web côté serveur, CMS

Bonjour à tous.

Je m'arrache les cheveux (et encore, je suis gentil mais c'est bien plus gore en vrai) sur cette fonction.

Je travaille sur wordpress et je dois utiliser cette fonction pour uploader un avatar.

Le soucis c'est que j'ai l'impression que cette fonction fait bien son travail car j'ai ceci après un var_dump sur $_FILES :

array
'cimy_uef_AVATAR' =>
array
'name' => string 'essai4.jpg' (length=10)
'type' => string 'image/jpeg' (length=10)
'tmp_name' => string 'C:\wamp\tmp\phpA16F.tmp' (length=23)
'error' => int 0
'size' => int 671

Par contre le fichier n'est ni dans tmp ni dans le dossier où il devrait être déplacé. Pire encore, je n'ai aucun message d'erreur et ma condition sur la fonction n'est pas vérifié.

C'est la galère.

Est ce que vous trouvez ça normal d'avoir tous ces résultats sur $_FILES alors que la fonction n'a pas "marchée" ?

Si vous avez besoin un bout de code, le voici :

$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
				$path = "C:\wamp\www\version3_lot2\wp-content\Cimy_User_Extra_Fields\avatar";
				if(strlen($value)) {
					list($txt, $ext) = explode(".", $value);
					if(in_array($ext,$valid_formats)) {
						if($size<(1024*1024)) { // Image size max 1 MB
							$actual_image_name = time().".".$ext;
							$tmp = $_FILES[$input_name]['name'];
							var_dump($tmp);
							var_dump($_FILES[$input_name]['tmp_name']);
							var_dump($_FILES);
							if(move_uploaded_file($tmp, $path . "\\" . $actual_image_name)){
								//mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
								var_dump("success");die();
								echo "<img src='uploads/".$actual_image_name."' class='preview'>";
							} else {
								var_dump("failed");die();
								echo "failed";
							}
						} else {
							var_dump("Image file size max 1 MB");die();
							echo "Image file size max 1 MB";
						}
					} else {
						var_dump("Invalid file format..");die();
						echo "Invalid file format.."; 
					}


Merci par avance si vous trouvez une quelconque piste Smiley smile
Bonjour.

Si tu jètes un coup d'oeil dans la doc, la fonction move_uploaded_file() utilise le chemin temporaire du fichier (tmp_name) et nom le nom du fichier (name) comme c'est le cas dans ton code.

Concernant le chemin de destination est serait mieux d'utiliser un chemin relatif pour éviter les oublis à la migration Smiley cligne