Bonjour,

j'aimerai comprendre quelque chose.

if(in_array($extension_upload, $extensions_autorisees))
        {
            move_uploaded_file($_FILES'fichier']'tmp_name'], 'uploads/'.basename($_FILES'fichier']'name']));
            echo 'le fichier a bien été envoyé';
        }

Pourquoi dans ce code, si j'enlève la fonction basename dans move_uploaded_files. et que je laisse simplement

'uploads/'.$_FILES'fichier']'name']

ça fonctionnement quand même ? Quelqu'un pourrait -t-il m'expliquer en quoi la fonction basename ici est importante ou nécessaire ?

Merci d'avance :)

1 réponse


neor
Réponse acceptée

Salut,
Si tu donne a la fonction basename un chemin complet d'un fichier sa retour juste le nom du fichier
si tu passe juste le nom du fichier a la fonction basename, sa retourne le nom du fichier

par ex:

basename("/chemin/vers/fichier.php") // résultat : fichier.php

dans votre cas
$_FILES'fichier']'name'] donne le nom du fichier et pas le chemin du fichier
basename retourne la même string que t'as entrée en paramètre