Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: olivier86 le le 04-03-2003 a 22:26:19

Titre: copier&envoyer
Posté par: olivier86 le le 04-03-2003 a 22:26:19

je vous explique:
Une personne veut m'envoyer un fichier sur mon site. Il remplit un formulaire et sélectionne un fichier sur son disque via la méthode file.
Et la moi je veux recevoir le formulaire et copier le fichier sélectionné tout en vérifiant son extension (en l'occurrence .fxi). Donc je fais envoyer les données vers une page php mais je la ne peut pas a la foi vérifier l'extension et copier le fichier sur mon serveur!
donc voici ma méthode:
Je vérifie d'abord l'extension puis si elle est correcte je les renvoie mais cette foie ci avec le machin enctype="multipartform-data" pour pouvoir copier le fichier et c'est la que les pb commence!
Je n'arrive pas a ce que la personne ne puis pas re sélectionner son fichier! Car la méthode value="$toto" ne fonctionne pas avec les types file!
Car si j'arrivai à faire un type file bloqué avec son champ precedament remplit la personne n'aurai qu'a réappiuer sur le bouton soumettre pour que l'action renvoie a un 2nd scripts php qui copiera le fichier (copy) et m'enverra un mail (mail) qui contiendra les données.

voili voilo...
J’espère que je me suis bien expliquer et que quelqu’un pourra me donner une réponse ou même une solution radicale a la mienne!

GAMING 24:7 :P

Titre: Re:copier&envoyer
Posté par: Shain le le 05-03-2003 a 09:11:51

Citation:
je la ne peut pas a la foi vérifier l'extension et copier le fichier sur mon serveur!


Ben si tu peux le faire, je ne vois pas le probleme ?

tu vérfie ton extension puis si elle est juste tu copie sur le serveur.

Titre: Re:copier&envoyer
Posté par: olivier86 le le 05-03-2003 a 13:43:06

Et bein non je peux pas!
car pour copier le fichier il faut que le formulaire soit en enctype="multipartform-data" et si c'est le cas je ne peut plus verifier l'exrention (il me cree un fichier tmp j'ai l'impression)

donc moi je fait envoyer le formulaire sans l'enctype pour verifier l'extension. puis si c'est bon l'utilisateur resoumet un formulaire avec enctype pour pouvoir le copier!
MAIS la y a PB! :'(
une fois que l'extention est verifier il faut que je réenvoie l'url du fichier selectionné en la recopiant dans un champ file pour que la personne n'ai pas a la recopier (et donc la modifier => pour ca je met le champ bloqué) mais c'est pas possible car la fonction value="" ne marche pas avec file!!!!!

alors pour résoudre se pb il faut simplement me dire comment a partire de l'adresse d'un fichier (exp: c:\donmoad\jeux.fxi) peut on copier le fichier coréspondent!

voilo voili... :D

Titre: Re:copier&envoyer
Posté par: POde.uk le le 11-03-2003 a 04:01:55

tu fais ton formulaire multipart/form-data avec method post

tu mets ta ligne : <input type="file" name="fichierfxi">

ensuites tu récupères les valeurs de ton formulaire et tu test l'extension du fichier soumis :

$_FILES['fichierfxi']['type'] et tu testes si c'est == à 'fxi'

si oui tu enregistres le fichier, sinon tu affiches le message d'erreur

devrait pas y avoir de problème?

Titre: Re:copier&envoyer
Posté par: olivier86 le le 11-03-2003 a 21:36:51

heu j'ai essayé ta méthode mais ça ne marche pas...
Je dois sûrement faire une fausse manip!

Si tu pouvais me montrer comment tu fais!
:-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[

Titre: Re:copier&envoyer
Posté par: Shain le le 11-03-2003 a 23:29:01

Poste ton code ;-)

Titre: Re:copier&envoyer
Posté par: POde.uk le le 11-03-2003 a 23:43:51

Citation de: olivier86 le le 11-03-2003 a 21:36:51
heu j'ai essayé ta méthode mais ça ne marche pas...
Je dois sûrement faire une fausse manip!

Si tu pouvais me montrer comment tu fais!
:-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[


montre moi comment toi tu fais, on verra ensemble ou es ton erreur plutot que quelqu'un te dise à ta place comment faire :)

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 10:13:20

$_FILES['fichierfxi']['type'] => j'ai jamais utilisé de truc comme ca donc j'ai essayé de bidouiller:

//ne change jamais: envoyer.php
<form action="verif.php" method="post" enctype="multipart/form-data">
<input type="file" name="fichierfxi">
<input name="envoyer" type="submit">
</form>

pour les testes: fichierfxi=c:\monsite\jeux\tetris.fxi

essai 1:
<?
$nintendo=$_FILES['fichierfxi']['type']
echo $nintendo;
// valeur renvoyée=rien!
?>


essai 2:
<?
$_FILES['fichierfxi']['type']
echo $type;
// valeur renvoyée=rien!
?>


bon j'ai plus d'idée!
conclusion: $_FILES['fichierfxi']['type'] ne renvoie rien!

alors comment kon fait?
??? ??? ??? ??? ??? ::) :P

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 14:37:07

mets moi tout ton code en entier, il manque des choses la non?

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 14:57:46

voici déjà un code minimaliste qui te donne juste le type du fichier envoyé :


Code:

<?php

if ($_POST['send'] != 'ok') { // est ce que le formulaire a été soumis? Si non :

?>


<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="send" value="ok">
<input type="file" name="fichierfxi">
<input name="envoyer" type="submit">
</form>

<?

} else { // si le formulaire a été soumis on teste si le format de fichier est bon

echo $_FILES['fichierfxi']['type']; //affiche l'extension


}


?>


dis moi juste maintenant (tu copies ce code dans upload.php) quand tu l'éxecutes avec un fichier .fxi dont tu parles, quel est le résultat que tu as? "application/octet-stream"

si oui ca va etre gênant car l'utilisateur pourra t'envoyer aussi bien des fichiers fxi que des fichiers textes...
sinon, si tu veux juste tester le .fxi, tu récupères le nom du fichier (au lieu de 'type' c'est 'name' et explode après le point, mais la c'est mort pask'on peut t'envoyer n'importe kel fichier pourvu que lextension soit .fxi

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 16:58:42

j'ai essayé et c'est le meme probleme: il ne retourne aucune valeure! qulque soit le type de fichier...

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 17:02:55

???

ca veut dire koi retourner aucune valeur?

mon code marche lol il ne peut pas être plus minimaliste et je lai testé...

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 17:09:24

tu l'as tester?
j'ai reessayé et...toujours rien!
il m'affiche une page blanche! (sauf le code html)

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 17:12:08

bien sur je l'ai testé

il taffiche le formulaire au premier chargement, tu choisis le fichier tu valides et il te donne l'extension

je vais dire un truc con, mais t'es sur ke easyphp est lancé si le code php n'est pas executé?
regarde si le point clignote
enfin si t'es sous easyphp

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 17:28:10

vraiment...
avec apache, ca marche... mais je le metait directos chez mon hebergeur...
va voir:
http://casiosite.free.fr/php/upload.php

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 17:37:28

le script marche chez toi?

alors il est incompatible avec la configuration du server, en plus c'est chez free je connais pas la leur

juste un test tout con, <?php echo "hello world"; ?> ca marche? :p

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 17:43:40

ouai echo et print fonctionne....
donc il faut trouver une autre solution! mais la je seche!

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 18:05:14

non mais ya pas d'autre solution
le truc ke je voulais savoir c'est si dans le script là, à la ligne echo, si tu mettais un "type : ". avant le post, pour voir d'ou vient l'erreur

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 18:12:00

heu...explique j'ai pas tres bien compris...
:-\

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 19:20:24

essaie ca et dit moi ce ke ca donne :


Code:

<?php

if ($_POST['send'] != 'ok') { // est ce que le formulaire a été soumis? Si non :

?>


<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="send" value="ok">
<input type="file" name="fichierfxi">
<input name="envoyer" type="submit">
</form>

<?

} else { // si le formulaire a été soumis on teste si le format de fichier est bon

echo "type de fichier : <b> ".$_FILES['fichierfxi']['type'] . "</b>"; //affiche l'extension


}


?>



si le truc t'affiche : "type de fichier :" c'est que le code php est bien interpreté chez l'hebergeur mais ke tasun probleme avec les variables globales (ca qui m'étonnerait fort mais ya peut etre kkchose ke j'oublie)
si le truc ne t'affiche rien change d'hébergeur ;DS

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 19:52:41

BINGO!
il afiche "type de fichier:" O_o
et rien...
conclusion: sevice technique free!

verifie quand meme:
http://casiosite.free.fr/php/upload.php

:P c'est compliqué la vie!

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 20:18:28

je vais manger, j'essaie un truc après pour voir

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 20:42:15

bonap!
moi j'ai mangé du riz et des saucices herta... juste comme ca!
;D ;D ;D ;D ;D ;D ;D

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 20:44:40

lol

essaie avec echo $fichierfxi_type; mais je pense pas ke ca marche puiske $_POST['send'] == 'ok' a fonctionné

free a desactivé l'upload de fichiers?

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 20:53:15

j'ai inseré et comme d'hab: rien!
la source:
Citation:
<?php

if ($_POST['send'] != 'ok') { // est ce que le formulaire a été soumis? Si non :

?>


<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="send" value="ok">
<input type="file" name="fichierfxi">
<input name="envoyer" type="submit">
</form>

<?

} else { // si le formulaire a été soumis on teste si le format de fichier est bon

echo "type de fichier : <b> ".$_FILES['fichierfxi']['type'] . "</b><br>"; //affiche l'extension
echo $fichierfxi_type;
}

?>


free n'a pas désactivé la fonction copy car je l'ai deja utilisé! (par contre il on désactivé mail!!!! )
http://casiosite.free.fr/php/upload.php


Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 20:59:28

bin je te parle pas de la fonction copy, quine nous interresse pas pour le moment, mais de la fonction d'upload de fichier

tte facon ca marche chez moi, ca marche chez toi, ca marche pas chez free, donc faut voir la config de leur server

ce script marche aussi chez ovh, ou tout hébergeur digne de ce nom :p

Titre: Re:copier&envoyer
Posté par: olivier86 le le 12-03-2003 a 21:06:28

TATATATATA TATATATATA TATATATATATA...
Citation:
tte facon ca marche chez moi, ca marche chez toi, ca marche pas chez free, donc faut voir la config de leur server

et la une idee de genie!
mon hebergeur principale c'est free oki? mais j'en ai d'autres des hebergeur! du genre freesurf, lycos...
et la j'essaye chez freesurf et bingo sa marche!!!
http://casiosite.freesurf.fr/upload.php
donc pb résolue!

merci pode
merci pode
merci pode
merci pode
merci pode
merci pode
merci pode
merci pode
merci pode
merci pode
merci pode

Titre: Re:copier&envoyer
Posté par: POde.uk le le 12-03-2003 a 23:34:23

lol

des foisya de koi s'arracher les cheveux pour un truc con


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.