PHP]Une ligne de code que je ne comprends pas
patatouf
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je lis un cours sur le PHP sur le Site Du Zéro et il y avait une ligne de code que je ne comprends pas du tout. Je suis allé demander de l'aide sur le forum (du site du zero) mais mon topic a été fermé pour manque de recherche et parce que je ne comprenais pas la doc qu'on m'avait donné. Je vous prie donc de ne pas me donner de la doc.
Voici cette igne de code :
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
Comme vous avez du le voir, c'est pour traiter l'envoi d'un fichier.
Je souhaiterais déjà qu'on me traduise ce code en français, car ça m'aiderait à comprendre. Ensuite je verrais plus tard si j'ai d'autres questions.
Quand je dis 'traduire ce code', c'est à dire ça :
move_uploaded_name : il sert à ....
($_FILE[...]) : il fait ci à l'aide de ce code ci :.....
Voici un petit aperçu de ce qui m'aiderait le plus pour comprendre cette ligne de code.
Merci d'avance.
Je lis un cours sur le PHP sur le Site Du Zéro et il y avait une ligne de code que je ne comprends pas du tout. Je suis allé demander de l'aide sur le forum (du site du zero) mais mon topic a été fermé pour manque de recherche et parce que je ne comprenais pas la doc qu'on m'avait donné. Je vous prie donc de ne pas me donner de la doc.
Voici cette igne de code :
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
Comme vous avez du le voir, c'est pour traiter l'envoi d'un fichier.
Je souhaiterais déjà qu'on me traduise ce code en français, car ça m'aiderait à comprendre. Ensuite je verrais plus tard si j'ai d'autres questions.
Quand je dis 'traduire ce code', c'est à dire ça :
move_uploaded_name : il sert à ....
($_FILE[...]) : il fait ci à l'aide de ce code ci :.....
Voici un petit aperçu de ce qui m'aiderait le plus pour comprendre cette ligne de code.
Merci d'avance.
A voir également:
- PHP]Une ligne de code que je ne comprends pas
- Code ascii - Guide
- Partage de photos en ligne - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
7 réponses
salut
extrait de la doc :
move_uploaded_file -- Déplace un fichier téléchargé
$filename -> Le nom du fichier téléchargé.
$destination -> La destination du fichier déplacé.
http://php.net/manual/fr/function.move-uploaded-file.php
extrait de la doc :
move_uploaded_file -- Déplace un fichier téléchargé
bool move_uploaded_file ( string $filename , string $destination )
$filename -> Le nom du fichier téléchargé.
$destination -> La destination du fichier déplacé.
http://php.net/manual/fr/function.move-uploaded-file.php
Mais je ne comprends pas les explications de la doc ! D'ailleurs au passage si quelqu'un pouvait m'expliquer ce ne serait pas mal !
Et pourquoi met-on des variables dedans ? Que viennent-elles faire là ?
Et pourquoi met-on des variables dedans ? Que viennent-elles faire là ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mais moi je veux apprendre avec les mêmes fonctions que dans le code que j'ai montré ! C'est à dire avec move_uploaded_file et basename !
signification de chaque mot utilisé:
===================================================== move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' .basename($_FILES['monfichier']['name'])); ===================================================== move_uploaded_file($filename, $destination): deplace un fichier télécharger vers une destination que tu specifie; dès que tu upload un fichier, si t'a pas spécifié la destination il s'en va dans le repertoire temporaire de ton serveuri ===================================================== $FILE[nomfichier]['tmp_name'] indique le nom temporaire donnée pendant la phase d'uploading; jusque là, c'est la source du fichier que tu spécifie =================================================== $destination que tu definie par 'uploads/'.basename(...) désigne un repertoire 'uploads' situé à la racine de ton site dans lequel tu déplace le fichier temporaire. basename extrait le nom de base. Par exemple basename('c:/wamp/site/index.php') = index.php =================================================== $FILE['nomfichier']['name'] indique le nom du fichier définie à sur ta machine et non celui attribué temporairement par le serveur.
allez on va essayer:
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
move_uploaded_file c'est une fonction php qui déplace le fichier qui vient d'être téléchargé vers la destination que tu veux
cette fonction a deux parametres:
move_uploaded_file (origine ,destination )
premier parametre:origine-> Le nom temporaire du fichier téléchargé.
deuxieme parametre:destination -> La destination du fichier déplacé.
dans ton cas: $_FILES est une variable globale, un array (tableau) a plusieurs dimensions qui contient tout un tas d'infos sur le fichier téléchargé (via un input type="file")
donc premier parametre:
$_FILES['monfichier']['tmp_name'] le name de l'input est 'mon_fichier'
'tmp_name' c'est le nom de l'index de l'array qui contient justement le nom temporaire que php a affecté à ton fichier téléchargé
deuxieme parametre:
'uploads/' . basename($_FILES['monfichier']['name']))
'uploads c'est le répertoire vers lequel on déplace le fichier
basename c'est une fonction php qui permet d'extraire le nom d'un fichier dans un chemin complet de fichier
(ex: "/home/httpd/html/toto.txt", renverra toto.txt)
et $_FILES['monfichier']['name'] contient le nom réel du fichier tel qu'il est dans ton disque dur
on met des variables: le nom du fichier n'est jamais le même par exemple
Voilà
Mais si tu lis bien la doc tu devrait y arriver
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
move_uploaded_file c'est une fonction php qui déplace le fichier qui vient d'être téléchargé vers la destination que tu veux
cette fonction a deux parametres:
move_uploaded_file (origine ,destination )
premier parametre:origine-> Le nom temporaire du fichier téléchargé.
deuxieme parametre:destination -> La destination du fichier déplacé.
dans ton cas: $_FILES est une variable globale, un array (tableau) a plusieurs dimensions qui contient tout un tas d'infos sur le fichier téléchargé (via un input type="file")
donc premier parametre:
$_FILES['monfichier']['tmp_name'] le name de l'input est 'mon_fichier'
'tmp_name' c'est le nom de l'index de l'array qui contient justement le nom temporaire que php a affecté à ton fichier téléchargé
deuxieme parametre:
'uploads/' . basename($_FILES['monfichier']['name']))
'uploads c'est le répertoire vers lequel on déplace le fichier
basename c'est une fonction php qui permet d'extraire le nom d'un fichier dans un chemin complet de fichier
(ex: "/home/httpd/html/toto.txt", renverra toto.txt)
et $_FILES['monfichier']['name'] contient le nom réel du fichier tel qu'il est dans ton disque dur
on met des variables: le nom du fichier n'est jamais le même par exemple
Voilà
Mais si tu lis bien la doc tu devrait y arriver