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   -
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   Statut Membre Dernière intervention  
 
Personne :( ?
0
patatouf Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
S'il vous plaît je bloque vraiment !
0
titus
 
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   Statut Membre Dernière intervention  
 
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
titus
 
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   Statut Membre Dernière intervention  
 
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
titus
 
je sais pas quoi te dire de plus... et tu veux pas de doc :-/
0
patatouf Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Mais la doc nous montre autre chose...
0
titus
 
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   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention   894
 
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