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
| 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
Titre: Re:copier&envoyer
Posté par: POde.uk le le 11-03-2003 a 23:43: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:<?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...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.
|