Probleme avec move_uploaded_file

Bonjour, depuis 2 jours je me prend la tete avec cette sources :

<?php
$rep=($_POST["var_envoi"]);

$patch="./$rep/"; 
//create the directory if doesn't exists (should have write permissons)
if(!is_dir($rep)) mkdir($rep, 0755); 
//move the uploaded file
move_uploaded_file($_FILES['Filedata']['tmp_name'], $patch.$_FILES['Filedata']['name']);
chmod($patch.$_FILES['Filedata']['name'], 0777);

?>

Le fichier est toujours dans la racine du site et non dans le repertoire crée dynamiquement. J’ai bien cherché sur le net et rien ne fonctionne,

Merci de votre aide

Que vaut $_POST[‘var_envoi’]?

Et sinon, ça ne te dérange aucunement de permettre à n’importe quel quidam d’envoyer un fichier, et pire encore de pouvoir l’executer? (ie: chmod(0777) + mkdir()).

Au passage, pour le mkdir, tu devrais ajouter le paramètre “recursive” (cf. mkdir sur php.net) afin de créer les éventuels sous dossiers.

une variable envoyée de flash
pour faire de la sécuritée faudrait deja que ça fonctionne…

Rien pouvant m’aider reellement ?

Si.

Mais faut lire.

  • Que vaut $_POST[‘var_envoi’]?

Tu déplace vers :

$patch.$_FILES[‘Filedata’][‘name’]
-> $patch="./$rep/";
-> $rep=($_POST[“var_envoi”]);
-> $patch = “./$_POST[“var_envoi”])”;
—>"./$_POST[“var_envoi”])".$_FILES[‘Filedata’][‘name’]

Je peux rien faire de plus si tu ne me dis pas ce que vaut ta variable machin :slight_smile: