Page 1 sur 1

[résolu] Soucis lors d'un upload de fichier via formulaire

Posté : 17 déc. 2010 20:16
par CoOokiee
Salut à tous,

Avant tout, et étant donné que c'est la première fois que je m'exprime sur le forum, je tenais à dire que c'est un vrai plaisir d'utiliser Legtux et que je trouve génial les initiatives comme celles-ci... J'ai découvert Legtux sur le forum français d'Ubuntu il y a déjà un certain temps et les choses ne vont qu'en s'améliorant!

Maintenant venons-en ) mon problème. Je suis actuellement en train de coder un formulaire permettant d'envoyer des fichiers sur le serveur. Première question: "est-ce possible et/ou autorisé?". Si ce n'est pas le cas, le soucis est réglé :D. Si c'est le cas en revanche j'aimerais quel répertoire temporaire je dois utiliser. Actuellement lorsque je fait print_r de mon fichier après l'upload j'obtiens quelque chose comme ça:

Code : Tout sélectionner

Array ( [fic] => Array ( [name] => Gdp.doc [type] => application/msword [tmp_name] => /tmp/phpMFbSZR [error] => 0 [size] => 1782784 ) ) 1
Donc là y'a un soucis! Pour ma requête voilà ce que je fait:

Code : Tout sélectionner

move_uploaded_file($_FILES['fic']['tmp'], $dest.$_FILES['fic']['name']);
Et au final je trouve rien dans mon répertoire de destination, le fameux $dest qui est égal à '../participations'. Je pense donc que le soucis viens du fait que je spécifie un mauvais répertoire temporaire... Sur les serveurs Linux, je pensais que /tmp était utilisé par défaut pourtant...

Si vous avez une idée, ou mieux la solution, je suis tout ouïe :D.

Re: Soucis lors d'un upload de fichier via formulaire

Posté : 17 déc. 2010 23:21
par Simon Le Guével
Les formulaires sont bien sûr autorisés, essaye avec ça :

Code : Tout sélectionner

move_uploaded_file($_FILES['fic']['tmp_name'], $dest.$_FILES['fic']['name']);

Re: Soucis lors d'un upload de fichier via formulaire

Posté : 23 déc. 2010 13:58
par CoOokiee
J'avais déjà essayé cette solution et je me retrouve avec une erreur:
Warning: move_uploaded_file(/Monsite/participations/Gdp.doc) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/legtux.org/users/papier-a-musique/Monsite/participer.php on line 15

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpbDvT0c' to '/Monsite/participations/Gdp.doc' in /var/www/legtux.org/users/papier-a-musique/Monsite/participer.php on line 15
Du coup en y réfléchissant, je pense que c'est juste le chemin de destination qui merde. Actuellement j'ai ça:
$dest = '/Monsite/participations/';
Parce que j'ai lu quelque part qu'il ne fallait pas mettre de lien direct type http:// mais un chemin relatif. Vu ce que j'ai comme erreur, peut être que l'arborescence de legtux est différente et qu'il faut que je spécifie un autre chemin.

Merci pour l'aide en tout cas et bonnes fêtes :).

Re: Soucis lors d'un upload de fichier via formulaire

Posté : 23 déc. 2010 14:09
par pique-zino
Sous les serveurs Linux, "/" veut dire la racine du disque dur. Donc en faite, tu essaye de déplacer ton fichier dans le dossier "participation" qui est à la racine du disque.
Essaye avec ça :

Code : Tout sélectionner

$dest = "/var/www/legtux.org/users/ton_site/participations/"
Surtout pense bien à mettre le dossier "participation" en chmod 777 ;)

Re: Soucis lors d'un upload de fichier via formulaire

Posté : 23 déc. 2010 15:22
par CoOokiee
Yeah!

Bien vu! J'avais pas calculé le coup du '/'! Dans tous les cas j'aurais eu du mal à trouver tout seul ce chemin. Merci beaucoup!

Re: [résolu] Soucis lors d'un upload de fichier via formulai

Posté : 23 déc. 2010 15:45
par Simon Le Guével
Il n'y avait même pas besoin de trouver ce chemin, il suffisait de faire le chemin relatif sans le / du départ ! ;)