PHP]Une ligne de code que je ne comprends pas

Fermé
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012 - 23 mai 2012 à 14:02
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 23 mai 2012 à 19:21
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.
A voir également:

7 réponses

patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012
Modifié par patatouf le 23/05/2012 à 14:26
Personne :( ?
0
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012
23 mai 2012 à 15:53
S'il vous plaît je bloque vraiment !
0
salut

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
0
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012
23 mai 2012 à 16:55
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à ?
0
Car ce sont des fonction par défaut de php, tu sais a quoi ca sert une fonction ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012
23 mai 2012 à 17:34
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 !
0
je sais pas quoi te dire de plus... et tu veux pas de doc :-/
0
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012
23 mai 2012 à 17:52
Mais la doc nous montre autre chose...
0
lol, La doc nous explique a quoi sert la fonction, et donne des exemples. Mais tu n'a toujours pas répondu à la question que je t'ai posé :
tu sais à quoi ca sert une fonction ? 
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
Modifié par ajp55 le 23/05/2012 à 19:21
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. 
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 23/05/2012 à 19:23
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
0